diff options
author | David Su <dysu@google.com> | 2019-05-30 16:29:02 -0700 |
---|---|---|
committer | David Su <dysu@google.com> | 2019-05-31 16:13:27 -0700 |
commit | 2662a47382b0a74aea747bcdb0b8041d7bc1d8fa (patch) | |
tree | 8281edf3bfa2a5ced6ccd42a4878c23ae9e22700 /tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java | |
parent | d347f084ac4b935a376425e322b0fc8000e61d29 (diff) | |
download | android_frameworks_opt_net_wifi-2662a47382b0a74aea747bcdb0b8041d7bc1d8fa.tar.gz android_frameworks_opt_net_wifi-2662a47382b0a74aea747bcdb0b8041d7bc1d8fa.tar.bz2 android_frameworks_opt_net_wifi-2662a47382b0a74aea747bcdb0b8041d7bc1d8fa.zip |
Fix manual connection to Carrier Wifi
Fixed to conform to encrypted IMSI protocol even
when user manually connected to a network.
Previously only auto-connection worked correctly.
Bug: 134094526
Test: Manually connect to Carrier Wifi network
Test: Auto-connect to Carrier Wifi network
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I1ac5c2083d12e671a4ca89e93e7955c64197b522
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java index 597ccae7b..e839796c9 100644 --- a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java +++ b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java @@ -103,7 +103,6 @@ import com.android.server.wifi.nano.WifiMetricsProto.StaEvent; import com.android.server.wifi.nano.WifiMetricsProto.WifiIsUnusableEvent; import com.android.server.wifi.nano.WifiMetricsProto.WifiUsabilityStats; import com.android.server.wifi.p2p.WifiP2pServiceImpl; -import com.android.server.wifi.util.TelephonyUtil; import com.android.server.wifi.util.WifiPermissionsUtil; import com.android.server.wifi.util.WifiPermissionsWrapper; @@ -1022,17 +1021,20 @@ public class ClientModeImplTest { WifiEnterpriseConfig.Eap.SIM, WifiEnterpriseConfig.Phase2.NONE)); when(mDataTelephonyManager.getSimOperator()).thenReturn("123456"); when(mDataTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_READY); - String expectedAnonymousIdentity = TelephonyUtil.getAnonymousIdentityWith3GppRealm( - mTelephonyManager); - // we are using anonymous@<realm> as our anonymous identity before connection - mConnectedNetwork.enterpriseConfig.setAnonymousIdentity(expectedAnonymousIdentity); + mConnectedNetwork.enterpriseConfig.setAnonymousIdentity(""); - triggerConnect(); + String expectedAnonymousIdentity = "anonymous@wlan.mnc456.mcc123.3gppnetwork.org"; when(mCarrierNetworkConfig.isCarrierEncryptionInfoAvailable()).thenReturn(true); + + triggerConnect(); + + // CMD_START_CONNECT should have set anonymousIdentity to anonymous@<realm> + assertEquals(expectedAnonymousIdentity, + mConnectedNetwork.enterpriseConfig.getAnonymousIdentity()); + when(mWifiConfigManager.getScanDetailCacheForNetwork(FRAMEWORK_NETWORK_ID)) .thenReturn(mScanDetailCache); - when(mScanDetailCache.getScanDetail(sBSSID)).thenReturn( getGoogleGuestScanDetail(TEST_RSSI, sBSSID, sFreq)); when(mScanDetailCache.getScanResult(sBSSID)).thenReturn( @@ -3537,4 +3539,29 @@ public class ClientModeImplTest { assertNotNull( mCmi.syncGetWifiConfigsForPasspointProfiles(null, mNullAsyncChannel)); } + + /** + * Tests that when {@link ClientModeImpl} receives a SUP_REQUEST_IDENTITY message, it responds + * to the supplicant with the SIM identity. + */ + @Test + public void testSupRequestIdentity_setsIdentityResponse() throws Exception { + mConnectedNetwork = spy(WifiConfigurationTestUtil.createEapNetwork( + WifiEnterpriseConfig.Eap.SIM, WifiEnterpriseConfig.Phase2.NONE)); + mConnectedNetwork.SSID = DEFAULT_TEST_SSID; + + when(mDataTelephonyManager.getSubscriberId()).thenReturn("3214561234567890"); + when(mDataTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_READY); + when(mDataTelephonyManager.getSimOperator()).thenReturn("321456"); + when(mDataTelephonyManager.getCarrierInfoForImsiEncryption(anyInt())).thenReturn(null); + + triggerConnect(); + + mCmi.sendMessage(WifiMonitor.SUP_REQUEST_IDENTITY, + 0, FRAMEWORK_NETWORK_ID, DEFAULT_TEST_SSID); + mLooper.dispatchAll(); + + verify(mWifiNative).simIdentityResponse(WIFI_IFACE_NAME, FRAMEWORK_NETWORK_ID, + "13214561234567890@wlan.mnc456.mcc321.3gppnetwork.org", ""); + } } |