diff options
author | Etan Cohen <etancohen@google.com> | 2017-06-08 05:26:13 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-06-08 05:26:14 +0000 |
commit | 0419ded5c1e245358b205efee2599c58f894616c (patch) | |
tree | f4f9b821e09b98fd4fc0f9435d5707465c3efe42 /service | |
parent | dc3aa10677780c04a32542d1950b6be7e6a4cd42 (diff) | |
parent | 46f30cdced5319c794b3f5d4afd3f6794264718d (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.java | 16 |
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) |