summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2020-05-28 10:29:25 -0700
committerRoshan Pius <rpius@google.com>2020-05-28 18:46:41 +0000
commite8c065166a74a62ce5ed0533e997e3a63cab6ae9 (patch)
tree679bc7b47ef7eaa1b3f0feb2727112e9a24eeec7 /service
parent819407400d52526b8f392e5842e3ddd3059558a9 (diff)
WifiBackupRestore: Parse auth_alg from supplicant backup data
This is the legacy Pre-O backup format. Add parsing support for auth algorithm field. Bug: 151702376 Test: atest com.android.server.wifi Change-Id: I271af411560808714222726c27bf1f8aa56bc30f
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/WifiBackupRestore.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/WifiBackupRestore.java b/service/java/com/android/server/wifi/WifiBackupRestore.java
index c55236ee4..ab46bb62f 100644
--- a/service/java/com/android/server/wifi/WifiBackupRestore.java
+++ b/service/java/com/android/server/wifi/WifiBackupRestore.java
@@ -466,6 +466,8 @@ public class WifiBackupRestore {
public static final String SUPPLICANT_KEY_SSID = WifiConfiguration.ssidVarName;
public static final String SUPPLICANT_KEY_HIDDEN = WifiConfiguration.hiddenSSIDVarName;
public static final String SUPPLICANT_KEY_KEY_MGMT = WifiConfiguration.KeyMgmt.varName;
+ public static final String SUPPLICANT_KEY_AUTH_ALG =
+ WifiConfiguration.AuthAlgorithm.varName;
public static final String SUPPLICANT_KEY_CLIENT_CERT =
WifiEnterpriseConfig.CLIENT_CERT_KEY;
public static final String SUPPLICANT_KEY_CA_CERT = WifiEnterpriseConfig.CA_CERT_KEY;
@@ -535,6 +537,7 @@ public class WifiBackupRestore {
private String mParsedSSIDLine;
private String mParsedHiddenLine;
private String mParsedKeyMgmtLine;
+ private String mParsedAuthAlgLine;
private String mParsedPskLine;
private String[] mParsedWepKeyLines = new String[4];
private String mParsedWepTxKeyIdxLine;
@@ -581,6 +584,8 @@ public class WifiBackupRestore {
if (line.contains("EAP")) {
isEap = true;
}
+ } else if (line.startsWith(SUPPLICANT_KEY_AUTH_ALG + "=")) {
+ mParsedAuthAlgLine = line;
} else if (line.startsWith(SUPPLICANT_KEY_CLIENT_CERT + "=")) {
certUsed = true;
} else if (line.startsWith(SUPPLICANT_KEY_CA_CERT + "=")) {
@@ -660,6 +665,16 @@ public class WifiBackupRestore {
}
}
}
+ if (mParsedAuthAlgLine != null) {
+ if (mParsedAuthAlgLine.contains("OPEN")) {
+ configuration.allowedAuthAlgorithms.set(
+ WifiConfiguration.AuthAlgorithm.OPEN);
+ }
+ if (mParsedAuthAlgLine.contains("SHARED")) {
+ configuration.allowedAuthAlgorithms.set(
+ WifiConfiguration.AuthAlgorithm.SHARED);
+ }
+ }
if (mParsedPskLine != null) {
configuration.preSharedKey =
mParsedPskLine.substring(mParsedPskLine.indexOf('=') + 1);