src/windows/native/java/net/net_util_md.c
Print this page
*** 232,242 ****
}
jint IPv6_supported()
{
HMODULE lib;
! int fd = socket(AF_INET6, SOCK_STREAM, 0) ;
if (fd < 0) {
return JNI_FALSE;
}
closesocket (fd);
--- 232,242 ----
}
jint IPv6_supported()
{
HMODULE lib;
! int fd = (int)socket(AF_INET6, SOCK_STREAM, 0) ;
if (fd < 0) {
return JNI_FALSE;
}
closesocket (fd);
*** 689,707 ****
/* We need to bind on both stacks, with the same port number */
memset (&oaddr, 0, sizeof(oaddr));
if (family == AF_INET) {
ofamily = AF_INET6;
! fd = b->ipv4_fd;
! ofd = b->ipv6_fd;
port = (u_short)GET_PORT (b->addr);
IN6ADDR_SETANY (&oaddr.him6);
oaddr.him6.sin6_port = port;
} else {
ofamily = AF_INET;
! ofd = b->ipv4_fd;
! fd = b->ipv6_fd;
port = (u_short)GET_PORT (b->addr);
oaddr.him4.sin_family = AF_INET;
oaddr.him4.sin_port = port;
oaddr.him4.sin_addr.s_addr = INADDR_ANY;
}
--- 689,707 ----
/* We need to bind on both stacks, with the same port number */
memset (&oaddr, 0, sizeof(oaddr));
if (family == AF_INET) {
ofamily = AF_INET6;
! fd = (int)b->ipv4_fd;
! ofd = (int)b->ipv6_fd;
port = (u_short)GET_PORT (b->addr);
IN6ADDR_SETANY (&oaddr.him6);
oaddr.him6.sin6_port = port;
} else {
ofamily = AF_INET;
! ofd = (int)b->ipv4_fd;
! fd = (int)b->ipv6_fd;
port = (u_short)GET_PORT (b->addr);
oaddr.him4.sin_family = AF_INET;
oaddr.him4.sin_port = port;
oaddr.him4.sin_addr.s_addr = INADDR_ANY;
}
*** 742,756 ****
close_ofd = ofd; ofd = -1;
b->ipv4_fd = SOCKET_ERROR;
b->ipv6_fd = SOCKET_ERROR;
/* create two new sockets */
! fd = socket (family, sotype, 0);
if (fd == SOCKET_ERROR) {
CLOSE_SOCKETS_AND_RETURN;
}
! ofd = socket (ofamily, sotype, 0);
if (ofd == SOCKET_ERROR) {
CLOSE_SOCKETS_AND_RETURN;
}
/* bind random port on first socket */
--- 742,756 ----
close_ofd = ofd; ofd = -1;
b->ipv4_fd = SOCKET_ERROR;
b->ipv6_fd = SOCKET_ERROR;
/* create two new sockets */
! fd = (int)socket (family, sotype, 0);
if (fd == SOCKET_ERROR) {
CLOSE_SOCKETS_AND_RETURN;
}
! ofd = (int)socket (ofamily, sotype, 0);
if (ofd == SOCKET_ERROR) {
CLOSE_SOCKETS_AND_RETURN;
}
/* bind random port on first socket */
*** 847,860 ****
caddr[10] = 0xff;
caddr[11] = 0xff; */
} else {
caddr[10] = 0xff;
caddr[11] = 0xff;
! caddr[12] = ((address >> 24) & 0xff);
! caddr[13] = ((address >> 16) & 0xff);
! caddr[14] = ((address >> 8) & 0xff);
! caddr[15] = (address & 0xff);
}
} else {
ipaddress = (*env)->GetObjectField(env, iaObj, ia6_ipaddressID);
scopeid = (jint)(*env)->GetIntField(env, iaObj, ia6_scopeidID);
cached_scope_id = (jint)(*env)->GetIntField(env, iaObj, ia6_cachedscopeidID);
--- 847,860 ----
caddr[10] = 0xff;
caddr[11] = 0xff; */
} else {
caddr[10] = 0xff;
caddr[11] = 0xff;
! caddr[12] = (jbyte)((address >> 24) & 0xff);
! caddr[13] = (jbyte)((address >> 16) & 0xff);
! caddr[14] = (jbyte)((address >> 8) & 0xff);
! caddr[15] = (jbyte)(address & 0xff);
}
} else {
ipaddress = (*env)->GetObjectField(env, iaObj, ia6_ipaddressID);
scopeid = (jint)(*env)->GetIntField(env, iaObj, ia6_scopeidID);
cached_scope_id = (jint)(*env)->GetIntField(env, iaObj, ia6_cachedscopeidID);
*** 1000,1010 ****
return timeout;
}
int NET_Socket (int domain, int type, int protocol) {
int sock;
! sock = socket (domain, type, protocol);
if (sock != INVALID_SOCKET) {
SetHandleInformation((HANDLE)(uintptr_t)sock, HANDLE_FLAG_INHERIT, FALSE);
}
return sock;
}
--- 1000,1010 ----
return timeout;
}
int NET_Socket (int domain, int type, int protocol) {
int sock;
! sock = (int)socket (domain, type, protocol);
if (sock != INVALID_SOCKET) {
SetHandleInformation((HANDLE)(uintptr_t)sock, HANDLE_FLAG_INHERIT, FALSE);
}
return sock;
}