wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_tools.cpp
branchRCL_3
changeset 40 5fb7af913dfd
parent 0 c40eb8fe8501
child 50 5cdddd04119b
--- a/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_tools.cpp	Mon Jun 21 17:43:00 2010 +0300
+++ b/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_tools.cpp	Thu Aug 19 11:40:48 2010 +0300
@@ -484,8 +484,8 @@
         DEBUG( "core_tools_c::eap_authentication_type() - wlan_eapol_if_eapol_key_authentication_type_802_1x" );
         return wlan_eapol_if_eapol_key_authentication_type_802_1x;
         }
-    else if( mode == core_security_mode_802dot1x &&
-             ap_data.key_management_suites() & core_key_management_wpx_fast_roam )
+    else if( (mode == core_security_mode_802dot1x || core_security_mode_802dot1x_unencrypted) &&
+            (ap_data.key_management_suites() & core_key_management_wpx_fast_roam) )
         {
         DEBUG( "core_tools_c::eap_authentication_type() - wlan_eapol_if_eapol_key_authentication_type_wpx_fast_roam" );
         return wlan_eapol_if_eapol_key_authentication_type_wpx_fast_roam;
@@ -495,6 +495,21 @@
         DEBUG( "core_tools_c::eap_authentication_type() - wlan_eapol_if_eapol_key_authentication_type_wfa_sc" );
         return wlan_eapol_if_eapol_key_authentication_type_wfa_sc;
         }
+    if( mode == core_security_mode_802dot1x_unencrypted &&
+         !ap_data.is_rsn_ie_present() &&
+         !ap_data.is_wpa_ie_present() )
+        {
+        if( !ap_data.is_privacy_enabled() )
+            {
+            DEBUG( "core_tools_c::eap_authentication_type() - wlan_eapol_if_eapol_key_authentication_type_802_1x_unencrypted" );
+            return wlan_eapol_if_eapol_key_authentication_type_802_1x_unencrypted;
+            }
+        else
+            {
+            DEBUG( "core_tools_c::eap_authentication_type() - wlan_eapol_if_eapol_key_authentication_type_802_1x" );
+            return wlan_eapol_if_eapol_key_authentication_type_802_1x;                
+            }
+        }
     else if( iap_data.is_eap_used() )
         {
         if( ap_data.is_rsn_ie_present() )