From 37cc4a769e6a2b81f3b99941187cdfd95fc6f713 Mon Sep 17 00:00:00 2001 From: Randy Pan Date: Wed, 23 Mar 2016 10:17:29 -0700 Subject: Fix ephemeral network Wifi configuration Build ephemeral network Wifi Configuration's key managment protocol properly from the scan results. Bug: 27577494 Change-Id: Iec142a4cad64546f4a95c3ab270affd355469ff9 --- .../com/android/server/wifi/WifiConfigManager.java | 31 ++++++++++++---------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/service/java/com/android/server/wifi/WifiConfigManager.java b/service/java/com/android/server/wifi/WifiConfigManager.java index b371bdd9a..e16604695 100644 --- a/service/java/com/android/server/wifi/WifiConfigManager.java +++ b/service/java/com/android/server/wifi/WifiConfigManager.java @@ -2955,23 +2955,26 @@ public class WifiConfigManager { loge("WifiConfiguration from scan results " + config.SSID + " cap " + result.capabilities); } - if (result.capabilities.contains("WEP")) { - config.allowedKeyManagement.set(KeyMgmt.NONE); - config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); //? - config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); - } - if (result.capabilities.contains("PSK")) { - config.allowedKeyManagement.set(KeyMgmt.WPA_PSK); - } + if (result.capabilities.contains("PSK") || result.capabilities.contains("EAP") + || result.capabilities.contains("WEP")) { + if (result.capabilities.contains("PSK")) { + config.allowedKeyManagement.set(KeyMgmt.WPA_PSK); + } - if (result.capabilities.contains("EAP")) { - //this is probably wrong, as we don't have a way to enter the enterprise config - config.allowedKeyManagement.set(KeyMgmt.WPA_EAP); - config.allowedKeyManagement.set(KeyMgmt.IEEE8021X); - } + if (result.capabilities.contains("EAP")) { + config.allowedKeyManagement.set(KeyMgmt.WPA_EAP); + config.allowedKeyManagement.set(KeyMgmt.IEEE8021X); + } - /* getScanDetailCache(config).put(scanDetail); */ + if (result.capabilities.contains("WEP")) { + config.allowedKeyManagement.set(KeyMgmt.NONE); + config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); + config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); + } + } else { + config.allowedKeyManagement.set(KeyMgmt.NONE); + } return config; } -- cgit v1.2.3