3 @@ -221,6 +221,9 @@ endif
4 ifdef CONFIG_NO_CTRL_IFACE
5 CFLAGS += -DCONFIG_NO_CTRL_IFACE
7 +ifdef CONFIG_CTRL_IFACE_MIB
8 +CFLAGS += -DCONFIG_CTRL_IFACE_MIB
10 ifeq ($(CONFIG_CTRL_IFACE), udp)
11 CFLAGS += -DCONFIG_CTRL_IFACE_UDP
13 --- a/hostapd/ctrl_iface.c
14 +++ b/hostapd/ctrl_iface.c
15 @@ -3314,6 +3314,7 @@ static int hostapd_ctrl_iface_receive_pr
17 } else if (os_strcmp(buf, "STATUS-DRIVER") == 0) {
18 reply_len = hostapd_drv_status(hapd, reply, reply_size);
19 +#ifdef CONFIG_CTRL_IFACE_MIB
20 } else if (os_strcmp(buf, "MIB") == 0) {
21 reply_len = ieee802_11_get_mib(hapd, reply, reply_size);
23 @@ -3355,6 +3356,7 @@ static int hostapd_ctrl_iface_receive_pr
24 } else if (os_strncmp(buf, "STA-NEXT ", 9) == 0) {
25 reply_len = hostapd_ctrl_iface_sta_next(hapd, buf + 9, reply,
28 } else if (os_strcmp(buf, "ATTACH") == 0) {
29 if (hostapd_ctrl_iface_attach(hapd, from, fromlen, NULL))
31 --- a/wpa_supplicant/Makefile
32 +++ b/wpa_supplicant/Makefile
33 @@ -983,6 +983,9 @@ ifdef CONFIG_FILS
34 OBJS += ../src/ap/fils_hlp.o
36 ifdef CONFIG_CTRL_IFACE
37 +ifdef CONFIG_CTRL_IFACE_MIB
38 +CFLAGS += -DCONFIG_CTRL_IFACE_MIB
40 OBJS += ../src/ap/ctrl_iface_ap.o
43 --- a/wpa_supplicant/ctrl_iface.c
44 +++ b/wpa_supplicant/ctrl_iface.c
45 @@ -2326,7 +2326,7 @@ static int wpa_supplicant_ctrl_iface_sta
50 +#if defined(CONFIG_AP) && defined(CONFIG_CTRL_IFACE_MIB)
51 if (wpa_s->ap_iface) {
52 pos += ap_ctrl_iface_wpa_get_status(wpa_s, pos,
54 @@ -12087,6 +12087,7 @@ char * wpa_supplicant_ctrl_iface_process
56 } else if (os_strncmp(buf, "NOTE ", 5) == 0) {
57 wpa_printf(MSG_INFO, "NOTE: %s", buf + 5);
58 +#ifdef CONFIG_CTRL_IFACE_MIB
59 } else if (os_strcmp(buf, "MIB") == 0) {
60 reply_len = wpa_sm_get_mib(wpa_s->wpa, reply, reply_size);
62 @@ -12099,6 +12100,7 @@ char * wpa_supplicant_ctrl_iface_process
63 reply_size - reply_len);
64 #endif /* CONFIG_MACSEC */
67 } else if (os_strncmp(buf, "STATUS", 6) == 0) {
68 reply_len = wpa_supplicant_ctrl_iface_status(
69 wpa_s, buf + 6, reply, reply_size);
70 @@ -12587,6 +12589,7 @@ char * wpa_supplicant_ctrl_iface_process
71 reply_len = wpa_supplicant_ctrl_iface_bss(
72 wpa_s, buf + 4, reply, reply_size);
74 +#ifdef CONFIG_CTRL_IFACE_MIB
75 } else if (os_strcmp(buf, "STA-FIRST") == 0) {
76 reply_len = ap_ctrl_iface_sta_first(wpa_s, reply, reply_size);
77 } else if (os_strncmp(buf, "STA ", 4) == 0) {
78 @@ -12595,12 +12598,15 @@ char * wpa_supplicant_ctrl_iface_process
79 } else if (os_strncmp(buf, "STA-NEXT ", 9) == 0) {
80 reply_len = ap_ctrl_iface_sta_next(wpa_s, buf + 9, reply,
83 +#ifdef CONFIG_CTRL_IFACE_MIB
84 } else if (os_strncmp(buf, "DEAUTHENTICATE ", 15) == 0) {
85 if (ap_ctrl_iface_sta_deauthenticate(wpa_s, buf + 15))
87 } else if (os_strncmp(buf, "DISASSOCIATE ", 13) == 0) {
88 if (ap_ctrl_iface_sta_disassociate(wpa_s, buf + 13))
91 } else if (os_strncmp(buf, "CHAN_SWITCH ", 12) == 0) {
92 if (ap_ctrl_iface_chanswitch(wpa_s, buf + 12))
94 --- a/src/ap/ctrl_iface_ap.c
95 +++ b/src/ap/ctrl_iface_ap.c
100 +static const char * hw_mode_str(enum hostapd_hw_mode mode)
103 + case HOSTAPD_MODE_IEEE80211B:
105 + case HOSTAPD_MODE_IEEE80211G:
107 + case HOSTAPD_MODE_IEEE80211A:
109 + case HOSTAPD_MODE_IEEE80211AD:
111 + case HOSTAPD_MODE_IEEE80211ANY:
113 + case NUM_HOSTAPD_MODES:
119 +#ifdef CONFIG_CTRL_IFACE_MIB
121 static size_t hostapd_write_ht_mcs_bitmask(char *buf, size_t buflen,
122 size_t curr_len, const u8 *mcs_set)
123 @@ -212,26 +232,6 @@ static const char * timeout_next_str(int
127 -static const char * hw_mode_str(enum hostapd_hw_mode mode)
130 - case HOSTAPD_MODE_IEEE80211B:
132 - case HOSTAPD_MODE_IEEE80211G:
134 - case HOSTAPD_MODE_IEEE80211A:
136 - case HOSTAPD_MODE_IEEE80211AD:
138 - case HOSTAPD_MODE_IEEE80211ANY:
140 - case NUM_HOSTAPD_MODES:
147 static int hostapd_ctrl_iface_sta_mib(struct hostapd_data *hapd,
148 struct sta_info *sta,
149 char *buf, size_t buflen)
150 @@ -493,6 +493,7 @@ int hostapd_ctrl_iface_sta_next(struct h
151 return hostapd_ctrl_iface_sta_mib(hapd, sta->next, buf, buflen);
156 #ifdef CONFIG_P2P_MANAGER
157 static int p2p_manager_disconnect(struct hostapd_data *hapd, u16 stype,
158 @@ -884,12 +885,12 @@ int hostapd_ctrl_iface_status(struct hos
163 +#ifdef CONFIG_CTRL_IFACE_MIB
164 if (iface->conf->ieee80211n && !hapd->conf->disable_11n && mode) {
165 len = hostapd_write_ht_mcs_bitmask(buf, buflen, len,
169 +#endif /* CONFIG_CTRL_IFACE_MIB */
170 if (iface->current_rates && iface->num_rates) {
171 ret = os_snprintf(buf + len, buflen - len, "supported_rates=");
172 if (os_snprintf_error(buflen - len, ret))
173 --- a/src/ap/ieee802_1x.c
174 +++ b/src/ap/ieee802_1x.c
175 @@ -2834,6 +2834,7 @@ static const char * bool_txt(bool val)
176 return val ? "TRUE" : "FALSE";
179 +#ifdef CONFIG_CTRL_IFACE_MIB
181 int ieee802_1x_get_mib(struct hostapd_data *hapd, char *buf, size_t buflen)
183 @@ -3020,6 +3021,7 @@ int ieee802_1x_get_mib_sta(struct hostap
190 static void ieee802_1x_wnm_notif_send(void *eloop_ctx, void *timeout_ctx)
191 --- a/src/ap/wpa_auth.c
192 +++ b/src/ap/wpa_auth.c
193 @@ -5328,6 +5328,7 @@ static const char * wpa_bool_txt(int val
194 return val ? "TRUE" : "FALSE";
197 +#ifdef CONFIG_CTRL_IFACE_MIB
199 #define RSN_SUITE "%02x-%02x-%02x-%d"
200 #define RSN_SUITE_ARG(s) \
201 @@ -5480,7 +5481,7 @@ int wpa_get_mib_sta(struct wpa_state_mac
208 void wpa_auth_countermeasures_start(struct wpa_authenticator *wpa_auth)
210 --- a/src/rsn_supp/wpa.c
211 +++ b/src/rsn_supp/wpa.c
212 @@ -3834,6 +3834,8 @@ static u32 wpa_key_mgmt_suite(struct wpa
216 +#ifdef CONFIG_CTRL_IFACE_MIB
218 #define RSN_SUITE "%02x-%02x-%02x-%d"
219 #define RSN_SUITE_ARG(s) \
220 ((s) >> 24) & 0xff, ((s) >> 16) & 0xff, ((s) >> 8) & 0xff, (s) & 0xff
221 @@ -3915,6 +3917,7 @@ int wpa_sm_get_mib(struct wpa_sm *sm, ch
226 #endif /* CONFIG_CTRL_IFACE */
229 --- a/wpa_supplicant/ap.c
230 +++ b/wpa_supplicant/ap.c
231 @@ -1499,7 +1499,7 @@ int wpas_ap_wps_nfc_report_handover(stru
232 #endif /* CONFIG_WPS */
235 -#ifdef CONFIG_CTRL_IFACE
236 +#if defined(CONFIG_CTRL_IFACE) && defined(CONFIG_CTRL_IFACE_MIB)
238 int ap_ctrl_iface_sta_first(struct wpa_supplicant *wpa_s,
239 char *buf, size_t buflen)