[OWE] Support OWE in transition mode
Support OWE in transition mode for devices with OWE support and devices without OWE support. Scan results will return a new type of network for OWE in transition networks on devices that support OWE, and Open for devices that don't support OWE. Handle the case where Open network is manually added to a device that supports OWE. Bug: 132139642 Test: Device with OWE: Connect to Open, OWE-Transition, OWE networks Test: Device without OWE: Connect to Open, OWE-Transition Test: Manually create Open network, connect to OWE-Transition Change-Id: I1a584ccbfec8507803c527ea13933cff6f699ccb
This commit is contained in:
@@ -582,9 +582,11 @@ public class WifiConfigController implements TextWatcher,
|
||||
}
|
||||
|
||||
/**
|
||||
* Special handling for WPA2/WPA3 in Transition mode: The key SECURITY_PSK_SAE_TRANSITION is
|
||||
* a pseudo key which results by the scan results, but never appears in the saved networks.
|
||||
* A saved network is either WPA3 for supporting devices or WPA2 for non-supporting devices.
|
||||
* Special handling for WPA2/WPA3 and OWE in Transition mode: The key
|
||||
* SECURITY_PSK_SAE_TRANSITION and SECURITY_OWE_TRANSITION are pseudo keys which result by the
|
||||
* scan results, but never appears in the saved networks.
|
||||
* A saved network is either WPA3 for supporting devices or WPA2 for non-supporting devices,
|
||||
* or, OWE for supporting devices or Open for non-supporting devices.
|
||||
*
|
||||
* @param accessPointSecurity Access point current security type
|
||||
* @return Converted security type (if required)
|
||||
@@ -597,6 +599,14 @@ public class WifiConfigController implements TextWatcher,
|
||||
return AccessPoint.SECURITY_PSK;
|
||||
}
|
||||
}
|
||||
if (accessPointSecurity == AccessPoint.SECURITY_OWE_TRANSITION) {
|
||||
if (mWifiManager.isEnhancedOpenSupported()) {
|
||||
return AccessPoint.SECURITY_OWE;
|
||||
} else {
|
||||
return AccessPoint.SECURITY_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
return accessPointSecurity;
|
||||
}
|
||||
|
||||
@@ -948,7 +958,8 @@ public class WifiConfigController implements TextWatcher,
|
||||
|
||||
private void showSecurityFields() {
|
||||
if (mAccessPointSecurity == AccessPoint.SECURITY_NONE ||
|
||||
mAccessPointSecurity == AccessPoint.SECURITY_OWE) {
|
||||
mAccessPointSecurity == AccessPoint.SECURITY_OWE ||
|
||||
mAccessPointSecurity == AccessPoint.SECURITY_OWE_TRANSITION) {
|
||||
mView.findViewById(R.id.security_fields).setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
|
@@ -494,7 +494,9 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
if (isSavedNetwork) {
|
||||
connect(mSelectedAccessPoint.getConfig(), isSavedNetwork);
|
||||
} else if ((mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE) ||
|
||||
(mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_OWE)) {
|
||||
(mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_OWE) ||
|
||||
(mSelectedAccessPoint.getSecurity()
|
||||
== AccessPoint.SECURITY_OWE_TRANSITION)) {
|
||||
/** Bypass dialog for unsecured networks */
|
||||
mSelectedAccessPoint.generateOpenNetworkConfig();
|
||||
connect(mSelectedAccessPoint.getConfig(), isSavedNetwork);
|
||||
@@ -748,7 +750,8 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
preference.setOrder(index);
|
||||
if (mOpenSsid != null && mOpenSsid.equals(accessPoint.getSsidStr())
|
||||
&& (accessPoint.getSecurity() != AccessPoint.SECURITY_NONE &&
|
||||
accessPoint.getSecurity() != AccessPoint.SECURITY_OWE)) {
|
||||
accessPoint.getSecurity() != AccessPoint.SECURITY_OWE &&
|
||||
accessPoint.getSecurity() != AccessPoint.SECURITY_OWE_TRANSITION)) {
|
||||
if (!accessPoint.isSaved() || isDisabledByWrongPassword(accessPoint)) {
|
||||
onPreferenceTreeClick(preference);
|
||||
mOpenSsid = null;
|
||||
|
@@ -268,7 +268,8 @@ public class WifiUtils {
|
||||
if (accessPoint.isOsuProvider()) {
|
||||
return CONNECT_TYPE_OSU_PROVISION;
|
||||
} else if ((accessPoint.getSecurity() == AccessPoint.SECURITY_NONE) ||
|
||||
(accessPoint.getSecurity() == AccessPoint.SECURITY_OWE)) {
|
||||
(accessPoint.getSecurity() == AccessPoint.SECURITY_OWE) ||
|
||||
(accessPoint.getSecurity() == AccessPoint.SECURITY_OWE_TRANSITION)) {
|
||||
return CONNECT_TYPE_OPEN_NETWORK;
|
||||
} else if (accessPoint.isSaved() && config != null
|
||||
&& config.getNetworkSelectionStatus() != null
|
||||
|
Reference in New Issue
Block a user