Changeset 101
- Timestamp:
- Aug 14, 2010, 7:50:26 PM (15 years ago)
- Location:
- trunk/openjdk/jdk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/openjdk/jdk/make/java/net/FILES_c.gmk
r74 r101 44 44 endif 45 45 46 ifeq ($( filter-out windows os2, $(PLATFORM)),)46 ifeq ($(PLATFORM), windows) 47 47 FILES_c += TwoStacksPlainSocketImpl.c 48 48 FILES_c += DualStackPlainSocketImpl.c … … 50 50 FILES_c += DualStackPlainDatagramSocketImpl.c 51 51 else 52 ifeq ($(PLATFORM), os2) 53 FILES_c += TwoStacksPlainSocketImpl.c 54 FILES_c += TwoStacksPlainDatagramSocketImpl.c 55 else 52 56 FILES_c += PlainSocketImpl.c 53 57 FILES_c += PlainDatagramSocketImpl.c 54 58 endif 59 endif 55 60 -
trunk/openjdk/jdk/make/java/net/Makefile
r74 r101 37 37 AUTO_FILES_JAVA_DIRS = java/net 38 38 39 ifeq ($( filter-out windows os2, $(PLATFORM)),)39 ifeq ($(PLATFORM), windows) 40 40 # Windows 9x module only needed on 32-bit build 41 41 ifeq ($(ARCH_DATA_MODEL), 32) … … 44 44 FILES_c += NTLMAuthSequence.c 45 45 FILES_c += NetworkInterface_winXP.c 46 endif 47 48 ifeq ($(PLATFORM), os2) 49 FILES_c += NTLMAuthSequence.c 46 50 endif 47 51 … … 72 76 sun/net/spi/DefaultProxySelector.java 73 77 74 ifeq ($( filter-out windows os2, $(PLATFORM)),)78 ifeq ($(PLATFORM), windows) 75 79 FILES_export += java/net/TwoStacksPlainSocketImpl.java 76 80 FILES_export += java/net/DualStackPlainSocketImpl.java … … 78 82 FILES_export += java/net/DualStackPlainDatagramSocketImpl.java 79 83 else 84 ifeq ($(PLATFORM), os2) 85 FILES_export += java/net/TwoStacksPlainSocketImpl.java 86 FILES_export += java/net/TwoStacksPlainDatagramSocketImpl.java 87 else 80 88 FILES_export += java/net/PlainDatagramSocketImpl.java 89 endif 81 90 endif 82 91 … … 93 102 include $(BUILDDIR)/common/Library.gmk 94 103 95 ifeq ($( filter-out windows os2, $(PLATFORM)),)104 ifeq ($(PLATFORM), windows) 96 105 OTHER_LDLIBS = ws2_32.lib $(JVMLIB) 97 106 # Will not compile at warning level 3 if warnings are fatal 98 107 COMPILER_WARNINGS_FATAL=false 99 108 else 109 ifeq ($(PLATFORM), os2) 110 OTHER_LDLIBS = -lws2_32.lib $(JVMLIB) 111 else 100 112 OTHER_LDLIBS = $(LIBSOCKET) -lnsl -ldl $(JVMLIB) 113 endif 101 114 endif 102 115 ifeq ($(PLATFORM), linux) -
trunk/openjdk/jdk/src/share/native/java/net/net_util.c
r2 r101 159 159 NET_SockaddrEqualsInetAddress(JNIEnv *env, struct sockaddr *him, jobject iaObj) 160 160 { 161 #ifdef AF_INET6 161 162 jint family = (*env)->GetIntField(env, iaObj, ia_familyID) == IPv4? 162 163 AF_INET : AF_INET6; 163 164 164 #ifdef AF_INET6165 165 if (him->sa_family == AF_INET6) { 166 166 #ifdef WIN32 … … 201 201 } 202 202 } else 203 #else /* AF_INET6 */ 204 jint family = AF_INET; 203 205 #endif /* AF_INET6 */ 204 206 { -
trunk/openjdk/jdk/src/windows/native/java/net/Inet4AddressImpl.c
r2 r101 31 31 #include <malloc.h> 32 32 #include <sys/types.h> 33 34 #ifdef __EMX__ 35 #include <unistd.h> 36 #include <wchar.h> 37 #include <string.h> 38 #endif 33 39 34 40 #include "java_net_InetAddress.h" -
trunk/openjdk/jdk/src/windows/native/java/net/Inet6AddressImpl.c
r2 r101 32 32 #include <sys/types.h> 33 33 34 #ifdef __EMX__ 35 #include <unistd.h> 36 #include <wchar.h> 37 #include <string.h> 38 #endif 39 34 40 #include "java_net_InetAddress.h" 35 41 #include "java_net_Inet4AddressImpl.h" … … 86 92 Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this, 87 93 jstring host) { 94 #ifdef AF_INET6 88 95 const char *hostname; 89 96 jobject name; … … 302 309 303 310 return ret; 311 #else /* AF_INET6 */ 312 return 0; 313 #endif /* AF_INET6 */ 304 314 } 305 315 … … 314 324 jstring ret = NULL; 315 325 326 #ifdef AF_INET6 316 327 char host[NI_MAXHOST+1]; 317 328 jfieldID fid; … … 365 376 JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException", NULL); 366 377 } 378 #endif /* AF_INET6 */ 367 379 368 380 return ret; -
trunk/openjdk/jdk/src/windows/native/java/net/NetworkInterface.c
r2 r101 30 30 #include <assert.h> 31 31 32 #ifdef __EMX__ 33 #include <wchar.h> 34 #include <string.h> 35 #endif 36 32 37 #include "java_net_NetworkInterface.h" 33 38 #include "jni_util.h" … … 228 233 free(tableP); 229 234 230 #if ndef _WIN64235 #if !defined(_WIN64) && !defined(__WIN32OS2__) 231 236 if (isW9x && ret == ERROR_NOT_SUPPORTED) { 232 237 /* … … 527 532 GetFriendlyIfIndex_fn == NULL) { 528 533 529 #if ndef _WIN64534 #if !defined(_WIN64) && !defined(__WIN32OS2__) 530 535 if (isW9x) { 531 536 /* Use Windows 9x registry approach which requires initialization */ … … 638 643 jobject iaObj, ia2Obj; 639 644 jobject ibObj = NULL; 645 #ifdef AF_INET6 640 646 if (addrs->addr.him.sa_family == AF_INET) { 647 #endif /* AF_INET6 */ 641 648 iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4Ctor); 642 649 if (iaObj == NULL) { … … 665 672 (*env)->SetObjectArrayElement(env, bindsArr, bind_index++, ibObj); 666 673 } 674 #ifdef AF_INET6 667 675 } else /* AF_INET6 */ { 668 676 int scope; … … 692 700 } 693 701 } 702 #endif /* AF_INET6 */ 694 703 (*env)->SetObjectArrayElement(env, addrArr, addr_index, iaObj); 695 704 addrs = addrs->next; … … 728 737 jobject netifObj = NULL; 729 738 739 #ifdef AF_INET6 730 740 if (os_supports_ipv6 && ipv6_available()) { 731 741 return Java_java_net_NetworkInterface_getByName0_XP (env, cls, name); 732 742 } 743 #endif /* AF_INET6 */ 733 744 734 745 /* get the list of interfaces */ … … 774 785 jobject netifObj = NULL; 775 786 787 #ifdef AF_INET6 776 788 if (os_supports_ipv6 && ipv6_available()) { 777 789 return Java_java_net_NetworkInterface_getByIndex_XP (env, cls, index); 778 790 } 791 #endif /* AF_INET6 */ 779 792 780 793 /* get the list of interfaces */ … … 815 828 jobject netifObj = NULL; 816 829 830 #ifdef AF_INET6 817 831 if (os_supports_ipv6 && ipv6_available()) { 818 832 return Java_java_net_NetworkInterface_getByInetAddress0_XP (env, cls, iaObj); 819 833 } 834 #endif /* AF_INET6 */ 820 835 821 836 /* get the list of interfaces */ … … 884 899 jint arr_index; 885 900 901 #ifdef AF_INET6 886 902 if (os_supports_ipv6 && ipv6_available()) { 887 903 return Java_java_net_NetworkInterface_getAll_XP (env, cls); 888 904 } 905 #endif /* AF_INET6 */ 889 906 890 907 /* … … 937 954 jboolean ret = JNI_FALSE; 938 955 956 #ifdef AF_INET6 939 957 if (os_supports_ipv6 && ipv6_available()) { 940 958 return Java_java_net_NetworkInterface_isUp0_XP(env, cls, name, index); 941 } else { 959 } else 960 #endif /* AF_INET6 */ 961 { 942 962 MIB_IFROW *ifRowP; 943 963 ifRowP = getIF(index); … … 959 979 jboolean ret = JNI_FALSE; 960 980 981 #ifdef AF_INET6 961 982 if (os_supports_ipv6 && ipv6_available()) { 962 983 return Java_java_net_NetworkInterface_isP2P0_XP(env, cls, name, index); 963 } else { 984 } else 985 #endif /* AF_INET6 */ 986 { 964 987 ifRowP = getIF(index); 965 988 if (ifRowP != NULL) { … … 986 1009 jboolean ret = JNI_FALSE; 987 1010 1011 #ifdef AF_INET6 988 1012 if (os_supports_ipv6 && ipv6_available()) { 989 1013 return Java_java_net_NetworkInterface_isLoopback0_XP(env, cls, name, index); 990 } else { 1014 } else 1015 #endif /* AF_INET6 */ 1016 { 991 1017 ifRowP = getIF(index); 992 1018 if (ifRowP != NULL) { … … 1009 1035 jboolean ret = JNI_TRUE; 1010 1036 1037 #ifdef AF_INET6 1011 1038 // Let's try to use the newer API (XP & 2003 only) 1012 1039 if (GetAdaptersAddresses_fn != NULL) { … … 1015 1042 return ret; 1016 1043 } 1044 #endif /* AF_INET6 */ 1017 1045 ifRowP = getIF(index); 1018 1046 if (ifRowP != NULL) { … … 1034 1062 MIB_IFROW *ifRowP; 1035 1063 1064 #ifdef AF_INET6 1036 1065 if (os_supports_ipv6 && ipv6_available()) { 1037 1066 return Java_java_net_NetworkInterface_getMacAddr0_XP(env, class, name, index); 1038 } else { 1067 } else 1068 #endif /* AF_INET6 */ 1069 { 1039 1070 ifRowP = getIF(index); 1040 1071 if (ifRowP != NULL) { … … 1065 1096 MIB_IFROW *ifRowP; 1066 1097 1098 #ifdef AF_INET6 1067 1099 if (os_supports_ipv6 && ipv6_available()) { 1068 1100 return Java_java_net_NetworkInterface_getMTU0_XP(env, class, name, index); 1069 } else { 1101 } else 1102 #endif /* AF_INET6 */ 1103 { 1070 1104 ifRowP = getIF(index); 1071 1105 if (ifRowP != NULL) { -
trunk/openjdk/jdk/src/windows/native/java/net/NetworkInterface.h
r2 r101 87 87 extern jfieldID ni_ibmaskID; /* InterfaceAddress.maskLength */ 88 88 89 90 #ifndef __WIN32OS2__ 91 89 92 /* 90 93 * Following includes come from iptypes.h … … 410 413 #endif 411 414 412 #endif 415 #endif /* !__WIN32OS2__ */ 416 417 #endif -
trunk/openjdk/jdk/src/windows/native/java/net/SocketOutputStream.c
r2 r101 31 31 #include <malloc.h> 32 32 #include <sys/types.h> 33 34 #ifdef __EMX__ 35 #define min(a, b) ((a) < (b) ? (a) : (b)) 36 #endif 33 37 34 38 #include "java_net_SocketOutputStream.h" -
trunk/openjdk/jdk/src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c
r2 r101 33 33 #include <sys/types.h> 34 34 35 #ifdef __EMX__ 36 #include <string.h> 37 #endif 38 35 39 #ifndef IPTOS_TOS_MASK 36 40 #define IPTOS_TOS_MASK 0x1e … … 460 464 } 461 465 466 #ifdef AF_INET6 462 467 if (ipv6_supported) { 463 468 struct ipv6bind v6bind; … … 491 496 return; 492 497 } 493 } else { 498 } else 499 #endif /* AF_INET6 */ 500 { 494 501 if (bind(fd, (struct sockaddr *)&lcladdr, lcladdrlen) == -1) { 495 502 if (WSAGetLastError() == WSAEACCES) { … … 1506 1513 NET_SetSockOpt(fd, SOL_SOCKET, SO_BROADCAST, (char*)&t, sizeof(BOOL)); 1507 1514 1515 #ifdef AF_INET6 1508 1516 if (ipv6_supported) { 1509 1517 /* SIO_UDP_CONNRESET fixes a bug introduced in Windows 2000, which … … 1525 1533 (*env)->SetIntField(env, fd1Obj, IO_fd_fdID, fd1); 1526 1534 SetHandleInformation((HANDLE)(UINT_PTR)fd1, HANDLE_FLAG_INHERIT, FALSE); 1527 } else { 1535 } else 1536 #endif /* AF_INET6 */ 1537 { 1528 1538 /* drop the second fd */ 1529 1539 (*env)->SetObjectField(env, this, pdsi_fd1ID, NULL); … … 2292 2302 } 2293 2303 2304 #ifdef AF_INET6 2294 2305 if (fd1 >= 0) { 2295 2306 if (NET_SetSockOpt(fd1, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, (char *)&ittl, … … 2298 2309 } 2299 2310 } 2311 #endif /* AF_INET6 */ 2300 2312 } 2301 2313 … … 2346 2358 return (jint)ttl; 2347 2359 } 2360 #ifdef AF_INET6 2348 2361 if (fd1 >= 0) { 2349 2362 if (NET_GetSockOpt(fd1, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, (char*)&ttl, &len) < 0) { … … 2353 2366 return (jint)ttl; 2354 2367 } 2368 #endif /* AF_INET6 */ 2355 2369 return -1; 2356 2370 } … … 2416 2430 family = name.him.sa_family; 2417 2431 2432 #ifdef AF_INET6 2418 2433 if (family == AF_INET) { 2434 #endif /* AF_INET6 */ 2419 2435 int address = name.him4.sin_addr.s_addr; 2420 2436 if (!IN_MULTICAST(ntohl(address))) { … … 2453 2469 } 2454 2470 } 2471 #ifdef AF_INET6 2455 2472 } else /* AF_INET6 */ { 2456 2473 if (ipv6_supported) { … … 2496 2513 } 2497 2514 } 2515 #endif /* AF_INET6 */ 2498 2516 2499 2517 return; -
trunk/openjdk/jdk/src/windows/native/java/net/TwoStacksPlainSocketImpl.c
r2 r101 152 152 (*env)->SetIntField(env, fdObj, IO_fd_fdID, (int)fd); 153 153 } 154 #ifdef AF_INET6 154 155 if (ipv6_available()) { 155 156 fd1Obj = (*env)->GetObjectField(env, this, psi_fd1ID); … … 171 172 (*env)->SetIntField(env, fd1Obj, IO_fd_fdID, fd1); 172 173 } 173 } else { 174 } else 175 #endif /* AF_INET6 */ 176 { 174 177 (*env)->SetObjectField(env, this, psi_fd1ID, NULL); 175 178 } … … 227 230 228 231 family = him.him.sa_family; 232 #ifdef AF_INET6 229 233 if (family == AF_INET6) { 230 234 if (!ipv6_supported) { … … 244 248 fd = fd1; fdObj = fd1Obj; 245 249 } 246 } else { 250 } else 251 #endif /* AF_INET6 */ 252 { 247 253 if (fd1 != -1) { 248 254 (*env)->SetIntField(env, fd1Obj, IO_fd_fdID, -1); … … 439 445 } 440 446 447 #ifdef AF_INET6 441 448 if (ipv6_supported) { 442 449 struct ipv6bind v6bind; … … 468 475 } 469 476 } 470 } else { 477 } else 478 #endif /* AF_INET6 */ 479 { 471 480 rv = NET_Bind(fd, (struct sockaddr *)&him, len); 472 481 } … … 541 550 } 542 551 552 #ifdef AF_INET6 543 553 if (addr.him.sa_family == AF_INET || IN6ADDR_ISANY(&addr.him6)) { 554 #endif /* AF_INET6 */ 544 555 /* listen on v4 */ 545 556 if (listen(fd, count) == -1) { 546 557 NET_ThrowCurrent(env, "listen failed"); 547 558 } 559 #ifdef AF_INET6 548 560 } else { 549 561 NET_SocketClose (fd); … … 562 574 } 563 575 } 576 #endif /* AF_INET6 */ 564 577 } 565 578 … … 697 710 (*env)->SetIntField(env, socketFdObj, IO_fd_fdID, fd); 698 711 712 #ifdef AF_INET6 699 713 if (him.him.sa_family == AF_INET) { 714 #endif /* AF_INET6 */ 700 715 if (inet4Cls == NULL) { 701 716 jclass c = (*env)->FindClass(env, "java/net/Inet4Address"); … … 727 742 (*env)->SetIntField(env, socketAddressObj, ia_familyID, IPv4); 728 743 (*env)->SetObjectField(env, socket, psi_addressID, socketAddressObj); 744 #ifdef AF_INET6 729 745 } else { 730 746 jbyteArray addr; … … 756 772 (*env)->SetIntField(env, socketAddressObj, ia6_scopeidID, him.him6.sin6_scope_id); 757 773 } 774 #endif /* AF_INET6 */ 758 775 /* fields common to AF_INET and AF_INET6 */ 759 776 … … 1030 1047 */ 1031 1048 if (opt == java_net_SocketOptions_SO_BINDADDR) { 1032 SOCKET _ADDRESS him;1049 SOCKETADDRESS him; 1033 1050 int len; 1034 1051 int port; … … 1039 1056 len = sizeof(struct sockaddr_in); 1040 1057 1058 #ifdef AF_INET6 1041 1059 if (fd == -1) { 1042 1060 /* must be an IPV6 only socket. Case where both sockets are != -1 … … 1046 1064 len = sizeof(struct SOCKADDR_IN6); 1047 1065 } 1066 #endif /* AF_INET6 */ 1048 1067 1049 1068 if (getsockname(fd, (struct sockaddr *)&him, &len) < 0) { -
trunk/openjdk/jdk/src/windows/native/java/net/net_util_md.c
r2 r101 235 235 jint IPv6_supported() 236 236 { 237 #ifdef AF_INET6 237 238 HMODULE lib; 238 239 int fd = socket(AF_INET6, SOCK_STREAM, 0) ; … … 260 261 261 262 return JNI_TRUE; 263 #else /* AF_INET6 */ 264 return JNI_FALSE; 265 #endif /* AF_INET6 */ 262 266 } 263 267 … … 606 610 * and returns SOCKET_ERROR. Used in NET_BindV6 only. 607 611 */ 612 613 #ifdef AF_INET6 608 614 609 615 #define CLOSE_SOCKETS_AND_RETURN { \ … … 628 634 } 629 635 636 #else /* AF_INET6 */ 637 638 #define CLOSE_SOCKETS_AND_RETURN { \ 639 if (fd != -1) { \ 640 closesocket (fd); \ 641 fd = -1; \ 642 } \ 643 if (ofd != -1) { \ 644 closesocket (ofd); \ 645 ofd = -1; \ 646 } \ 647 if (close_fd != -1) { \ 648 closesocket (close_fd); \ 649 close_fd = -1; \ 650 } \ 651 if (close_ofd != -1) { \ 652 closesocket (close_ofd); \ 653 close_ofd = -1; \ 654 } \ 655 b->ipv4_fd = -1; \ 656 return SOCKET_ERROR; \ 657 } 658 659 #endif /* AF_INET6 */ 660 630 661 /* 631 662 * if ipv6 is available, call NET_BindV6 to bind to the required address/port. … … 671 702 CLOSE_SOCKETS_AND_RETURN; 672 703 } 704 #ifdef AF_INET6 673 705 closesocket (b->ipv6_fd); 674 706 b->ipv6_fd = -1; 707 #endif /* AF_INET6 */ 675 708 return 0; 676 709 } 710 #ifdef AF_INET6 677 711 if (family == AF_INET6 && (!IN6_IS_ADDR_ANY(&b->addr->him6.sin6_addr))) { 678 712 /* bind to v6 only */ … … 789 823 } 790 824 return 0; 791 } 825 #else /* AF_INET6 */ 826 CLOSE_SOCKETS_AND_RETURN; 827 #endif /* AF_INET6 */ 828 } 829 830 #ifdef AF_INET6 792 831 793 832 /* … … 822 861 } 823 862 863 #endif /* AF_INET6 */ 864 824 865 /* If address types is IPv6, then IPv6 must be available. Otherwise 825 866 * no address can be generated. In the case of an IPv4 Inetaddress this … … 833 874 jint family, iafam; 834 875 iafam = (*env)->GetIntField(env, iaObj, ia_familyID); 876 #ifdef AF_INET6 835 877 family = (iafam == IPv4)? AF_INET : AF_INET6; 836 878 if (ipv6_available() && !(family == AF_INET && v4MappedAddress == JNI_FALSE)) { … … 874 916 him6->sin6_scope_id = scopeid != 0 ? scopeid : cached_scope_id; 875 917 *len = sizeof(struct SOCKADDR_IN6) ; 876 } else { 918 } else 919 #else /* AF_INET6 */ 920 family = AF_INET; 921 #endif /* AF_INET6 */ 922 { 877 923 struct sockaddr_in *him4 = (struct sockaddr_in*)him; 878 924 jint address; … … 893 939 jint 894 940 NET_GetPortFromSockaddr(struct sockaddr *him) { 941 #ifdef AF_INET6 895 942 if (him->sa_family == AF_INET6) { 896 943 return ntohs(((struct sockaddr_in6*)him)->sin6_port); 897 } else { 944 } else 945 #endif /* AF_INET6 */ 946 { 898 947 return ntohs(((struct sockaddr_in*)him)->sin_port); 899 948 } -
trunk/openjdk/jdk/src/windows/native/java/net/net_util_md.h
r2 r101 250 250 struct sockaddr him; 251 251 struct sockaddr_in him4; 252 #ifdef AF_INET6 252 253 struct SOCKADDR_IN6 him6; 254 #endif /* AF_INET6 */ 253 255 } SOCKETADDRESS; 254 256 … … 260 262 SOCKETADDRESS *addr; 261 263 SOCKET ipv4_fd; 264 #ifdef AF_INET6 262 265 SOCKET ipv6_fd; 266 #endif /* AF_INET6 */ 263 267 }; 268 269 #ifdef AF_INET6 264 270 265 271 #define SOCKETADDRESS_LEN(X) \ … … 291 297 ) 292 298 299 #else /* AF_INET6 */ 300 301 #define SOCKETADDRESS_LEN(X) sizeof(struct sockaddr_in) 302 303 #define SOCKETADDRESS_COPY(DST,SRC) { \ 304 memcpy ((DST), (SRC), sizeof (struct sockaddr_in)); \ 305 } 306 307 #define SET_PORT(X,Y) { \ 308 (X)->him4.sin_port = (Y); \ 309 } 310 311 #define GET_PORT(X) ((X)->him4.sin_port) 312 313 #define IS_LOOPBACK_ADDRESS(x) ( \ 314 (ntohl((x)->him4.sin_addr.s_addr)==INADDR_LOOPBACK) \ 315 ) 316 317 #endif /* AF_INET6 */ 318 293 319 JNIEXPORT int JNICALL NET_SocketClose(int fd); 294 320 … … 315 341 316 342 extern jint NET_Wait(JNIEnv *env, jint fd, jint flags, jint timeout); 343 extern int NET_Socket (int domain, int type, int protocol); 344 extern void NET_ThrowByNameWithLastError(JNIEnv *env, const char *name, 345 const char *defaultDetail); 317 346 318 347 /* XP versions of the native routines */ -
trunk/openjdk/jdk/src/windows/native/sun/net/www/protocol/http/NTLMAuthSequence.c
r2 r101 39 39 #define SECURITY_WIN32 40 40 #include "sspi.h" 41 #ifndef __WIN32OS2__ 41 42 #include "issperr.h" 43 #endif 42 44 43 45
Note:
See TracChangeset
for help on using the changeset viewer.