From 61ef86b6256cd30850d7ba4868de57e889dc612b Mon Sep 17 00:00:00 2001 From: Jimmy Chen Date: Thu, 15 Oct 2020 16:07:32 +0800 Subject: [PATCH] wifi: add enable SAE H2E only mode API Bug: 160642700 Test: atest VtsHalWifiSupplicantV1_4TargetTest Change-Id: Ic40d8435d35917a7eb722b102de3c2b7640c1aac --- wifi/supplicant/1.4/ISupplicantStaNetwork.hal | 18 ++++++++++++++++++ .../supplicant_sta_network_hidl_test.cpp | 12 ++++++++++++ 2 files changed, 30 insertions(+) diff --git a/wifi/supplicant/1.4/ISupplicantStaNetwork.hal b/wifi/supplicant/1.4/ISupplicantStaNetwork.hal index f12ace46f4..0cc62c0f12 100644 --- a/wifi/supplicant/1.4/ISupplicantStaNetwork.hal +++ b/wifi/supplicant/1.4/ISupplicantStaNetwork.hal @@ -143,4 +143,22 @@ interface ISupplicantStaNetwork extends @1.3::ISupplicantStaNetwork { */ registerCallback_1_4(ISupplicantStaNetworkCallback callback) generates (SupplicantStatus status); + + /** + * Set whether to enable SAE H2E (Hash-to-Element) only mode. + * + * When enabled, only SAE H2E network is allowed; othewise + * H&P (Hunting and Pecking) and H2E are both allowed. + * H&P only mode is not supported. + * If this API is not called before connecting to a SAE + * network, the behavior is undefined. + * + * @param enable true to set, false otherwise. + * @return status Status of the operation. + * Possible status codes: + * |SupplicantStatusCode.SUCCESS|, + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| + */ + enableSaeH2eOnlyMode(bool enable) generates (SupplicantStatus status); }; diff --git a/wifi/supplicant/1.4/vts/functional/supplicant_sta_network_hidl_test.cpp b/wifi/supplicant/1.4/vts/functional/supplicant_sta_network_hidl_test.cpp index 32e4f174f8..aaaccfc19b 100644 --- a/wifi/supplicant/1.4/vts/functional/supplicant_sta_network_hidl_test.cpp +++ b/wifi/supplicant/1.4/vts/functional/supplicant_sta_network_hidl_test.cpp @@ -90,6 +90,18 @@ TEST_P(SupplicantStaNetworkHidlTest, RegisterCallback_1_4) { }); } +/* + * enable SAE H2E (Hash-to-Element) only mode + */ +TEST_P(SupplicantStaNetworkHidlTest, EnableSaeH2eOnlyMode) { + v1_4->enableSaeH2eOnlyMode(true, [&](const SupplicantStatus& status) { + EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); + }); + v1_4->enableSaeH2eOnlyMode(false, [&](const SupplicantStatus& status) { + EXPECT_EQ(SupplicantStatusCode::SUCCESS, status.code); + }); +} + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(SupplicantStaNetworkHidlTest); INSTANTIATE_TEST_CASE_P( PerInstance, SupplicantStaNetworkHidlTest,