Merge "Checks WEP password lengths of Wi-Fi network" into main
This commit is contained in:
@@ -514,6 +514,12 @@ public class WifiConfigController2 implements TextWatcher,
|
|||||||
submit.setEnabled(isSubmittable());
|
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) {
|
boolean isValidPsk(String password) {
|
||||||
if (password.length() == 64 && password.matches("[0-9A-Fa-f]{64}")) {
|
if (password.length() == 64 && password.matches("[0-9A-Fa-f]{64}")) {
|
||||||
return true;
|
return true;
|
||||||
@@ -535,7 +541,7 @@ public class WifiConfigController2 implements TextWatcher,
|
|||||||
boolean passwordInvalid = false;
|
boolean passwordInvalid = false;
|
||||||
if (mPasswordView != null
|
if (mPasswordView != null
|
||||||
&& ((mWifiEntrySecurity == WifiEntry.SECURITY_WEP
|
&& ((mWifiEntrySecurity == WifiEntry.SECURITY_WEP
|
||||||
&& mPasswordView.length() == 0)
|
&& !isValidWepPassword(mPasswordView.getText().toString()))
|
||||||
|| (mWifiEntrySecurity == WifiEntry.SECURITY_PSK
|
|| (mWifiEntrySecurity == WifiEntry.SECURITY_PSK
|
||||||
&& !isValidPsk(mPasswordView.getText().toString()))
|
&& !isValidPsk(mPasswordView.getText().toString()))
|
||||||
|| (mWifiEntrySecurity == WifiEntry.SECURITY_SAE
|
|| (mWifiEntrySecurity == WifiEntry.SECURITY_SAE
|
||||||
|
@@ -202,6 +202,39 @@ public class WifiConfigController2Test {
|
|||||||
assertThat(mController.isSubmittable()).isFalse();
|
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
|
@Test
|
||||||
public void isSubmittable_longPsk_shouldReturnFalse() {
|
public void isSubmittable_longPsk_shouldReturnFalse() {
|
||||||
createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
|
createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
|
||||||
|
Reference in New Issue
Block a user