diff options
author | Subhani Shaik <subhanis@codeaurora.org> | 2017-04-05 16:57:49 -0700 |
---|---|---|
committer | Etan Cohen <etancohen@google.com> | 2017-06-05 14:44:15 -0700 |
commit | ec97908217928498387712c0633d7b4ad0e1f42b (patch) | |
tree | 6f4dc98d8cf9a24379bf39651e0d31639eab15e7 | |
parent | cc4ae5a919abc6b3ecab3800a6debc74a9f9068d (diff) | |
download | android_hardware_qcom_wlan-ec97908217928498387712c0633d7b4ad0e1f42b.tar.gz android_hardware_qcom_wlan-ec97908217928498387712c0633d7b4ad0e1f42b.tar.bz2 android_hardware_qcom_wlan-ec97908217928498387712c0633d7b4ad0e1f42b.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.
(cherry-pick of commit b31fb1359d96a6b58d72f5a8a95fcc2e44425716)
Test: DataPath:test_ib_unsolicited_passive_passphrase_specific
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); |