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

Commit a66a4a0d authored by Weng Su's avatar Weng Su Committed by Android (Google) Code Review
Browse files

Merge "Checks WEP password lengths of Wi-Fi network" into main

parents d1b3691f 1cd3b6f2
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -514,6 +514,12 @@ public class WifiConfigController2 implements TextWatcher,
        submit.setEnabled(isSubmittable());
    }

    boolean isValidWepPassword(String password) {
        // Checks for WEP40 and WEP104 password lengths (5 and 13 bytes)
        int passwordLen = (password != null) ? password.length() : -1;
        return passwordLen == 5 || passwordLen == 13;
    }

    boolean isValidPsk(String password) {
        if (password.length() == 64 && password.matches("[0-9A-Fa-f]{64}")) {
            return true;
@@ -535,7 +541,7 @@ public class WifiConfigController2 implements TextWatcher,
        boolean passwordInvalid = false;
        if (mPasswordView != null
                && ((mWifiEntrySecurity == WifiEntry.SECURITY_WEP
                        && mPasswordView.length() == 0)
                        && !isValidWepPassword(mPasswordView.getText().toString()))
                    || (mWifiEntrySecurity == WifiEntry.SECURITY_PSK
                           && !isValidPsk(mPasswordView.getText().toString()))
                    || (mWifiEntrySecurity == WifiEntry.SECURITY_SAE
+33 −0
Original line number Diff line number Diff line
@@ -202,6 +202,39 @@ public class WifiConfigController2Test {
        assertThat(mController.isSubmittable()).isFalse();
    }

    @Test
    public void isSubmittable_wepPasswordLength5_returnTrue() {
        when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_WEP);
        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
        final TextView password = mView.findViewById(R.id.password);
        assertThat(password).isNotNull();
        password.setText("12345");

        assertThat(mController.isSubmittable()).isTrue();
    }

    @Test
    public void isSubmittable_wepPasswordLength13_returnTrue() {
        when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_WEP);
        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
        final TextView password = mView.findViewById(R.id.password);
        assertThat(password).isNotNull();
        password.setText("1234567890123");

        assertThat(mController.isSubmittable()).isTrue();
    }

    @Test
    public void isSubmittable_wepPasswordLength1_returnFalse() {
        when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_WEP);
        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
        final TextView password = mView.findViewById(R.id.password);
        assertThat(password).isNotNull();
        password.setText("1");

        assertThat(mController.isSubmittable()).isFalse();
    }

    @Test
    public void isSubmittable_longPsk_shouldReturnFalse() {
        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);