Allow RADIUS server address to be replaced

The new hostapd parameters auth_server_addr_replace and
acct_server_addr_replace can now be used to replace the configured IP
address instead of adding a new RADIUS server. This is mainly useful for
testing purposes where the address can be changed over control interface
during AP operation.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2015-02-28 13:55:12 +02:00
parent efb40081ab
commit bbee36e316

View File

@ -2199,6 +2199,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
line, pos); line, pos);
return 1; 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 && } else if (bss->radius->auth_server &&
os_strcmp(buf, "auth_server_port") == 0) { os_strcmp(buf, "auth_server_port") == 0) {
bss->radius->auth_server->port = atoi(pos); bss->radius->auth_server->port = atoi(pos);
@ -2224,6 +2233,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
line, pos); line, pos);
return 1; 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 && } else if (bss->radius->acct_server &&
os_strcmp(buf, "acct_server_port") == 0) { os_strcmp(buf, "acct_server_port") == 0) {
bss->radius->acct_server->port = atoi(pos); bss->radius->acct_server->port = atoi(pos);