Snap for 12765415 from e1dbf79252f1f3ad6484eda9a4794d55b1a54459 to 25Q1-release
Change-Id: I593f28fefa8b8f323d09720e503b0d3c34cac1b1
diff --git a/wpa_supplicant/Android.bp b/wpa_supplicant/Android.bp
index f66d45b..5361289 100644
--- a/wpa_supplicant/Android.bp
+++ b/wpa_supplicant/Android.bp
@@ -919,85 +919,28 @@
cflags: [
"-DANDROID_LIB_STUB",
"-DANDROID_LOG_NAME=\"mainline_supplicant\"",
- "-DCONFIG_ACS",
"-DCONFIG_ANDROID_LOG",
- "-DCONFIG_AP",
"-DCONFIG_BACKEND_FILE",
"-DCONFIG_CTRL_IFACE",
"-DCONFIG_CTRL_IFACE_UNIX",
- "-DCONFIG_DPP",
- "-DCONFIG_DPP2",
"-DCONFIG_DRIVER_NL80211",
- "-DCONFIG_DRIVER_NL80211_QCA",
- "-DCONFIG_ECC",
- "-DCONFIG_ERP",
- "-DCONFIG_FILS",
- "-DCONFIG_GAS",
- "-DCONFIG_GAS_SERVER",
- "-DCONFIG_HMAC_SHA256_KDF",
- "-DCONFIG_HMAC_SHA384_KDF",
- "-DCONFIG_HMAC_SHA512_KDF",
- "-DCONFIG_HS20",
- "-DCONFIG_IEEE80211AC",
- "-DCONFIG_IEEE80211R",
- "-DCONFIG_INTERWORKING",
- "-DCONFIG_IPV6",
- "-DCONFIG_JSON",
- "-DCONFIG_MBO",
"-DCONFIG_NO_ACCOUNTING",
- "-DCONFIG_NO_RADIUS",
+ "-DCONFIG_NO_CONFIG_BLOBS",
+ "-DCONFIG_NO_CONFIG_WRITE",
"-DCONFIG_NO_RADIUS",
"-DCONFIG_NO_RANDOM_POOL",
"-DCONFIG_NO_ROAMING",
+ "-DCONFIG_NO_ROBUST_AV",
+ "-DCONFIG_NO_RRM",
+ "-DCONFIG_NO_SCAN_PROCESSING",
+ "-DCONFIG_NO_TKIP",
"-DCONFIG_NO_VLAN",
+ "-DCONFIG_NO_WMM_AC",
+ "-DCONFIG_NO_WPA",
+ "-DCONFIG_NO_WPA_PASSPHRASE",
"-DCONFIG_OFFCHANNEL",
- "-DCONFIG_OWE",
- "-DCONFIG_P2P",
- "-DCONFIG_PASN",
- "-DCONFIG_PTKSA_CACHE",
- "-DCONFIG_SAE",
- "-DCONFIG_SAE_PK",
- "-DCONFIG_SHA256",
- "-DCONFIG_SHA384",
- "-DCONFIG_SHA512",
- "-DCONFIG_SMARTCARD",
- "-DCONFIG_SME",
- "-DCONFIG_SUITEB",
- "-DCONFIG_SUITEB192",
- "-DCONFIG_TDLS",
- "-DCONFIG_WEP",
- "-DCONFIG_WIFI_DISPLAY",
- "-DCONFIG_WNM",
- "-DCONFIG_WPS",
- "-DCONFIG_WPS_ER",
- "-DCONFIG_WPS_NFC",
- "-DCONFIG_WPS_OOB",
- "-DCONFIG_WPS_UPNP",
- "-DCRYPTO_RSA_OAEP_SHA256",
- "-DEAP_AKA",
- "-DEAP_AKA_PRIME",
- "-DEAP_GTC",
- "-DEAP_LEAP",
- "-DEAP_MD5",
- "-DEAP_MSCHAPv2",
- "-DEAP_OTP",
- "-DEAP_PEAP",
- "-DEAP_PWD",
- "-DEAP_SERVER",
- "-DEAP_SERVER_IDENTITY",
- "-DEAP_SERVER_WSC",
- "-DEAP_SIM",
- "-DEAP_TLS",
- "-DEAP_TLSV1_3",
- "-DEAP_TLS_OPENSSL",
- "-DEAP_TTLS",
- "-DEAP_WSC",
- "-DIEEE8021X_EAPOL",
"-DMAINLINE_SUPPLICANT",
- "-DNEED_AP_MLME",
"-DOPENSSL_NO_ENGINE",
- "-DPKCS12_FUNCS",
- "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"",
"-DWPA_IGNORE_CONFIG_ERRORS",
"-Wall",
"-Werror",
@@ -1010,22 +953,7 @@
"-Wno-unused-function",
"-Wno-unused-parameter",
"-Wno-unused-variable",
- ] + select(soong_config_variable("wpa_supplicant_8", "wpa_supplicant_use_stub_lib"), {
- true: ["-DANDROID_LIB_STUB"],
- default: [],
- }) + select(soong_config_variable("wpa_supplicant_8", "board_hostapd_config_80211w_mfp_optional"), {
- true: ["-DENABLE_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL"],
- default: [],
- }) + select(soong_config_variable("wpa_supplicant_8", "wifi_priv_cmd_update_mbo_cell_status"), {
- true: ["-DENABLE_PRIV_CMD_UPDATE_MBO_CELL_STATUS"],
- default: [],
- }) + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), {
- true: ["-DCONFIG_IEEE80211AX"],
- default: [],
- }) + select(soong_config_variable("wpa_supplicant_8", "wifi_brcm_open_source_multi_akm"), {
- true: ["-DWIFI_BRCM_OPEN_SOURCE_MULTI_AKM"],
- default: [],
- }),
+ ],
}
cc_defaults {
@@ -1238,6 +1166,62 @@
],
}
+cc_defaults {
+ name: "wpa_supplicant_mainline_srcs_default",
+ srcs: [
+ "bss.c",
+ "bssid_ignore.c",
+ "config.c",
+ "config_file.c",
+ "ctrl_iface.c",
+ "ctrl_iface_unix.c",
+ "eap_register.c",
+ "events.c",
+ "main.c",
+ "notify.c",
+ "offchannel.c",
+ "op_classes.c",
+ "rrm.c",
+ "scan.c",
+ "wpa_supplicant.c",
+ "wpas_glue.c",
+ "src/common/ctrl_iface_common.c",
+ "src/common/hw_features_common.c",
+ "src/common/ieee802_11_common.c",
+ "src/common/ptksa_cache.c",
+ "src/common/wpa_common.c",
+ "src/crypto/crypto_openssl.c",
+ "src/crypto/tls_none.c",
+ "src/drivers/driver_common.c",
+ "src/drivers/driver_nl80211.c",
+ "src/drivers/driver_nl80211_android.c",
+ "src/drivers/driver_nl80211_capa.c",
+ "src/drivers/driver_nl80211_event.c",
+ "src/drivers/driver_nl80211_monitor.c",
+ "src/drivers/driver_nl80211_scan.c",
+ "src/drivers/drivers.c",
+ "src/drivers/linux_ioctl.c",
+ "src/drivers/netlink.c",
+ "src/drivers/rfkill.c",
+ "src/l2_packet/l2_packet_linux.c",
+ "src/rsn_supp/pmksa_cache.c",
+ "src/utils/base64.c",
+ "src/utils/bitfield.c",
+ "src/utils/common.c",
+ "src/utils/config.c",
+ "src/utils/crc32.c",
+ "src/utils/eloop.c",
+ "src/utils/ip_addr.c",
+ "src/utils/os_unix.c",
+ "src/utils/radiotap.c",
+ "src/utils/wpa_debug.c",
+ "src/utils/wpabuf.c",
+ ],
+ defaults: [
+ "wpa_supplicant_driver_srcs_default",
+ ],
+}
+
cc_binary {
name: "wpa_cli",
proprietary: true,
@@ -1390,7 +1374,7 @@
"mainline_supplicant_aidl_bp",
],
defaults: [
- "wpa_supplicant_srcs_default",
+ "wpa_supplicant_mainline_srcs_default",
"wpa_supplicant_includes_default",
"wpa_supplicant_mainline_cflags_default",
],
@@ -1430,7 +1414,7 @@
"service_fuzzer_defaults",
"wpa_supplicant_includes_default",
"wpa_supplicant_mainline_cflags_default",
- "wpa_supplicant_srcs_default",
+ "wpa_supplicant_mainline_srcs_default",
],
shared_libs: [
"android.system.wifi.mainline_supplicant-ndk",
diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
index 6dba468..a8fc962 100644
--- a/wpa_supplicant/ctrl_iface.c
+++ b/wpa_supplicant/ctrl_iface.c
@@ -8674,6 +8674,7 @@
int ret;
ret = wpa_drv_driver_cmd(wpa_s, cmd, buf, buflen);
+#ifdef CONFIG_P2P
if (ret == 0) {
if (os_strncasecmp(cmd, "COUNTRY", 7) == 0) {
struct p2p_data *p2p = wpa_s->global->p2p;
@@ -8689,6 +8690,7 @@
if (os_snprintf_error(buflen, ret))
ret = -1;
}
+#endif /* CONFIG_P2P */
return ret;
}
#endif /* ANDROID */
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 3e6f88d..2a665d7 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -3430,7 +3430,10 @@
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;
@@ -3566,18 +3569,22 @@
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 */
#if defined(CONFIG_DRIVER_NL80211_BRCM) || defined(CONFIG_DRIVER_NL80211_SYNA)
/* The WPA/RSN IE has been updated at this point. Since the Firmware could have roamed
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 982ff6c..e3ed858 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -422,7 +422,9 @@
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;
@@ -2167,6 +2169,7 @@
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)) {
@@ -2174,6 +2177,7 @@
"RSN: Failed to generate RSNXE");
return -1;
}
+#endif /* CONFIG_NO_WPA */
}
if (0) {
@@ -4296,7 +4300,9 @@
/* 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;
@@ -4768,8 +4774,10 @@
}
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);
@@ -7524,9 +7532,11 @@
#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;