aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-05-21 08:27:05 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-05-21 08:27:05 +0000
commite0c72e882f67c7e1ba055f86447f34df9d068c17 (patch)
treee5b3d459a89541205e78e1b4327829618e6be02a
parenta0ac0e0977a03f83407ee852ef7193a22e303b85 (diff)
parent553d451a3d75f70ef8eb5996222532c9312697ae (diff)
downloadwpa_supplicant_8-e0c72e882f67c7e1ba055f86447f34df9d068c17.tar.gz
release-request-c72e46fd-06a9-4104-bad3-f7ba8aeb3e1d-for-git_oc-release-4029917 snap-temp-L38800000066299680
Change-Id: Icceae2bd294a0d3047d03558bd715f8d092c0355
-rw-r--r--wpa_supplicant/hidl/1.0/p2p_iface.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/wpa_supplicant/hidl/1.0/p2p_iface.cpp b/wpa_supplicant/hidl/1.0/p2p_iface.cpp
index 252266ba..9a048eb5 100644
--- a/wpa_supplicant/hidl/1.0/p2p_iface.cpp
+++ b/wpa_supplicant/hidl/1.0/p2p_iface.cpp
@@ -682,6 +682,7 @@ std::pair<SupplicantStatus, std::string> P2pIface::connectInternal(
if (go_intent > 15) {
return {{SupplicantStatusCode::FAILURE_ARGS_INVALID, ""}, {}};
}
+ int go_intent_signed = join_existing_group ? -1 : go_intent;
p2p_wps_method wps_method = {};
switch (provision_method) {
case WpsProvisionMethod::PBC:
@@ -694,9 +695,10 @@ std::pair<SupplicantStatus, std::string> P2pIface::connectInternal(
wps_method = WPS_PIN_KEYPAD;
break;
}
+ const char* pin = pre_selected_pin.length() > 0 ? pre_selected_pin.data() : nullptr;
int new_pin = wpas_p2p_connect(
- wpa_s, peer_address.data(), pre_selected_pin.data(), wps_method,
- persistent, false, join_existing_group, false, go_intent, 0, 0, -1,
+ wpa_s, peer_address.data(), pin, wps_method,
+ persistent, false, join_existing_group, false, go_intent_signed, 0, 0, -1,
false, false, false, VHT_CHANWIDTH_USE_HT, nullptr, 0);
if (new_pin < 0) {
return {{SupplicantStatusCode::FAILURE_UNKNOWN, ""}, {}};
@@ -985,8 +987,11 @@ std::pair<SupplicantStatus, uint64_t> P2pIface::requestServiceDiscoveryInternal(
if (!query_buf) {
return {{SupplicantStatusCode::FAILURE_UNKNOWN, ""}, {}};
}
+ const uint8_t* dst_addr = is_zero_ether_addr(peer_address.data())
+ ? nullptr
+ : peer_address.data();
uint64_t identifier =
- wpas_p2p_sd_request(wpa_s, peer_address.data(), query_buf.get());
+ wpas_p2p_sd_request(wpa_s, dst_addr, query_buf.get());
if (identifier == 0) {
return {{SupplicantStatusCode::FAILURE_UNKNOWN, ""}, {}};
}