summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSubhani Shaik <subhanis@codeaurora.org>2017-04-05 16:57:49 -0700
committerEtan Cohen <etancohen@google.com>2017-06-05 14:44:15 -0700
commitec97908217928498387712c0633d7b4ad0e1f42b (patch)
tree6f4dc98d8cf9a24379bf39651e0d31639eab15e7
parentcc4ae5a919abc6b3ecab3800a6debc74a9f9068d (diff)
downloadandroid_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.cpp88
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);