|
@@ -1,6 +1,6 @@
|
|
|
/*
|
|
|
* WPA Supplicant / UDP socket -based control interface
|
|
|
- * Copyright (c) 2004-2005, Jouni Malinen <j@w1.fi>
|
|
|
+ * Copyright (c) 2004-2016, Jouni Malinen <j@w1.fi>
|
|
|
*
|
|
|
* This software may be distributed under the terms of the BSD license.
|
|
|
* See README for more details.
|
|
@@ -602,7 +602,11 @@ static void wpa_supplicant_global_ctrl_iface_receive(int sock, void *eloop_ctx,
|
|
|
struct ctrl_iface_global_priv *priv = sock_ctx;
|
|
|
char buf[256], *pos;
|
|
|
int res;
|
|
|
+#ifdef CONFIG_CTRL_IFACE_UDP_IPV6
|
|
|
+ struct sockaddr_in6 from;
|
|
|
+#else /* CONFIG_CTRL_IFACE_UDP_IPV6 */
|
|
|
struct sockaddr_in from;
|
|
|
+#endif /* CONFIG_CTRL_IFACE_UDP_IPV6 */
|
|
|
socklen_t fromlen = sizeof(from);
|
|
|
char *reply = NULL;
|
|
|
size_t reply_len;
|
|
@@ -617,6 +621,7 @@ static void wpa_supplicant_global_ctrl_iface_receive(int sock, void *eloop_ctx,
|
|
|
}
|
|
|
|
|
|
#ifndef CONFIG_CTRL_IFACE_UDP_REMOTE
|
|
|
+#ifndef CONFIG_CTRL_IFACE_UDP_IPV6
|
|
|
if (from.sin_addr.s_addr != htonl((127 << 24) | 1)) {
|
|
|
/*
|
|
|
* The OS networking stack is expected to drop this kind of
|
|
@@ -628,6 +633,7 @@ static void wpa_supplicant_global_ctrl_iface_receive(int sock, void *eloop_ctx,
|
|
|
"source %s", inet_ntoa(from.sin_addr));
|
|
|
return;
|
|
|
}
|
|
|
+#endif /* CONFIG_CTRL_IFACE_UDP_IPV6 */
|
|
|
#endif /* CONFIG_CTRL_IFACE_UDP_REMOTE */
|
|
|
|
|
|
buf[res] = '\0';
|