hostapd: update to 2023-03-29
[openwrt/staging/dedeckeh.git] / package / network / services / hostapd / patches / 380-disable_ctrl_iface_mib.patch
1 --- a/hostapd/Makefile
2 +++ b/hostapd/Makefile
3 @@ -221,6 +221,9 @@ endif
4 ifdef CONFIG_NO_CTRL_IFACE
5 CFLAGS += -DCONFIG_NO_CTRL_IFACE
6 else
7 +ifdef CONFIG_CTRL_IFACE_MIB
8 +CFLAGS += -DCONFIG_CTRL_IFACE_MIB
9 +endif
10 ifeq ($(CONFIG_CTRL_IFACE), udp)
11 CFLAGS += -DCONFIG_CTRL_IFACE_UDP
12 else
13 --- a/hostapd/ctrl_iface.c
14 +++ b/hostapd/ctrl_iface.c
15 @@ -3342,6 +3342,7 @@ static int hostapd_ctrl_iface_receive_pr
16 reply_size);
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);
22 if (reply_len >= 0) {
23 @@ -3383,6 +3384,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,
26 reply_size);
27 +#endif
28 } else if (os_strcmp(buf, "ATTACH") == 0) {
29 if (hostapd_ctrl_iface_attach(hapd, from, fromlen, NULL))
30 reply_len = -1;
31 --- a/wpa_supplicant/Makefile
32 +++ b/wpa_supplicant/Makefile
33 @@ -985,6 +985,9 @@ ifdef CONFIG_FILS
34 OBJS += ../src/ap/fils_hlp.o
35 endif
36 ifdef CONFIG_CTRL_IFACE
37 +ifdef CONFIG_CTRL_IFACE_MIB
38 +CFLAGS += -DCONFIG_CTRL_IFACE_MIB
39 +endif
40 OBJS += ../src/ap/ctrl_iface_ap.o
41 endif
42
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
46 pos += ret;
47 }
48
49 -#ifdef CONFIG_AP
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,
53 end - pos,
54 @@ -11964,6 +11964,7 @@ char * wpa_supplicant_ctrl_iface_process
55 reply_len = -1;
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);
61 if (reply_len >= 0) {
62 @@ -11976,6 +11977,7 @@ char * wpa_supplicant_ctrl_iface_process
63 reply_size - reply_len);
64 #endif /* CONFIG_MACSEC */
65 }
66 +#endif
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 @@ -12464,6 +12466,7 @@ char * wpa_supplicant_ctrl_iface_process
71 reply_len = wpa_supplicant_ctrl_iface_bss(
72 wpa_s, buf + 4, reply, reply_size);
73 #ifdef CONFIG_AP
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 @@ -12472,12 +12475,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,
81 reply_size);
82 +#endif
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))
86 reply_len = -1;
87 } else if (os_strncmp(buf, "DISASSOCIATE ", 13) == 0) {
88 if (ap_ctrl_iface_sta_disassociate(wpa_s, buf + 13))
89 reply_len = -1;
90 +#endif
91 } else if (os_strncmp(buf, "CHAN_SWITCH ", 12) == 0) {
92 if (ap_ctrl_iface_chanswitch(wpa_s, buf + 12))
93 reply_len = -1;
94 --- a/src/ap/ctrl_iface_ap.c
95 +++ b/src/ap/ctrl_iface_ap.c
96 @@ -26,6 +26,26 @@
97 #include "taxonomy.h"
98 #include "wnm_ap.h"
99
100 +static const char * hw_mode_str(enum hostapd_hw_mode mode)
101 +{
102 + switch (mode) {
103 + case HOSTAPD_MODE_IEEE80211B:
104 + return "b";
105 + case HOSTAPD_MODE_IEEE80211G:
106 + return "g";
107 + case HOSTAPD_MODE_IEEE80211A:
108 + return "a";
109 + case HOSTAPD_MODE_IEEE80211AD:
110 + return "ad";
111 + case HOSTAPD_MODE_IEEE80211ANY:
112 + return "any";
113 + case NUM_HOSTAPD_MODES:
114 + return "invalid";
115 + }
116 + return "unknown";
117 +}
118 +
119 +#ifdef CONFIG_CTRL_IFACE_MIB
120
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
124 }
125
126
127 -static const char * hw_mode_str(enum hostapd_hw_mode mode)
128 -{
129 - switch (mode) {
130 - case HOSTAPD_MODE_IEEE80211B:
131 - return "b";
132 - case HOSTAPD_MODE_IEEE80211G:
133 - return "g";
134 - case HOSTAPD_MODE_IEEE80211A:
135 - return "a";
136 - case HOSTAPD_MODE_IEEE80211AD:
137 - return "ad";
138 - case HOSTAPD_MODE_IEEE80211ANY:
139 - return "any";
140 - case NUM_HOSTAPD_MODES:
141 - return "invalid";
142 - }
143 - return "unknown";
144 -}
145 -
146 -
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);
152 }
153
154 +#endif
155
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
159 return len;
160 len += ret;
161 }
162 -
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,
166 mode->mcs_set);
167 }
168 -
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 @@ -2753,6 +2753,7 @@ static const char * bool_txt(bool val)
176 return val ? "TRUE" : "FALSE";
177 }
178
179 +#ifdef CONFIG_CTRL_IFACE_MIB
180
181 int ieee802_1x_get_mib(struct hostapd_data *hapd, char *buf, size_t buflen)
182 {
183 @@ -2939,6 +2940,7 @@ int ieee802_1x_get_mib_sta(struct hostap
184 return len;
185 }
186
187 +#endif
188
189 #ifdef CONFIG_HS20
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 @@ -4786,6 +4786,7 @@ static const char * wpa_bool_txt(int val
194 return val ? "TRUE" : "FALSE";
195 }
196
197 +#ifdef CONFIG_CTRL_IFACE_MIB
198
199 #define RSN_SUITE "%02x-%02x-%02x-%d"
200 #define RSN_SUITE_ARG(s) \
201 @@ -4938,7 +4939,7 @@ int wpa_get_mib_sta(struct wpa_state_mac
202
203 return len;
204 }
205 -
206 +#endif
207
208 void wpa_auth_countermeasures_start(struct wpa_authenticator *wpa_auth)
209 {
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
213 }
214
215
216 +#ifdef CONFIG_CTRL_IFACE_MIB
217 +
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
222
223 return (int) len;
224 }
225 +#endif
226 #endif /* CONFIG_CTRL_IFACE */
227
228
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 */
233
234
235 -#ifdef CONFIG_CTRL_IFACE
236 +#if defined(CONFIG_CTRL_IFACE) && defined(CONFIG_CTRL_IFACE_MIB)
237
238 int ap_ctrl_iface_sta_first(struct wpa_supplicant *wpa_s,
239 char *buf, size_t buflen)