diff options
Diffstat (limited to 'hostapd')
| -rw-r--r-- | hostapd/config_file.c | 26 | ||||
| -rw-r--r-- | hostapd/hostapd.conf | 6 |
2 files changed, 32 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 && diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf index dd05c2ff..9e81e9e9 100644 --- a/hostapd/hostapd.conf +++ b/hostapd/hostapd.conf @@ -885,6 +885,12 @@ own_ip_addr=127.0.0.1 # 48 octets long. #nas_identifier=ap.example.com +# RADIUS client forced local IP address for the access point +# Normally the local IP address is determined automatically based on configured +# IP addresses, but this field can be used to force a specific address to be +# used, e.g., when the device has multiple IP addresses. +#radius_client_addr=127.0.0.1 + # RADIUS authentication server #auth_server_addr=127.0.0.1 #auth_server_port=1812 |
