hostapd: backport extra changes related to KRACK
[openwrt/staging/stintel.git] / package / network / services / hostapd / patches / 380-disable_ctrl_iface_mib.patch
index 40d3a9305b45e565b574bd0587355972e1ad3ab2..e977f00a2552bd20bd731be734ea2474d85e900b 100644 (file)
@@ -1,18 +1,18 @@
 --- a/hostapd/Makefile
 +++ b/hostapd/Makefile
-@@ -163,6 +163,9 @@ endif
+@@ -220,6 +220,9 @@ endif
  ifdef CONFIG_NO_CTRL_IFACE
  CFLAGS += -DCONFIG_NO_CTRL_IFACE
  else
 +ifdef CONFIG_CTRL_IFACE_MIB
 +CFLAGS += -DCONFIG_CTRL_IFACE_MIB
 +endif
- OBJS += ctrl_iface.o
- OBJS += ../src/ap/ctrl_iface_ap.o
- endif
+ ifeq ($(CONFIG_CTRL_IFACE), udp)
+ CFLAGS += -DCONFIG_CTRL_IFACE_UDP
+ else
 --- a/hostapd/ctrl_iface.c
 +++ b/hostapd/ctrl_iface.c
-@@ -1447,6 +1447,7 @@ static void hostapd_ctrl_iface_receive(i
+@@ -2458,6 +2458,7 @@ static int hostapd_ctrl_iface_receive_pr
                                                      reply_size);
        } else if (os_strcmp(buf, "STATUS-DRIVER") == 0) {
                reply_len = hostapd_drv_status(hapd, reply, reply_size);
        } else if (os_strcmp(buf, "MIB") == 0) {
                reply_len = ieee802_11_get_mib(hapd, reply, reply_size);
                if (reply_len >= 0) {
-@@ -1488,6 +1489,7 @@ static void hostapd_ctrl_iface_receive(i
+@@ -2499,6 +2500,7 @@ static int hostapd_ctrl_iface_receive_pr
        } else if (os_strncmp(buf, "STA-NEXT ", 9) == 0) {
                reply_len = hostapd_ctrl_iface_sta_next(hapd, buf + 9, reply,
                                                        reply_size);
 +#endif
        } else if (os_strcmp(buf, "ATTACH") == 0) {
-               if (hostapd_ctrl_iface_attach(hapd, &from, fromlen))
+               if (hostapd_ctrl_iface_attach(hapd, from, fromlen))
                        reply_len = -1;
 --- a/wpa_supplicant/Makefile
 +++ b/wpa_supplicant/Makefile
-@@ -797,6 +797,9 @@ ifdef CONFIG_WNM
- OBJS += ../src/ap/wnm_ap.o
+@@ -926,6 +926,9 @@ ifdef CONFIG_FILS
+ OBJS += ../src/ap/fils_hlp.o
  endif
  ifdef CONFIG_CTRL_IFACE
 +ifdef CONFIG_CTRL_IFACE_MIB
  
 --- a/wpa_supplicant/ctrl_iface.c
 +++ b/wpa_supplicant/ctrl_iface.c
-@@ -6100,6 +6100,7 @@ char * wpa_supplicant_ctrl_iface_process
+@@ -2070,7 +2070,7 @@ static int wpa_supplicant_ctrl_iface_sta
+                       pos += ret;
+               }
+-#ifdef CONFIG_AP
++#if defined(CONFIG_AP) && defined(CONFIG_CTRL_IFACE_MIB)
+               if (wpa_s->ap_iface) {
+                       pos += ap_ctrl_iface_wpa_get_status(wpa_s, pos,
+                                                           end - pos,
+@@ -9631,6 +9631,7 @@ char * wpa_supplicant_ctrl_iface_process
                        reply_len = -1;
        } else if (os_strncmp(buf, "NOTE ", 5) == 0) {
                wpa_printf(MSG_INFO, "NOTE: %s", buf + 5);
        } else if (os_strcmp(buf, "MIB") == 0) {
                reply_len = wpa_sm_get_mib(wpa_s->wpa, reply, reply_size);
                if (reply_len >= 0) {
-@@ -6111,6 +6112,7 @@ char * wpa_supplicant_ctrl_iface_process
-                       else
-                               reply_len += res;
+@@ -9638,6 +9639,7 @@ char * wpa_supplicant_ctrl_iface_process
+                                                     reply + reply_len,
+                                                     reply_size - reply_len);
                }
 +#endif
        } else if (os_strncmp(buf, "STATUS", 6) == 0) {
                reply_len = wpa_supplicant_ctrl_iface_status(
                        wpa_s, buf + 6, reply, reply_size);
-@@ -6518,6 +6520,7 @@ char * wpa_supplicant_ctrl_iface_process
+@@ -10124,6 +10126,7 @@ char * wpa_supplicant_ctrl_iface_process
                reply_len = wpa_supplicant_ctrl_iface_bss(
                        wpa_s, buf + 4, reply, reply_size);
  #ifdef CONFIG_AP
        } else if (os_strcmp(buf, "STA-FIRST") == 0) {
                reply_len = ap_ctrl_iface_sta_first(wpa_s, reply, reply_size);
        } else if (os_strncmp(buf, "STA ", 4) == 0) {
-@@ -6526,6 +6529,7 @@ char * wpa_supplicant_ctrl_iface_process
+@@ -10132,12 +10135,15 @@ char * wpa_supplicant_ctrl_iface_process
        } else if (os_strncmp(buf, "STA-NEXT ", 9) == 0) {
                reply_len = ap_ctrl_iface_sta_next(wpa_s, buf + 9, reply,
                                                   reply_size);
 +#endif
++#ifdef CONFIG_CTRL_IFACE_MIB
        } else if (os_strncmp(buf, "DEAUTHENTICATE ", 15) == 0) {
                if (ap_ctrl_iface_sta_deauthenticate(wpa_s, buf + 15))
                        reply_len = -1;
+       } else if (os_strncmp(buf, "DISASSOCIATE ", 13) == 0) {
+               if (ap_ctrl_iface_sta_disassociate(wpa_s, buf + 13))
+                       reply_len = -1;
++#endif
+       } else if (os_strncmp(buf, "CHAN_SWITCH ", 12) == 0) {
+               if (ap_ctrl_iface_chanswitch(wpa_s, buf + 12))
+                       reply_len = -1;
 --- a/src/ap/ctrl_iface_ap.c
 +++ b/src/ap/ctrl_iface_ap.c
-@@ -21,6 +21,7 @@
- #include "ctrl_iface_ap.h"
- #include "ap_drv_ops.h"
+@@ -25,6 +25,7 @@
+ #include "mbo_ap.h"
+ #include "taxonomy.h"
  
 +#ifdef CONFIG_CTRL_IFACE_MIB
  
  static int hostapd_get_sta_tx_rx(struct hostapd_data *hapd,
                                 struct sta_info *sta,
-@@ -214,6 +215,7 @@ int hostapd_ctrl_iface_sta_next(struct h
+@@ -250,6 +251,7 @@ int hostapd_ctrl_iface_sta_next(struct h
        return hostapd_ctrl_iface_sta_mib(hapd, sta->next, buf, buflen);
  }
  
  
  #ifdef CONFIG_P2P_MANAGER
  static int p2p_manager_disconnect(struct hostapd_data *hapd, u16 stype,
-@@ -524,3 +526,4 @@ int hostapd_parse_csa_settings(const cha
-       return 0;
- }
-+
 --- a/src/ap/ieee802_1x.c
 +++ b/src/ap/ieee802_1x.c
-@@ -2124,6 +2124,7 @@ static const char * bool_txt(Boolean boo
-       return bool_val ? "TRUE" : "FALSE";
+@@ -2492,6 +2492,7 @@ static const char * bool_txt(Boolean val
+       return val ? "TRUE" : "FALSE";
  }
  
 +#ifdef CONFIG_CTRL_IFACE_MIB
  
  int ieee802_1x_get_mib(struct hostapd_data *hapd, char *buf, size_t buflen)
  {
-@@ -2291,6 +2292,7 @@ int ieee802_1x_get_mib_sta(struct hostap
+@@ -2667,6 +2668,7 @@ int ieee802_1x_get_mib_sta(struct hostap
        return len;
  }
  
 +#endif
  
- static void ieee802_1x_finished(struct hostapd_data *hapd,
-                               struct sta_info *sta, int success,
+ #ifdef CONFIG_HS20
+ static void ieee802_1x_wnm_notif_send(void *eloop_ctx, void *timeout_ctx)
 --- a/src/ap/wpa_auth.c
 +++ b/src/ap/wpa_auth.c
-@@ -2830,6 +2830,7 @@ static const char * wpa_bool_txt(int boo
-       return bool ? "TRUE" : "FALSE";
+@@ -3780,6 +3780,7 @@ static const char * wpa_bool_txt(int val
+       return val ? "TRUE" : "FALSE";
  }
  
 +#ifdef CONFIG_CTRL_IFACE_MIB
  
  #define RSN_SUITE "%02x-%02x-%02x-%d"
  #define RSN_SUITE_ARG(s) \
-@@ -2974,7 +2975,7 @@ int wpa_get_mib_sta(struct wpa_state_mac
+@@ -3924,7 +3925,7 @@ int wpa_get_mib_sta(struct wpa_state_mac
  
        return len;
  }
  {
 --- a/src/rsn_supp/wpa.c
 +++ b/src/rsn_supp/wpa.c
-@@ -1910,6 +1910,8 @@ static u32 wpa_key_mgmt_suite(struct wpa
+@@ -2356,6 +2356,8 @@ static u32 wpa_key_mgmt_suite(struct wpa
  }
  
  
  #define RSN_SUITE "%02x-%02x-%02x-%d"
  #define RSN_SUITE_ARG(s) \
  ((s) >> 24) & 0xff, ((s) >> 16) & 0xff, ((s) >> 8) & 0xff, (s) & 0xff
-@@ -1993,6 +1995,7 @@ int wpa_sm_get_mib(struct wpa_sm *sm, ch
+@@ -2439,6 +2441,7 @@ int wpa_sm_get_mib(struct wpa_sm *sm, ch
  
        return (int) len;
  }
  #endif /* CONFIG_CTRL_IFACE */
  
  
+--- a/wpa_supplicant/ap.c
++++ b/wpa_supplicant/ap.c
+@@ -1139,7 +1139,7 @@ int wpas_ap_wps_nfc_report_handover(stru
+ #endif /* CONFIG_WPS */
+-#ifdef CONFIG_CTRL_IFACE
++#if defined(CONFIG_CTRL_IFACE) && defined(CONFIG_CTRL_IFACE_MIB)
+ int ap_ctrl_iface_sta_first(struct wpa_supplicant *wpa_s,
+                           char *buf, size_t buflen)