diff options
author | Glen Kuhne <kuh@google.com> | 2017-04-05 20:27:56 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-04-05 20:27:56 +0000 |
commit | 6b1209d5f2066d9f17074f2572333f29679d0e0b (patch) | |
tree | f72b66aa4f041871e3bcfbdcf6cd8ebf468fe18c /service | |
parent | 03e86a9700434d0a8938479610a4b091ed94dbdf (diff) | |
parent | a805f151c790272d2c016cf59b89b052981bb7ae (diff) |
Merge "Check validity of staticIpConfigurations" into oc-dev
am: a805f151c7
Change-Id: I60ff78aac5d429c4a828355d308b13c68b02aeaa
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/WifiServiceImpl.java | 11 | ||||
-rw-r--r-- | service/java/com/android/server/wifi/WifiStateMachine.java | 28 |
2 files changed, 21 insertions, 18 deletions
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java index e24f720db..a327fa7b1 100644 --- a/service/java/com/android/server/wifi/WifiServiceImpl.java +++ b/service/java/com/android/server/wifi/WifiServiceImpl.java @@ -42,8 +42,10 @@ import android.database.ContentObserver; import android.net.ConnectivityManager; import android.net.DhcpInfo; import android.net.DhcpResults; +import android.net.IpConfiguration; import android.net.Network; import android.net.NetworkUtils; +import android.net.StaticIpConfiguration; import android.net.Uri; import android.net.ip.IpManager; import android.net.wifi.IWifiManager; @@ -1804,6 +1806,15 @@ public class WifiServiceImpl extends IWifiManager.Stub { return "not PSK or 8021X"; } } + if (config.getIpAssignment() == IpConfiguration.IpAssignment.STATIC) { + StaticIpConfiguration staticIpConf = config.getStaticIpConfiguration(); + if (staticIpConf == null) { + return "null StaticIpConfiguration"; + } + if (staticIpConf.ipAddress == null) { + return "null static ip Address"; + } + } return null; } diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java index fb807b7a0..8f62288c8 100644 --- a/service/java/com/android/server/wifi/WifiStateMachine.java +++ b/service/java/com/android/server/wifi/WifiStateMachine.java @@ -5784,30 +5784,22 @@ public class WifiStateMachine extends StateMachine implements WifiNative.WifiRss if (!TextUtils.isEmpty(mTcpBufferSizes)) { mIpManager.setTcpBufferSizes(mTcpBufferSizes); } - + final IpManager.ProvisioningConfiguration prov; if (!isUsingStaticIp) { - final IpManager.ProvisioningConfiguration prov = - IpManager.buildProvisioningConfiguration() + prov = IpManager.buildProvisioningConfiguration() .withPreDhcpAction() .withApfCapabilities(mWifiNative.getApfCapabilities()) .build(); - mIpManager.startProvisioning(prov); - // Get Link layer stats so as we get fresh tx packet counters - getWifiLinkLayerStats(); } else { - StaticIpConfiguration config = currentConfig.getStaticIpConfiguration(); - if (config.ipAddress == null) { - logd("Static IP lacks address"); - sendMessage(CMD_IPV4_PROVISIONING_FAILURE); - } else { - final IpManager.ProvisioningConfiguration prov = - IpManager.buildProvisioningConfiguration() - .withStaticConfiguration(config) - .withApfCapabilities(mWifiNative.getApfCapabilities()) - .build(); - mIpManager.startProvisioning(prov); - } + StaticIpConfiguration staticIpConfig = currentConfig.getStaticIpConfiguration(); + prov = IpManager.buildProvisioningConfiguration() + .withStaticConfiguration(staticIpConfig) + .withApfCapabilities(mWifiNative.getApfCapabilities()) + .build(); } + mIpManager.startProvisioning(prov); + // Get Link layer stats so as we get fresh tx packet counters + getWifiLinkLayerStats(); } @Override |