diff options
author | Peter Qiu <zqiu@google.com> | 2017-02-23 11:32:33 -0800 |
---|---|---|
committer | Peter Qiu <zqiu@google.com> | 2017-03-02 14:12:21 -0800 |
commit | 5e4822d5dba15e45c5ff43dfba3ac7803b3f4e28 (patch) | |
tree | 54fddbc687ab2e6f03623f54dd656e12dc11e7bc /tests | |
parent | 498d406fbe956b1b9789a8739f6d7de9caaa851c (diff) |
hotspot2: migrate legacy Passpoint configurations
When the legacy Passpoint configuration is read from the legacy
store, it will represented as WifiConfiguration and stored in the
share store. When the owner of the legacy Passpoint configuration
logs in, the configuration will be converted to PasspointConfiguration
and added to PasspointManager, then persist to the user store in the
new format.
Bug: 34206769
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: manually upgrade a bullhead containing Boingo and Global Reach
Passpoint profiles from N to O, verify configurations are
maintained and still able to connect to those APs
Change-Id: Idcd858326968463cea0cdc99452ba67b13d2ac77
Diffstat (limited to 'tests')
3 files changed, 410 insertions, 7 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java index 13cc27270..e73c9b49c 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java @@ -2139,6 +2139,46 @@ public class WifiConfigManagerTest { } /** + * Verify that unlocking an user that owns a legacy Passpoint configuration (which is stored + * temporarily in the share store) will migrate it to PasspointManager and removed from + * the list of configured networks. + * + * @throws Exception + */ + @Test + public void testHandleUserUnlockRemovePasspointConfigFromSharedConfig() throws Exception { + int user1 = TEST_DEFAULT_USER; + int appId = 674; + + final WifiConfiguration passpointConfig = + WifiConfigurationTestUtil.createPasspointNetwork(); + passpointConfig.creatorUid = UserHandle.getUid(user1, appId); + + // Set up the shared store data to contain one legacy Passpoint configuration. + List<WifiConfiguration> sharedNetworks = new ArrayList<WifiConfiguration>() { + { + add(passpointConfig); + } + }; + setupStoreDataForRead(sharedNetworks, new ArrayList<WifiConfiguration>(), + new HashSet<String>()); + assertTrue(mWifiConfigManager.loadFromStore()); + verify(mWifiConfigStore).read(); + assertEquals(1, mWifiConfigManager.getConfiguredNetworks().size()); + + // Unlock the owner of the legacy Passpoint configuration, verify it is removed from + // the configured networks (migrated to PasspointManager). + setupStoreDataForUserRead(new ArrayList<WifiConfiguration>(), new HashSet<String>()); + mWifiConfigManager.handleUserUnlock(user1); + verify(mWifiConfigStore).switchUserStoreAndRead(any(WifiConfigStore.StoreFile.class)); + Pair<List<WifiConfiguration>, List<WifiConfiguration>> writtenNetworkList = + captureWriteNetworksListStoreData(); + assertTrue(writtenNetworkList.first.isEmpty()); + assertTrue(writtenNetworkList.second.isEmpty()); + assertTrue(mWifiConfigManager.getConfiguredNetworks().isEmpty()); + } + + /** * Verifies the foreground user switch using {@link WifiConfigManager#handleUserSwitch(int)} * and {@link WifiConfigManager#handleUserUnlock(int)} and ensures that the new store is * read immediately if the user is unlocked during the switch. diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java index 46815abf0..8def58ccf 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java @@ -39,11 +39,14 @@ import static org.mockito.MockitoAnnotations.initMocks; import android.content.Context; import android.content.Intent; import android.net.wifi.EAPConstants; +import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiEnterpriseConfig; import android.net.wifi.hotspot2.PasspointConfiguration; import android.net.wifi.hotspot2.pps.Credential; import android.net.wifi.hotspot2.pps.HomeSp; import android.os.UserHandle; import android.test.suitebuilder.annotation.SmallTest; +import android.util.Base64; import android.util.Pair; import com.android.server.wifi.Clock; @@ -64,6 +67,7 @@ import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -187,7 +191,7 @@ public class PasspointManagerTest { userCredential.setUsername("username"); userCredential.setPassword("password"); userCredential.setEapType(EAPConstants.EAP_TTLS); - userCredential.setNonEapInnerMethod("MS-CHAP"); + userCredential.setNonEapInnerMethod(Credential.UserCredential.AUTH_METHOD_MSCHAP); credential.setUserCredential(userCredential); config.setCredential(credential); return config; @@ -645,4 +649,231 @@ public class PasspointManagerTest { verify(mWifiConfigManager).saveToStore(true); reset(mWifiConfigManager); } + + /** + * Verify that a PasspointProvider with expected PasspointConfiguration will be installed when + * adding a legacy Passpoint configuration containing a valid user credential. + * + * @throws Exception + */ + @Test + public void addLegacyPasspointConfigWithUserCredential() throws Exception { + // Test data. + String fqdn = "test.com"; + String friendlyName = "Friendly Name"; + long[] rcOIs = new long[] {0x1234L, 0x2345L}; + String realm = "realm.com"; + String username = "username"; + String password = "password"; + byte[] base64EncodedPw = + Base64.encode(password.getBytes(StandardCharsets.UTF_8), Base64.DEFAULT); + String encodedPasswordStr = new String(base64EncodedPw, StandardCharsets.UTF_8); + String caCertificateAlias = "CaCert"; + + // Setup WifiConfiguration for legacy Passpoint configuraiton. + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = fqdn; + wifiConfig.providerFriendlyName = friendlyName; + wifiConfig.roamingConsortiumIds = rcOIs; + wifiConfig.enterpriseConfig.setIdentity(username); + wifiConfig.enterpriseConfig.setPassword(password); + wifiConfig.enterpriseConfig.setRealm(realm); + wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TTLS); + wifiConfig.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.PAP); + wifiConfig.enterpriseConfig.setCaCertificateAlias(caCertificateAlias); + + // Setup expected {@link PasspointConfiguration} + PasspointConfiguration passpointConfig = new PasspointConfiguration(); + HomeSp homeSp = new HomeSp(); + homeSp.setFqdn(fqdn); + homeSp.setFriendlyName(friendlyName); + homeSp.setRoamingConsortiumOis(rcOIs); + passpointConfig.setHomeSp(homeSp); + Credential credential = new Credential(); + Credential.UserCredential userCredential = new Credential.UserCredential(); + userCredential.setUsername(username); + userCredential.setPassword(encodedPasswordStr); + userCredential.setEapType(EAPConstants.EAP_TTLS); + userCredential.setNonEapInnerMethod("PAP"); + credential.setUserCredential(userCredential); + credential.setRealm(realm); + passpointConfig.setCredential(credential); + + assertTrue(PasspointManager.addLegacyPasspointConfig(wifiConfig)); + verifyInstalledConfig(passpointConfig); + } + + /** + * Verify that adding a legacy Passpoint configuration containing user credential will + * fail when client certificate is not provided. + * + * @throws Exception + */ + @Test + public void addLegacyPasspointConfigWithUserCredentialWithoutCaCert() throws Exception { + // Test data. + String fqdn = "test.com"; + String friendlyName = "Friendly Name"; + long[] rcOIs = new long[] {0x1234L, 0x2345L}; + String realm = "realm.com"; + String username = "username"; + String password = "password"; + byte[] base64EncodedPw = + Base64.encode(password.getBytes(StandardCharsets.UTF_8), Base64.DEFAULT); + String encodedPasswordStr = new String(base64EncodedPw, StandardCharsets.UTF_8); + + // Setup WifiConfiguration for legacy Passpoint configuraiton. + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = fqdn; + wifiConfig.providerFriendlyName = friendlyName; + wifiConfig.roamingConsortiumIds = rcOIs; + wifiConfig.enterpriseConfig.setIdentity(username); + wifiConfig.enterpriseConfig.setPassword(password); + wifiConfig.enterpriseConfig.setRealm(realm); + wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TTLS); + wifiConfig.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.PAP); + + assertFalse(PasspointManager.addLegacyPasspointConfig(wifiConfig)); + } + + /** + * Verify that a PasspointProvider with expected PasspointConfiguration will be installed when + * adding a legacy Passpoint configuration containing a valid SIM credential. + * + * @throws Exception + */ + @Test + public void addLegacyPasspointConfigWithSimCredential() throws Exception { + // Test data. + String fqdn = "test.com"; + String friendlyName = "Friendly Name"; + long[] rcOIs = new long[] {0x1234L, 0x2345L}; + String realm = "realm.com"; + String imsi = "1234"; + + // Setup WifiConfiguration for legacy Passpoint configuraiton. + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = fqdn; + wifiConfig.providerFriendlyName = friendlyName; + wifiConfig.roamingConsortiumIds = rcOIs; + wifiConfig.enterpriseConfig.setRealm(realm); + wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.SIM); + wifiConfig.enterpriseConfig.setPlmn(imsi); + + // Setup expected {@link PasspointConfiguration} + PasspointConfiguration passpointConfig = new PasspointConfiguration(); + HomeSp homeSp = new HomeSp(); + homeSp.setFqdn(fqdn); + homeSp.setFriendlyName(friendlyName); + homeSp.setRoamingConsortiumOis(rcOIs); + passpointConfig.setHomeSp(homeSp); + Credential credential = new Credential(); + Credential.SimCredential simCredential = new Credential.SimCredential(); + simCredential.setEapType(EAPConstants.EAP_SIM); + simCredential.setImsi(imsi); + credential.setSimCredential(simCredential); + credential.setRealm(realm); + passpointConfig.setCredential(credential); + + assertTrue(PasspointManager.addLegacyPasspointConfig(wifiConfig)); + verifyInstalledConfig(passpointConfig); + } + + /** + * Verify that a PasspointProvider with expected PasspointConfiguration will be installed when + * adding a legacy Passpoint configuration containing a valid certificate credential. + * + * @throws Exception + */ + @Test + public void addLegacyPasspointConfigWithCertCredential() throws Exception { + // Test data. + String fqdn = "test.com"; + String friendlyName = "Friendly Name"; + long[] rcOIs = new long[] {0x1234L, 0x2345L}; + String realm = "realm.com"; + String caCertificateAlias = "CaCert"; + String clientCertificateAlias = "ClientCert"; + + // Setup WifiConfiguration for legacy Passpoint configuraiton. + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = fqdn; + wifiConfig.providerFriendlyName = friendlyName; + wifiConfig.roamingConsortiumIds = rcOIs; + wifiConfig.enterpriseConfig.setRealm(realm); + wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TLS); + wifiConfig.enterpriseConfig.setCaCertificateAlias(caCertificateAlias); + wifiConfig.enterpriseConfig.setClientCertificateAlias(clientCertificateAlias); + + // Setup expected {@link PasspointConfiguration} + PasspointConfiguration passpointConfig = new PasspointConfiguration(); + HomeSp homeSp = new HomeSp(); + homeSp.setFqdn(fqdn); + homeSp.setFriendlyName(friendlyName); + homeSp.setRoamingConsortiumOis(rcOIs); + passpointConfig.setHomeSp(homeSp); + Credential credential = new Credential(); + Credential.CertificateCredential certCredential = new Credential.CertificateCredential(); + certCredential.setCertType(Credential.CertificateCredential.CERT_TYPE_X509V3); + credential.setCertCredential(certCredential); + credential.setRealm(realm); + passpointConfig.setCredential(credential); + + assertTrue(PasspointManager.addLegacyPasspointConfig(wifiConfig)); + verifyInstalledConfig(passpointConfig); + } + + /** + * Verify that adding a legacy Passpoint configuration containing certificate credential will + * fail when CA certificate is not provided. + * + * @throws Exception + */ + @Test + public void addLegacyPasspointConfigWithCertCredentialWithoutCaCert() throws Exception { + // Test data. + String fqdn = "test.com"; + String friendlyName = "Friendly Name"; + long[] rcOIs = new long[] {0x1234L, 0x2345L}; + String realm = "realm.com"; + String clientCertificateAlias = "ClientCert"; + + // Setup WifiConfiguration for legacy Passpoint configuraiton. + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = fqdn; + wifiConfig.providerFriendlyName = friendlyName; + wifiConfig.roamingConsortiumIds = rcOIs; + wifiConfig.enterpriseConfig.setRealm(realm); + wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TLS); + wifiConfig.enterpriseConfig.setClientCertificateAlias(clientCertificateAlias); + + assertFalse(PasspointManager.addLegacyPasspointConfig(wifiConfig)); + } + + /** + * Verify that adding a legacy Passpoint configuration containing certificate credential will + * fail when client certificate is not provided. + * + * @throws Exception + */ + @Test + public void addLegacyPasspointConfigWithCertCredentialWithoutClientCert() throws Exception { + // Test data. + String fqdn = "test.com"; + String friendlyName = "Friendly Name"; + long[] rcOIs = new long[] {0x1234L, 0x2345L}; + String realm = "realm.com"; + String caCertificateAlias = "CaCert"; + + // Setup WifiConfiguration for legacy Passpoint configuraiton. + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = fqdn; + wifiConfig.providerFriendlyName = friendlyName; + wifiConfig.roamingConsortiumIds = rcOIs; + wifiConfig.enterpriseConfig.setRealm(realm); + wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TLS); + wifiConfig.enterpriseConfig.setCaCertificateAlias(caCertificateAlias); + + assertFalse(PasspointManager.addLegacyPasspointConfig(wifiConfig)); + } } diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java index 15f92583e..7551bc049 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java @@ -351,7 +351,7 @@ public class PasspointProviderTest { config.setHomeSp(homeSp); Credential credential = new Credential(); Credential.UserCredential userCredential = new Credential.UserCredential(); - userCredential.setNonEapInnerMethod("MS-CHAP-V2"); + userCredential.setNonEapInnerMethod(Credential.UserCredential.AUTH_METHOD_MSCHAPV2); credential.setUserCredential(userCredential); config.setCredential(credential); mProvider = createProvider(config); @@ -383,7 +383,7 @@ public class PasspointProviderTest { Credential credential = new Credential(); credential.setRealm(testRealm); Credential.UserCredential userCredential = new Credential.UserCredential(); - userCredential.setNonEapInnerMethod("MS-CHAP-V2"); + userCredential.setNonEapInnerMethod(Credential.UserCredential.AUTH_METHOD_MSCHAPV2); credential.setUserCredential(userCredential); config.setCredential(credential); mProvider = createProvider(config); @@ -419,7 +419,7 @@ public class PasspointProviderTest { Credential credential = new Credential(); credential.setRealm(testRealm); Credential.UserCredential userCredential = new Credential.UserCredential(); - userCredential.setNonEapInnerMethod("MS-CHAP-V2"); + userCredential.setNonEapInnerMethod(Credential.UserCredential.AUTH_METHOD_MSCHAPV2); credential.setUserCredential(userCredential); config.setCredential(credential); mProvider = createProvider(config); @@ -482,7 +482,7 @@ public class PasspointProviderTest { config.setHomeSp(homeSp); Credential credential = new Credential(); Credential.UserCredential userCredential = new Credential.UserCredential(); - userCredential.setNonEapInnerMethod("MS-CHAP-V2"); + userCredential.setNonEapInnerMethod(Credential.UserCredential.AUTH_METHOD_MSCHAPV2); credential.setUserCredential(userCredential); config.setCredential(credential); mProvider = createProvider(config); @@ -541,7 +541,7 @@ public class PasspointProviderTest { Credential credential = new Credential(); credential.setRealm(testRealm); Credential.UserCredential userCredential = new Credential.UserCredential(); - userCredential.setNonEapInnerMethod("MS-CHAP-V2"); + userCredential.setNonEapInnerMethod(Credential.UserCredential.AUTH_METHOD_MSCHAPV2); credential.setUserCredential(userCredential); config.setCredential(credential); mProvider = createProvider(config); @@ -628,7 +628,7 @@ public class PasspointProviderTest { Credential.UserCredential userCredential = new Credential.UserCredential(); userCredential.setUsername(username); userCredential.setPassword(encodedPasswordStr); - userCredential.setNonEapInnerMethod("MS-CHAP-V2"); + userCredential.setNonEapInnerMethod(Credential.UserCredential.AUTH_METHOD_MSCHAPV2); credential.setUserCredential(userCredential); credential.setCaCertificate(FakeKeys.CA_CERT0); config.setCredential(credential); @@ -762,4 +762,136 @@ public class PasspointProviderTest { assertEquals(WifiEnterpriseConfig.Eap.SIM, wifiEnterpriseConfig.getEapMethod()); assertEquals(imsi, wifiEnterpriseConfig.getPlmn()); } + + /** + * Verify that an expected {@link PasspointConfiguration} will be returned when converting + * from a {@link WifiConfiguration} containing an user credential. + * + * @throws Exception + */ + @Test + public void convertFromWifiConfigWithUserCredential() throws Exception { + // Test data. + String fqdn = "test.com"; + String friendlyName = "Friendly Name"; + long[] rcOIs = new long[] {0x1234L, 0x2345L}; + String realm = "realm.com"; + String username = "username"; + String password = "password"; + byte[] base64EncodedPw = + Base64.encode(password.getBytes(StandardCharsets.UTF_8), Base64.DEFAULT); + String encodedPasswordStr = new String(base64EncodedPw, StandardCharsets.UTF_8); + + // Setup WifiConfiguration for legacy Passpoint configuraiton. + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = fqdn; + wifiConfig.providerFriendlyName = friendlyName; + wifiConfig.roamingConsortiumIds = rcOIs; + wifiConfig.enterpriseConfig.setIdentity(username); + wifiConfig.enterpriseConfig.setPassword(password); + wifiConfig.enterpriseConfig.setRealm(realm); + wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TTLS); + wifiConfig.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.PAP); + + // Setup expected {@link PasspointConfiguration} + PasspointConfiguration passpointConfig = new PasspointConfiguration(); + HomeSp homeSp = new HomeSp(); + homeSp.setFqdn(fqdn); + homeSp.setFriendlyName(friendlyName); + homeSp.setRoamingConsortiumOis(rcOIs); + passpointConfig.setHomeSp(homeSp); + Credential credential = new Credential(); + Credential.UserCredential userCredential = new Credential.UserCredential(); + userCredential.setUsername(username); + userCredential.setPassword(encodedPasswordStr); + userCredential.setEapType(EAPConstants.EAP_TTLS); + userCredential.setNonEapInnerMethod("PAP"); + credential.setUserCredential(userCredential); + credential.setRealm(realm); + passpointConfig.setCredential(credential); + + assertEquals(passpointConfig, PasspointProvider.convertFromWifiConfig(wifiConfig)); + } + + /** + * Verify that an expected {@link PasspointConfiguration} will be returned when converting + * from a {@link WifiConfiguration} containing a SIM credential. + * + * @throws Exception + */ + @Test + public void convertFromWifiConfigWithSimCredential() throws Exception { + // Test data. + String fqdn = "test.com"; + String friendlyName = "Friendly Name"; + long[] rcOIs = new long[] {0x1234L, 0x2345L}; + String realm = "realm.com"; + String imsi = "1234"; + + // Setup WifiConfiguration for legacy Passpoint configuraiton. + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = fqdn; + wifiConfig.providerFriendlyName = friendlyName; + wifiConfig.roamingConsortiumIds = rcOIs; + wifiConfig.enterpriseConfig.setRealm(realm); + wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.SIM); + wifiConfig.enterpriseConfig.setPlmn(imsi); + + // Setup expected {@link PasspointConfiguration} + PasspointConfiguration passpointConfig = new PasspointConfiguration(); + HomeSp homeSp = new HomeSp(); + homeSp.setFqdn(fqdn); + homeSp.setFriendlyName(friendlyName); + homeSp.setRoamingConsortiumOis(rcOIs); + passpointConfig.setHomeSp(homeSp); + Credential credential = new Credential(); + Credential.SimCredential simCredential = new Credential.SimCredential(); + simCredential.setEapType(EAPConstants.EAP_SIM); + simCredential.setImsi(imsi); + credential.setSimCredential(simCredential); + credential.setRealm(realm); + passpointConfig.setCredential(credential); + + assertEquals(passpointConfig, PasspointProvider.convertFromWifiConfig(wifiConfig)); + } + + /** + * Verify that an expected {@link PasspointConfiguration} will be returned when converting + * from a {@link WifiConfiguration} containing a certificate credential. + * + * @throws Exception + */ + @Test + public void convertFromWifiConfigWithCertCredential() throws Exception { + // Test data. + String fqdn = "test.com"; + String friendlyName = "Friendly Name"; + long[] rcOIs = new long[] {0x1234L, 0x2345L}; + String realm = "realm.com"; + + // Setup WifiConfiguration for legacy Passpoint configuraiton. + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = fqdn; + wifiConfig.providerFriendlyName = friendlyName; + wifiConfig.roamingConsortiumIds = rcOIs; + wifiConfig.enterpriseConfig.setRealm(realm); + wifiConfig.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TLS); + + // Setup expected {@link PasspointConfiguration} + PasspointConfiguration passpointConfig = new PasspointConfiguration(); + HomeSp homeSp = new HomeSp(); + homeSp.setFqdn(fqdn); + homeSp.setFriendlyName(friendlyName); + homeSp.setRoamingConsortiumOis(rcOIs); + passpointConfig.setHomeSp(homeSp); + Credential credential = new Credential(); + Credential.CertificateCredential certCredential = new Credential.CertificateCredential(); + certCredential.setCertType(Credential.CertificateCredential.CERT_TYPE_X509V3); + credential.setCertCredential(certCredential); + credential.setRealm(realm); + passpointConfig.setCredential(credential); + + assertEquals(passpointConfig, PasspointProvider.convertFromWifiConfig(wifiConfig)); + } + } |