aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-06-09 03:14:59 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-06-09 03:14:59 +0000
commitf0c61b3935fc02a3704d3f0b0766741f4c8ffdd0 (patch)
tree9fd031b07d490559e91e1c840eac315e37020fe2
parent80ec1ea19d4713c56c2fda94c73aee8222893e81 (diff)
parentd4ffc25996e66105eae45723e8494bbca10559e7 (diff)
downloadwpa_supplicant_8-f0c61b3935fc02a3704d3f0b0766741f4c8ffdd0.tar.gz
Snap for 10289553 from d4ffc25996e66105eae45723e8494bbca10559e7 to udc-qpr1-release
Change-Id: If1bb87e52263fd072bae913bc1e614a94316e23c
-rw-r--r--wpa_supplicant/aidl/sta_iface.cpp31
-rw-r--r--wpa_supplicant/events.c3
2 files changed, 6 insertions, 28 deletions
diff --git a/wpa_supplicant/aidl/sta_iface.cpp b/wpa_supplicant/aidl/sta_iface.cpp
index 238a0924..4620538a 100644
--- a/wpa_supplicant/aidl/sta_iface.cpp
+++ b/wpa_supplicant/aidl/sta_iface.cpp
@@ -2089,8 +2089,6 @@ static int set_type4_frame_classifier(QosPolicyScsData qos_policy_data,
struct type4_params *param)
{
u8 classifier_mask = 0;
- int ret;
- char addr[INET6_ADDRSTRLEN];
uint32_t inMask = static_cast<uint32_t>(qos_policy_data.classifierParams.classifierParamMask);
if (qos_policy_data.classifierParams.ipVersion ==
@@ -2114,24 +2112,14 @@ static int set_type4_frame_classifier(QosPolicyScsData qos_policy_data,
wpa_printf(MSG_ERROR, "Invalid source IP");
return -1;
}
- os_memcpy(addr, qos_policy_data.classifierParams.srcIp.data(), 4);
- ret = inet_pton(AF_INET, addr,
- &param->ip_params.v4.src_ip);
+ os_memcpy(&param->ip_params.v4.src_ip, qos_policy_data.classifierParams.srcIp.data(), 4);
} else {
if (qos_policy_data.classifierParams.srcIp.size() !=
sizeof(param->ip_params.v6.src_ip)) {
wpa_printf(MSG_ERROR, "Invalid source IP");
return -1;
}
- os_memcpy(addr, qos_policy_data.classifierParams.srcIp.data(), 16);
- ret = inet_pton(AF_INET6, addr,
- &param->ip_params.v6.src_ip);
- }
- if (ret != 1) {
- wpa_printf(MSG_ERROR,
- "Error converting src IP address to binary ret=%d",
- ret);
- return -1;
+ os_memcpy(&param->ip_params.v6.src_ip, qos_policy_data.classifierParams.srcIp.data(), 16);
}
/* Classifier Mask - bit 1 = Source IP Address */
@@ -2145,25 +2133,14 @@ static int set_type4_frame_classifier(QosPolicyScsData qos_policy_data,
wpa_printf(MSG_ERROR, "Invalid destination IP");
return -1;
}
- os_memcpy(addr, qos_policy_data.classifierParams.dstIp.data(), 4);
- ret = inet_pton(AF_INET, addr,
- &param->ip_params.v4.dst_ip);
+ os_memcpy(&param->ip_params.v4.dst_ip, qos_policy_data.classifierParams.dstIp.data(), 4);
} else {
if (qos_policy_data.classifierParams.dstIp.size() !=
sizeof(param->ip_params.v6.dst_ip)) {
wpa_printf(MSG_ERROR, "Invalid destination IP");
return -1;
}
- os_memcpy(addr, qos_policy_data.classifierParams.dstIp.data(), 16);
- ret = inet_pton(AF_INET6, addr,
- &param->ip_params.v6.dst_ip);
- }
-
- if (ret != 1) {
- wpa_printf(MSG_ERROR,
- "Error converting dst IP address to binary ret=%d",
- ret);
- return -1;
+ os_memcpy(&param->ip_params.v6.dst_ip, qos_policy_data.classifierParams.dstIp.data(), 16);
}
/* Classifier Mask - bit 2 = Destination IP Address */
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 253f87de..09099613 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -3889,6 +3889,7 @@ static void wpa_supplicant_event_assoc(struct wpa_supplicant *wpa_s,
* EVENT_PORT_AUTHORIZED handler when the driver is done
* with the 4-way handshake.
*/
+ wpa_supplicant_set_state(wpa_s, WPA_4WAY_HANDSHAKE);
wpa_msg(wpa_s, MSG_INFO,
"ASSOC INFO: wait for driver port authorized indication");
}
@@ -5020,7 +5021,7 @@ static void wpa_supplicant_notify_avoid_freq(struct wpa_supplicant *wpa_s,
static void wpa_supplicant_event_port_authorized(struct wpa_supplicant *wpa_s)
{
- if (wpa_s->wpa_state == WPA_ASSOCIATED) {
+ if (wpa_s->wpa_state >= WPA_ASSOCIATED) {
wpa_supplicant_cancel_auth_timeout(wpa_s);
wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);
eapol_sm_notify_portValid(wpa_s->eapol, true);