Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3bb2a810 authored by Les Lee's avatar Les Lee
Browse files

wifi setting: Add psk length check

Frameworks move psk ascii password length check from API level to
framework internal. Add the check code in Setting side to avoid breaking
the unit test.

Bug: 223513510
Test: atest -c WifiUtilsTest
Change-Id: I7c78eb367fdcbbc11bbb7169ba8f2edc720ad071
parent a92e6d89
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@ public class WifiUtils extends com.android.settingslib.wifi.WifiUtils {
    private static final int SSID_ASCII_MIN_LENGTH = 1;
    private static final int SSID_ASCII_MAX_LENGTH = 32;

    private static final int PSK_PASSPHRASE_ASCII_MIN_LENGTH = 8;
    private static final int PSK_PASSPHRASE_ASCII_MAX_LENGTH = 63;

    public static boolean isSSIDTooLong(String ssid) {
        if (TextUtils.isEmpty(ssid)) {
@@ -62,6 +64,13 @@ public class WifiUtils extends com.android.settingslib.wifi.WifiUtils {
    public static boolean isHotspotPasswordValid(String password, int securityType) {
        final SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder();
        try {
            if (securityType == SoftApConfiguration.SECURITY_TYPE_WPA2_PSK
                    || securityType == SoftApConfiguration.SECURITY_TYPE_WPA3_SAE_TRANSITION) {
                if (password.length() < PSK_PASSPHRASE_ASCII_MIN_LENGTH
                        || password.length() > PSK_PASSPHRASE_ASCII_MAX_LENGTH) {
                    return false;
                }
            }
            configBuilder.setPassphrase(password, securityType);
        } catch (IllegalArgumentException e) {
            return false;