Revert "[wpa_supplicant] Cumulative patch from commit 0c5ededed"
This reverts commit 1a1e642fd6c1200e7e1979ea70103c484062f3a9.
Reason for revert: Droidcop: Potential culprit for Bug 154881734 - verifying through Forrest before revert submission
Change-Id: I85f75adeb43554b0ebbf295fea51e1b68b169ed2
diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk
index 37432d9..65c639b 100644
--- a/wpa_supplicant/Android.mk
+++ b/wpa_supplicant/Android.mk
@@ -267,7 +267,6 @@
OBJS += src/common/sae.c
NEED_ECC=y
NEED_DH_GROUPS=y
-NEED_HMAC_SHA256_KDF=y
NEED_DRAGONFLY=y
ifdef CONFIG_TESTING_OPTIONS
NEED_DH_GROUPS_ALL=y
@@ -421,10 +420,6 @@
L_CFLAGS += -DCONFIG_WEP
endif
-ifdef CONFIG_NO_TKIP
-L_CFLAGS += -DCONFIG_NO_TKIP
-endif
-
include $(LOCAL_PATH)/src/drivers/drivers.mk
diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
index 738b0bd..45f673e 100644
--- a/wpa_supplicant/Makefile
+++ b/wpa_supplicant/Makefile
@@ -269,7 +269,6 @@
OBJS += ../src/common/sae.o
NEED_ECC=y
NEED_DH_GROUPS=y
-NEED_HMAC_SHA256_KDF=y
NEED_DRAGONFLY=y
ifdef CONFIG_TESTING_OPTIONS
NEED_DH_GROUPS_ALL=y
@@ -1856,10 +1855,6 @@
CFLAGS += -DCONFIG_WEP
endif
-ifdef CONFIG_NO_TKIP
-CFLAGS += -DCONFIG_NO_TKIP
-endif
-
ifndef LDO
LDO=$(CC)
endif
diff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h
index 6737223..a186ab9 100644
--- a/wpa_supplicant/config_ssid.h
+++ b/wpa_supplicant/config_ssid.h
@@ -18,13 +18,8 @@
EAPOL_FLAG_REQUIRE_KEY_BROADCAST)
#define DEFAULT_PROTO (WPA_PROTO_WPA | WPA_PROTO_RSN)
#define DEFAULT_KEY_MGMT (WPA_KEY_MGMT_PSK | WPA_KEY_MGMT_IEEE8021X)
-#ifdef CONFIG_NO_TKIP
-#define DEFAULT_PAIRWISE (WPA_CIPHER_CCMP)
-#define DEFAULT_GROUP (WPA_CIPHER_CCMP)
-#else /* CONFIG_NO_TKIP */
#define DEFAULT_PAIRWISE (WPA_CIPHER_CCMP | WPA_CIPHER_TKIP)
#define DEFAULT_GROUP (WPA_CIPHER_CCMP | WPA_CIPHER_TKIP)
-#endif /* CONFIG_NO_TKIP */
#define DEFAULT_FRAGMENT_SIZE 1398
#define DEFAULT_BG_SCAN_PERIOD -1
diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
index 541de75..7301d50 100644
--- a/wpa_supplicant/ctrl_iface.c
+++ b/wpa_supplicant/ctrl_iface.c
@@ -747,8 +747,6 @@
break;
pos++;
}
- } else if (os_strcasecmp(cmd, "ft_rsnxe_used") == 0) {
- wpa_s->ft_rsnxe_used = atoi(value);
} else if (os_strcasecmp(cmd, "rsne_override_eapol") == 0) {
wpabuf_free(wpa_s->rsne_override_eapol);
if (os_strcmp(value, "NULL") == 0)
@@ -3959,9 +3957,7 @@
{ WPA_DRIVER_CAPA_ENC_GCMP_256, "GCMP-256", 0 },
{ WPA_DRIVER_CAPA_ENC_CCMP, "CCMP", 0 },
{ WPA_DRIVER_CAPA_ENC_GCMP, "GCMP", 0 },
-#ifndef CONFIG_NO_TKIP
{ WPA_DRIVER_CAPA_ENC_TKIP, "TKIP", 0 },
-#endif /* CONFIG_NO_TKIP */
{ WPA_DRIVER_CAPA_KEY_MGMT_WPA_NONE, "NONE", 0 },
#ifdef CONFIG_WEP
{ WPA_DRIVER_CAPA_ENC_WEP104, "WEP104", 1 },
@@ -3992,11 +3988,7 @@
if (res < 0) {
if (strict)
return 0;
-#ifdef CONFIG_NO_TKIP
- len = os_strlcpy(buf, "CCMP NONE", buflen);
-#else /* CONFIG_NO_TKIP */
len = os_strlcpy(buf, "CCMP TKIP NONE", buflen);
-#endif /* CONFIG_NO_TKIP */
if (len >= buflen)
return -1;
return len;
@@ -4033,17 +4025,9 @@
if (strict)
return 0;
#ifdef CONFIG_WEP
-#ifdef CONFIG_NO_TKIP
- len = os_strlcpy(buf, "CCMP WEP104 WEP40", buflen);
-#else /* CONFIG_NO_TKIP */
len = os_strlcpy(buf, "CCMP TKIP WEP104 WEP40", buflen);
-#endif /* CONFIG_NO_TKIP */
#else /* CONFIG_WEP */
-#ifdef CONFIG_NO_TKIP
- len = os_strlcpy(buf, "CCMP", buflen);
-#else /* CONFIG_NO_TKIP */
len = os_strlcpy(buf, "CCMP TKIP", buflen);
-#endif /* CONFIG_NO_TKIP */
#endif /* CONFIG_WEP */
if (len >= buflen)
return -1;
@@ -7960,34 +7944,6 @@
}
-static int wpas_ctrl_iface_driver_flags2(struct wpa_supplicant *wpa_s,
- char *buf, size_t buflen)
-{
- int ret, i;
- char *pos, *end;
-
- ret = os_snprintf(buf, buflen, "%016llX:\n",
- (long long unsigned) wpa_s->drv_flags2);
- if (os_snprintf_error(buflen, ret))
- return -1;
-
- pos = buf + ret;
- end = buf + buflen;
-
- for (i = 0; i < 64; i++) {
- if (wpa_s->drv_flags2 & (1LLU << i)) {
- ret = os_snprintf(pos, end - pos, "%s\n",
- driver_flag2_to_string(1LLU << i));
- if (os_snprintf_error(end - pos, ret))
- return -1;
- pos += ret;
- }
- }
-
- return pos - buf;
-}
-
-
static int wpa_supplicant_pktcnt_poll(struct wpa_supplicant *wpa_s, char *buf,
size_t buflen)
{
@@ -8228,7 +8184,6 @@
wpa_s->disable_sa_query = 0;
wpa_s->testing_resend_assoc = 0;
wpa_s->ignore_sae_h2e_only = 0;
- wpa_s->ft_rsnxe_used = 0;
wpa_s->reject_btm_req_reason = 0;
wpa_sm_set_test_assoc_ie(wpa_s->wpa, NULL);
os_free(wpa_s->get_pref_freq_list_override);
@@ -10758,9 +10713,6 @@
} else if (os_strcmp(buf, "DRIVER_FLAGS") == 0) {
reply_len = wpas_ctrl_iface_driver_flags(wpa_s, reply,
reply_size);
- } else if (os_strcmp(buf, "DRIVER_FLAGS2") == 0) {
- reply_len = wpas_ctrl_iface_driver_flags2(wpa_s, reply,
- reply_size);
#ifdef ANDROID
} else if (os_strncmp(buf, "DRIVER ", 7) == 0) {
reply_len = wpa_supplicant_driver_cmd(wpa_s, buf + 7, reply,
diff --git a/wpa_supplicant/dbus/dbus_new.c b/wpa_supplicant/dbus/dbus_new.c
index 793a881..e9e77bd 100644
--- a/wpa_supplicant/dbus/dbus_new.c
+++ b/wpa_supplicant/dbus/dbus_new.c
@@ -750,12 +750,10 @@
if (cred->auth_type & WPS_AUTH_OPEN)
auth_type[at_num++] = "open";
-#ifndef CONFIG_NO_TKIP
if (cred->auth_type & WPS_AUTH_WPAPSK)
auth_type[at_num++] = "wpa-psk";
if (cred->auth_type & WPS_AUTH_WPA)
auth_type[at_num++] = "wpa-eap";
-#endif /* CONFIG_NO_TKIP */
if (cred->auth_type & WPS_AUTH_WPA2)
auth_type[at_num++] = "wpa2-eap";
if (cred->auth_type & WPS_AUTH_WPA2PSK)
@@ -763,10 +761,8 @@
if (cred->encr_type & WPS_ENCR_NONE)
encr_type[et_num++] = "none";
-#ifndef CONFIG_NO_TKIP
if (cred->encr_type & WPS_ENCR_TKIP)
encr_type[et_num++] = "tkip";
-#endif /* CONFIG_NO_TKIP */
if (cred->encr_type & WPS_ENCR_AES)
encr_type[et_num++] = "aes";
diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c b/wpa_supplicant/dbus/dbus_new_handlers.c
index d1f9607..4e17e31 100644
--- a/wpa_supplicant/dbus/dbus_new_handlers.c
+++ b/wpa_supplicant/dbus/dbus_new_handlers.c
@@ -2632,11 +2632,7 @@
/***** pairwise cipher */
if (res < 0) {
-#ifdef CONFIG_NO_TKIP
- const char *args[] = {"ccmp", "none"};
-#else /* CONFIG_NO_TKIP */
const char *args[] = {"ccmp", "tkip", "none"};
-#endif /* CONFIG_NO_TKIP */
if (!wpa_dbus_dict_append_string_array(
&iter_dict, "Pairwise", args,
@@ -2659,11 +2655,9 @@
((capa.enc & WPA_DRIVER_CAPA_ENC_GCMP) &&
!wpa_dbus_dict_string_array_add_element(
&iter_array, "gcmp")) ||
-#ifndef CONFIG_NO_TKIP
((capa.enc & WPA_DRIVER_CAPA_ENC_TKIP) &&
!wpa_dbus_dict_string_array_add_element(
&iter_array, "tkip")) ||
-#endif /* CONFIG_NO_TKIP */
((capa.key_mgmt & WPA_DRIVER_CAPA_KEY_MGMT_WPA_NONE) &&
!wpa_dbus_dict_string_array_add_element(
&iter_array, "none")) ||
@@ -2677,10 +2671,7 @@
/***** group cipher */
if (res < 0) {
const char *args[] = {
- "ccmp",
-#ifndef CONFIG_NO_TKIP
- "tkip",
-#endif /* CONFIG_NO_TKIP */
+ "ccmp", "tkip",
#ifdef CONFIG_WEP
"wep104", "wep40"
#endif /* CONFIG_WEP */
@@ -2707,11 +2698,9 @@
((capa.enc & WPA_DRIVER_CAPA_ENC_GCMP) &&
!wpa_dbus_dict_string_array_add_element(
&iter_array, "gcmp")) ||
-#ifndef CONFIG_NO_TKIP
((capa.enc & WPA_DRIVER_CAPA_ENC_TKIP) &&
!wpa_dbus_dict_string_array_add_element(
&iter_array, "tkip")) ||
-#endif /* CONFIG_NO_TKIP */
#ifdef CONFIG_WEP
((capa.enc & WPA_DRIVER_CAPA_ENC_WEP104) &&
!wpa_dbus_dict_string_array_add_element(
@@ -4770,11 +4759,9 @@
group = "wep104";
break;
#endif /* CONFIG_WEP */
-#ifndef CONFIG_NO_TKIP
case WPA_CIPHER_TKIP:
group = "tkip";
break;
-#endif /* CONFIG_NO_TKIP */
case WPA_CIPHER_CCMP:
group = "ccmp";
break;
@@ -4797,10 +4784,8 @@
/* Pairwise */
n = 0;
-#ifndef CONFIG_NO_TKIP
if (ie_data->pairwise_cipher & WPA_CIPHER_TKIP)
pairwise[n++] = "tkip";
-#endif /* CONFIG_NO_TKIP */
if (ie_data->pairwise_cipher & WPA_CIPHER_CCMP)
pairwise[n++] = "ccmp";
if (ie_data->pairwise_cipher & WPA_CIPHER_GCMP)
diff --git a/wpa_supplicant/defconfig b/wpa_supplicant/defconfig
index c570775..ef2339f 100644
--- a/wpa_supplicant/defconfig
+++ b/wpa_supplicant/defconfig
@@ -617,12 +617,3 @@
# be completely removed in a future release.
#CONFIG_WEP=y
-# Remove all TKIP functionality
-# TKIP is an old cryptographic data confidentiality algorithm that is not
-# considered secure. It should not be used anymore for anything else than a
-# backwards compatibility option as a group cipher when connecting to APs that
-# use WPA+WPA2 mixed mode. For now, the default wpa_supplicant build includes
-# support for this by default, but that functionality is subject to be removed
-# in the future.
-#CONFIG_NO_TKIP=y
-
diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c
index 6dfa2e5..c75ab47 100644
--- a/wpa_supplicant/dpp_supplicant.c
+++ b/wpa_supplicant/dpp_supplicant.c
@@ -119,7 +119,6 @@
own_bi = dpp_bootstrap_get_id(wpa_s->dpp, atoi(pos));
if (!own_bi)
return -1;
- own_bi->nfc_negotiated = 1;
pos = os_strstr(cmd, " uri=");
if (!pos)
@@ -151,7 +150,6 @@
own_bi = dpp_bootstrap_get_id(wpa_s->dpp, atoi(pos));
if (!own_bi)
return -1;
- own_bi->nfc_negotiated = 1;
pos = os_strstr(cmd, " uri=");
if (!pos)
@@ -860,7 +858,6 @@
}
wpa_s->off_channel_freq = 0;
wpa_s->roc_waiting_drv_freq = lwork->freq;
- wpa_drv_dpp_listen(wpa_s, true);
}
@@ -935,7 +932,6 @@
wpa_printf(MSG_DEBUG, "DPP: Stop listen on %u MHz",
wpa_s->dpp_listen_freq);
wpa_drv_cancel_remain_on_channel(wpa_s);
- wpa_drv_dpp_listen(wpa_s, false);
wpa_s->dpp_listen_freq = 0;
wpas_dpp_listen_work_done(wpa_s);
}
@@ -1436,7 +1432,7 @@
MAC2STR(auth->peer_mac_addr), auth->curr_freq);
res = gas_query_req(wpa_s->gas, auth->peer_mac_addr, auth->curr_freq,
- 1, 1, buf, wpas_dpp_gas_resp_cb, wpa_s);
+ 1, buf, wpas_dpp_gas_resp_cb, wpa_s);
if (res < 0) {
wpa_msg(wpa_s, MSG_DEBUG, "GAS: Failed to send Query Request");
wpabuf_free(buf);
diff --git a/wpa_supplicant/driver_i.h b/wpa_supplicant/driver_i.h
index d0bcc6c..6a03d8e 100644
--- a/wpa_supplicant/driver_i.h
+++ b/wpa_supplicant/driver_i.h
@@ -1108,11 +1108,4 @@
wpa_s->bridge_ifname, val);
}
-static inline int wpa_drv_dpp_listen(struct wpa_supplicant *wpa_s, bool enable)
-{
- if (!wpa_s->driver->dpp_listen)
- return 0;
- return wpa_s->driver->dpp_listen(wpa_s->drv_priv, enable);
-}
-
#endif /* DRIVER_I_H */
diff --git a/wpa_supplicant/gas_query.c b/wpa_supplicant/gas_query.c
index 759b9b9..8e977a3 100644
--- a/wpa_supplicant/gas_query.c
+++ b/wpa_supplicant/gas_query.c
@@ -43,7 +43,6 @@
unsigned int offchannel_tx_started:1;
unsigned int retry:1;
unsigned int wildcard_bssid:1;
- unsigned int maintain_addr:1;
int freq;
u16 status_code;
struct wpabuf *req;
@@ -694,8 +693,7 @@
return;
}
- if (!query->maintain_addr &&
- wpas_update_random_addr_disassoc(wpa_s) < 0) {
+ if (wpas_update_random_addr_disassoc(wpa_s) < 0) {
wpa_msg(wpa_s, MSG_INFO,
"Failed to assign random MAC address for GAS");
gas_query_free(query, 1);
@@ -751,23 +749,12 @@
struct wpa_supplicant *wpa_s = gas->wpa_s;
struct os_reltime now;
- if (query->maintain_addr ||
- !wpa_s->conf->gas_rand_mac_addr ||
+ if (!wpa_s->conf->gas_rand_mac_addr ||
!(wpa_s->current_bss ?
(wpa_s->drv_flags &
WPA_DRIVER_FLAGS_MGMT_TX_RANDOM_TA_CONNECTED) :
(wpa_s->drv_flags & WPA_DRIVER_FLAGS_MGMT_TX_RANDOM_TA))) {
/* Use own MAC address as the transmitter address */
- wpa_printf(MSG_DEBUG,
- "GAS: Use own MAC address as the transmitter address%s%s%s",
- query->maintain_addr ? " (maintain_addr)" : "",
- !wpa_s->conf->gas_rand_mac_addr ? " (no gas_rand_mac_adr set)" : "",
- !(wpa_s->current_bss ?
- (wpa_s->drv_flags &
- WPA_DRIVER_FLAGS_MGMT_TX_RANDOM_TA_CONNECTED) :
- (wpa_s->drv_flags &
- WPA_DRIVER_FLAGS_MGMT_TX_RANDOM_TA)) ?
- " (no driver rand capa" : "");
os_memcpy(query->sa, wpa_s->own_addr, ETH_ALEN);
return 0;
}
@@ -813,9 +800,6 @@
* @gas: GAS query data from gas_query_init()
* @dst: Destination MAC address for the query
* @freq: Frequency (in MHz) for the channel on which to send the query
- * @wildcard_bssid: Force use of wildcard BSSID value
- * @maintain_addr: Maintain own MAC address for exchange (i.e., ignore MAC
- * address randomization rules)
* @req: GAS query payload (to be freed by gas_query module in case of success
* return)
* @cb: Callback function for reporting GAS query result and response
@@ -823,7 +807,7 @@
* Returns: dialog token (>= 0) on success or -1 on failure
*/
int gas_query_req(struct gas_query *gas, const u8 *dst, int freq,
- int wildcard_bssid, int maintain_addr, struct wpabuf *req,
+ int wildcard_bssid, struct wpabuf *req,
void (*cb)(void *ctx, const u8 *dst, u8 dialog_token,
enum gas_query_result result,
const struct wpabuf *adv_proto,
@@ -845,7 +829,6 @@
return -1;
query->gas = gas;
- query->maintain_addr = !!maintain_addr;
if (gas_query_set_sa(gas, query)) {
os_free(query);
return -1;
diff --git a/wpa_supplicant/gas_query.h b/wpa_supplicant/gas_query.h
index f9ce7b6..d2b4554 100644
--- a/wpa_supplicant/gas_query.h
+++ b/wpa_supplicant/gas_query.h
@@ -35,7 +35,7 @@
};
int gas_query_req(struct gas_query *gas, const u8 *dst, int freq,
- int wildcard_bssid, int maintain_addr, struct wpabuf *req,
+ int wildcard_bssid, struct wpabuf *req,
void (*cb)(void *ctx, const u8 *dst, u8 dialog_token,
enum gas_query_result result,
const struct wpabuf *adv_proto,
diff --git a/wpa_supplicant/hidl/1.3/hidl_manager.cpp b/wpa_supplicant/hidl/1.3/hidl_manager.cpp
index e15e9fd..e467da3 100644
--- a/wpa_supplicant/hidl/1.3/hidl_manager.cpp
+++ b/wpa_supplicant/hidl/1.3/hidl_manager.cpp
@@ -482,12 +482,6 @@
"Failed to enable scan mac randomization");
}
}
-
- // Enable randomized source MAC address for GAS/ANQP
- // Set the lifetime to 0, guarantees a unique address for each GAS
- // session
- wpa_s->conf->gas_rand_mac_addr = 1;
- wpa_s->conf->gas_rand_addr_lifetime = 0;
}
// Invoke the |onInterfaceCreated| method on all registered callbacks.
diff --git a/wpa_supplicant/hs20_supplicant.c b/wpa_supplicant/hs20_supplicant.c
index ce5608e..741f925 100644
--- a/wpa_supplicant/hs20_supplicant.c
+++ b/wpa_supplicant/hs20_supplicant.c
@@ -289,8 +289,7 @@
if (buf == NULL)
return -1;
- res = gas_query_req(wpa_s->gas, dst, freq, 0, 0, buf, anqp_resp_cb,
- wpa_s);
+ res = gas_query_req(wpa_s->gas, dst, freq, 0, buf, anqp_resp_cb, wpa_s);
if (res < 0) {
wpa_printf(MSG_DEBUG, "ANQP: Failed to send Query Request");
wpabuf_free(buf);
diff --git a/wpa_supplicant/interworking.c b/wpa_supplicant/interworking.c
index c16c2a9..dc51418 100644
--- a/wpa_supplicant/interworking.c
+++ b/wpa_supplicant/interworking.c
@@ -316,7 +316,7 @@
if (buf == NULL)
return -1;
- res = gas_query_req(wpa_s->gas, bss->bssid, bss->freq, 0, 0, buf,
+ res = gas_query_req(wpa_s->gas, bss->bssid, bss->freq, 0, buf,
interworking_anqp_resp_cb, wpa_s);
if (res < 0) {
wpa_msg(wpa_s, MSG_DEBUG, "ANQP: Failed to send Query Request");
@@ -2804,8 +2804,7 @@
if (buf == NULL)
return -1;
- res = gas_query_req(wpa_s->gas, dst, freq, 0, 0, buf, anqp_resp_cb,
- wpa_s);
+ res = gas_query_req(wpa_s->gas, dst, freq, 0, buf, anqp_resp_cb, wpa_s);
if (res < 0) {
wpa_msg(wpa_s, MSG_DEBUG, "ANQP: Failed to send Query Request");
wpabuf_free(buf);
@@ -3245,8 +3244,7 @@
} else
wpabuf_put_le16(buf, 0);
- res = gas_query_req(wpa_s->gas, dst, freq, 0, 0, buf, gas_resp_cb,
- wpa_s);
+ res = gas_query_req(wpa_s->gas, dst, freq, 0, buf, gas_resp_cb, wpa_s);
if (res < 0) {
wpa_msg(wpa_s, MSG_DEBUG, "GAS: Failed to send Query Request");
wpabuf_free(buf);
diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c
index c085466..b504124 100644
--- a/wpa_supplicant/mesh.c
+++ b/wpa_supplicant/mesh.c
@@ -268,7 +268,6 @@
return -ENOMEM;
ifmsh->drv_flags = wpa_s->drv_flags;
- ifmsh->drv_flags2 = wpa_s->drv_flags2;
ifmsh->num_bss = 1;
ifmsh->bss = os_calloc(wpa_s->ifmsh->num_bss,
sizeof(struct hostapd_data *));
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index b0bea61..2c8754b 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -3192,12 +3192,8 @@
MAC2STR(sa), s->id);
}
wpas_p2p_group_add_persistent(
- wpa_s, s, go, 0, op_freq, 0,
- wpa_s->conf->p2p_go_ht40,
- wpa_s->conf->p2p_go_vht,
- 0,
- wpa_s->conf->p2p_go_he,
- wpa_s->conf->p2p_go_edmg, NULL,
+ wpa_s, s, go, 0, op_freq, 0, 0, 0, 0, 0,
+ 0, NULL,
go ? P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE : 0,
1);
} else if (bssid) {
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 089830f..d429496 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -1640,10 +1640,6 @@
if (ssid->sae_password_id && sae_pwe != 3)
sae_pwe = 1;
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_SAE_PWE, sae_pwe);
-#ifdef CONFIG_TESTING_OPTIONS
- wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_FT_RSNXE_USED,
- wpa_s->ft_rsnxe_used);
-#endif /* CONFIG_TESTING_OPTIONS */
/* Extended Key ID is only supported in infrastructure BSS so far */
if (ssid->mode == WPAS_MODE_INFRA && wpa_s->conf->extended_key_id &&
@@ -4762,13 +4758,6 @@
}
-static int wpas_eapol_needs_l2_packet(struct wpa_supplicant *wpa_s)
-{
- return !(wpa_s->drv_flags & WPA_DRIVER_FLAGS_CONTROL_PORT) ||
- !(wpa_s->drv_flags2 & WPA_DRIVER_FLAGS2_CONTROL_PORT_RX);
-}
-
-
int wpa_supplicant_update_mac_addr(struct wpa_supplicant *wpa_s)
{
if ((!wpa_s->p2p_mgmt ||
@@ -4778,9 +4767,7 @@
wpa_s->l2 = l2_packet_init(wpa_s->ifname,
wpa_drv_get_mac_addr(wpa_s),
ETH_P_EAPOL,
- wpas_eapol_needs_l2_packet(wpa_s) ?
- wpa_supplicant_rx_eapol : NULL,
- wpa_s, 0);
+ wpa_supplicant_rx_eapol, wpa_s, 0);
if (wpa_s->l2 == NULL)
return -1;
@@ -4788,18 +4775,17 @@
L2_PACKET_FILTER_PKTTYPE))
wpa_dbg(wpa_s, MSG_DEBUG,
"Failed to attach pkt_type filter");
-
- if (l2_packet_get_own_addr(wpa_s->l2, wpa_s->own_addr)) {
- wpa_msg(wpa_s, MSG_ERROR,
- "Failed to get own L2 address");
- return -1;
- }
} else {
const u8 *addr = wpa_drv_get_mac_addr(wpa_s);
if (addr)
os_memcpy(wpa_s->own_addr, addr, ETH_ALEN);
}
+ if (wpa_s->l2 && l2_packet_get_own_addr(wpa_s->l2, wpa_s->own_addr)) {
+ wpa_msg(wpa_s, MSG_ERROR, "Failed to get own L2 address");
+ return -1;
+ }
+
wpa_sm_set_own_addr(wpa_s->wpa, wpa_s->own_addr);
wpas_wps_update_mac_addr(wpa_s);
@@ -4858,7 +4844,7 @@
os_memcpy(wpa_s->perm_addr, wpa_s->own_addr, ETH_ALEN);
wpa_sm_set_own_addr(wpa_s->wpa, wpa_s->own_addr);
- if (wpa_s->bridge_ifname[0] && wpas_eapol_needs_l2_packet(wpa_s)) {
+ if (wpa_s->bridge_ifname[0]) {
wpa_dbg(wpa_s, MSG_DEBUG, "Receiving packets from bridge "
"interface '%s'", wpa_s->bridge_ifname);
wpa_s->l2_br = l2_packet_init_bridge(
@@ -6254,7 +6240,6 @@
if (capa_res == 0) {
wpa_s->drv_capa_known = 1;
wpa_s->drv_flags = capa.flags;
- wpa_s->drv_flags2 = capa.flags2;
wpa_s->drv_enc = capa.enc;
wpa_s->drv_rrm_flags = capa.rrm_flags;
wpa_s->probe_resp_offloads = capa.probe_resp_offloads;
diff --git a/wpa_supplicant/wpa_supplicant.conf b/wpa_supplicant/wpa_supplicant.conf
index 3b90567..f242c3a 100644
--- a/wpa_supplicant/wpa_supplicant.conf
+++ b/wpa_supplicant/wpa_supplicant.conf
@@ -481,11 +481,6 @@
# 0 = use permanent MAC address
# 1 = use random MAC address
# 2 = like 1, but maintain OUI (with local admin bit set)
-# Note that this setting is ignored when a specific MAC address is needed for
-# a full protocol exchange that includes GAS, e.g., when going through a DPP
-# exchange that exposes the configured interface address as part of the DP
-# Public Action frame exchanges before using GAS. That same address is then used
-# during the GAS exchange as well to avoid breaking the protocol expectations.
#gas_rand_mac_addr=0
# Lifetime of GAS random MAC address in seconds (default: 60)
diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h
index 2f95eeb..8b1d0d0 100644
--- a/wpa_supplicant/wpa_supplicant_i.h
+++ b/wpa_supplicant/wpa_supplicant_i.h
@@ -725,7 +725,6 @@
unsigned int no_suitable_network;
u64 drv_flags;
- u64 drv_flags2;
unsigned int drv_enc;
unsigned int drv_rrm_flags;
@@ -1145,7 +1144,6 @@
unsigned int disable_sa_query:1;
unsigned int testing_resend_assoc:1;
unsigned int ignore_sae_h2e_only:1;
- int ft_rsnxe_used;
struct wpabuf *sae_commit_override;
enum wpa_alg last_tk_alg;
u8 last_tk_addr[ETH_ALEN];
diff --git a/wpa_supplicant/wps_supplicant.c b/wpa_supplicant/wps_supplicant.c
index 130c278..e617158 100644
--- a/wpa_supplicant/wps_supplicant.c
+++ b/wpa_supplicant/wps_supplicant.c
@@ -484,7 +484,7 @@
case WPS_ENCR_NONE:
break;
case WPS_ENCR_TKIP:
- ssid->pairwise_cipher = WPA_CIPHER_TKIP | WPA_CIPHER_CCMP;
+ ssid->pairwise_cipher = WPA_CIPHER_TKIP;
break;
case WPS_ENCR_AES:
ssid->pairwise_cipher = WPA_CIPHER_CCMP;
@@ -525,7 +525,7 @@
case WPS_AUTH_WPAPSK:
ssid->auth_alg = WPA_AUTH_ALG_OPEN;
ssid->key_mgmt = WPA_KEY_MGMT_PSK;
- ssid->proto = WPA_PROTO_WPA | WPA_PROTO_RSN;
+ ssid->proto = WPA_PROTO_WPA;
break;
case WPS_AUTH_WPA2PSK:
ssid->auth_alg = WPA_AUTH_ALG_OPEN;
@@ -1618,13 +1618,8 @@
os_memcpy(wps->dev.mac_addr, wpa_s->own_addr, ETH_ALEN);
wpas_wps_set_uuid(wpa_s, wps);
-#ifdef CONFIG_NO_TKIP
- wps->auth_types = WPS_AUTH_WPA2PSK;
- wps->encr_types = WPS_ENCR_AES;
-#else /* CONFIG_NO_TKIP */
wps->auth_types = WPS_AUTH_WPA2PSK | WPS_AUTH_WPAPSK;
wps->encr_types = WPS_ENCR_AES | WPS_ENCR_TKIP;
-#endif /* CONFIG_NO_TKIP */
os_memset(&rcfg, 0, sizeof(rcfg));
rcfg.new_psk_cb = wpas_wps_new_psk_cb;