diff options
author | Peter Qiu <zqiu@google.com> | 2017-04-03 17:08:33 +0000 |
---|---|---|
committer | Peter Qiu <zqiu@google.com> | 2017-04-03 13:10:29 -0700 |
commit | 07816a4745b8030911869ceb58fa735e47834fe4 (patch) | |
tree | 0108a7e11280d8f8ef014c461acae2e5211d5483 /tests | |
parent | 31eb1e8997a0ee98df33f6d8b3b907e0fcb070ed (diff) |
[Reland] hotspot2: track creator UID for installed providers
This is purely for debugging purpose. It is not used for restricting
apps that can update/remove configs. Since for Passpoint configuration,
the app that's responsible for adding a config might not be the app
that's responsible for removing that config.
Bug: 36566563
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: verify Creator UID in the output of "adb shell dumpsys"
and the config store file
Change-Id: I5c651fb204b6e07c2b1d6324350d63d25a38c894
Diffstat (limited to 'tests')
4 files changed, 33 insertions, 27 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java b/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java index 80e29c6b1..4772d4c61 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java @@ -1171,15 +1171,17 @@ public class WifiStateMachineTest { homeSp.setFqdn("test.com"); config.setHomeSp(homeSp); - when(mPasspointManager.addOrUpdateProvider(config)).thenReturn(true); + when(mPasspointManager.addOrUpdateProvider(config, MANAGED_PROFILE_UID)).thenReturn(true); mLooper.startAutoDispatch(); - assertTrue(mWsm.syncAddOrUpdatePasspointConfig(mWsmAsyncChannel, config)); + assertTrue(mWsm.syncAddOrUpdatePasspointConfig( + mWsmAsyncChannel, config, MANAGED_PROFILE_UID)); mLooper.stopAutoDispatch(); reset(mPasspointManager); - when(mPasspointManager.addOrUpdateProvider(config)).thenReturn(false); + when(mPasspointManager.addOrUpdateProvider(config, MANAGED_PROFILE_UID)).thenReturn(false); mLooper.startAutoDispatch(); - assertFalse(mWsm.syncAddOrUpdatePasspointConfig(mWsmAsyncChannel, config)); + assertFalse(mWsm.syncAddOrUpdatePasspointConfig( + mWsmAsyncChannel, config, MANAGED_PROFILE_UID)); mLooper.stopAutoDispatch(); } diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointConfigStoreDataTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointConfigStoreDataTest.java index 5b2eabfd3..cd3120f9e 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointConfigStoreDataTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointConfigStoreDataTest.java @@ -59,6 +59,7 @@ public class PasspointConfigStoreDataTest { private static final String TEST_CLIENT_CERTIFICATE_ALIAS = "ClientCert"; private static final String TEST_CLIENT_PRIVATE_KEY_ALIAS = "ClientPrivateKey"; private static final long TEST_PROVIDER_ID = 1; + private static final int TEST_CREATOR_UID = 1234; @Mock WifiKeyStore mKeyStore; @Mock SIMAccessor mSimAccessor; @@ -234,8 +235,9 @@ public class PasspointConfigStoreDataTest { // Setup expected data. List<PasspointProvider> providerList = new ArrayList<>(); providerList.add(new PasspointProvider(createFullPasspointConfiguration(), - mKeyStore, mSimAccessor, TEST_PROVIDER_ID, TEST_CA_CERTIFICATE_ALIAS, - TEST_CLIENT_CERTIFICATE_ALIAS, TEST_CLIENT_PRIVATE_KEY_ALIAS)); + mKeyStore, mSimAccessor, TEST_PROVIDER_ID, TEST_CREATOR_UID, + TEST_CA_CERTIFICATE_ALIAS, TEST_CLIENT_CERTIFICATE_ALIAS, + TEST_CLIENT_PRIVATE_KEY_ALIAS)); // Serialize data for user store. when(mDataSource.getProviders()).thenReturn(providerList); 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 cea1c172d..70ae354b9 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java @@ -109,6 +109,7 @@ public class PasspointManagerTest { private static final int TEST_ANQP_DOMAIN_ID = 0; private static final ANQPNetworkKey TEST_ANQP_KEY = ANQPNetworkKey.buildKey( TEST_SSID, TEST_BSSID, TEST_HESSID, TEST_ANQP_DOMAIN_ID); + private static final int TEST_CREATOR_UID = 1234; @Mock Context mContext; @Mock WifiNative mWifiNative; @@ -251,8 +252,8 @@ public class PasspointManagerTest { PasspointConfiguration config = createTestConfigWithUserCredential(); PasspointProvider provider = createMockProvider(config); when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore), - eq(mSimAccessor), anyLong())).thenReturn(provider); - assertTrue(mManager.addOrUpdateProvider(config)); + eq(mSimAccessor), anyLong(), eq(TEST_CREATOR_UID))).thenReturn(provider); + assertTrue(mManager.addOrUpdateProvider(config, TEST_CREATOR_UID)); return provider; } @@ -434,7 +435,7 @@ public class PasspointManagerTest { */ @Test public void addProviderWithNullConfig() throws Exception { - assertFalse(mManager.addOrUpdateProvider(null)); + assertFalse(mManager.addOrUpdateProvider(null, TEST_CREATOR_UID)); } /** @@ -444,7 +445,7 @@ public class PasspointManagerTest { */ @Test public void addProviderWithEmptyConfig() throws Exception { - assertFalse(mManager.addOrUpdateProvider(new PasspointConfiguration())); + assertFalse(mManager.addOrUpdateProvider(new PasspointConfiguration(), TEST_CREATOR_UID)); } /** @@ -458,7 +459,7 @@ public class PasspointManagerTest { PasspointConfiguration config = createTestConfigWithUserCredential(); // EAP-TLS not allowed for user credential. config.getCredential().getUserCredential().setEapType(EAPConstants.EAP_TLS); - assertFalse(mManager.addOrUpdateProvider(config)); + assertFalse(mManager.addOrUpdateProvider(config, TEST_CREATOR_UID)); } /** @@ -471,8 +472,8 @@ public class PasspointManagerTest { PasspointConfiguration config = createTestConfigWithUserCredential(); PasspointProvider provider = createMockProvider(config); when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore), - eq(mSimAccessor), anyLong())).thenReturn(provider); - assertTrue(mManager.addOrUpdateProvider(config)); + eq(mSimAccessor), anyLong(), eq(TEST_CREATOR_UID))).thenReturn(provider); + assertTrue(mManager.addOrUpdateProvider(config, TEST_CREATOR_UID)); verifyInstalledConfig(config); verify(mWifiConfigManager).saveToStore(true); reset(mWifiConfigManager); @@ -506,8 +507,8 @@ public class PasspointManagerTest { PasspointConfiguration config = createTestConfigWithSimCredential(); PasspointProvider provider = createMockProvider(config); when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore), - eq(mSimAccessor), anyLong())).thenReturn(provider); - assertTrue(mManager.addOrUpdateProvider(config)); + eq(mSimAccessor), anyLong(), eq(TEST_CREATOR_UID))).thenReturn(provider); + assertTrue(mManager.addOrUpdateProvider(config, TEST_CREATOR_UID)); verifyInstalledConfig(config); verify(mWifiConfigManager).saveToStore(true); reset(mWifiConfigManager); @@ -544,8 +545,8 @@ public class PasspointManagerTest { PasspointConfiguration origConfig = createTestConfigWithSimCredential(); PasspointProvider origProvider = createMockProvider(origConfig); when(mObjectFactory.makePasspointProvider(eq(origConfig), eq(mWifiKeyStore), - eq(mSimAccessor), anyLong())).thenReturn(origProvider); - assertTrue(mManager.addOrUpdateProvider(origConfig)); + eq(mSimAccessor), anyLong(), eq(TEST_CREATOR_UID))).thenReturn(origProvider); + assertTrue(mManager.addOrUpdateProvider(origConfig, TEST_CREATOR_UID)); verifyInstalledConfig(origConfig); verify(mWifiConfigManager).saveToStore(true); reset(mWifiConfigManager); @@ -561,8 +562,8 @@ public class PasspointManagerTest { PasspointConfiguration newConfig = createTestConfigWithUserCredential(); PasspointProvider newProvider = createMockProvider(newConfig); when(mObjectFactory.makePasspointProvider(eq(newConfig), eq(mWifiKeyStore), - eq(mSimAccessor), anyLong())).thenReturn(newProvider); - assertTrue(mManager.addOrUpdateProvider(newConfig)); + eq(mSimAccessor), anyLong(), eq(TEST_CREATOR_UID))).thenReturn(newProvider); + assertTrue(mManager.addOrUpdateProvider(newConfig, TEST_CREATOR_UID)); verifyInstalledConfig(newConfig); verify(mWifiConfigManager).saveToStore(true); @@ -585,8 +586,8 @@ public class PasspointManagerTest { PasspointProvider provider = mock(PasspointProvider.class); when(provider.installCertsAndKeys()).thenReturn(false); when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore), - eq(mSimAccessor), anyLong())).thenReturn(provider); - assertFalse(mManager.addOrUpdateProvider(config)); + eq(mSimAccessor), anyLong(), eq(TEST_CREATOR_UID))).thenReturn(provider); + assertFalse(mManager.addOrUpdateProvider(config, TEST_CREATOR_UID)); } /** @@ -599,7 +600,7 @@ public class PasspointManagerTest { PasspointConfiguration config = createTestConfigWithUserCredential(); doThrow(new GeneralSecurityException()) .when(mCertVerifier).verifyCaCert(any(X509Certificate.class)); - assertFalse(mManager.addOrUpdateProvider(config)); + assertFalse(mManager.addOrUpdateProvider(config, TEST_CREATOR_UID)); } /** @@ -614,8 +615,8 @@ public class PasspointManagerTest { config.setUpdateIdentifier(1); PasspointProvider provider = createMockProvider(config); when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore), - eq(mSimAccessor), anyLong())).thenReturn(provider); - assertTrue(mManager.addOrUpdateProvider(config)); + eq(mSimAccessor), anyLong(), eq(TEST_CREATOR_UID))).thenReturn(provider); + assertTrue(mManager.addOrUpdateProvider(config, TEST_CREATOR_UID)); verify(mCertVerifier, never()).verifyCaCert(any(X509Certificate.class)); verifyInstalledConfig(config); } @@ -849,8 +850,8 @@ public class PasspointManagerTest { PasspointProvider provider = createMockProvider(config); // Verify the provider ID used to create the new provider. when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore), - eq(mSimAccessor), eq(providerIndex))).thenReturn(provider); - assertTrue(mManager.addOrUpdateProvider(config)); + eq(mSimAccessor), eq(providerIndex), eq(TEST_CREATOR_UID))).thenReturn(provider); + assertTrue(mManager.addOrUpdateProvider(config, TEST_CREATOR_UID)); verifyInstalledConfig(config); verify(mWifiConfigManager).saveToStore(true); reset(mWifiConfigManager); 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 afa04b549..c416a961a 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java @@ -67,6 +67,7 @@ import java.util.Set; @SmallTest public class PasspointProviderTest { private static final long PROVIDER_ID = 12L; + private static final int CREATOR_UID = 1234; private static final String CA_CERTIFICATE_NAME = "CACERT_HS2_12"; private static final String CLIENT_CERTIFICATE_NAME = "USRCERT_HS2_12"; private static final String CLIENT_PRIVATE_KEY_NAME = "USRPKEY_HS2_12"; @@ -91,7 +92,7 @@ public class PasspointProviderTest { * @return {@link com.android.server.wifi.hotspot2.PasspointProvider} */ private PasspointProvider createProvider(PasspointConfiguration config) { - return new PasspointProvider(config, mKeyStore, mSimAccessor, PROVIDER_ID); + return new PasspointProvider(config, mKeyStore, mSimAccessor, PROVIDER_ID, CREATOR_UID); } /** |