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/wps/wps.c b/src/wps/wps.c
index 1fe3806..7cfebfa 100644
--- a/src/wps/wps.c
+++ b/src/wps/wps.c
@@ -336,9 +336,9 @@
pos = attr.authorized_macs;
for (i = 0; i < attr.authorized_macs_len / ETH_ALEN; i++) {
- if (os_memcmp(pos, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(pos, addr))
return 2;
- if (os_memcmp(pos, bcast, ETH_ALEN) == 0)
+ if (ether_addr_equal(pos, bcast))
return 1;
pos += ETH_ALEN;
}
diff --git a/src/wps/wps_enrollee.c b/src/wps/wps_enrollee.c
index 819cd43..af828e5 100644
--- a/src/wps/wps_enrollee.c
+++ b/src/wps/wps_enrollee.c
@@ -715,8 +715,7 @@
wps_process_cred(&attr, &wps->cred))
return -1;
- if (os_memcmp(wps->cred.mac_addr, wps->wps->dev.mac_addr, ETH_ALEN) !=
- 0) {
+ if (!ether_addr_equal(wps->cred.mac_addr, wps->wps->dev.mac_addr)) {
wpa_printf(MSG_DEBUG, "WPS: MAC Address in the Credential ("
MACSTR ") does not match with own address (" MACSTR
")", MAC2STR(wps->cred.mac_addr),
@@ -815,8 +814,7 @@
wpa_printf(MSG_INFO, "WPS: Received new AP configuration from "
"Registrar");
- if (os_memcmp(cred.mac_addr, wps->wps->dev.mac_addr, ETH_ALEN) !=
- 0) {
+ if (!ether_addr_equal(cred.mac_addr, wps->wps->dev.mac_addr)) {
wpa_printf(MSG_DEBUG, "WPS: MAC Address in the AP Settings ("
MACSTR ") does not match with own address (" MACSTR
")", MAC2STR(cred.mac_addr),
diff --git a/src/wps/wps_er.c b/src/wps/wps_er.c
index 31d2e50..dede64b 100644
--- a/src/wps/wps_er.c
+++ b/src/wps/wps_er.c
@@ -62,7 +62,7 @@
struct wps_er_sta *sta;
dl_list_for_each(sta, &ap->sta, struct wps_er_sta, list) {
if ((addr == NULL ||
- os_memcmp(sta->addr, addr, ETH_ALEN) == 0) &&
+ ether_addr_equal(sta->addr, addr)) &&
(uuid == NULL ||
os_memcmp(uuid, sta->uuid, WPS_UUID_LEN) == 0))
return sta;
@@ -106,7 +106,7 @@
(uuid == NULL ||
os_memcmp(uuid, ap->uuid, WPS_UUID_LEN) == 0) &&
(mac_addr == NULL ||
- os_memcmp(mac_addr, ap->mac_addr, ETH_ALEN) == 0))
+ ether_addr_equal(mac_addr, ap->mac_addr)))
return ap;
}
return NULL;
diff --git a/src/wps/wps_registrar.c b/src/wps/wps_registrar.c
index 9587293..f49784f 100644
--- a/src/wps/wps_registrar.c
+++ b/src/wps/wps_registrar.c
@@ -238,7 +238,7 @@
wpa_printf(MSG_DEBUG, "WPS: Add authorized MAC " MACSTR,
MAC2STR(addr));
for (i = 0; i < WPS_MAX_AUTHORIZED_MACS; i++)
- if (os_memcmp(reg->authorized_macs[i], addr, ETH_ALEN) == 0) {
+ if (ether_addr_equal(reg->authorized_macs[i], addr)) {
wpa_printf(MSG_DEBUG, "WPS: Authorized MAC was "
"already in the list");
return; /* already in list */
@@ -259,7 +259,7 @@
wpa_printf(MSG_DEBUG, "WPS: Remove authorized MAC " MACSTR,
MAC2STR(addr));
for (i = 0; i < WPS_MAX_AUTHORIZED_MACS; i++) {
- if (os_memcmp(reg->authorized_macs, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(reg->authorized_macs[i], addr))
break;
}
if (i == WPS_MAX_AUTHORIZED_MACS) {
@@ -296,7 +296,7 @@
struct wps_registrar_device *dev;
for (dev = reg->devices; dev; dev = dev->next) {
- if (os_memcmp(dev->dev.mac_addr, addr, ETH_ALEN) == 0)
+ if (ether_addr_equal(dev->dev.mac_addr, addr))
return dev;
}
return NULL;
@@ -353,7 +353,7 @@
pbc = reg->pbc_sessions;
while (pbc) {
- if (os_memcmp(pbc->addr, addr, ETH_ALEN) == 0 &&
+ if (ether_addr_equal(pbc->addr, addr) &&
os_memcmp(pbc->uuid_e, uuid_e, WPS_UUID_LEN) == 0) {
if (prev)
prev->next = pbc->next;
@@ -405,8 +405,7 @@
while (pbc) {
if (os_memcmp(pbc->uuid_e, uuid_e, WPS_UUID_LEN) == 0 ||
(p2p_dev_addr && !is_zero_ether_addr(reg->p2p_dev_addr) &&
- os_memcmp(reg->p2p_dev_addr, p2p_dev_addr, ETH_ALEN) ==
- 0)) {
+ ether_addr_equal(reg->p2p_dev_addr, p2p_dev_addr))) {
if (prev)
prev->next = pbc->next;
else
@@ -2611,7 +2610,7 @@
if (is_zero_ether_addr(reg->p2p_dev_addr))
return 1; /* no filtering in use */
- if (os_memcmp(reg->p2p_dev_addr, wps->p2p_dev_addr, ETH_ALEN) != 0) {
+ if (!ether_addr_equal(reg->p2p_dev_addr, wps->p2p_dev_addr)) {
wpa_printf(MSG_DEBUG, "WPS: No match on P2P Device Address "
"filtering for PBC: expected " MACSTR " was "
MACSTR " - indicate PBC session overlap",
@@ -2632,7 +2631,7 @@
if (is_zero_ether_addr(reg->p2p_dev_addr))
return 0; /* no specific Enrollee selected */
- if (os_memcmp(reg->p2p_dev_addr, wps->p2p_dev_addr, ETH_ALEN) == 0) {
+ if (ether_addr_equal(reg->p2p_dev_addr, wps->p2p_dev_addr)) {
wpa_printf(MSG_DEBUG, "WPS: Skip PBC overlap due to selected "
"Enrollee match");
return 1;