hostapd: add a patch to remove some unnecessary control interface functionality
authorFelix Fietkau <nbd@openwrt.org>
Fri, 18 Mar 2011 02:15:52 +0000 (02:15 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 18 Mar 2011 02:15:52 +0000 (02:15 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26216 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/hostapd/patches/560-disable_ctrl_iface_mib.patch [new file with mode: 0644]

diff --git a/package/hostapd/patches/560-disable_ctrl_iface_mib.patch b/package/hostapd/patches/560-disable_ctrl_iface_mib.patch
new file mode 100644 (file)
index 0000000..b71d307
--- /dev/null
@@ -0,0 +1,161 @@
+--- a/hostapd/Makefile
++++ b/hostapd/Makefile
+@@ -119,6 +119,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
+--- a/hostapd/ctrl_iface.c
++++ b/hostapd/ctrl_iface.c
+@@ -852,6 +852,7 @@ static void hostapd_ctrl_iface_receive(i
+       if (os_strcmp(buf, "PING") == 0) {
+               os_memcpy(reply, "PONG\n", 5);
+               reply_len = 5;
++#ifdef CONFIG_CTRL_IFACE_MIB
+       } else if (os_strcmp(buf, "MIB") == 0) {
+               reply_len = ieee802_11_get_mib(hapd, reply, reply_size);
+               if (reply_len >= 0) {
+@@ -881,10 +882,12 @@ static void hostapd_ctrl_iface_receive(i
+                               reply_len += res;
+               }
+ #endif /* CONFIG_NO_RADIUS */
++#endif
+       } else if (os_strcmp(buf, "DOWN") == 0) {
+               hostapd_ctrl_iface_set_down(hapd);
+       } else if (os_strncmp(buf, "RELOAD ", 7) == 0) {
+               hostapd_ctrl_iface_reload(hapd, buf + 7);
++#ifdef CONFIG_CTRL_IFACE_MIB
+       } else if (os_strcmp(buf, "STA-FIRST") == 0) {
+               reply_len = hostapd_ctrl_iface_sta_first(hapd, reply,
+                                                        reply_size);
+@@ -894,6 +897,7 @@ static void hostapd_ctrl_iface_receive(i
+       } 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))
+                       reply_len = -1;
+--- a/wpa_supplicant/Makefile
++++ b/wpa_supplicant/Makefile
+@@ -668,6 +668,9 @@ ifdef CONFIG_IEEE80211N
+ OBJS += ../src/ap/ieee802_11_ht.o
+ endif
+ ifdef CONFIG_CTRL_IFACE
++ifdef CONFIG_CTRL_IFACE_MIB
++CFLAGS += -DCONFIG_CTRL_IFACE_MIB
++endif
+ OBJS += ../src/ap/ctrl_iface_ap.o
+ endif
+--- a/wpa_supplicant/ctrl_iface.c
++++ b/wpa_supplicant/ctrl_iface.c
+@@ -2788,6 +2788,7 @@ char * wpa_supplicant_ctrl_iface_process
+               reply_len = 5;
+       } else if (os_strncmp(buf, "NOTE ", 5) == 0) {
+               wpa_printf(MSG_INFO, "NOTE: %s", buf + 5);
++#ifdef CONFIG_CTRL_IFACE_MIB
+       } else if (os_strcmp(buf, "MIB") == 0) {
+               reply_len = wpa_sm_get_mib(wpa_s->wpa, reply, reply_size);
+               if (reply_len >= 0) {
+@@ -2799,6 +2800,7 @@ char * wpa_supplicant_ctrl_iface_process
+                       else
+                               reply_len += res;
+               }
++#endif
+       } else if (os_strncmp(buf, "STATUS", 6) == 0) {
+               reply_len = wpa_supplicant_ctrl_iface_status(
+                       wpa_s, buf + 6, reply, reply_size);
+@@ -3083,6 +3085,7 @@ char * wpa_supplicant_ctrl_iface_process
+               reply_len = wpa_supplicant_ctrl_iface_bss(
+                       wpa_s, buf + 4, reply, reply_size);
+ #ifdef CONFIG_AP
++#ifdef CONFIG_CTRL_IFACE_MIB
+       } 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) {
+@@ -3091,6 +3094,7 @@ 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
+ #endif /* CONFIG_AP */
+       } else if (os_strcmp(buf, "SUSPEND") == 0) {
+               wpas_notify_suspend(wpa_s->global);
+--- a/src/ap/ctrl_iface_ap.c
++++ b/src/ap/ctrl_iface_ap.c
+@@ -24,6 +24,7 @@
+ #include "p2p_hostapd.h"
+ #include "ctrl_iface_ap.h"
++#ifdef CONFIG_CTRL_IFACE_MIB
+ static int hostapd_ctrl_iface_sta_mib(struct hostapd_data *hapd,
+                                     struct sta_info *sta,
+@@ -106,3 +107,5 @@ int hostapd_ctrl_iface_sta_next(struct h
+       }               
+       return hostapd_ctrl_iface_sta_mib(hapd, sta->next, buf, buflen);
+ }
++
++#endif
+--- a/src/ap/ieee802_1x.c
++++ b/src/ap/ieee802_1x.c
+@@ -1848,6 +1848,7 @@ static const char * bool_txt(Boolean boo
+       return bool ? "TRUE" : "FALSE";
+ }
++#ifdef CONFIG_CTRL_IFACE_MIB
+ int ieee802_1x_get_mib(struct hostapd_data *hapd, char *buf, size_t buflen)
+ {
+@@ -1999,6 +2000,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)
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -2458,6 +2458,7 @@ static int wpa_cipher_bits(int cipher)
+       }
+ }
++#ifdef CONFIG_CTRL_IFACE_MIB
+ #define RSN_SUITE "%02x-%02x-%02x-%d"
+ #define RSN_SUITE_ARG(s) \
+@@ -2619,7 +2620,7 @@ int wpa_get_mib_sta(struct wpa_state_mac
+       return len;
+ }
+-
++#endif
+ void wpa_auth_countermeasures_start(struct wpa_authenticator *wpa_auth)
+ {
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -1852,6 +1852,8 @@ static u32 wpa_cipher_suite(struct wpa_s
+ }
++#ifdef CONFIG_CTRL_IFACE_MIB
++
+ #define RSN_SUITE "%02x-%02x-%02x-%d"
+ #define RSN_SUITE_ARG(s) \
+ ((s) >> 24) & 0xff, ((s) >> 16) & 0xff, ((s) >> 8) & 0xff, (s) & 0xff
+@@ -1931,6 +1933,7 @@ int wpa_sm_get_mib(struct wpa_sm *sm, ch
+       return (int) len;
+ }
++#endif
+ #endif /* CONFIG_CTRL_IFACE */