Merge "Cumulative patch from commit 128f6a98b3d4d6ed103db759707309f451db9682"
diff --git a/hostapd/Android.mk b/hostapd/Android.mk
index 17cc391..b3deedd 100644
--- a/hostapd/Android.mk
+++ b/hostapd/Android.mk
@@ -27,6 +27,9 @@
# Disable unused parameter warnings
L_CFLAGS += -Wno-unused-parameter
+# Disable macro redefined warnings
+L_CFLAGS += -Wno-macro-redefined
+
# Set Android extended P2P functionality
L_CFLAGS += -DANDROID_P2P
@@ -152,7 +155,6 @@
OBJS += src/eapol_auth/eapol_auth_sm.c
-
ifndef CONFIG_NO_DUMP_STATE
# define HOSTAPD_DUMP_STATE to include support for dumping internal state
# through control interface commands (undefine it, if you want to save in
diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk
index 91f42dc..f15121f 100644
--- a/wpa_supplicant/Android.mk
+++ b/wpa_supplicant/Android.mk
@@ -25,6 +25,9 @@
# Disable unused parameter warnings
L_CFLAGS += -Wno-unused-parameter
+# Disable redefined macro warnings
+L_CFLAGS += -Wno-macro-redefined
+
# Set Android extended P2P functionality
L_CFLAGS += -DANDROID_P2P
diff --git a/wpa_supplicant/hidl/hidl_manager.cpp b/wpa_supplicant/hidl/hidl_manager.cpp
index bd63f36..703bf25 100644
--- a/wpa_supplicant/hidl/hidl_manager.cpp
+++ b/wpa_supplicant/hidl/hidl_manager.cpp
@@ -414,16 +414,28 @@
if (addHidlObjectToMap<P2pIface>(
wpa_s->ifname,
new P2pIface(wpa_s->global, wpa_s->ifname),
- p2p_iface_object_map_))
+ p2p_iface_object_map_)) {
+ wpa_printf(
+ MSG_ERROR,
+ "Failed to register P2P interface with HIDL "
+ "control: %s",
+ wpa_s->ifname);
return 1;
+ }
p2p_iface_callbacks_map_[wpa_s->ifname] =
std::vector<android::sp<ISupplicantP2pIfaceCallback>>();
} else {
if (addHidlObjectToMap<StaIface>(
wpa_s->ifname,
new StaIface(wpa_s->global, wpa_s->ifname),
- sta_iface_object_map_))
+ sta_iface_object_map_)) {
+ wpa_printf(
+ MSG_ERROR,
+ "Failed to register STA interface with HIDL "
+ "control: %s",
+ wpa_s->ifname);
return 1;
+ }
sta_iface_callbacks_map_[wpa_s->ifname] =
std::vector<android::sp<ISupplicantStaIfaceCallback>>();
}
@@ -449,16 +461,28 @@
if (isP2pIface(wpa_s)) {
if (removeHidlObjectFromMap(
- wpa_s->ifname, p2p_iface_object_map_))
+ wpa_s->ifname, p2p_iface_object_map_)) {
+ wpa_printf(
+ MSG_ERROR,
+ "Failed to unregister P2P interface with HIDL "
+ "control: %s",
+ wpa_s->ifname);
return 1;
+ }
if (removeAllIfaceCallbackHidlObjectsFromMap(
wpa_s->ifname, p2p_iface_callbacks_map_)) {
return 1;
}
} else {
if (removeHidlObjectFromMap(
- wpa_s->ifname, sta_iface_object_map_))
+ wpa_s->ifname, sta_iface_object_map_)) {
+ wpa_printf(
+ MSG_ERROR,
+ "Failed to unregister STA interface with HIDL "
+ "control: %s",
+ wpa_s->ifname);
return 1;
+ }
if (removeAllIfaceCallbackHidlObjectsFromMap(
wpa_s->ifname, sta_iface_callbacks_map_)) {
return 1;
@@ -495,8 +519,14 @@
if (addHidlObjectToMap<P2pNetwork>(
network_key,
new P2pNetwork(wpa_s->global, wpa_s->ifname, ssid->id),
- p2p_network_object_map_))
+ p2p_network_object_map_)) {
+ wpa_printf(
+ MSG_ERROR,
+ "Failed to register P2P network with HIDL "
+ "control: %d",
+ ssid->id);
return 1;
+ }
p2p_network_callbacks_map_[network_key] =
std::vector<android::sp<ISupplicantP2pNetworkCallback>>();
// Invoke the |onNetworkAdded| method on all registered
@@ -510,8 +540,14 @@
if (addHidlObjectToMap<StaNetwork>(
network_key,
new StaNetwork(wpa_s->global, wpa_s->ifname, ssid->id),
- sta_network_object_map_))
+ sta_network_object_map_)) {
+ wpa_printf(
+ MSG_ERROR,
+ "Failed to register STA network with HIDL "
+ "control: %d",
+ ssid->id);
return 1;
+ }
sta_network_callbacks_map_[network_key] =
std::vector<android::sp<ISupplicantStaNetworkCallback>>();
// Invoke the |onNetworkAdded| method on all registered
@@ -545,8 +581,15 @@
getNetworkObjectMapKey(wpa_s->ifname, ssid->id);
if (isP2pIface(wpa_s)) {
- if (removeHidlObjectFromMap(network_key, p2p_iface_object_map_))
+ if (removeHidlObjectFromMap(
+ network_key, p2p_network_object_map_)) {
+ wpa_printf(
+ MSG_ERROR,
+ "Failed to unregister P2P network with HIDL "
+ "control: %d",
+ ssid->id);
return 1;
+ }
if (removeAllNetworkCallbackHidlObjectsFromMap(
network_key, p2p_network_callbacks_map_))
return 1;
@@ -559,8 +602,15 @@
&ISupplicantP2pIfaceCallback::onNetworkRemoved,
std::placeholders::_1, ssid->id));
} else {
- if (removeHidlObjectFromMap(network_key, sta_iface_object_map_))
+ if (removeHidlObjectFromMap(
+ network_key, sta_network_object_map_)) {
+ wpa_printf(
+ MSG_ERROR,
+ "Failed to unregister STA network with HIDL "
+ "control: %d",
+ ssid->id);
return 1;
+ }
if (removeAllNetworkCallbackHidlObjectsFromMap(
network_key, sta_network_callbacks_map_))
return 1;
diff --git a/wpa_supplicant/hidl/sta_iface.cpp b/wpa_supplicant/hidl/sta_iface.cpp
index 8ce80bb..ee38088 100644
--- a/wpa_supplicant/hidl/sta_iface.cpp
+++ b/wpa_supplicant/hidl/sta_iface.cpp
@@ -37,7 +37,7 @@
constexpr char kSetBtCoexistenceScanStop[] = "BTCOEXSCAN-STOP";
constexpr char kSetSupendModeEnabled[] = "SETSUSPENDMODE 1";
constexpr char kSetSupendModeDisabled[] = "SETSUSPENDMODE 0";
-constexpr char kSetCountryCode[] = "COUNTRY ";
+constexpr char kSetCountryCode[] = "COUNTRY";
constexpr uint32_t kExtRadioWorkDefaultTimeoutInSec = static_cast<uint32_t>(
ISupplicantStaIface::ExtRadioWorkDefaults::TIMEOUT_IN_SECS);
constexpr char kExtRadioWorkNamePrefix[] = "ext:";
diff --git a/wpa_supplicant/hidl/sta_network.cpp b/wpa_supplicant/hidl/sta_network.cpp
index b58d85b..e985994 100644
--- a/wpa_supplicant/hidl/sta_network.cpp
+++ b/wpa_supplicant/hidl/sta_network.cpp
@@ -1575,14 +1575,7 @@
const std::vector<uint8_t> &identity)
{
struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
- // Convert the incoming parameters to a string to pass to
- // wpa_supplicant.
- uint32_t identity_hex_len = identity.size() * 2 + 1;
- std::vector<char> identity_hex(identity_hex_len);
- wpa_snprintf_hex(
- identity_hex.data(), identity_hex.size(), identity.data(),
- identity.size());
- std::string ctrl_rsp_param = identity_hex.data();
+ std::string ctrl_rsp_param(identity.begin(), identity.end());
enum wpa_ctrl_req_type rtype = WPA_CTRL_REQ_EAP_IDENTITY;
struct wpa_supplicant *wpa_s = retrieveIfacePtr();
if (wpa_supplicant_ctrl_rsp_handle(