hostapd: Update ctrl_interface for UDP to include the selected port
authorJanusz Dziedzic <janusz.dziedzic@tieto.com>
Fri, 4 Mar 2016 09:20:28 +0000 (10:20 +0100)
committerJouni Malinen <j@w1.fi>
Sat, 5 Mar 2016 15:44:49 +0000 (17:44 +0200)
Set up the real ctrl_interface for UDP after having selected the port.
This is in format: udp:<port_no>. This is needed to get accurate
interface <-> udp_port mapping.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
hostapd/ctrl_iface.c

index 9c388b2..b54d013 100644 (file)
@@ -2444,6 +2444,7 @@ int hostapd_ctrl_iface_init(struct hostapd_data *hapd)
 #ifdef CONFIG_CTRL_IFACE_UDP
        int port = HOSTAPD_CTRL_IFACE_PORT;
        char p[32] = { 0 };
+       char port_str[40], *tmp;
        char *pos;
        struct addrinfo hints = { 0 }, *res, *saveres;
        int n;
@@ -2508,6 +2509,12 @@ try_again:
 
        freeaddrinfo(saveres);
 
+       os_snprintf(port_str, sizeof(port_str), "udp:%d", port);
+       tmp = os_strdup(port_str);
+       if (tmp) {
+               os_free(hapd->conf->ctrl_interface);
+               hapd->conf->ctrl_interface = tmp;
+       }
        wpa_printf(MSG_DEBUG, "ctrl_iface_init UDP port: %d", port);
 
        if (eloop_register_read_sock(hapd->ctrl_sock,