diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-05-21 07:32:02 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-05-21 07:32:02 +0000 |
commit | 71382646fd7fe3ee55e66e5e72041939f1973b6d (patch) | |
tree | e5b3d459a89541205e78e1b4327829618e6be02a | |
parent | 42581e2f8cd8c8d1189a71cf9d92b866ec4489af (diff) | |
parent | 227903d7a5834ab70ffb831c6ef36672d9ab469b (diff) | |
download | wpa_supplicant_8-71382646fd7fe3ee55e66e5e72041939f1973b6d.tar.gz |
release-request-8aff77ce-b1d4-44c8-abb8-c39db5d1e998-for-git_oc-dr1-release-4029936 snap-temp-L09300000066301094
Change-Id: I80e090698dfd61ff9a64375aeace40e3ec8e19c0
-rw-r--r-- | wpa_supplicant/hidl/1.0/p2p_iface.cpp | 11 |
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, ""}, {}}; } |