diff options
Diffstat (limited to 'hostapd/config_file.c')
| -rw-r--r-- | hostapd/config_file.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/hostapd/config_file.c b/hostapd/config_file.c index 9edbe632..53143f76 100644 --- a/hostapd/config_file.c +++ b/hostapd/config_file.c @@ -2189,6 +2189,14 @@ static int hostapd_config_fill(struct hostapd_config *conf, os_free(bss->nas_identifier); bss->nas_identifier = os_strdup(pos); #ifndef CONFIG_NO_RADIUS + } else if (os_strcmp(buf, "radius_client_addr") == 0) { + if (hostapd_parse_ip_addr(pos, &bss->radius->client_addr)) { + wpa_printf(MSG_ERROR, + "Line %d: invalid IP address '%s'", + line, pos); + return 1; + } + bss->radius->force_client_addr = 1; } else if (os_strcmp(buf, "auth_server_addr") == 0) { if (hostapd_config_read_radius_addr( &bss->radius->auth_servers, @@ -2200,6 +2208,15 @@ static int hostapd_config_fill(struct hostapd_config *conf, return 1; } } else if (bss->radius->auth_server && + os_strcmp(buf, "auth_server_addr_replace") == 0) { + if (hostapd_parse_ip_addr(pos, + &bss->radius->auth_server->addr)) { + wpa_printf(MSG_ERROR, + "Line %d: invalid IP address '%s'", + line, pos); + return 1; + } + } else if (bss->radius->auth_server && os_strcmp(buf, "auth_server_port") == 0) { bss->radius->auth_server->port = atoi(pos); } else if (bss->radius->auth_server && @@ -2225,6 +2242,15 @@ static int hostapd_config_fill(struct hostapd_config *conf, return 1; } } else if (bss->radius->acct_server && + os_strcmp(buf, "acct_server_addr_replace") == 0) { + if (hostapd_parse_ip_addr(pos, + &bss->radius->acct_server->addr)) { + wpa_printf(MSG_ERROR, + "Line %d: invalid IP address '%s'", + line, pos); + return 1; + } + } else if (bss->radius->acct_server && os_strcmp(buf, "acct_server_port") == 0) { bss->radius->acct_server->port = atoi(pos); } else if (bss->radius->acct_server && |
