From 8d08dd5ef716f86676eb4ef7c4c401010c44ef01 Mon Sep 17 00:00:00 2001 From: Patrick Walther Date: Fri, 24 Jul 2020 14:41:09 +0200 --- hostapd/Makefile | 3 +++ hostapd/ctrl_iface.c | 2 ++ src/ap/ctrl_iface_ap.c | 6 ++++-- src/ap/ieee802_1x.c | 2 ++ src/ap/wpa_auth.c | 3 ++- src/rsn_supp/wpa.c | 3 +++ wpa_supplicant/Makefile | 3 +++ wpa_supplicant/ap.c | 2 +- wpa_supplicant/ctrl_iface.c | 8 +++++++- 9 files changed, 27 insertions(+), 5 deletions(-) diff --git a/hostapd/Makefile b/hostapd/Makefile index dae9cd119..abd2acdc9 100644 --- a/hostapd/Makefile +++ b/hostapd/Makefile @@ -226,6 +226,9 @@ endif ifdef CONFIG_NO_CTRL_IFACE CFLAGS += -DCONFIG_NO_CTRL_IFACE else +ifdef CONFIG_CTRL_IFACE_MIB +CFLAGS += -DCONFIG_CTRL_IFACE_MIB +endif ifeq ($(CONFIG_CTRL_IFACE), udp) CFLAGS += -DCONFIG_CTRL_IFACE_UDP else diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c index ea2577f50..13d7aba60 100644 --- a/hostapd/ctrl_iface.c +++ b/hostapd/ctrl_iface.c @@ -3370,6 +3370,7 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd, reply_size); } else if (os_strcmp(buf, "STATUS-DRIVER") == 0) { reply_len = hostapd_drv_status(hapd, reply, reply_size); +#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) { @@ -3411,6 +3412,7 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd, } 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, NULL)) reply_len = -1; diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c index b3abf7eca..dc7c6c35d 100644 --- a/src/ap/ctrl_iface_ap.c +++ b/src/ap/ctrl_iface_ap.c @@ -25,6 +25,7 @@ #include "mbo_ap.h" #include "taxonomy.h" +#ifdef CONFIG_CTRL_IFACE_MIB static size_t hostapd_write_ht_mcs_bitmask(char *buf, size_t buflen, size_t curr_len, const u8 *mcs_set) @@ -451,6 +452,7 @@ int hostapd_ctrl_iface_sta_next(struct hostapd_data *hapd, const char *txtaddr, return hostapd_ctrl_iface_sta_mib(hapd, sta->next, buf, buflen); } +#endif #ifdef CONFIG_P2P_MANAGER static int p2p_manager_disconnect(struct hostapd_data *hapd, u16 stype, @@ -806,12 +808,12 @@ int hostapd_ctrl_iface_status(struct hostapd_data *hapd, char *buf, return len; len += ret; } - +#ifdef CONFIG_CTRL_IFACE_MIB if (iface->conf->ieee80211n && !hapd->conf->disable_11n && mode) { len = hostapd_write_ht_mcs_bitmask(buf, buflen, len, mode->mcs_set); } - +#endif /* CONFIG_CTRL_IFACE_MIB */ if (iface->current_rates && iface->num_rates) { ret = os_snprintf(buf + len, buflen - len, "supported_rates="); if (os_snprintf_error(buflen - len, ret)) diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c index ee095f618..9ee99cff3 100644 --- a/src/ap/ieee802_1x.c +++ b/src/ap/ieee802_1x.c @@ -2711,6 +2711,7 @@ static const char * bool_txt(bool val) return val ? "TRUE" : "FALSE"; } +#ifdef CONFIG_CTRL_IFACE_MIB int ieee802_1x_get_mib(struct hostapd_data *hapd, char *buf, size_t buflen) { @@ -2897,6 +2898,7 @@ int ieee802_1x_get_mib_sta(struct hostapd_data *hapd, struct sta_info *sta, return len; } +#endif #ifdef CONFIG_HS20 static void ieee802_1x_wnm_notif_send(void *eloop_ctx, void *timeout_ctx) diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c index 9e6c0cad3..c43cfed78 100644 --- a/src/ap/wpa_auth.c +++ b/src/ap/wpa_auth.c @@ -4451,6 +4451,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) \ @@ -4601,7 +4602,7 @@ int wpa_get_mib_sta(struct wpa_state_machine *sm, char *buf, size_t buflen) return len; } - +#endif void wpa_auth_countermeasures_start(struct wpa_authenticator *wpa_auth) { diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c index 0ae73e8f3..316fd461d 100644 --- a/src/rsn_supp/wpa.c +++ b/src/rsn_supp/wpa.c @@ -2728,6 +2728,8 @@ static u32 wpa_key_mgmt_suite(struct wpa_sm *sm) } +#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 @@ -2809,6 +2811,7 @@ int wpa_sm_get_mib(struct wpa_sm *sm, char *buf, size_t buflen) return (int) len; } +#endif #endif /* CONFIG_CTRL_IFACE */ diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile index 547e9b64b..16ea58f4a 100644 --- a/wpa_supplicant/Makefile +++ b/wpa_supplicant/Makefile @@ -952,6 +952,9 @@ ifdef CONFIG_FILS OBJS += ../src/ap/fils_hlp.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 diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c index 0871c9b27..c67f41c3a 100644 --- a/wpa_supplicant/ap.c +++ b/wpa_supplicant/ap.c @@ -1324,7 +1324,7 @@ int wpas_ap_wps_nfc_report_handover(struct wpa_supplicant *wpa_s, #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) diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c index 298f3c442..4e07a4336 100644 --- a/wpa_supplicant/ctrl_iface.c +++ b/wpa_supplicant/ctrl_iface.c @@ -2267,7 +2267,7 @@ static int wpa_supplicant_ctrl_iface_status(struct wpa_supplicant *wpa_s, 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, @@ -10366,6 +10366,7 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s, reply_len = -1; } 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) { @@ -10378,6 +10379,7 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s, reply_size - reply_len); #endif /* CONFIG_MACSEC */ } +#endif } else if (os_strncmp(buf, "STATUS", 6) == 0) { reply_len = wpa_supplicant_ctrl_iface_status( wpa_s, buf + 6, reply, reply_size); @@ -10862,6 +10864,7 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s, 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) { @@ -10870,12 +10873,15 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s, } 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;