mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8193419: Better Internet address support
Reviewed-by: chegar, rriggs, igerasim, skoivu, rhalade
This commit is contained in:
parent
addc5a823f
commit
d5e9b33541
13 changed files with 102 additions and 16 deletions
|
@ -764,6 +764,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port,
|
|||
jboolean v4MappedAddress)
|
||||
{
|
||||
jint family = getInetAddress_family(env, iaObj);
|
||||
JNU_CHECK_EXCEPTION_RETURN(env, -1);
|
||||
memset((char *)sa, 0, sizeof(SOCKETADDRESS));
|
||||
|
||||
if (ipv6_available() &&
|
||||
|
@ -777,6 +778,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port,
|
|||
// convert to IPv4-mapped address
|
||||
memset((char *)caddr, 0, 16);
|
||||
address = getInetAddress_addr(env, iaObj);
|
||||
JNU_CHECK_EXCEPTION_RETURN(env, -1);
|
||||
if (address == INADDR_ANY) {
|
||||
/* we would always prefer IPv6 wildcard address
|
||||
* caddr[10] = 0xff;
|
||||
|
@ -871,6 +873,7 @@ NET_InetAddressToSockaddr(JNIEnv *env, jobject iaObj, int port,
|
|||
return -1;
|
||||
}
|
||||
address = getInetAddress_addr(env, iaObj);
|
||||
JNU_CHECK_EXCEPTION_RETURN(env, -1);
|
||||
sa->sa4.sin_port = htons(port);
|
||||
sa->sa4.sin_addr.s_addr = htonl(address);
|
||||
sa->sa4.sin_family = AF_INET;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue