summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRebecca Silberstein <silberst@google.com>2017-01-05 13:27:51 -0800
committerRebecca Silberstein <silberst@google.com>2017-01-05 14:02:31 -0800
commitc4d0de0346332a43155580c28097c3bdc9976875 (patch)
tree4141719775f64b6bb1a5eafa91c80c141b89054d
parent02938a0a735da7fafaaed84e31e1aa93cdf80a56 (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.java11
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiApConfigStoreTest.java8
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));
}