diff options
author | Subhani Shaik <subhanis@codeaurora.org> | 2017-04-05 16:57:49 -0700 |
---|---|---|
committer | Amarnath Hullur Subramanyam <amarnath@codeaurora.org> | 2017-07-24 11:10:14 -0700 |
commit | b716758f5af5a35a3d45443c8bccab6c1c6850c2 (patch) | |
tree | 1d08899728d3b31cdc4e9bd7336790a581b2c8c6 | |
parent | 1a5a4d6eee9bf5b58532929334fc444f97aa40c0 (diff) | |
download | android_hardware_qcom_wlan-b716758f5af5a35a3d45443c8bccab6c1c6850c2.tar.gz android_hardware_qcom_wlan-b716758f5af5a35a3d45443c8bccab6c1c6850c2.tar.bz2 android_hardware_qcom_wlan-b716758f5af5a35a3d45443c8bccab6c1c6850c2.zip |
Wifi-Hal: Fix issue to include NDP security info
Security info is not being set because CSID is not provided
in NDP data Request and data Response
CSID is an optional parameter in NDP data request and data response
messages. So, removing this check to send the security info to the
firmware.
Test: DataPath:test_ib_unsolicited_passive_passphrase_specific
CRs-Fixed: 2079318
Change-Id: I9fea7e73241807397058700e1855378c65b75569
-rw-r--r-- | qcwcn/wifi_hal/nan.cpp | 88 |
1 files changed, 42 insertions, 46 deletions
diff --git a/qcwcn/wifi_hal/nan.cpp b/qcwcn/wifi_hal/nan.cpp index 524bacb..f2017fe 100644 --- a/qcwcn/wifi_hal/nan.cpp +++ b/qcwcn/wifi_hal/nan.cpp @@ -878,30 +878,27 @@ wifi_error nan_data_request_initiator(transaction_id id, if (nanCommand->put_u32(QCA_WLAN_VENDOR_ATTR_NDP_CSID, msg->cipher_type)) goto cleanup; - - if ( msg->key_info.key_type == NAN_SECURITY_KEY_INPUT_PMK && - msg->key_info.body.pmk_info.pmk_len == NAN_PMK_INFO_LEN) { - if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PMK, - (char *)msg->key_info.body.pmk_info.pmk, - msg->key_info.body.pmk_info.pmk_len)) - goto cleanup; - } else if (msg->key_info.key_type == - NAN_SECURITY_KEY_INPUT_PASSPHRASE && - msg->key_info.body.passphrase_info.passphrase_len >= - NAN_SECURITY_MIN_PASSPHRASE_LEN && - msg->key_info.body.passphrase_info.passphrase_len <= - NAN_SECURITY_MAX_PASSPHRASE_LEN) { - if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PASSPHRASE, - (char *)msg->key_info.body.passphrase_info.passphrase, - msg->key_info.body.passphrase_info.passphrase_len)) - goto cleanup; - } - - if (msg->service_name_len) { - if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_NAME, - (char *)msg->service_name, msg->service_name_len)) - goto cleanup; - } + } + if ( msg->key_info.key_type == NAN_SECURITY_KEY_INPUT_PMK && + msg->key_info.body.pmk_info.pmk_len == NAN_PMK_INFO_LEN) { + if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PMK, + (char *)msg->key_info.body.pmk_info.pmk, + msg->key_info.body.pmk_info.pmk_len)) + goto cleanup; + } else if (msg->key_info.key_type == NAN_SECURITY_KEY_INPUT_PASSPHRASE && + msg->key_info.body.passphrase_info.passphrase_len >= + NAN_SECURITY_MIN_PASSPHRASE_LEN && + msg->key_info.body.passphrase_info.passphrase_len <= + NAN_SECURITY_MAX_PASSPHRASE_LEN) { + if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PASSPHRASE, + (char *)msg->key_info.body.passphrase_info.passphrase, + msg->key_info.body.passphrase_info.passphrase_len)) + goto cleanup; + } + if (msg->service_name_len) { + if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_NAME, + (char *)msg->service_name, msg->service_name_len)) + goto cleanup; } nanCommand->attr_end(nlData); @@ -997,29 +994,28 @@ wifi_error nan_data_indication_response(transaction_id id, if (nanCommand->put_u32(QCA_WLAN_VENDOR_ATTR_NDP_CSID, msg->cipher_type)) goto cleanup; + } + if ( msg->key_info.key_type == NAN_SECURITY_KEY_INPUT_PMK && + msg->key_info.body.pmk_info.pmk_len == NAN_PMK_INFO_LEN) { + if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PMK, + (char *)msg->key_info.body.pmk_info.pmk, + msg->key_info.body.pmk_info.pmk_len)) + goto cleanup; + } else if (msg->key_info.key_type == NAN_SECURITY_KEY_INPUT_PASSPHRASE && + msg->key_info.body.passphrase_info.passphrase_len >= + NAN_SECURITY_MIN_PASSPHRASE_LEN && + msg->key_info.body.passphrase_info.passphrase_len <= + NAN_SECURITY_MAX_PASSPHRASE_LEN) { + if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PASSPHRASE, + (char *)msg->key_info.body.passphrase_info.passphrase, + msg->key_info.body.passphrase_info.passphrase_len)) + goto cleanup; + } - if ( msg->key_info.key_type == NAN_SECURITY_KEY_INPUT_PMK && - msg->key_info.body.pmk_info.pmk_len == NAN_PMK_INFO_LEN) { - if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PMK, - (char *)msg->key_info.body.pmk_info.pmk, - msg->key_info.body.pmk_info.pmk_len)) - goto cleanup; - } else if (msg->key_info.key_type == NAN_SECURITY_KEY_INPUT_PASSPHRASE && - msg->key_info.body.passphrase_info.passphrase_len >= - NAN_SECURITY_MIN_PASSPHRASE_LEN && - msg->key_info.body.passphrase_info.passphrase_len <= - NAN_SECURITY_MAX_PASSPHRASE_LEN) { - if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PASSPHRASE, - (char *)msg->key_info.body.passphrase_info.passphrase, - msg->key_info.body.passphrase_info.passphrase_len)) - goto cleanup; - } - - if (msg->service_name_len) { - if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_NAME, - (char *)msg->service_name, msg->service_name_len)) - goto cleanup; - } + if (msg->service_name_len) { + if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_NAME, + (char *)msg->service_name, msg->service_name_len)) + goto cleanup; } nanCommand->attr_end(nlData); |