[PATCH 1/2] Fix CONFIG_NO_WPA compile/link errors
Matthew Wang
matthewmwang at chromium.org
Tue Sep 17 09:33:39 PDT 2024
Enabling CONFIG_NO_WPA causes some errors. Fix them.
Change-Id: Iec8d6d84cd95eac9ad72b7dfcb800a8be2f4bfb3
Signed-off-by: Matthew Wang <matthewmwang at chromium.org>
---
wpa_supplicant/Makefile | 2 +-
wpa_supplicant/events.c | 9 ++++++++-
wpa_supplicant/wpa_supplicant.c | 10 ++++++++++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
index 743c8acd6..0214ef93e 100644
--- a/wpa_supplicant/Makefile
+++ b/wpa_supplicant/Makefile
@@ -113,6 +113,7 @@ OBJS += ../src/utils/bitfield.o
OBJS += ../src/utils/ip_addr.o
OBJS += ../src/utils/crc32.o
OBJS += ../src/common/ptksa_cache.o
+OBJS += ../src/common/wpa_common.o
OBJS += ../src/rsn_supp/pmksa_cache.o
OBJS += twt.o
OBJS_p = wpa_passphrase.o
@@ -373,7 +374,6 @@ ifndef CONFIG_NO_WPA
OBJS += ../src/rsn_supp/wpa.o
OBJS += ../src/rsn_supp/preauth.o
OBJS += ../src/rsn_supp/wpa_ie.o
-OBJS += ../src/common/wpa_common.o
NEED_AES=y
NEED_SHA1=y
NEED_MD5=y
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 90e1c7b9f..371bbce51 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -3425,7 +3425,10 @@ static int wpa_supplicant_use_own_rsne_params(struct wpa_supplicant *wpa_s,
static int wpa_supplicant_event_associnfo(struct wpa_supplicant *wpa_s,
union wpa_event_data *data)
{
- int l, len, found = 0, found_x = 0, wpa_found, rsn_found;
+ int l, len, found = 0, wpa_found, rsn_found;
+#ifndef CONFIG_NO_WPA
+ int found_x = 0;
+#endif /* CONFIG_NO_WPA */
const u8 *p, *ie;
u8 bssid[ETH_ALEN];
bool bssid_known;
@@ -3528,18 +3531,22 @@ static int wpa_supplicant_event_associnfo(struct wpa_supplicant *wpa_s,
wpa_find_assoc_pmkid(wpa_s,
data->assoc_info.authorized);
}
+#ifndef CONFIG_NO_WPA
if (!found_x && p[0] == WLAN_EID_RSNX) {
if (wpa_sm_set_assoc_rsnxe(wpa_s->wpa, p, len))
break;
found_x = 1;
}
+#endif /* CONFIG_NO_WPA */
l -= len;
p += len;
}
if (!found && data->assoc_info.req_ies)
wpa_sm_set_assoc_wpa_ie(wpa_s->wpa, NULL, 0);
+#ifndef CONFIG_NO_WPA
if (!found_x && data->assoc_info.req_ies)
wpa_sm_set_assoc_rsnxe(wpa_s->wpa, NULL, 0);
+#endif /* CONFIG_NO_WPA */
rsn_override = RSN_OVERRIDE_NOT_USED;
ie = get_vendor_ie(data->assoc_info.req_ies,
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 81858327b..817b00a69 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -420,7 +420,9 @@ void wpa_supplicant_set_non_wpa_policy(struct wpa_supplicant *wpa_s,
wpa_sm_set_ap_rsne_override_2(wpa_s->wpa, NULL, 0);
wpa_sm_set_ap_rsnxe_override(wpa_s->wpa, NULL, 0);
wpa_sm_set_assoc_wpa_ie(wpa_s->wpa, NULL, 0);
+#ifndef CONFIG_NO_WPA
wpa_sm_set_assoc_rsnxe(wpa_s->wpa, NULL, 0);
+#endif /* CONFIG_NO_WPA */
wpa_s->rsnxe_len = 0;
wpa_s->pairwise_cipher = WPA_CIPHER_NONE;
wpa_s->group_cipher = WPA_CIPHER_NONE;
@@ -2162,6 +2164,7 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
return -1;
}
+#ifndef CONFIG_NO_WPA
wpa_s->rsnxe_len = sizeof(wpa_s->rsnxe);
if (wpa_sm_set_assoc_rsnxe_default(wpa_s->wpa, wpa_s->rsnxe,
&wpa_s->rsnxe_len)) {
@@ -2169,6 +2172,7 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
"RSN: Failed to generate RSNXE");
return -1;
}
+#endif /* CONFIG_NO_WPA */
}
if (0) {
@@ -4271,7 +4275,9 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
/* Starting new association, so clear the possibly used WPA IE from the
* previous association. */
wpa_sm_set_assoc_wpa_ie(wpa_s->wpa, NULL, 0);
+#ifndef CONFIG_NO_WPA
wpa_sm_set_assoc_rsnxe(wpa_s->wpa, NULL, 0);
+#endif /* CONFIG_NO_WPA */
wpa_s->rsnxe_len = 0;
#ifndef CONFIG_NO_ROBUST_AV
wpa_s->mscs_setup_done = false;
@@ -4720,8 +4726,10 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
}
wpa_supplicant_rsn_supp_set_config(wpa_s, wpa_s->current_ssid);
+#ifndef CONFIG_NO_WPA
if (bss)
wpa_sm_set_ssid(wpa_s->wpa, bss->ssid, bss->ssid_len);
+#endif /* CONFIG_NO_WPA */
wpa_supplicant_initiate_eapol(wpa_s);
if (old_ssid != wpa_s->current_ssid)
wpas_notify_network_changed(wpa_s);
@@ -7476,9 +7484,11 @@ static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,
#ifdef CONFIG_PASN
wpa_pasn_sm_set_caps(wpa_s->wpa, wpa_s->drv_flags2);
#endif /* CONFIG_PASN */
+#ifndef CONFIG_NO_WPA
wpa_sm_set_driver_bss_selection(wpa_s->wpa,
!!(wpa_s->drv_flags &
WPA_DRIVER_FLAGS_BSS_SELECTION));
+#endif /* CONFIG_NO_WPA */
if (wpa_s->max_remain_on_chan == 0)
wpa_s->max_remain_on_chan = 1000;
--
2.46.0.662.g92d0881bb0-goog
More information about the Hostap
mailing list