]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Allow RADIUS server address to be replaced
authorJouni Malinen <j@w1.fi>
Sat, 28 Feb 2015 11:55:12 +0000 (13:55 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 28 Feb 2015 13:45:16 +0000 (15:45 +0200)
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>
hostapd/config_file.c

index 9edbe63263b7ba04c81f075588103638db4fd00d..95f3bf26e08e9f5b7f9fd61cefef8ad33e14c27c 100644 (file)
@@ -2199,6 +2199,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
                                   line, pos);
                        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);
@@ -2224,6 +2233,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
                                   line, pos);
                        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);