diff options
author | James Prestwood <prestwoj@gmail.com> | 2020-03-16 12:22:41 -0700 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2020-03-13 23:52:26 -0500 |
commit | 24235a2af8f75233d1dadd717270aa1908a9c116 (patch) | |
tree | 4021df9e45a8ced8e3bc523761aebf39fd7091e2 | |
parent | af5c77aeba3357d2ff016cfcb4b068acfc285b3f (diff) | |
download | iwd-24235a2af8f75233d1dadd717270aa1908a9c116.tar.gz |
test-runner: fix improper loading of radius_config
This key is special in hostapd, and was being treated as a normal hostapd
config file. This special radius config file needs to be kept unpaired from
any interfaces so now its passed in as a separate argument and appended to
the end of the hostapd execute command.
-rw-r--r-- | tools/test-runner.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/tools/test-runner.c b/tools/test-runner.c index 1f0bc4dd2..320dea0b4 100644 --- a/tools/test-runner.c +++ b/tools/test-runner.c @@ -989,7 +989,7 @@ static void stop_ofono(pid_t pid) } static pid_t start_hostapd(char **config_files, struct wiphy **wiphys, - const char *test_name) + const char *test_name, const char *radius_conf) { char **argv; pid_t pid; @@ -1029,6 +1029,9 @@ static pid_t start_hostapd(char **config_files, struct wiphy **wiphys, argv[idx++] = config_files[i]; } + if (radius_conf) + argv[idx++] = (void *)radius_conf; + if (verbose) { argv[idx++] = "-d"; argv[idx++] = NULL; @@ -1358,6 +1361,7 @@ static bool configure_hostapd_instances(struct l_settings *hw_settings, int i; char **hostapd_config_file_paths; struct wiphy **wiphys; + const char *radius_config = NULL; *phys_used = 0; @@ -1398,8 +1402,12 @@ static bool configure_hostapd_instances(struct l_settings *hw_settings, goto done; } - if (!strcmp(hostap_keys[i], "radius_server")) + if (!strcmp(hostap_keys[i], "radius_server")) { + radius_config = l_settings_get_value(hw_settings, + HW_CONFIG_GROUP_HOSTAPD, + "radius_server"); continue; + } for (wiphy_entry = l_queue_get_entries(wiphy_list); wiphy_entry; @@ -1478,7 +1486,8 @@ hostapd_done: } hostapd_pids_out[0] = start_hostapd(hostapd_config_file_paths, wiphys, - basename(config_dir_path)); + basename(config_dir_path), + radius_config); hostapd_pids_out[1] = -1; done: |