diff options
Diffstat (limited to 'service/java/com/android/server/wifi/hotspot2/anqp/eap/NonEAPInnerAuth.java')
-rw-r--r-- | service/java/com/android/server/wifi/hotspot2/anqp/eap/NonEAPInnerAuth.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/hotspot2/anqp/eap/NonEAPInnerAuth.java b/service/java/com/android/server/wifi/hotspot2/anqp/eap/NonEAPInnerAuth.java index 1afe0d099..b69339315 100644 --- a/service/java/com/android/server/wifi/hotspot2/anqp/eap/NonEAPInnerAuth.java +++ b/service/java/com/android/server/wifi/hotspot2/anqp/eap/NonEAPInnerAuth.java @@ -21,6 +21,8 @@ import com.android.internal.annotations.VisibleForTesting; import java.net.ProtocolException; import java.nio.BufferUnderflowException; import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.Map; /** * The Non-EAP Inner Authentication Type authentication parameter, IEEE802.11-2012, table 8-188. @@ -30,11 +32,20 @@ import java.nio.ByteBuffer; * 1 */ public class NonEAPInnerAuth extends AuthParam { + public static final int AUTH_TYPE_UNKNOWN = 0; public static final int AUTH_TYPE_PAP = 1; public static final int AUTH_TYPE_CHAP = 2; public static final int AUTH_TYPE_MSCHAP = 3; public static final int AUTH_TYPE_MSCHAPV2 = 4; + private static final Map<String, Integer> AUTH_TYPE_MAP = new HashMap<>(); + static { + AUTH_TYPE_MAP.put("PAP", AUTH_TYPE_PAP); + AUTH_TYPE_MAP.put("CHAP", AUTH_TYPE_CHAP); + AUTH_TYPE_MAP.put("MS-CHAP", AUTH_TYPE_MSCHAP); + AUTH_TYPE_MAP.put("MS-CHAP-V2", AUTH_TYPE_MSCHAPV2); + } + @VisibleForTesting public static final int EXPECTED_LENGTH_VALUE = 1; @@ -61,6 +72,19 @@ public class NonEAPInnerAuth extends AuthParam { return new NonEAPInnerAuth(authType); } + /** + * Convert an authentication type string to an integer representation. + * + * @param typeStr The string of authentication type + * @return int + */ + public static int getAuthTypeID(String typeStr) { + if (AUTH_TYPE_MAP.containsKey(typeStr)) { + return AUTH_TYPE_MAP.get(typeStr).intValue(); + } + return AUTH_TYPE_UNKNOWN; + } + @Override public boolean equals(Object thatObject) { if (thatObject == this) { |