summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorEtan Cohen <etancohen@google.com>2017-06-08 05:26:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-06-08 05:26:14 +0000
commit0419ded5c1e245358b205efee2599c58f894616c (patch)
treef4f9b821e09b98fd4fc0f9435d5707465c3efe42 /service
parentdc3aa10677780c04a32542d1950b6be7e6a4cd42 (diff)
parent46f30cdced5319c794b3f5d4afd3f6794264718d (diff)
Merge "[AWARE] Add length checks on PMK/Passphrase" into oc-dr1-dev
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java b/service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java
index d1f009a8d..61af09702 100644
--- a/service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java
+++ b/service/java/com/android/server/wifi/aware/WifiAwareDataPathStateManager.java
@@ -34,10 +34,12 @@ import android.net.NetworkSpecifier;
import android.net.RouteInfo;
import android.net.wifi.aware.WifiAwareManager;
import android.net.wifi.aware.WifiAwareNetworkSpecifier;
+import android.net.wifi.aware.WifiAwareUtils;
import android.os.IBinder;
import android.os.INetworkManagementService;
import android.os.Looper;
import android.os.ServiceManager;
+import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Log;
@@ -934,6 +936,20 @@ public class WifiAwareDataPathStateManager {
}
}
+ // validate passphrase & PMK (if provided)
+ if (!TextUtils.isEmpty(ns.passphrase)) { // non-null indicates usage
+ if (!WifiAwareUtils.validatePassphrase(ns.passphrase)) {
+ Log.e(TAG, "processNetworkSpecifier: networkSpecifier=" + ns.toString()
+ + " -- invalid passphrase length: " + ns.passphrase.length());
+ return null;
+ }
+ }
+ if (ns.pmk != null && !WifiAwareUtils.validatePmk(ns.pmk)) { // non-null indicates usage
+ Log.e(TAG, "processNetworkSpecifier: networkSpecifier=" + ns.toString()
+ + " -- invalid pmk length: " + ns.pmk.length);
+ return null;
+ }
+
// create container and populate
AwareNetworkRequestInformation nnri = new AwareNetworkRequestInformation();
nnri.state = (ns.role == WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_INITIATOR)