diff options
author | Rebecca Silberstein <silberst@google.com> | 2017-01-05 13:27:51 -0800 |
---|---|---|
committer | Rebecca Silberstein <silberst@google.com> | 2017-01-05 14:02:31 -0800 |
commit | c4d0de0346332a43155580c28097c3bdc9976875 (patch) | |
tree | 4141719775f64b6bb1a5eafa91c80c141b89054d | |
parent | 02938a0a735da7fafaaed84e31e1aa93cdf80a56 (diff) |
WifiApConfigStore: randomize default soft ap SSID
Add a suffix to the default SSID for SoftAp configurations. This
results in the default SSID name (currently AndroidAP) followed by and
underscore and four randomized ints. The WifiApConfigStoreTest methods
were also updated to reflect this change.
Bug: 31076622
Test: manually tested with a newly flashed device
Test: frameworks/base/wifi/tests/runtests.sh
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: If3032ff97d76cbd0bf24950aeb01a9d30568496f
-rw-r--r-- | service/java/com/android/server/wifi/WifiApConfigStore.java | 11 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java | 8 |
2 files changed, 17 insertions, 2 deletions
diff --git a/service/java/com/android/server/wifi/WifiApConfigStore.java b/service/java/com/android/server/wifi/WifiApConfigStore.java index bcd8d03e9..4233f5834 100644 --- a/service/java/com/android/server/wifi/WifiApConfigStore.java +++ b/service/java/com/android/server/wifi/WifiApConfigStore.java @@ -32,6 +32,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; +import java.util.Random; import java.util.UUID; /** @@ -46,6 +47,9 @@ public class WifiApConfigStore { private static final int AP_CONFIG_FILE_VERSION = 2; + private static final int RAND_SSID_INT_MIN = 1000; + private static final int RAND_SSID_INT_MAX = 9999; + private WifiConfiguration mWifiApConfig = null; private ArrayList<Integer> mAllowed2GChannel = null; @@ -191,11 +195,16 @@ public class WifiApConfigStore { private WifiConfiguration getDefaultApConfiguration() { WifiConfiguration config = new WifiConfiguration(); config.SSID = mContext.getResources().getString( - R.string.wifi_tether_configure_ssid_default); + R.string.wifi_tether_configure_ssid_default) + "_" + getRandomIntForDefaultSsid(); config.allowedKeyManagement.set(KeyMgmt.WPA2_PSK); String randomUUID = UUID.randomUUID().toString(); //first 12 chars from xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx config.preSharedKey = randomUUID.substring(0, 8) + randomUUID.substring(9, 13); return config; } + + private int getRandomIntForDefaultSsid() { + Random random = new Random(); + return random.nextInt((RAND_SSID_INT_MAX - RAND_SSID_INT_MIN) + 1) + RAND_SSID_INT_MIN; + } } diff --git a/tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java b/tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java index a942a0828..42161fa54 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java @@ -49,6 +49,8 @@ public class WifiApConfigStoreTest { private static final String TEST_DEFAULT_2G_CHANNEL_LIST = "1,2,3,4,5,6"; private static final String TEST_DEFAULT_AP_SSID = "TestAP"; private static final String TEST_CONFIGURED_AP_SSID = "ConfiguredAP"; + private static final int RAND_SSID_INT_MIN = 1000; + private static final int RAND_SSID_INT_MAX = 9999; @Mock Context mContext; @Mock BackupManagerProxy mBackupManagerProxy; @@ -106,7 +108,11 @@ public class WifiApConfigStoreTest { } private void verifyDefaultApConfig(WifiConfiguration config) { - assertEquals(TEST_DEFAULT_AP_SSID, config.SSID); + String[] splitSsid = config.SSID.split("_"); + assertEquals(2, splitSsid.length); + assertEquals(TEST_DEFAULT_AP_SSID, splitSsid[0]); + int randomPortion = Integer.parseInt(splitSsid[1]); + assertTrue(randomPortion >= RAND_SSID_INT_MIN && randomPortion <= RAND_SSID_INT_MAX); assertTrue(config.allowedKeyManagement.get(KeyMgmt.WPA2_PSK)); } |