diff options
author | Roshan Pius <rpius@google.com> | 2018-09-11 07:53:17 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-09-11 07:53:17 -0700 |
commit | da4cb6aa6a6b95578a565316affddfed9043ec03 (patch) | |
tree | 5413d1f698ce8de4beeabc0ddc68afa0e29f0b35 | |
parent | 3c7d24f7c5d523f12e8b26b23511cda44ff40d10 (diff) | |
parent | f72b502c5450693c099cf9d2bfbb94a6f494eb6f (diff) |
Merge "Skip Anonymous Identity check in SIM/AKA/AKA' networks" am: 8affe3f819 am: 62b815af47
am: f72b502c54
Change-Id: I7a353d66522617cabdd1384950c2dfc3f8ed2114
-rw-r--r-- | service/java/com/android/server/wifi/WifiConfigurationUtil.java | 10 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java | 15 |
2 files changed, 22 insertions, 3 deletions
diff --git a/service/java/com/android/server/wifi/WifiConfigurationUtil.java b/service/java/com/android/server/wifi/WifiConfigurationUtil.java index 8d94862e2..0258834ea 100644 --- a/service/java/com/android/server/wifi/WifiConfigurationUtil.java +++ b/service/java/com/android/server/wifi/WifiConfigurationUtil.java @@ -28,6 +28,7 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.server.wifi.util.NativeUtil; +import com.android.server.wifi.util.TelephonyUtil; import java.nio.charset.StandardCharsets; import java.security.cert.X509Certificate; @@ -195,9 +196,12 @@ public class WifiConfigurationUtil { return true; } if (!TextUtils.equals(existingEnterpriseConfig.getIdentity(), - newEnterpriseConfig.getIdentity()) - || !TextUtils.equals(existingEnterpriseConfig.getAnonymousIdentity(), - newEnterpriseConfig.getAnonymousIdentity())) { + newEnterpriseConfig.getIdentity())) { + return true; + } + if (!TelephonyUtil.isSimEapMethod(existingEnterpriseConfig.getEapMethod()) + && !TextUtils.equals(existingEnterpriseConfig.getAnonymousIdentity(), + newEnterpriseConfig.getAnonymousIdentity())) { return true; } if (!TextUtils.equals(existingEnterpriseConfig.getPassword(), diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java index 7bb24371a..3774feca3 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigurationUtilTest.java @@ -614,6 +614,21 @@ public class WifiConfigurationUtilTest { } /** + * Verify that WifiConfigurationUtil.isSameNetwork returns true when two WifiConfiguration + * objects have the different EAP anonymous(pseudonym) identity in EAP-SIM. + */ + @Test + public void testIsSameNetworkReturnsTrueOnDifferentEapAnonymousIdentityInEapSim() { + WifiConfiguration network1 = WifiConfigurationTestUtil.createEapNetwork(TEST_SSID); + WifiConfiguration network2 = WifiConfigurationTestUtil.createEapNetwork(TEST_SSID); + network1.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.SIM); + network2.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.SIM); + network1.enterpriseConfig.setAnonymousIdentity("Identity1"); + network2.enterpriseConfig.setAnonymousIdentity("Identity2"); + assertTrue(WifiConfigurationUtil.isSameNetwork(network1, network2)); + } + + /** * Verify the instance of {@link android.net.wifi.WifiScanner.PnoSettings.PnoNetwork} created * for a EAP network using {@link WifiConfigurationUtil#createPnoNetwork(WifiConfiguration) * }. |