From 6ddd2b894d2c374b7ddb5c2eca4d1dff7555a452 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Fri, 30 Jan 2015 12:21:52 +0200 Subject: [PATCH] scan: SSID security check was missing values Refactoring SSID security check function to work properly so that it can differentiate AP security setting correctly. --- src/scan.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/scan.c b/src/scan.c index f5c9f002..62ad3801 100644 --- a/src/scan.c +++ b/src/scan.c @@ -85,16 +85,20 @@ enum scan_ssid_security scan_get_ssid_security( enum ie_bss_capability bss_capability, const struct ie_rsn_info *info) { + if (info && (info->akm_suites & IE_RSN_AKM_SUITE_PSK || + info->akm_suites & IE_RSN_AKM_SUITE_PSK_SHA256 || + info->akm_suites & IE_RSN_AKM_SUITE_FT_USING_PSK || + info->akm_suites & IE_RSN_AKM_SUITE_SAE_SHA256 || + info->akm_suites & IE_RSN_AKM_SUITE_FT_OVER_SAE_SHA256)) + return SCAN_SSID_SECURITY_PSK; + + if (info && (info->akm_suites & IE_RSN_AKM_SUITE_8021X || + info->akm_suites & IE_RSN_AKM_SUITE_8021X_SHA256 || + info->akm_suites & IE_RSN_AKM_SUITE_FT_OVER_8021X)) + return SCAN_SSID_SECURITY_8021X; + if (bss_capability & IE_BSS_CAP_PRIVACY) return SCAN_SSID_SECURITY_WEP; - if (!info) - return SCAN_SSID_SECURITY_NONE; - - if (info->akm_suites & IE_RSN_AKM_SUITE_PSK || - info->akm_suites & IE_RSN_AKM_SUITE_PSK_SHA256 || - info->akm_suites & IE_RSN_AKM_SUITE_FT_USING_PSK) - return SCAN_SSID_SECURITY_PSK; - - return SCAN_SSID_SECURITY_8021X; + return SCAN_SSID_SECURITY_NONE; }