Loading core/java/android/net/DhcpResults.java +8 −5 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.net; import android.os.Parcelable; import android.os.Parcel; import android.text.TextUtils; import android.util.Log; import java.net.InetAddress; Loading Loading @@ -211,12 +212,14 @@ public class DhcpResults implements Parcelable { } public boolean addDns(String addrString) { if (TextUtils.isEmpty(addrString) == false) { try { linkProperties.addDns(NetworkUtils.numericToInetAddress(addrString)); } catch (IllegalArgumentException e) { Log.e(TAG, "addDns failed with addrString " + addrString); return true; } } return false; } Loading core/jni/android_net_NetUtils.cpp +18 −8 Original line number Diff line number Diff line Loading @@ -28,23 +28,21 @@ int ifc_enable(const char *ifname); int ifc_disable(const char *ifname); int ifc_reset_connections(const char *ifname, int reset_mask); int dhcp_do_request(const char *ifname, int dhcp_do_request(const char * const ifname, const char *ipaddr, const char *gateway, uint32_t *prefixLength, const char *dns1, const char *dns2, const char *dns[], const char *server, uint32_t *lease, const char *vendorInfo, const char *domains); int dhcp_do_request_renew(const char *ifname, int dhcp_do_request_renew(const char * const ifname, const char *ipaddr, const char *gateway, uint32_t *prefixLength, const char *dns1, const char *dns2, const char *dns[], const char *server, uint32_t *lease, const char *vendorInfo, Loading Loading @@ -120,6 +118,9 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr char gateway[PROPERTY_VALUE_MAX]; char dns1[PROPERTY_VALUE_MAX]; char dns2[PROPERTY_VALUE_MAX]; char dns3[PROPERTY_VALUE_MAX]; char dns4[PROPERTY_VALUE_MAX]; const char *dns[5] = {dns1, dns2, dns3, dns4, NULL}; char server[PROPERTY_VALUE_MAX]; uint32_t lease; char vendorInfo[PROPERTY_VALUE_MAX]; Loading @@ -130,10 +131,10 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr if (renew) { result = ::dhcp_do_request_renew(nameStr, ipaddr, gateway, &prefixLength, dns1, dns2, server, &lease, vendorInfo, domains); dns, server, &lease, vendorInfo, domains); } else { result = ::dhcp_do_request(nameStr, ipaddr, gateway, &prefixLength, dns1, dns2, server, &lease, vendorInfo, domains); dns, server, &lease, vendorInfo, domains); } env->ReleaseStringUTFChars(ifname, nameStr); if (result == 0) { Loading Loading @@ -168,6 +169,15 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr result = env->CallBooleanMethod(dhcpResults, dhcpResultsFieldIds.addDns, env->NewStringUTF(dns2)); if (result == 0) { result = env->CallBooleanMethod(dhcpResults, dhcpResultsFieldIds.addDns, env->NewStringUTF(dns3)); if (result == 0) { result = env->CallBooleanMethod(dhcpResults, dhcpResultsFieldIds.addDns, env->NewStringUTF(dns4)); } } } if (result == 0) { Loading Loading
core/java/android/net/DhcpResults.java +8 −5 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.net; import android.os.Parcelable; import android.os.Parcel; import android.text.TextUtils; import android.util.Log; import java.net.InetAddress; Loading Loading @@ -211,12 +212,14 @@ public class DhcpResults implements Parcelable { } public boolean addDns(String addrString) { if (TextUtils.isEmpty(addrString) == false) { try { linkProperties.addDns(NetworkUtils.numericToInetAddress(addrString)); } catch (IllegalArgumentException e) { Log.e(TAG, "addDns failed with addrString " + addrString); return true; } } return false; } Loading
core/jni/android_net_NetUtils.cpp +18 −8 Original line number Diff line number Diff line Loading @@ -28,23 +28,21 @@ int ifc_enable(const char *ifname); int ifc_disable(const char *ifname); int ifc_reset_connections(const char *ifname, int reset_mask); int dhcp_do_request(const char *ifname, int dhcp_do_request(const char * const ifname, const char *ipaddr, const char *gateway, uint32_t *prefixLength, const char *dns1, const char *dns2, const char *dns[], const char *server, uint32_t *lease, const char *vendorInfo, const char *domains); int dhcp_do_request_renew(const char *ifname, int dhcp_do_request_renew(const char * const ifname, const char *ipaddr, const char *gateway, uint32_t *prefixLength, const char *dns1, const char *dns2, const char *dns[], const char *server, uint32_t *lease, const char *vendorInfo, Loading Loading @@ -120,6 +118,9 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr char gateway[PROPERTY_VALUE_MAX]; char dns1[PROPERTY_VALUE_MAX]; char dns2[PROPERTY_VALUE_MAX]; char dns3[PROPERTY_VALUE_MAX]; char dns4[PROPERTY_VALUE_MAX]; const char *dns[5] = {dns1, dns2, dns3, dns4, NULL}; char server[PROPERTY_VALUE_MAX]; uint32_t lease; char vendorInfo[PROPERTY_VALUE_MAX]; Loading @@ -130,10 +131,10 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr if (renew) { result = ::dhcp_do_request_renew(nameStr, ipaddr, gateway, &prefixLength, dns1, dns2, server, &lease, vendorInfo, domains); dns, server, &lease, vendorInfo, domains); } else { result = ::dhcp_do_request(nameStr, ipaddr, gateway, &prefixLength, dns1, dns2, server, &lease, vendorInfo, domains); dns, server, &lease, vendorInfo, domains); } env->ReleaseStringUTFChars(ifname, nameStr); if (result == 0) { Loading Loading @@ -168,6 +169,15 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr result = env->CallBooleanMethod(dhcpResults, dhcpResultsFieldIds.addDns, env->NewStringUTF(dns2)); if (result == 0) { result = env->CallBooleanMethod(dhcpResults, dhcpResultsFieldIds.addDns, env->NewStringUTF(dns3)); if (result == 0) { result = env->CallBooleanMethod(dhcpResults, dhcpResultsFieldIds.addDns, env->NewStringUTF(dns4)); } } } if (result == 0) { Loading