diff options
author | Robert Greenwalt <rgreenwalt@google.com> | 2013-03-15 10:48:46 -0700 |
---|---|---|
committer | Robert Greenwalt <rgreenwalt@google.com> | 2013-03-15 10:48:46 -0700 |
commit | 28cdf1dc222e27b11902bfb15a49331fd800cd87 (patch) | |
tree | 61c19cda8c11a941cd93e4ff336bb7dc3e4b0778 | |
parent | e78aa8964766e5e2a9684de13176b08b7bd09e06 (diff) | |
download | frameworks_base-28cdf1dc222e27b11902bfb15a49331fd800cd87.zip frameworks_base-28cdf1dc222e27b11902bfb15a49331fd800cd87.tar.gz frameworks_base-28cdf1dc222e27b11902bfb15a49331fd800cd87.tar.bz2 |
Don't update routes if Dhcp fails.
bug:8377625
Change-Id: I11d2c29728078813bfb1245cc46e8cce2b307a2c
-rw-r--r-- | core/java/android/net/DhcpStateMachine.java | 2 | ||||
-rw-r--r-- | core/jni/android_net_NetUtils.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/net/DhcpStateMachine.java b/core/java/android/net/DhcpStateMachine.java index 518dd4b..0906c81 100644 --- a/core/java/android/net/DhcpStateMachine.java +++ b/core/java/android/net/DhcpStateMachine.java @@ -359,7 +359,7 @@ public class DhcpStateMachine extends StateMachine { } else if (dhcpAction == DhcpAction.RENEW) { if (DBG) Log.d(TAG, "DHCP renewal on " + mInterfaceName); success = NetworkUtils.runDhcpRenew(mInterfaceName, dhcpResults); - dhcpResults.updateFromDhcpRequest(mDhcpResults); + if (success) dhcpResults.updateFromDhcpRequest(mDhcpResults); } if (success) { if (DBG) Log.d(TAG, "DHCP succeeded on " + mInterfaceName); diff --git a/core/jni/android_net_NetUtils.cpp b/core/jni/android_net_NetUtils.cpp index f5f22b2..faae11e 100644 --- a/core/jni/android_net_NetUtils.cpp +++ b/core/jni/android_net_NetUtils.cpp @@ -136,6 +136,10 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr result = ::dhcp_do_request(nameStr, ipaddr, gateway, &prefixLength, dns, server, &lease, vendorInfo, domains); } + if (result != 0) { + ALOGD("dhcp_do_request failed"); + } + env->ReleaseStringUTFChars(ifname, nameStr); if (result == 0) { env->CallVoidMethod(dhcpResults, dhcpResultsFieldIds.clear); |