Revert "Revert "[wpa_supplicant] cumilative patch from commit 3a..."
Revert submission 28102966-revert-26533062-Supplicant_merge_June24-CUATTSRBBR
Reason for revert: Fixed the regression issue (ag/28389573)
Reverted changes: /q/submissionid:28102966-revert-26533062-Supplicant_merge_June24-CUATTSRBBR
Bug: 329004037
Test: Turn ON/OFF SoftAp multiple times
Change-Id: Ibfff2a847be5678f1a6d77e28506a05936812a91
diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
index e6f5877..8a75091 100644
--- a/src/rsn_supp/tdls.c
+++ b/src/rsn_supp/tdls.c
@@ -294,7 +294,7 @@
return 0; /* No retries */
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, dest, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, dest))
break;
}
@@ -791,7 +791,7 @@
/* Find the node and free from the list */
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, addr))
break;
}
@@ -880,7 +880,7 @@
return -1;
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, addr))
break;
}
@@ -913,7 +913,7 @@
struct wpa_tdls_peer *peer;
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, addr))
break;
}
@@ -949,7 +949,7 @@
return "disabled";
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, addr))
break;
}
@@ -976,7 +976,7 @@
/* Find the node and free from the list */
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, src_addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, src_addr))
break;
}
@@ -1072,7 +1072,7 @@
if (existing)
*existing = 0;
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, addr, ETH_ALEN) == 0) {
+ if (ether_addr_equal(peer->addr, addr)) {
if (existing)
*existing = 1;
return peer; /* re-use existing entry */
@@ -1564,15 +1564,15 @@
*link_id = -1;
if (!sm->mlo.valid_links) {
- if (os_memcmp(sm->bssid, lnkid->bssid, ETH_ALEN) != 0)
+ if (!ether_addr_equal(sm->bssid, lnkid->bssid))
return false;
} else {
int i;
for (i = 0; i < MAX_NUM_MLD_LINKS; i++) {
if ((sm->mlo.valid_links & BIT(i)) &&
- os_memcmp(lnkid->bssid, sm->mlo.links[i].bssid,
- ETH_ALEN) == 0) {
+ ether_addr_equal(lnkid->bssid,
+ sm->mlo.links[i].bssid)) {
*link_id = i;
break;
}
@@ -2371,7 +2371,7 @@
wpa_printf(MSG_DEBUG, "TDLS: Received TDLS Setup Response / TPK M2 "
"(Peer " MACSTR ")", MAC2STR(src_addr));
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, src_addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, src_addr))
break;
}
if (peer == NULL) {
@@ -2460,8 +2460,8 @@
kde.lnkid, kde.lnkid_len);
lnkid = (struct wpa_tdls_lnkid *) kde.lnkid;
- if (os_memcmp(sm->bssid, wpa_tdls_get_link_bssid(sm, peer->mld_link_id),
- ETH_ALEN) != 0) {
+ if (!ether_addr_equal(sm->bssid,
+ wpa_tdls_get_link_bssid(sm, peer->mld_link_id))) {
wpa_printf(MSG_INFO, "TDLS: TPK M2 from different BSS");
status = WLAN_STATUS_NOT_IN_SAME_BSS;
goto error;
@@ -2668,7 +2668,7 @@
wpa_printf(MSG_DEBUG, "TDLS: Received TDLS Setup Confirm / TPK M3 "
"(Peer " MACSTR ")", MAC2STR(src_addr));
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, src_addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, src_addr))
break;
}
if (peer == NULL) {
@@ -2713,8 +2713,8 @@
(u8 *) kde.lnkid, kde.lnkid_len);
lnkid = (struct wpa_tdls_lnkid *) kde.lnkid;
- if (os_memcmp(wpa_tdls_get_link_bssid(sm, peer->mld_link_id),
- lnkid->bssid, ETH_ALEN) != 0) {
+ if (!ether_addr_equal(wpa_tdls_get_link_bssid(sm, peer->mld_link_id),
+ lnkid->bssid)) {
wpa_printf(MSG_INFO, "TDLS: TPK M3 from diff BSS");
goto error;
}
@@ -2899,7 +2899,7 @@
return;
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, addr))
break;
}
@@ -2937,7 +2937,7 @@
return;
}
- if (os_memcmp(src_addr, sm->own_addr, ETH_ALEN) == 0) {
+ if (ether_addr_equal(src_addr, sm->own_addr)) {
wpa_printf(MSG_DEBUG, "TDLS: Discard copy of own message");
return;
}
@@ -3187,7 +3187,7 @@
const u8 *buf, size_t len)
{
struct ieee802_11_elems elems;
- struct wpa_tdls_lnkid lnkid;
+ const struct wpa_tdls_lnkid *lnkid;
struct wpa_tdls_peer *peer;
size_t min_req_len = 1 /* Dialog Token */ + 2 /* Capability */ +
sizeof(struct wpa_tdls_lnkid);
@@ -3217,12 +3217,12 @@
return -1;
}
- os_memcpy(&lnkid.bssid[0], elems.link_id, sizeof(lnkid) - 2);
+ lnkid = (const struct wpa_tdls_lnkid *) (elems.link_id - 2);
- if (!wpa_tdls_is_lnkid_bss_valid(sm, &lnkid, &link_id)) {
+ if (!wpa_tdls_is_lnkid_bss_valid(sm, lnkid, &link_id)) {
wpa_printf(MSG_DEBUG,
"TDLS: Discovery Response from different BSS "
- MACSTR, MAC2STR(lnkid.bssid));
+ MACSTR, MAC2STR(lnkid->bssid));
return -1;
}
@@ -3234,7 +3234,7 @@
peer->mld_link_id = link_id;
wpa_printf(MSG_DEBUG, "TDLS: Link identifier BSS: " MACSTR
- " , link id: %u", MAC2STR(lnkid.bssid), link_id);
+ " , link id: %u", MAC2STR(lnkid->bssid), link_id);
return 0;
}
@@ -3263,7 +3263,7 @@
}
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, addr))
break;
}
@@ -3297,7 +3297,7 @@
return -1;
for (peer = sm->tdls; peer; peer = peer->next) {
- if (os_memcmp(peer->addr, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(peer->addr, addr))
break;
}