Loading wifi/java/android/net/wifi/WifiConfiguration.java +12 −1 Original line number Diff line number Diff line Loading @@ -2491,7 +2491,18 @@ public class WifiConfiguration implements Parcelable { @KeyMgmt.KeyMgmtScheme public int getAuthType() { if (allowedKeyManagement.cardinality() > 1) { throw new IllegalStateException("More than one auth type set"); if (allowedKeyManagement.get(KeyMgmt.WPA_EAP)) { if (allowedKeyManagement.cardinality() == 2 && allowedKeyManagement.get(KeyMgmt.IEEE8021X)) { return KeyMgmt.WPA_EAP; } if (allowedKeyManagement.cardinality() == 3 && allowedKeyManagement.get(KeyMgmt.IEEE8021X) && allowedKeyManagement.get(KeyMgmt.SUITE_B_192)) { return KeyMgmt.SUITE_B_192; } } throw new IllegalStateException("Invalid auth type set: " + allowedKeyManagement); } if (allowedKeyManagement.get(KeyMgmt.WPA_PSK)) { return KeyMgmt.WPA_PSK; Loading wifi/tests/src/android/net/wifi/WifiConfigurationTest.java +49 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_OPEN; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_OWE; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_PSK; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_SAE; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_WAPI_CERT; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_WAPI_PSK; import static org.junit.Assert.assertArrayEquals; Loading Loading @@ -537,4 +538,52 @@ public class WifiConfigurationTest { configuration.setSecurityParams(SECURITY_TYPE_EAP_SUITE_B); assertFalse(configuration.needsPreSharedKey()); } @Test public void testGetAuthType() throws Exception { WifiConfiguration configuration = new WifiConfiguration(); configuration.setSecurityParams(SECURITY_TYPE_PSK); assertEquals(KeyMgmt.WPA_PSK, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_SAE); assertEquals(KeyMgmt.SAE, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_WAPI_PSK); assertEquals(KeyMgmt.WAPI_PSK, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_OPEN); assertEquals(KeyMgmt.NONE, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_OWE); assertEquals(KeyMgmt.OWE, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_EAP); assertEquals(KeyMgmt.WPA_EAP, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_EAP_SUITE_B); assertEquals(KeyMgmt.SUITE_B_192, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_WAPI_CERT); assertEquals(KeyMgmt.WAPI_CERT, configuration.getAuthType()); } @Test (expected = IllegalStateException.class) public void testGetAuthTypeFailure1() throws Exception { WifiConfiguration configuration = new WifiConfiguration(); configuration.setSecurityParams(SECURITY_TYPE_PSK); configuration.allowedKeyManagement.set(KeyMgmt.IEEE8021X); configuration.getAuthType(); } @Test (expected = IllegalStateException.class) public void testGetAuthTypeFailure2() throws Exception { WifiConfiguration configuration = new WifiConfiguration(); configuration.allowedKeyManagement.set(KeyMgmt.IEEE8021X); configuration.allowedKeyManagement.set(KeyMgmt.WPA_EAP); configuration.allowedKeyManagement.set(KeyMgmt.SAE); configuration.getAuthType(); } } Loading
wifi/java/android/net/wifi/WifiConfiguration.java +12 −1 Original line number Diff line number Diff line Loading @@ -2491,7 +2491,18 @@ public class WifiConfiguration implements Parcelable { @KeyMgmt.KeyMgmtScheme public int getAuthType() { if (allowedKeyManagement.cardinality() > 1) { throw new IllegalStateException("More than one auth type set"); if (allowedKeyManagement.get(KeyMgmt.WPA_EAP)) { if (allowedKeyManagement.cardinality() == 2 && allowedKeyManagement.get(KeyMgmt.IEEE8021X)) { return KeyMgmt.WPA_EAP; } if (allowedKeyManagement.cardinality() == 3 && allowedKeyManagement.get(KeyMgmt.IEEE8021X) && allowedKeyManagement.get(KeyMgmt.SUITE_B_192)) { return KeyMgmt.SUITE_B_192; } } throw new IllegalStateException("Invalid auth type set: " + allowedKeyManagement); } if (allowedKeyManagement.get(KeyMgmt.WPA_PSK)) { return KeyMgmt.WPA_PSK; Loading
wifi/tests/src/android/net/wifi/WifiConfigurationTest.java +49 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_OPEN; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_OWE; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_PSK; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_SAE; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_WAPI_CERT; import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_WAPI_PSK; import static org.junit.Assert.assertArrayEquals; Loading Loading @@ -537,4 +538,52 @@ public class WifiConfigurationTest { configuration.setSecurityParams(SECURITY_TYPE_EAP_SUITE_B); assertFalse(configuration.needsPreSharedKey()); } @Test public void testGetAuthType() throws Exception { WifiConfiguration configuration = new WifiConfiguration(); configuration.setSecurityParams(SECURITY_TYPE_PSK); assertEquals(KeyMgmt.WPA_PSK, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_SAE); assertEquals(KeyMgmt.SAE, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_WAPI_PSK); assertEquals(KeyMgmt.WAPI_PSK, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_OPEN); assertEquals(KeyMgmt.NONE, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_OWE); assertEquals(KeyMgmt.OWE, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_EAP); assertEquals(KeyMgmt.WPA_EAP, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_EAP_SUITE_B); assertEquals(KeyMgmt.SUITE_B_192, configuration.getAuthType()); configuration.setSecurityParams(SECURITY_TYPE_WAPI_CERT); assertEquals(KeyMgmt.WAPI_CERT, configuration.getAuthType()); } @Test (expected = IllegalStateException.class) public void testGetAuthTypeFailure1() throws Exception { WifiConfiguration configuration = new WifiConfiguration(); configuration.setSecurityParams(SECURITY_TYPE_PSK); configuration.allowedKeyManagement.set(KeyMgmt.IEEE8021X); configuration.getAuthType(); } @Test (expected = IllegalStateException.class) public void testGetAuthTypeFailure2() throws Exception { WifiConfiguration configuration = new WifiConfiguration(); configuration.allowedKeyManagement.set(KeyMgmt.IEEE8021X); configuration.allowedKeyManagement.set(KeyMgmt.WPA_EAP); configuration.allowedKeyManagement.set(KeyMgmt.SAE); configuration.getAuthType(); } }