Prevent multicast addresses in static Wifi config.

Change-Id: I1961b10d67d322fb863620813fe9039b63bb7895
This commit is contained in:
Pierre Imai
2016-03-29 16:04:47 +09:00
parent 7e7f82acf5
commit 47f67c1ff7

View File

@@ -682,7 +682,7 @@ public class WifiConfigController implements TextWatcher,
if (TextUtils.isEmpty(ipAddr)) return R.string.wifi_ip_settings_invalid_ip_address; if (TextUtils.isEmpty(ipAddr)) return R.string.wifi_ip_settings_invalid_ip_address;
Inet4Address inetAddr = getIPv4Address(ipAddr); Inet4Address inetAddr = getIPv4Address(ipAddr);
if (inetAddr == null) { if (inetAddr == null || inetAddr.equals(Inet4Address.ANY)) {
return R.string.wifi_ip_settings_invalid_ip_address; return R.string.wifi_ip_settings_invalid_ip_address;
} }
@@ -697,6 +697,8 @@ public class WifiConfigController implements TextWatcher,
// Set the hint as default after user types in ip address // Set the hint as default after user types in ip address
mNetworkPrefixLengthView.setText(mConfigUi.getContext().getString( mNetworkPrefixLengthView.setText(mConfigUi.getContext().getString(
R.string.wifi_network_prefix_length_hint)); R.string.wifi_network_prefix_length_hint));
} catch (IllegalArgumentException e) {
return R.string.wifi_ip_settings_invalid_ip_address;
} }
String gateway = mGatewayView.getText().toString(); String gateway = mGatewayView.getText().toString();
@@ -715,6 +717,9 @@ public class WifiConfigController implements TextWatcher,
if (gatewayAddr == null) { if (gatewayAddr == null) {
return R.string.wifi_ip_settings_invalid_gateway; return R.string.wifi_ip_settings_invalid_gateway;
} }
if (gatewayAddr.isMulticastAddress()) {
return R.string.wifi_ip_settings_invalid_gateway;
}
staticIpConfiguration.gateway = gatewayAddr; staticIpConfiguration.gateway = gatewayAddr;
} }