Loading core/java/android/net/DhcpInfoInternal.java +6 −2 Original line number Diff line number Diff line Loading @@ -19,9 +19,8 @@ package android.net; import android.text.TextUtils; import android.util.Log; import java.net.InetAddress; import java.net.Inet4Address; import java.net.UnknownHostException; import java.net.InetAddress; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; Loading @@ -42,6 +41,11 @@ public class DhcpInfoInternal { public String serverAddress; public int leaseDuration; /** * Vendor specific information (from RFC 2132). */ public String vendorInfo; private Collection<RouteInfo> mRoutes; public DhcpInfoInternal() { Loading core/jni/android_net_NetUtils.cpp +12 −6 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ int dhcp_do_request(const char *ifname, const char *dns1, const char *dns2, const char *server, uint32_t *lease); uint32_t *lease, const char *vendorInfo); int dhcp_do_request_renew(const char *ifname, const char *ipaddr, Loading @@ -44,7 +45,8 @@ int dhcp_do_request_renew(const char *ifname, const char *dns1, const char *dns2, const char *server, uint32_t *lease); uint32_t *lease, const char *vendorInfo); int dhcp_stop(const char *ifname); int dhcp_release_lease(const char *ifname); Loading @@ -68,6 +70,7 @@ static struct fieldIds { jfieldID dns2; jfieldID serverAddress; jfieldID leaseDuration; jfieldID vendorInfo; } dhcpInfoInternalFieldIds; static jint android_net_utils_enableInterface(JNIEnv* env, jobject clazz, jstring ifname) Loading Loading @@ -116,16 +119,17 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr char dns2[PROPERTY_VALUE_MAX]; char server[PROPERTY_VALUE_MAX]; uint32_t lease; char vendorInfo[PROPERTY_VALUE_MAX]; const char *nameStr = env->GetStringUTFChars(ifname, NULL); if (nameStr == NULL) return (jboolean)false; if (renew) { result = ::dhcp_do_request_renew(nameStr, ipaddr, gateway, &prefixLength, dns1, dns2, server, &lease); dns1, dns2, server, &lease, vendorInfo); } else { result = ::dhcp_do_request(nameStr, ipaddr, gateway, &prefixLength, dns1, dns2, server, &lease); dns1, dns2, server, &lease, vendorInfo); } env->ReleaseStringUTFChars(ifname, nameStr); Loading Loading @@ -161,6 +165,7 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr env->SetObjectField(info, dhcpInfoInternalFieldIds.serverAddress, env->NewStringUTF(server)); env->SetIntField(info, dhcpInfoInternalFieldIds.leaseDuration, lease); env->SetObjectField(info, dhcpInfoInternalFieldIds.vendorInfo, env->NewStringUTF(vendorInfo)); } return (jboolean)(result == 0); } Loading Loading @@ -230,6 +235,7 @@ int register_android_net_NetworkUtils(JNIEnv* env) dhcpInfoInternalFieldIds.dns2 = env->GetFieldID(dhcpInfoInternalClass, "dns2", "Ljava/lang/String;"); dhcpInfoInternalFieldIds.serverAddress = env->GetFieldID(dhcpInfoInternalClass, "serverAddress", "Ljava/lang/String;"); dhcpInfoInternalFieldIds.leaseDuration = env->GetFieldID(dhcpInfoInternalClass, "leaseDuration", "I"); dhcpInfoInternalFieldIds.vendorInfo = env->GetFieldID(dhcpInfoInternalClass, "vendorInfo", "Ljava/lang/String;"); return AndroidRuntime::registerNativeMethods(env, NETUTILS_PKG_NAME, gNetworkUtilMethods, NELEM(gNetworkUtilMethods)); Loading Loading
core/java/android/net/DhcpInfoInternal.java +6 −2 Original line number Diff line number Diff line Loading @@ -19,9 +19,8 @@ package android.net; import android.text.TextUtils; import android.util.Log; import java.net.InetAddress; import java.net.Inet4Address; import java.net.UnknownHostException; import java.net.InetAddress; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; Loading @@ -42,6 +41,11 @@ public class DhcpInfoInternal { public String serverAddress; public int leaseDuration; /** * Vendor specific information (from RFC 2132). */ public String vendorInfo; private Collection<RouteInfo> mRoutes; public DhcpInfoInternal() { Loading
core/jni/android_net_NetUtils.cpp +12 −6 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ int dhcp_do_request(const char *ifname, const char *dns1, const char *dns2, const char *server, uint32_t *lease); uint32_t *lease, const char *vendorInfo); int dhcp_do_request_renew(const char *ifname, const char *ipaddr, Loading @@ -44,7 +45,8 @@ int dhcp_do_request_renew(const char *ifname, const char *dns1, const char *dns2, const char *server, uint32_t *lease); uint32_t *lease, const char *vendorInfo); int dhcp_stop(const char *ifname); int dhcp_release_lease(const char *ifname); Loading @@ -68,6 +70,7 @@ static struct fieldIds { jfieldID dns2; jfieldID serverAddress; jfieldID leaseDuration; jfieldID vendorInfo; } dhcpInfoInternalFieldIds; static jint android_net_utils_enableInterface(JNIEnv* env, jobject clazz, jstring ifname) Loading Loading @@ -116,16 +119,17 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr char dns2[PROPERTY_VALUE_MAX]; char server[PROPERTY_VALUE_MAX]; uint32_t lease; char vendorInfo[PROPERTY_VALUE_MAX]; const char *nameStr = env->GetStringUTFChars(ifname, NULL); if (nameStr == NULL) return (jboolean)false; if (renew) { result = ::dhcp_do_request_renew(nameStr, ipaddr, gateway, &prefixLength, dns1, dns2, server, &lease); dns1, dns2, server, &lease, vendorInfo); } else { result = ::dhcp_do_request(nameStr, ipaddr, gateway, &prefixLength, dns1, dns2, server, &lease); dns1, dns2, server, &lease, vendorInfo); } env->ReleaseStringUTFChars(ifname, nameStr); Loading Loading @@ -161,6 +165,7 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr env->SetObjectField(info, dhcpInfoInternalFieldIds.serverAddress, env->NewStringUTF(server)); env->SetIntField(info, dhcpInfoInternalFieldIds.leaseDuration, lease); env->SetObjectField(info, dhcpInfoInternalFieldIds.vendorInfo, env->NewStringUTF(vendorInfo)); } return (jboolean)(result == 0); } Loading Loading @@ -230,6 +235,7 @@ int register_android_net_NetworkUtils(JNIEnv* env) dhcpInfoInternalFieldIds.dns2 = env->GetFieldID(dhcpInfoInternalClass, "dns2", "Ljava/lang/String;"); dhcpInfoInternalFieldIds.serverAddress = env->GetFieldID(dhcpInfoInternalClass, "serverAddress", "Ljava/lang/String;"); dhcpInfoInternalFieldIds.leaseDuration = env->GetFieldID(dhcpInfoInternalClass, "leaseDuration", "I"); dhcpInfoInternalFieldIds.vendorInfo = env->GetFieldID(dhcpInfoInternalClass, "vendorInfo", "Ljava/lang/String;"); return AndroidRuntime::registerNativeMethods(env, NETUTILS_PKG_NAME, gNetworkUtilMethods, NELEM(gNetworkUtilMethods)); Loading