From e97e21f1f14e4ef16dd5d675b17615aef3a80301 Mon Sep 17 00:00:00 2001 From: Peter Qiu Date: Thu, 27 Jul 2017 14:41:36 -0700 Subject: Re-add network to supplicant when EAP identities changes Update WifiConfigurationUtil#isSameNetwork to check changes in both EAP identity and anonymous identity. So that the network parameters in wpa_supplicant will get reloaded when the EAP identities changed. Bug: 63979263 Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh Test: Verify connection to a EAP-SIM network will fail after SIM card is replaced Change-Id: I592018de52c2515dbd64aea0138b5bc88b70fec7 (cherry picked from commit 8e08c5d97b1608e1b173867998dd82e6f44d1d13) --- .../server/wifi/WifiConfigurationUtilTest.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests') diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java index 376d686a4..2925273de 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java @@ -495,6 +495,31 @@ public class WifiConfigurationUtilTest { assertFalse(WifiConfigurationUtil.isSameNetwork(network, network1)); } + /** + * Verify that WifiConfigurationUtil.isSameNetwork returns false when two WifiConfiguration + * objects have the different EAP identity. + */ + @Test + public void testIsSameNetworkReturnsFalseOnDifferentEapIdentity() { + WifiConfiguration network1 = WifiConfigurationTestUtil.createEapNetwork(TEST_SSID); + WifiConfiguration network2 = WifiConfigurationTestUtil.createEapNetwork(TEST_SSID); + network1.enterpriseConfig.setIdentity("Identity1"); + network2.enterpriseConfig.setIdentity("Identity2"); + assertFalse(WifiConfigurationUtil.isSameNetwork(network1, network2)); + } + + /** + * Verify that WifiConfigurationUtil.isSameNetwork returns false when two WifiConfiguration + * objects have the different EAP anonymous identity. + */ + @Test + public void testIsSameNetworkReturnsFalseOnDifferentEapAnonymousIdentity() { + WifiConfiguration network1 = WifiConfigurationTestUtil.createEapNetwork(TEST_SSID); + WifiConfiguration network2 = WifiConfigurationTestUtil.createEapNetwork(TEST_SSID); + network1.enterpriseConfig.setAnonymousIdentity("Identity1"); + network2.enterpriseConfig.setAnonymousIdentity("Identity2"); + assertFalse(WifiConfigurationUtil.isSameNetwork(network1, network2)); + } /** * Verify the instance of {@link android.net.wifi.WifiScanner.PnoSettings.PnoNetwork} created -- cgit v1.2.3