Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell11
提交
38e2740c
D
dragonwell11
项目概览
openanolis
/
dragonwell11
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell11
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
38e2740c
编写于
7月 05, 2017
作者:
D
duke
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
ce922194
ec95d0ea
变更
146
展开全部
隐藏空白更改
内联
并排
Showing
146 changed file
with
3364 addition
and
1676 deletion
+3364
-1676
.hgtags-top-repo
.hgtags-top-repo
+1
-0
hotspot/.hgtags
hotspot/.hgtags
+1
-0
jdk/.hgtags
jdk/.hgtags
+1
-0
jdk/make/common/Release.gmk
jdk/make/common/Release.gmk
+10
-0
jdk/make/java/nio/mapfile-linux
jdk/make/java/nio/mapfile-linux
+1
-0
jdk/make/java/nio/mapfile-solaris
jdk/make/java/nio/mapfile-solaris
+1
-0
jdk/make/sun/nio/cs/Makefile
jdk/make/sun/nio/cs/Makefile
+19
-0
jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java
...src/share/classes/com/sun/jndi/dns/DnsContextFactory.java
+4
-5
jdk/src/share/classes/com/sun/jndi/ldap/Connection.java
jdk/src/share/classes/com/sun/jndi/ldap/Connection.java
+6
-1
jdk/src/share/classes/com/sun/jndi/ldap/Filter.java
jdk/src/share/classes/com/sun/jndi/ldap/Filter.java
+1
-2
jdk/src/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java
...re/classes/com/sun/jndi/rmi/registry/RegistryContext.java
+1
-1
jdk/src/share/classes/java/lang/AutoCloseable.java
jdk/src/share/classes/java/lang/AutoCloseable.java
+7
-0
jdk/src/share/classes/java/lang/Throwable.java
jdk/src/share/classes/java/lang/Throwable.java
+70
-54
jdk/src/share/classes/java/nio/Bits.java
jdk/src/share/classes/java/nio/Bits.java
+3
-0
jdk/src/share/classes/java/nio/MappedByteBuffer.java
jdk/src/share/classes/java/nio/MappedByteBuffer.java
+41
-7
jdk/src/share/classes/java/security/cert/X509CRL.java
jdk/src/share/classes/java/security/cert/X509CRL.java
+2
-2
jdk/src/share/classes/java/security/cert/X509Certificate.java
...src/share/classes/java/security/cert/X509Certificate.java
+2
-2
jdk/src/share/classes/java/util/LinkedList.java
jdk/src/share/classes/java/util/LinkedList.java
+3
-12
jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java
...e/classes/javax/swing/plaf/basic/BasicColorChooserUI.java
+31
-31
jdk/src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
...share/classes/javax/swing/plaf/basic/BasicComboPopup.java
+3
-2
jdk/src/share/classes/javax/swing/text/DefaultFormatter.java
jdk/src/share/classes/javax/swing/text/DefaultFormatter.java
+3
-1
jdk/src/share/classes/javax/swing/text/InternationalFormatter.java
...hare/classes/javax/swing/text/InternationalFormatter.java
+18
-62
jdk/src/share/classes/sun/net/dns/ResolverConfiguration.java
jdk/src/share/classes/sun/net/dns/ResolverConfiguration.java
+3
-4
jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
...e/classes/sun/net/spi/nameservice/dns/DNSNameService.java
+38
-40
jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java
jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java
+6
-1
jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java
jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java
+33
-0
jdk/src/share/classes/sun/security/krb5/Config.java
jdk/src/share/classes/sun/security/krb5/Config.java
+43
-17
jdk/src/share/classes/sun/security/krb5/Credentials.java
jdk/src/share/classes/sun/security/krb5/Credentials.java
+2
-1
jdk/src/share/classes/sun/security/pkcs/PKCS9Attribute.java
jdk/src/share/classes/sun/security/pkcs/PKCS9Attribute.java
+3
-2
jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java
jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java
+3
-2
jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java
jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java
+3
-1
jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java
.../classes/sun/security/provider/certpath/URICertStore.java
+3
-2
jdk/src/share/classes/sun/security/util/Debug.java
jdk/src/share/classes/sun/security/util/Debug.java
+3
-2
jdk/src/share/classes/sun/security/util/DerOutputStream.java
jdk/src/share/classes/sun/security/util/DerOutputStream.java
+3
-4
jdk/src/share/classes/sun/security/x509/AVA.java
jdk/src/share/classes/sun/security/x509/AVA.java
+2
-2
jdk/src/share/classes/sun/security/x509/AlgorithmId.java
jdk/src/share/classes/sun/security/x509/AlgorithmId.java
+15
-7
jdk/src/share/classes/sun/security/x509/DNSName.java
jdk/src/share/classes/sun/security/x509/DNSName.java
+5
-3
jdk/src/share/classes/sun/security/x509/RFC822Name.java
jdk/src/share/classes/sun/security/x509/RFC822Name.java
+5
-3
jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
...olaris/classes/sun/net/dns/ResolverConfigurationImpl.java
+23
-20
jdk/src/solaris/native/java/net/NetworkInterface.c
jdk/src/solaris/native/java/net/NetworkInterface.c
+24
-17
jdk/src/solaris/native/java/nio/MappedByteBuffer.c
jdk/src/solaris/native/java/nio/MappedByteBuffer.c
+13
-28
jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c
jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c
+8
-0
jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
...indows/classes/sun/net/dns/ResolverConfigurationImpl.java
+5
-6
jdk/src/windows/native/java/nio/MappedByteBuffer.c
jdk/src/windows/native/java/nio/MappedByteBuffer.c
+5
-16
jdk/src/windows/native/sun/nio/ch/SocketChannelImpl.c
jdk/src/windows/native/sun/nio/ch/SocketChannelImpl.c
+13
-0
jdk/src/windows/native/sun/windows/awt.h
jdk/src/windows/native/sun/windows/awt.h
+21
-9
jdk/test/ProblemList.txt
jdk/test/ProblemList.txt
+0
-133
jdk/test/com/sun/jdi/ShellScaffold.sh
jdk/test/com/sun/jdi/ShellScaffold.sh
+52
-20
jdk/test/com/sun/jndi/rmi/registry/RegistryContext/ContextWithNullProperties.java
...i/registry/RegistryContext/ContextWithNullProperties.java
+50
-0
jdk/test/com/sun/net/httpserver/Test1.java
jdk/test/com/sun/net/httpserver/Test1.java
+1
-3
jdk/test/com/sun/net/httpserver/Test11.java
jdk/test/com/sun/net/httpserver/Test11.java
+19
-17
jdk/test/com/sun/net/httpserver/Test12.java
jdk/test/com/sun/net/httpserver/Test12.java
+1
-3
jdk/test/com/sun/net/httpserver/Test13.java
jdk/test/com/sun/net/httpserver/Test13.java
+2
-3
jdk/test/com/sun/net/httpserver/Test6a.java
jdk/test/com/sun/net/httpserver/Test6a.java
+1
-3
jdk/test/com/sun/net/httpserver/Test7a.java
jdk/test/com/sun/net/httpserver/Test7a.java
+1
-4
jdk/test/com/sun/net/httpserver/Test8a.java
jdk/test/com/sun/net/httpserver/Test8a.java
+42
-41
jdk/test/com/sun/net/httpserver/Test9.java
jdk/test/com/sun/net/httpserver/Test9.java
+1
-3
jdk/test/com/sun/net/httpserver/Test9a.java
jdk/test/com/sun/net/httpserver/Test9a.java
+1
-3
jdk/test/com/sun/net/httpserver/bugs/B6361557.java
jdk/test/com/sun/net/httpserver/bugs/B6361557.java
+50
-25
jdk/test/com/sun/net/httpserver/bugs/B6373555.java
jdk/test/com/sun/net/httpserver/bugs/B6373555.java
+2
-2
jdk/test/java/beans/XMLEncoder/Test4631471.java
jdk/test/java/beans/XMLEncoder/Test4631471.java
+8
-2
jdk/test/java/beans/XMLEncoder/Test4903007.java
jdk/test/java/beans/XMLEncoder/Test4903007.java
+3
-3
jdk/test/java/beans/XMLEncoder/javax_swing_JLayeredPane.java
jdk/test/java/beans/XMLEncoder/javax_swing_JLayeredPane.java
+3
-3
jdk/test/java/lang/Throwable/SuppressedExceptions.java
jdk/test/java/lang/Throwable/SuppressedExceptions.java
+13
-3
jdk/test/java/net/DatagramSocket/DatagramTimeout.java
jdk/test/java/net/DatagramSocket/DatagramTimeout.java
+7
-7
jdk/test/java/net/DatagramSocket/SendSize.java
jdk/test/java/net/DatagramSocket/SendSize.java
+15
-33
jdk/test/java/net/Inet6Address/B6558853.java
jdk/test/java/net/Inet6Address/B6558853.java
+4
-0
jdk/test/java/net/Inet6Address/serialize/Serialize.java
jdk/test/java/net/Inet6Address/serialize/Serialize.java
+4
-0
jdk/test/java/net/InetAddress/CheckJNI.java
jdk/test/java/net/InetAddress/CheckJNI.java
+2
-0
jdk/test/java/net/MulticastSocket/SetOutgoingIf.java
jdk/test/java/net/MulticastSocket/SetOutgoingIf.java
+4
-0
jdk/test/java/net/NetworkInterface/IPv4Only.java
jdk/test/java/net/NetworkInterface/IPv4Only.java
+51
-0
jdk/test/java/net/ResponseCache/B6181108.java
jdk/test/java/net/ResponseCache/B6181108.java
+3
-1
jdk/test/java/net/ResponseCache/ResponseCacheTest.java
jdk/test/java/net/ResponseCache/ResponseCacheTest.java
+23
-3
jdk/test/java/net/ResponseCache/getResponseCode.java
jdk/test/java/net/ResponseCache/getResponseCode.java
+5
-0
jdk/test/java/net/Socket/AccurateTimeout.java
jdk/test/java/net/Socket/AccurateTimeout.java
+0
-144
jdk/test/java/net/Socket/CloseAvailable.java
jdk/test/java/net/Socket/CloseAvailable.java
+2
-1
jdk/test/java/net/Socket/DeadlockTest.java
jdk/test/java/net/Socket/DeadlockTest.java
+33
-32
jdk/test/java/net/Socket/LingerTest.java
jdk/test/java/net/Socket/LingerTest.java
+4
-4
jdk/test/java/net/Socket/LinkLocal.java
jdk/test/java/net/Socket/LinkLocal.java
+10
-8
jdk/test/java/net/Socket/ProxyCons.java
jdk/test/java/net/Socket/ProxyCons.java
+6
-4
jdk/test/java/net/Socket/ReadTimeout.java
jdk/test/java/net/Socket/ReadTimeout.java
+5
-5
jdk/test/java/net/Socket/SetReceiveBufferSize.java
jdk/test/java/net/Socket/SetReceiveBufferSize.java
+3
-16
jdk/test/java/net/Socket/SetSoLinger.java
jdk/test/java/net/Socket/SetSoLinger.java
+10
-22
jdk/test/java/net/Socket/ShutdownBoth.java
jdk/test/java/net/Socket/ShutdownBoth.java
+8
-6
jdk/test/java/net/Socket/SoTimeout.java
jdk/test/java/net/Socket/SoTimeout.java
+4
-3
jdk/test/java/net/Socket/Timeout.java
jdk/test/java/net/Socket/Timeout.java
+3
-5
jdk/test/java/net/Socket/UrgentDataTest.java
jdk/test/java/net/Socket/UrgentDataTest.java
+52
-51
jdk/test/java/net/Socket/asyncClose/BrokenPipe.java
jdk/test/java/net/Socket/asyncClose/BrokenPipe.java
+2
-2
jdk/test/java/net/Socket/setReuseAddress/Restart.java
jdk/test/java/net/Socket/setReuseAddress/Restart.java
+19
-18
jdk/test/java/net/SocketInputStream/SocketClosedException.java
...est/java/net/SocketInputStream/SocketClosedException.java
+19
-57
jdk/test/java/net/SocketInputStream/SocketTimeout.java
jdk/test/java/net/SocketInputStream/SocketTimeout.java
+14
-14
jdk/test/java/net/URL/GetContent.java
jdk/test/java/net/URL/GetContent.java
+3
-3
jdk/test/java/net/URLClassLoader/ClassLoad.java
jdk/test/java/net/URLClassLoader/ClassLoad.java
+28
-3
jdk/test/java/net/URLConnection/DisconnectAfterEOF.java
jdk/test/java/net/URLConnection/DisconnectAfterEOF.java
+1
-4
jdk/test/java/net/URLConnection/HandleContentTypeWithAttrs.java
...st/java/net/URLConnection/HandleContentTypeWithAttrs.java
+4
-6
jdk/test/java/net/URLConnection/HttpContinueStackOverflow.java
...est/java/net/URLConnection/HttpContinueStackOverflow.java
+20
-25
jdk/test/java/net/URLConnection/Redirect307Test.java
jdk/test/java/net/URLConnection/Redirect307Test.java
+17
-10
jdk/test/java/net/URLConnection/RedirectLimit.java
jdk/test/java/net/URLConnection/RedirectLimit.java
+4
-0
jdk/test/java/net/URLConnection/ResendPostBody.java
jdk/test/java/net/URLConnection/ResendPostBody.java
+6
-2
jdk/test/java/net/URLConnection/SetIfModifiedSince.java
jdk/test/java/net/URLConnection/SetIfModifiedSince.java
+1
-1
jdk/test/java/net/URLConnection/TimeoutTest.java
jdk/test/java/net/URLConnection/TimeoutTest.java
+6
-2
jdk/test/java/net/URLConnection/URLConnectionHeaders.java
jdk/test/java/net/URLConnection/URLConnectionHeaders.java
+4
-2
jdk/test/java/net/URLConnection/ZeroContentLength.java
jdk/test/java/net/URLConnection/ZeroContentLength.java
+44
-16
jdk/test/java/net/ipv6tests/B6521014.java
jdk/test/java/net/ipv6tests/B6521014.java
+2
-0
jdk/test/java/net/ipv6tests/TcpTest.java
jdk/test/java/net/ipv6tests/TcpTest.java
+0
-23
jdk/test/java/net/ipv6tests/Tests.java
jdk/test/java/net/ipv6tests/Tests.java
+3
-3
jdk/test/java/nio/MappedByteBuffer/Basic.java
jdk/test/java/nio/MappedByteBuffer/Basic.java
+7
-1
jdk/test/java/nio/MappedByteBuffer/Truncate.java
jdk/test/java/nio/MappedByteBuffer/Truncate.java
+94
-0
jdk/test/java/nio/channels/SocketChannel/OutOfBand.java
jdk/test/java/nio/channels/SocketChannel/OutOfBand.java
+191
-0
jdk/test/java/util/logging/AnonLoggerWeakRefLeak.java
jdk/test/java/util/logging/AnonLoggerWeakRefLeak.java
+24
-8
jdk/test/java/util/logging/AnonLoggerWeakRefLeak.sh
jdk/test/java/util/logging/AnonLoggerWeakRefLeak.sh
+127
-120
jdk/test/java/util/logging/LoggerWeakRefLeak.java
jdk/test/java/util/logging/LoggerWeakRefLeak.java
+23
-10
jdk/test/java/util/logging/LoggerWeakRefLeak.sh
jdk/test/java/util/logging/LoggerWeakRefLeak.sh
+126
-119
jdk/test/javax/swing/JColorChooser/Test6199676.java
jdk/test/javax/swing/JColorChooser/Test6199676.java
+117
-0
jdk/test/javax/swing/JComboBox/4743225/bug4743225.java
jdk/test/javax/swing/JComboBox/4743225/bug4743225.java
+111
-0
jdk/test/javax/swing/JFormattedTextField/Test6462562.java
jdk/test/javax/swing/JFormattedTextField/Test6462562.java
+360
-0
jdk/test/sun/net/ftp/FtpGetContent.java
jdk/test/sun/net/ftp/FtpGetContent.java
+10
-10
jdk/test/sun/net/ftp/FtpURL.java
jdk/test/sun/net/ftp/FtpURL.java
+7
-10
jdk/test/sun/net/www/http/ChunkedInputStream/ChunkedEncodingWithProgressMonitorTest.java
...edInputStream/ChunkedEncodingWithProgressMonitorTest.java
+3
-3
jdk/test/sun/net/www/http/ChunkedOutputStream/Test.java
jdk/test/sun/net/www/http/ChunkedOutputStream/Test.java
+15
-15
jdk/test/sun/net/www/http/HttpClient/B6726695.java
jdk/test/sun/net/www/http/HttpClient/B6726695.java
+2
-0
jdk/test/sun/net/www/http/HttpClient/MultiThreadTest.java
jdk/test/sun/net/www/http/HttpClient/MultiThreadTest.java
+6
-5
jdk/test/sun/net/www/http/HttpClient/ProxyTest.java
jdk/test/sun/net/www/http/HttpClient/ProxyTest.java
+24
-30
jdk/test/sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java
...sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java
+4
-1
jdk/test/sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java
...iveStream/KeepAliveStreamCloseWithWrongContentLength.java
+7
-13
jdk/test/sun/net/www/httptest/HttpServer.java
jdk/test/sun/net/www/httptest/HttpServer.java
+6
-0
jdk/test/sun/net/www/protocol/http/DigestTest.java
jdk/test/sun/net/www/protocol/http/DigestTest.java
+8
-13
jdk/test/sun/security/krb5/ConfPlusProp.java
jdk/test/sun/security/krb5/ConfPlusProp.java
+4
-2
jdk/test/sun/security/krb5/confplusprop.conf
jdk/test/sun/security/krb5/confplusprop.conf
+1
-0
jdk/test/sun/security/krb5/confplusprop2.conf
jdk/test/sun/security/krb5/confplusprop2.conf
+3
-0
jdk/test/sun/security/util/DerOutputStream/LocaleInTime.java
jdk/test/sun/security/util/DerOutputStream/LocaleInTime.java
+42
-0
jdk/test/sun/security/x509/AlgorithmId/TurkishRegion.java
jdk/test/sun/security/x509/AlgorithmId/TurkishRegion.java
+40
-0
jdk/test/sun/tools/common/ApplicationSetup.sh
jdk/test/sun/tools/common/ApplicationSetup.sh
+169
-36
jdk/test/sun/tools/common/CommonSetup.sh
jdk/test/sun/tools/common/CommonSetup.sh
+70
-32
jdk/test/sun/tools/common/CommonTests.sh
jdk/test/sun/tools/common/CommonTests.sh
+314
-0
jdk/test/sun/tools/common/ShutdownSimpleApplication.java
jdk/test/sun/tools/common/ShutdownSimpleApplication.java
+22
-8
jdk/test/sun/tools/common/SimpleApplication.java
jdk/test/sun/tools/common/SimpleApplication.java
+77
-14
jdk/test/sun/tools/common/SleeperApplication.java
jdk/test/sun/tools/common/SleeperApplication.java
+59
-0
jdk/test/sun/tools/jhat/ParseTest.sh
jdk/test/sun/tools/jhat/ParseTest.sh
+6
-2
jdk/test/sun/tools/jinfo/Basic.sh
jdk/test/sun/tools/jinfo/Basic.sh
+21
-17
jdk/test/sun/tools/jmap/Basic.sh
jdk/test/sun/tools/jmap/Basic.sh
+16
-13
jdk/test/sun/tools/jrunscript/common.sh
jdk/test/sun/tools/jrunscript/common.sh
+11
-1
jdk/test/sun/tools/jrunscript/jrunscript-eTest.sh
jdk/test/sun/tools/jrunscript/jrunscript-eTest.sh
+3
-3
jdk/test/sun/tools/jrunscript/jrunscript-fTest.sh
jdk/test/sun/tools/jrunscript/jrunscript-fTest.sh
+3
-3
jdk/test/sun/tools/jrunscript/jrunscriptTest.sh
jdk/test/sun/tools/jrunscript/jrunscriptTest.sh
+3
-3
jdk/test/sun/tools/jstack/Basic.sh
jdk/test/sun/tools/jstack/Basic.sh
+12
-8
未找到文件。
.hgtags-top-repo
浏览文件 @
38e2740c
...
...
@@ -78,3 +78,4 @@ b218a53ec7d3d42be61d31d6917a6c5c037b6f56 jdk7-b100
4193eaf5f1b82794c6a0fb1a8d11af43d1b1d611 jdk7-b101
a136a51f5113da4dad3853b74a8536ab583ab112 jdk7-b102
be2aedc4e3b1751c1310f334242ba69e90867f38 jdk7-b103
f8be576feefce0c6695f188ef97ec16b73ad9cfd jdk7-b104
hotspot/.hgtags
浏览文件 @
38e2740c
...
...
@@ -109,3 +109,4 @@ ad1977f08c4d69162a0775fe3f9576b9fd521d10 hs19-b03
c5cadf1a07717955cf60dbaec16e35b529fd2cb0 jdk7-b102
cb4250ef73b21de6c487ea14e2b0b99eed67b4b6 jdk7-b103
e55900b5c1b865cac17e18abc639c7dc50de7fd8 hs19-b04
b4acf10eb134fe930802c97e36db65e7ccb544b5 jdk7-b104
jdk/.hgtags
浏览文件 @
38e2740c
...
...
@@ -78,3 +78,4 @@ b1903d7528d33b521df42bc9291bdcdd2f444a29 jdk7-b97
d58354a69011f3d3354765fa3167567c4c4a9612 jdk7-b101
13029a61b16bec06535d4f0aa98229b358684128 jdk7-b102
6488b70a23cc6dc4b7e00809bc503c2884bafb28 jdk7-b103
1a92820132a0221c5bdedd42d0888c57ce4cbb34 jdk7-b104
jdk/make/common/Release.gmk
浏览文件 @
38e2740c
...
...
@@ -571,6 +571,16 @@ $(NOT_RT_JAR_LIST): FRC
$(ECHO) "META-INF/services/com.sun.tools.xjc.Plugin" >> $@
$(ECHO) "com/sun/tools/" >> $@
$(ECHO) "sun/jvmstat/" >> $@
$(ECHO) "sun/nio/cs/ext/" >> $@
$(ECHO) "sun/awt/HKSCS.class" >> $@
$(ECHO) "sun/awt/motif/X11GB2312$Decoder.class" >> $@
$(ECHO) "sun/awt/motif/X11GB2312$Encoder.class" >> $@
$(ECHO) "sun/awt/motif/X11GB2312.class" >> $@
$(ECHO) "sun/awt/motif/X11GBK$Encoder.class" >> $@
$(ECHO) "sun/awt/motif/X11GBK.class" >> $@
$(ECHO) "sun/awt/motif/X11KSC5601$Decoder.class" >> $@
$(ECHO) "sun/awt/motif/X11KSC5601$Encoder.class" >> $@
$(ECHO) "sun/awt/motif/X11KSC5601.class" >> $@
$(ECHO) "sun/rmi/rmic/" >> $@
$(ECHO) "sun/tools/asm/" >> $@
$(ECHO) "sun/tools/java/" >> $@
...
...
jdk/make/java/nio/mapfile-linux
浏览文件 @
38e2740c
...
...
@@ -119,6 +119,7 @@ SUNWprivate_1.1 {
Java_sun_nio_ch_ServerSocketChannelImpl_accept0;
Java_sun_nio_ch_ServerSocketChannelImpl_initIDs;
Java_sun_nio_ch_SocketChannelImpl_checkConnect;
Java_sun_nio_ch_SocketChannelImpl_sendOutOfBandData;
Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_accept0;
Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_initIDs;
Java_sun_nio_ch_UnixAsynchronousSocketChannelImpl_checkConnect;
...
...
jdk/make/java/nio/mapfile-solaris
浏览文件 @
38e2740c
...
...
@@ -106,6 +106,7 @@ SUNWprivate_1.1 {
Java_sun_nio_ch_ServerSocketChannelImpl_accept0;
Java_sun_nio_ch_ServerSocketChannelImpl_initIDs;
Java_sun_nio_ch_SocketChannelImpl_checkConnect;
Java_sun_nio_ch_SocketChannelImpl_sendOutOfBandData;
Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_accept0;
Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_initIDs;
Java_sun_nio_ch_UnixAsynchronousSocketChannelImpl_checkConnect;
...
...
jdk/make/sun/nio/cs/Makefile
浏览文件 @
38e2740c
...
...
@@ -57,6 +57,25 @@ CHARSETS_JAR = $(LIBDIR)/charsets.jar
# extcs
FILES_genout_extcs
=
$
(
FILES_gen_extcs:%.java
=
$(GENSRCDIR)
/%.java
)
#
# These sun.awt charsets use sun/nio/cs/ext charsets that only exist
# in JDK7 charsets.jar, which causes problem when build the symbol
# table for rt.jar in Release.gmk. They are now removed from the
# rt.jar when building jdk/jre image (in Release.gmk), so add them
# into charsets.jar here
#
ifeq
($(PLATFORM), windows)
FILES_src
+=
\
sun/awt/HKSCS.java
else
# Solaris/Linux
FILES_src
+=
\
sun/awt/HKSCS.java
\
sun/awt/motif/X11GB2312.java
\
sun/awt/motif/X11GBK.java
\
sun/awt/motif/X11KSC5601.java
endif
# PLATFORM
#
# Rules
#
...
...
jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java
浏览文件 @
38e2740c
/*
* Copyright (c) 2000, 20
04
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -132,7 +132,7 @@ public class DnsContextFactory implements InitialContextFactory {
throw
new
ConfigurationException
(
"DNS pseudo-URL required"
);
}
List
servers
=
new
ArrayList
();
List
<
String
>
servers
=
new
ArrayList
<>
();
for
(
int
i
=
0
;
i
<
urls
.
length
;
i
++)
{
String
server
=
urls
[
i
].
getHost
();
...
...
@@ -142,7 +142,7 @@ public class DnsContextFactory implements InitialContextFactory {
// No server or port given, so look to underlying platform.
// ResolverConfiguration does some limited caching, so the
// following is reasonably efficient even if called rapid-fire.
List
platformServers
=
List
<
String
>
platformServers
=
ResolverConfiguration
.
open
().
nameservers
();
if
(!
platformServers
.
isEmpty
())
{
servers
.
addAll
(
platformServers
);
...
...
@@ -157,8 +157,7 @@ public class DnsContextFactory implements InitialContextFactory {
?
server
:
server
+
":"
+
port
);
}
return
(
String
[])
servers
.
toArray
(
new
String
[
servers
.
size
()]);
return
servers
.
toArray
(
new
String
[
servers
.
size
()]);
}
/*
...
...
jdk/src/share/classes/com/sun/jndi/ldap/Connection.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1999, 20
09
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -658,6 +658,11 @@ public final class Connection implements Runnable {
}
}
if
(
nparent
)
{
LdapRequest
ldr
=
pendingRequests
;
while
(
ldr
!=
null
)
{
ldr
.
notify
();
ldr
=
ldr
.
next
;
}
parent
.
processConnectionClosure
();
}
}
...
...
jdk/src/share/classes/com/sun/jndi/ldap/Filter.java
浏览文件 @
38e2740c
...
...
@@ -803,8 +803,7 @@ final class Filter {
//
////////////////////////////////////////////////////////////////////////////
// private static final boolean dbg = false;
private
static
final
boolean
dbg
=
true
;
private
static
final
boolean
dbg
=
false
;
private
static
int
dbgIndent
=
0
;
private
static
void
dprint
(
String
msg
)
{
...
...
jdk/src/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java
浏览文件 @
38e2740c
...
...
@@ -81,7 +81,7 @@ public class RegistryContext implements Context, Referenceable {
}
RMIClientSocketFactory
socketFactory
=
(
RMIClientSocketFactory
)
env
.
get
(
SOCKET_FACTORY
);
(
RMIClientSocketFactory
)
env
ironment
.
get
(
SOCKET_FACTORY
);
registry
=
getRegistry
(
host
,
port
,
socketFactory
);
this
.
host
=
host
;
this
.
port
=
port
;
...
...
jdk/src/share/classes/java/lang/AutoCloseable.java
浏览文件 @
38e2740c
...
...
@@ -41,6 +41,13 @@ public interface AutoCloseable {
* be declared to throw more specific exceptions (or no exception
* at all, if the close cannot fail).
*
* <p>Note that unlike the {@link java.io.Closeable#close close}
* method of {@link java.io.Closeable}, this {@code close} method
* is <em>not</em> required to be idempotent. In other words,
* calling this {@code close} method more than once may have some
* visible side effect, unlike {@code Closeable.close} which is
* required to have no effect if called more than once.
*
* @throws Exception if this resource cannot be closed
*/
void
close
()
throws
Exception
;
...
...
jdk/src/share/classes/java/lang/Throwable.java
浏览文件 @
38e2740c
...
...
@@ -28,12 +28,12 @@ import java.io.*;
import
java.util.*
;
/**
* The
<code>Throwable</code>
class is the superclass of all errors and
* The
{@code Throwable}
class is the superclass of all errors and
* exceptions in the Java language. Only objects that are instances of this
* class (or one of its subclasses) are thrown by the Java Virtual Machine or
* can be thrown by the Java
<code>throw</code>
statement. Similarly, only
* can be thrown by the Java
{@code throw}
statement. Similarly, only
* this class or one of its subclasses can be the argument type in a
*
<code>catch</code>
clause.
*
{@code catch}
clause.
*
* For the purposes of compile-time checking of exceptions, {@code
* Throwable} and any subclass of {@code Throwable} that is not also a
...
...
@@ -73,11 +73,11 @@ import java.util.*;
* permit the method to throw the cause directly. For example, suppose
* a persistent collection conforms to the {@link java.util.Collection
* Collection} interface, and that its persistence is implemented atop
*
<tt>java.io</tt>. Suppose the internals of the <tt>add</tt>
method
*
{@code java.io}. Suppose the internals of the {@code add}
method
* can throw an {@link java.io.IOException IOException}. The implementation
* can communicate the details of the
<tt>IOException</tt>
to its caller
* while conforming to the
<tt>Collection</tt>
interface by wrapping the
*
<tt>IOException</tt>
in an appropriate unchecked exception. (The
* can communicate the details of the
{@code IOException}
to its caller
* while conforming to the
{@code Collection}
interface by wrapping the
*
{@code IOException}
in an appropriate unchecked exception. (The
* specification for the persistent collection should indicate that it is
* capable of throwing such exceptions.)
*
...
...
@@ -86,7 +86,7 @@ import java.util.*;
* {@link #initCause(Throwable)} method. New throwable classes that
* wish to allow causes to be associated with them should provide constructors
* that take a cause and delegate (perhaps indirectly) to one of the
*
<tt>Throwable</tt>
constructors that takes a cause. For example:
*
{@code Throwable}
constructors that takes a cause. For example:
* <pre>
* try {
* lowLevelOp();
...
...
@@ -94,10 +94,10 @@ import java.util.*;
* throw new HighLevelException(le); // Chaining-aware constructor
* }
* </pre>
* Because the
<tt>initCause</tt>
method is public, it allows a cause to be
* Because the
{@code initCause}
method is public, it allows a cause to be
* associated with any throwable, even a "legacy throwable" whose
* implementation predates the addition of the exception chaining mechanism to
*
<tt>Throwable</tt>
. For example:
*
{@code Throwable}
. For example:
* <pre>
* try {
* lowLevelOp();
...
...
@@ -121,28 +121,28 @@ import java.util.*;
* use the standard exception chaining mechanism, while continuing to
* implement their "legacy" chaining mechanisms for compatibility.
*
* <p>Further, as of release 1.4, many general purpose
<tt>Throwable</tt>
* <p>Further, as of release 1.4, many general purpose
{@code Throwable}
* classes (for example {@link Exception}, {@link RuntimeException},
* {@link Error}) have been retrofitted with constructors that take
* a cause. This was not strictly necessary, due to the existence of the
*
<tt>initCause</tt>
method, but it is more convenient and expressive to
*
{@code initCause}
method, but it is more convenient and expressive to
* delegate to a constructor that takes a cause.
*
* <p>By convention, class
<code>Throwable</code>
and its subclasses have two
* <p>By convention, class
{@code Throwable}
and its subclasses have two
* constructors, one that takes no arguments and one that takes a
*
<code>String</code>
argument that can be used to produce a detail message.
*
{@code String}
argument that can be used to produce a detail message.
* Further, those subclasses that might likely have a cause associated with
* them should have two more constructors, one that takes a
*
<code>Throwable</code>
(the cause), and one that takes a
*
<code>String</code> (the detail message) and a <code>Throwable</code>
(the
*
{@code Throwable}
(the cause), and one that takes a
*
{@code String} (the detail message) and a {@code Throwable}
(the
* cause).
*
* <p>Also introduced in release 1.4 is the {@link #getStackTrace()} method,
* which allows programmatic access to the stack trace information that was
* previously available only in text form, via the various forms of the
* {@link #printStackTrace()} method. This information has been added to the
* <i>serialized representation</i> of this class so
<tt>getStackTrace</tt>
* and
<tt>printStackTrace</tt>
will operate properly on a throwable that
* <i>serialized representation</i> of this class so
{@code getStackTrace}
* and
{@code printStackTrace}
will operate properly on a throwable that
* was obtained by deserialization.
*
* @author unascribed
...
...
@@ -162,7 +162,7 @@ public class Throwable implements Serializable {
/**
* Specific details about the Throwable. For example, for
*
<tt>FileNotFoundException</tt>
, this contains the name of
*
{@code FileNotFoundException}
, this contains the name of
* the file that could not be found.
*
* @serial
...
...
@@ -212,7 +212,7 @@ public class Throwable implements Serializable {
private
static
final
String
SUPPRESSED_CAPTION
=
"Suppressed: "
;
/**
* Constructs a new throwable with
<code>null</code>
as its detail message.
* Constructs a new throwable with
{@code null}
as its detail message.
* The cause is not initialized, and may subsequently be initialized by a
* call to {@link #initCause}.
*
...
...
@@ -242,7 +242,7 @@ public class Throwable implements Serializable {
/**
* Constructs a new throwable with the specified detail message and
* cause. <p>Note that the detail message associated with
*
<code>cause</code>
is <i>not</i> automatically incorporated in
*
{@code cause}
is <i>not</i> automatically incorporated in
* this throwable's detail message.
*
* <p>The {@link #fillInStackTrace()} method is called to initialize
...
...
@@ -251,7 +251,7 @@ public class Throwable implements Serializable {
* @param message the detail message (which is saved for later retrieval
* by the {@link #getMessage()} method).
* @param cause the cause (which is saved for later retrieval by the
* {@link #getCause()} method). (A
<tt>null</tt>
value is
* {@link #getCause()} method). (A
{@code null}
value is
* permitted, and indicates that the cause is nonexistent or
* unknown.)
* @since 1.4
...
...
@@ -264,8 +264,8 @@ public class Throwable implements Serializable {
/**
* Constructs a new throwable with the specified cause and a detail
* message of
<tt>(cause==null ? null : cause.toString())</tt>
(which
* typically contains the class and detail message of
<tt>cause</tt>
).
* message of
{@code (cause==null ? null : cause.toString())}
(which
* typically contains the class and detail message of
{@code cause}
).
* This constructor is useful for throwables that are little more than
* wrappers for other throwables (for example, {@link
* java.security.PrivilegedActionException}).
...
...
@@ -274,7 +274,7 @@ public class Throwable implements Serializable {
* the stack trace data in the newly created throwable.
*
* @param cause the cause (which is saved for later retrieval by the
* {@link #getCause()} method). (A
<tt>null</tt>
value is
* {@link #getCause()} method). (A
{@code null}
value is
* permitted, and indicates that the cause is nonexistent or
* unknown.)
* @since 1.4
...
...
@@ -288,8 +288,8 @@ public class Throwable implements Serializable {
/**
* Returns the detail message string of this throwable.
*
* @return the detail message string of this
<tt>Throwable</tt>
instance
* (which may be
<tt>null</tt>
).
* @return the detail message string of this
{@code Throwable}
instance
* (which may be
{@code null}
).
*/
public
String
getMessage
()
{
return
detailMessage
;
...
...
@@ -300,7 +300,7 @@ public class Throwable implements Serializable {
* Subclasses may override this method in order to produce a
* locale-specific message. For subclasses that do not override this
* method, the default implementation returns the same result as
*
<code>getMessage()</code>
.
*
{@code getMessage()}
.
*
* @return The localized description of this throwable.
* @since JDK1.1
...
...
@@ -310,22 +310,22 @@ public class Throwable implements Serializable {
}
/**
* Returns the cause of this throwable or
<code>null</code>
if the
* Returns the cause of this throwable or
{@code null}
if the
* cause is nonexistent or unknown. (The cause is the throwable that
* caused this throwable to get thrown.)
*
* <p>This implementation returns the cause that was supplied via one of
* the constructors requiring a
<tt>Throwable</tt>
, or that was set after
* the constructors requiring a
{@code Throwable}
, or that was set after
* creation with the {@link #initCause(Throwable)} method. While it is
* typically unnecessary to override this method, a subclass can override
* it to return a cause set by some other means. This is appropriate for
* a "legacy chained throwable" that predates the addition of chained
* exceptions to
<tt>Throwable</tt>
. Note that it is <i>not</i>
* necessary to override any of the
<tt>PrintStackTrace</tt>
methods,
* all of which invoke the
<tt>getCause</tt>
method to determine the
* exceptions to
{@code Throwable}
. Note that it is <i>not</i>
* necessary to override any of the
{@code PrintStackTrace}
methods,
* all of which invoke the
{@code getCause}
method to determine the
* cause of a throwable.
*
* @return the cause of this throwable or
<code>null</code>
if the
* @return the cause of this throwable or
{@code null}
if the
* cause is nonexistent or unknown.
* @since 1.4
*/
...
...
@@ -345,11 +345,11 @@ public class Throwable implements Serializable {
* even once.
*
* @param cause the cause (which is saved for later retrieval by the
* {@link #getCause()} method). (A
<tt>null</tt>
value is
* {@link #getCause()} method). (A
{@code null}
value is
* permitted, and indicates that the cause is nonexistent or
* unknown.)
* @return a reference to this
<code>Throwable</code>
instance.
* @throws IllegalArgumentException if
<code>cause</code>
is this
* @return a reference to this
{@code Throwable}
instance.
* @throws IllegalArgumentException if
{@code cause}
is this
* throwable. (A throwable cannot be its own cause.)
* @throws IllegalStateException if this throwable was
* created with {@link #Throwable(Throwable)} or
...
...
@@ -375,7 +375,7 @@ public class Throwable implements Serializable {
* <li> the result of invoking this object's {@link #getLocalizedMessage}
* method
* </ul>
* If
<tt>getLocalizedMessage</tt> returns <tt>null</tt>
, then just
* If
{@code getLocalizedMessage} returns {@code null}
, then just
* the class name is returned.
*
* @return a string representation of this throwable.
...
...
@@ -389,8 +389,8 @@ public class Throwable implements Serializable {
/**
* Prints this throwable and its backtrace to the
* standard error stream. This method prints a stack trace for this
*
<code>Throwable</code>
object on the error output stream that is
* the value of the field
<code>System.err</code>
. The first line of
*
{@code Throwable}
object on the error output stream that is
* the value of the field
{@code System.err}
. The first line of
* output contains the result of the {@link #toString()} method for
* this object. Remaining lines represent data previously recorded by
* the method {@link #fillInStackTrace()}. The format of this
...
...
@@ -435,7 +435,7 @@ public class Throwable implements Serializable {
* at Junk.c(Junk.java:21)
* ... 3 more
* </pre>
* Note the presence of lines containing the characters
<tt>"..."</tt>
.
* Note the presence of lines containing the characters
{@code "..."}
.
* These lines indicate that the remainder of the stack trace for this
* exception matches the indicated number of frames from the bottom of the
* stack trace of the exception that was caused by this exception (the
...
...
@@ -542,14 +542,17 @@ public class Throwable implements Serializable {
/**
* Prints this throwable and its backtrace to the specified print stream.
*
* @param s
<code>PrintStream</code>
to use for output
* @param s
{@code PrintStream}
to use for output
*/
public
void
printStackTrace
(
PrintStream
s
)
{
printStackTrace
(
new
WrappedPrintStream
(
s
));
}
private
void
printStackTrace
(
PrintStreamOrWriter
s
)
{
Set
<
Throwable
>
dejaVu
=
new
HashSet
<
Throwable
>();
// Guard against malicious overrides of Throwable.equals by
// using a Set with identity equality semantics.
Set
<
Throwable
>
dejaVu
=
Collections
.
newSetFromMap
(
new
IdentityHashMap
<
Throwable
,
Boolean
>());
dejaVu
.
add
(
this
);
synchronized
(
s
.
lock
())
{
...
...
@@ -616,7 +619,7 @@ public class Throwable implements Serializable {
* Prints this throwable and its backtrace to the specified
* print writer.
*
* @param s
<code>PrintWriter</code>
to use for output
* @param s
{@code PrintWriter}
to use for output
* @since JDK1.1
*/
public
void
printStackTrace
(
PrintWriter
s
)
{
...
...
@@ -669,10 +672,10 @@ public class Throwable implements Serializable {
/**
* Fills in the execution stack trace. This method records within this
*
<code>Throwable</code>
object information about the current state of
*
{@code Throwable}
object information about the current state of
* the stack frames for the current thread.
*
* @return a reference to this
<code>Throwable</code>
instance.
* @return a reference to this
{@code Throwable}
instance.
* @see java.lang.Throwable#printStackTrace()
*/
public
synchronized
native
Throwable
fillInStackTrace
();
...
...
@@ -694,7 +697,7 @@ public class Throwable implements Serializable {
* this throwable is permitted to return a zero-length array from this
* method. Generally speaking, the array returned by this method will
* contain one element for every frame that would be printed by
*
<tt>printStackTrace</tt>
.
*
{@code printStackTrace}
.
*
* @return an array of stack trace elements representing the stack trace
* pertaining to this throwable.
...
...
@@ -727,14 +730,14 @@ public class Throwable implements Serializable {
* read from a serialization stream.
*
* @param stackTrace the stack trace elements to be associated with
* this
<code>Throwable</code>
. The specified array is copied by this
* this
{@code Throwable}
. The specified array is copied by this
* call; changes in the specified array after the method invocation
* returns will have no affect on this
<code>Throwable</code>
's stack
* returns will have no affect on this
{@code Throwable}
's stack
* trace.
*
* @throws NullPointerException if
<code>stackTrace</code>
is
*
<code>null</code>
, or if any of the elements of
*
<code>stackTrace</code> are <code>null</code>
* @throws NullPointerException if
{@code stackTrace}
is
*
{@code null}
, or if any of the elements of
*
{@code stackTrace} are {@code null}
*
* @since 1.4
*/
...
...
@@ -761,8 +764,8 @@ public class Throwable implements Serializable {
* package-protection for use by SharedSecrets.
*
* @param index index of the element to return.
* @throws IndexOutOfBoundsException if
<tt>index <
0 ||
* index
>= getStackTraceDepth() </tt>
* @throws IndexOutOfBoundsException if
{@code index <
0 ||
* index
>= getStackTraceDepth() }
*/
native
StackTraceElement
getStackTraceElement
(
int
index
);
...
...
@@ -794,14 +797,27 @@ public class Throwable implements Serializable {
* were suppressed, typically by the automatic resource management
* statement, in order to deliver this exception.
*
* <p>Note that when one exception {@linkplain
* #initCause(Throwable) causes} another exception, the first
* exception is usually caught and then the second exception is
* thrown in response. In contrast, when one exception suppresses
* another, two exceptions are thrown in sibling code blocks, such
* as in a {@code try} block and in its {@code finally} block, and
* control flow can only continue with one exception so the second
* is recorded as a suppressed exception of the first.
*
* @param exception the exception to be added to the list of
* suppressed exceptions
* @throws NullPointerException if {@code exception} is null
* @throws IllegalArgumentException if {@code exception} is this
* throwable; a throwable cannot suppress itself.
* @since 1.7
*/
public
synchronized
void
addSuppressedException
(
Throwable
exception
)
{
if
(
exception
==
null
)
throw
new
NullPointerException
(
NULL_CAUSE_MESSAGE
);
if
(
exception
==
this
)
throw
new
IllegalArgumentException
(
"Self-suppression not permitted"
);
if
(
suppressedExceptions
.
size
()
==
0
)
suppressedExceptions
=
new
ArrayList
<
Throwable
>();
...
...
jdk/src/share/classes/java/nio/Bits.java
浏览文件 @
38e2740c
...
...
@@ -596,6 +596,9 @@ class Bits { // package-private
return
pageSize
;
}
static
int
pageCount
(
long
size
)
{
return
(
int
)(
size
+
(
long
)
pageSize
()
-
1L
)
/
pageSize
();
}
private
static
boolean
unaligned
;
private
static
boolean
unalignedKnown
=
false
;
...
...
jdk/src/share/classes/java/nio/MappedByteBuffer.java
浏览文件 @
38e2740c
...
...
@@ -25,6 +25,8 @@
package
java.nio
;
import
sun.misc.Unsafe
;
/**
* A direct byte buffer whose content is a memory-mapped region of a file.
...
...
@@ -93,6 +95,22 @@ public abstract class MappedByteBuffer
throw
new
UnsupportedOperationException
();
}
// Returns the distance (in bytes) of the buffer from the page aligned address
// of the mapping. Computed each time to avoid storing in every direct buffer.
private
long
mappingOffset
()
{
int
ps
=
Bits
.
pageSize
();
long
offset
=
address
%
ps
;
return
(
offset
>=
0
)
?
offset
:
(
ps
+
offset
);
}
private
long
mappingAddress
(
long
mappingOffset
)
{
return
address
-
mappingOffset
;
}
private
long
mappingLength
(
long
mappingOffset
)
{
return
(
long
)
capacity
()
+
mappingOffset
;
}
/**
* Tells whether or not this buffer's content is resident in physical
* memory.
...
...
@@ -115,7 +133,9 @@ public abstract class MappedByteBuffer
checkMapped
();
if
((
address
==
0
)
||
(
capacity
()
==
0
))
return
true
;
return
isLoaded0
(((
DirectByteBuffer
)
this
).
address
(),
capacity
());
long
offset
=
mappingOffset
();
long
length
=
mappingLength
(
offset
);
return
isLoaded0
(
mappingAddress
(
offset
),
length
,
Bits
.
pageCount
(
length
));
}
/**
...
...
@@ -132,7 +152,20 @@ public abstract class MappedByteBuffer
checkMapped
();
if
((
address
==
0
)
||
(
capacity
()
==
0
))
return
this
;
load0
(((
DirectByteBuffer
)
this
).
address
(),
capacity
(),
Bits
.
pageSize
());
long
offset
=
mappingOffset
();
long
length
=
mappingLength
(
offset
);
load0
(
mappingAddress
(
offset
),
length
);
// touch each page
Unsafe
unsafe
=
Unsafe
.
getUnsafe
();
int
ps
=
Bits
.
pageSize
();
int
count
=
Bits
.
pageCount
(
length
);
long
a
=
mappingAddress
(
offset
);
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
unsafe
.
getByte
(
a
);
a
+=
ps
;
}
return
this
;
}
...
...
@@ -156,14 +189,15 @@ public abstract class MappedByteBuffer
*/
public
final
MappedByteBuffer
force
()
{
checkMapped
();
if
((
address
==
0
)
||
(
capacity
()
==
0
))
return
this
;
force0
(((
DirectByteBuffer
)
this
).
address
(),
capacity
());
if
((
address
!=
0
)
&&
(
capacity
()
!=
0
))
{
long
offset
=
mappingOffset
();
force0
(
mappingAddress
(
offset
),
mappingLength
(
offset
));
}
return
this
;
}
private
native
boolean
isLoaded0
(
long
address
,
long
length
);
private
native
int
load0
(
long
address
,
long
length
,
int
pageSize
);
private
native
boolean
isLoaded0
(
long
address
,
long
length
,
int
pageCount
);
private
native
void
load0
(
long
address
,
long
length
);
private
native
void
force0
(
long
address
,
long
length
);
}
jdk/src/share/classes/java/security/cert/X509CRL.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1997, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -387,7 +387,7 @@ public abstract class X509CRL extends CRL implements X509Extension {
/**
* Gets the signature algorithm name for the CRL
* signature algorithm. An example is the string "SHA
-1/D
SA".
* signature algorithm. An example is the string "SHA
256withR
SA".
* The ASN.1 definition for this is:
* <pre>
* signatureAlgorithm AlgorithmIdentifier<p>
...
...
jdk/src/share/classes/java/security/cert/X509Certificate.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1997, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -352,7 +352,7 @@ implements X509Extension {
/**
* Gets the signature algorithm name for the certificate
* signature algorithm. An example is the string "SHA
-1/D
SA".
* signature algorithm. An example is the string "SHA
256withR
SA".
* The ASN.1 definition for this is:
* <pre>
* signatureAlgorithm AlgorithmIdentifier<p>
...
...
jdk/src/share/classes/java/util/LinkedList.java
浏览文件 @
38e2740c
...
...
@@ -26,18 +26,9 @@
package
java.util
;
/**
* Linked list implementation of the {@code List} interface. Implements all
* optional list operations, and permits all elements (including
* {@code null}). In addition to implementing the {@code List} interface,
* the {@code LinkedList} class provides uniformly named methods to
* {@code get}, {@code remove} and {@code insert} an element at the
* beginning and end of the list. These operations allow linked lists to be
* used as a stack, {@linkplain Queue queue}, or {@linkplain Deque
* double-ended queue}.
*
* <p>The class implements the {@code Deque} interface, providing
* first-in-first-out queue operations for {@code add},
* {@code poll}, along with other stack and deque operations.
* Linked list implementation of the {@link List} and {@link Deque} interfaces.
* Implements all optional operations, and permits all elements (including
* {@code null}).
*
* <p>All of the operations perform as could be expected for a doubly-linked
* list. Operations that index into the list will traverse the list from
...
...
jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1997, 20
08
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -113,7 +113,6 @@ public class BasicColorChooserUI extends ColorChooserUI
previewPanelHolder
.
setBorder
(
new
TitledBorder
(
previewString
));
}
previewPanelHolder
.
setInheritsPopupMenu
(
true
);
chooser
.
add
(
previewPanelHolder
,
BorderLayout
.
SOUTH
);
installPreviewPanel
();
chooser
.
applyComponentOrientation
(
c
.
getComponentOrientation
());
...
...
@@ -126,13 +125,9 @@ public class BasicColorChooserUI extends ColorChooserUI
uninstallDefaultChoosers
();
uninstallListeners
();
uninstallPreviewPanel
();
uninstallDefaults
();
previewPanelHolder
.
remove
(
previewPanel
);
if
(
previewPanel
instanceof
UIResource
)
{
chooser
.
setPreviewPanel
(
null
);
}
previewPanelHolder
=
null
;
previewPanel
=
null
;
defaultChoosers
=
null
;
...
...
@@ -143,29 +138,37 @@ public class BasicColorChooserUI extends ColorChooserUI
}
protected
void
installPreviewPanel
()
{
if
(
previewPanel
!=
null
)
{
previewPanelHolder
.
remove
(
previewPanel
);
previewPanel
.
removeMouseListener
(
getHandler
()
);
JComponent
previewPanel
=
this
.
chooser
.
getPreviewPanel
();
if
(
previewPanel
==
null
)
{
previewPanel
=
ColorChooserComponentFactory
.
getPreviewPanel
(
);
}
previewPanel
=
chooser
.
getPreviewPanel
();
Dimension
layoutSize
=
new
Dimension
();
// fix for bug 4759306
if
(
previewPanel
!=
null
)
{
layoutSize
=
new
BorderLayout
().
minimumLayoutSize
(
previewPanel
);
if
((
previewPanelHolder
!=
null
)
&&
(
chooser
!=
null
)
&&
(
layoutSize
.
getWidth
()
+
layoutSize
.
getHeight
()
==
0
))
{
chooser
.
remove
(
previewPanelHolder
);
return
;
else
{
Dimension
size
=
new
BorderLayout
().
minimumLayoutSize
(
previewPanel
);
if
((
size
.
width
==
0
)
&&
(
size
.
height
==
0
))
{
previewPanel
=
null
;
}
}
if
(
previewPanel
==
null
||
previewPanel
instanceof
UIResource
)
{
previewPanel
=
ColorChooserComponentFactory
.
getPreviewPanel
();
// get from table?
chooser
.
setPreviewPanel
(
previewPanel
);
this
.
previewPanel
=
previewPanel
;
if
(
previewPanel
!=
null
)
{
chooser
.
add
(
previewPanelHolder
,
BorderLayout
.
SOUTH
);
previewPanel
.
setForeground
(
chooser
.
getColor
());
previewPanelHolder
.
add
(
previewPanel
);
previewPanel
.
addMouseListener
(
getHandler
());
previewPanel
.
setInheritsPopupMenu
(
true
);
}
previewPanel
.
setForeground
(
chooser
.
getColor
());
previewPanelHolder
.
add
(
previewPanel
);
previewPanel
.
addMouseListener
(
getHandler
());
previewPanel
.
setInheritsPopupMenu
(
true
);
}
/**
* Removes installed preview panel from the UI delegate.
*
* @since 1.7
*/
protected
void
uninstallPreviewPanel
()
{
if
(
this
.
previewPanel
!=
null
)
{
this
.
previewPanel
.
removeMouseListener
(
getHandler
());
this
.
previewPanelHolder
.
remove
(
this
.
previewPanel
);
}
this
.
chooser
.
remove
(
this
.
previewPanelHolder
);
}
protected
void
installDefaults
()
{
...
...
@@ -209,7 +212,6 @@ public class BasicColorChooserUI extends ColorChooserUI
chooser
.
removePropertyChangeListener
(
propertyChangeListener
);
chooser
.
getSelectionModel
().
removeChangeListener
(
previewListener
);
previewListener
=
null
;
previewPanel
.
removeMouseListener
(
getHandler
());
}
private
void
selectionChanged
(
ColorSelectionModel
model
)
{
...
...
@@ -312,9 +314,8 @@ public class BasicColorChooserUI extends ColorChooserUI
}
}
else
if
(
prop
==
JColorChooser
.
PREVIEW_PANEL_PROPERTY
)
{
if
(
evt
.
getNewValue
()
!=
previewPanel
)
{
installPreviewPanel
();
}
uninstallPreviewPanel
();
installPreviewPanel
();
}
else
if
(
prop
==
JColorChooser
.
SELECTION_MODEL_PROPERTY
)
{
ColorSelectionModel
oldModel
=
(
ColorSelectionModel
)
evt
.
getOldValue
();
...
...
@@ -352,5 +353,4 @@ public class BasicColorChooserUI extends ColorChooserUI
super
(
"color"
);
}
}
}
jdk/src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
浏览文件 @
38e2740c
...
...
@@ -202,8 +202,8 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup {
* Implementation of ComboPopup.show().
*/
public
void
show
()
{
comboBox
.
firePopupMenuWillBecomeVisible
();
setListSelection
(
comboBox
.
getSelectedIndex
());
Point
location
=
getPopupLocation
();
show
(
comboBox
,
location
.
x
,
location
.
y
);
}
...
...
@@ -344,7 +344,8 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup {
protected
void
firePopupMenuWillBecomeVisible
()
{
super
.
firePopupMenuWillBecomeVisible
();
comboBox
.
firePopupMenuWillBecomeVisible
();
// comboBox.firePopupMenuWillBecomeVisible() is called from BasicComboPopup.show() method
// to let the user change the popup menu from the PopupMenuListener.popupMenuWillBecomeVisible()
}
protected
void
firePopupMenuWillBecomeInvisible
()
{
...
...
jdk/src/share/classes/javax/swing/text/DefaultFormatter.java
浏览文件 @
38e2740c
...
...
@@ -570,7 +570,9 @@ public class DefaultFormatter extends JFormattedTextField.AbstractFormatter
direction
=
-
1
;
}
if
(
getOverwriteMode
()
&&
rh
.
text
!=
null
)
{
if
(
getOverwriteMode
()
&&
rh
.
text
!=
null
&&
getFormattedTextField
().
getSelectedText
()
==
null
)
{
rh
.
length
=
Math
.
min
(
Math
.
max
(
rh
.
length
,
rh
.
text
.
length
()),
rh
.
fb
.
getDocument
().
getLength
()
-
rh
.
offset
);
}
...
...
jdk/src/share/classes/javax/swing/text/InternationalFormatter.java
浏览文件 @
38e2740c
...
...
@@ -622,18 +622,8 @@ public class InternationalFormatter extends DefaultFormatter {
/**
* Overriden in an attempt to honor the literals.
* <p>
* If we do
* not allow invalid values and are in overwrite mode, this does the
* following for each character in the replacement range:
* <ol>
* <li>If the character is a literal, add it to the string to replace
* with. If there is text to insert and it doesn't match the
* literal, then insert the literal in the the middle of the insert
* text. This allows you to either paste in literals or not and
* get the same behavior.
* <li>If there is no text to insert, replace it with ' '.
* </ol>
* <p>If we do not allow invalid values and are in overwrite mode, this
* {@code rh.length} is corrected as to preserve trailing literals.
* If not in overwrite mode, and there is text to insert it is
* inserted at the next non literal index going forward. If there
* is only text to remove, it is removed from the next non literal
...
...
@@ -643,61 +633,27 @@ public class InternationalFormatter extends DefaultFormatter {
if
(!
getAllowsInvalid
())
{
String
text
=
rh
.
text
;
int
tl
=
(
text
!=
null
)
?
text
.
length
()
:
0
;
JTextComponent
c
=
getFormattedTextField
();
if
(
tl
==
0
&&
rh
.
length
==
1
&&
getFormattedTextField
().
getSelectionStart
()
!=
rh
.
offset
)
{
if
(
tl
==
0
&&
rh
.
length
==
1
&&
c
.
getSelectionStart
()
!=
rh
.
offset
)
{
// Backspace, adjust to actually delete next non-literal.
rh
.
offset
=
getNextNonliteralIndex
(
rh
.
offset
,
-
1
);
}
if
(
getOverwriteMode
())
{
StringBuffer
replace
=
null
;
for
(
int
counter
=
0
,
textIndex
=
0
,
max
=
Math
.
max
(
tl
,
rh
.
length
);
counter
<
max
;
counter
++)
{
if
(
isLiteral
(
rh
.
offset
+
counter
))
{
if
(
replace
!=
null
)
{
replace
.
append
(
getLiteral
(
rh
.
offset
+
counter
));
}
if
(
textIndex
<
tl
&&
text
.
charAt
(
textIndex
)
==
getLiteral
(
rh
.
offset
+
counter
))
{
textIndex
++;
}
else
if
(
textIndex
==
0
)
{
rh
.
offset
++;
rh
.
length
--;
counter
--;
max
--;
}
else
if
(
replace
==
null
)
{
replace
=
new
StringBuffer
(
max
);
replace
.
append
(
text
.
substring
(
0
,
textIndex
));
replace
.
append
(
getLiteral
(
rh
.
offset
+
counter
));
}
}
else
if
(
textIndex
<
tl
)
{
if
(
replace
!=
null
)
{
replace
.
append
(
text
.
charAt
(
textIndex
));
}
textIndex
++;
}
else
{
// Nothing to replace it with, assume ' '
if
(
replace
==
null
)
{
replace
=
new
StringBuffer
(
max
);
if
(
textIndex
>
0
)
{
replace
.
append
(
text
.
substring
(
0
,
textIndex
));
}
}
if
(
replace
!=
null
)
{
replace
.
append
(
' '
);
}
}
else
if
(
getOverwriteMode
())
{
int
pos
=
rh
.
offset
;
int
textPos
=
pos
;
boolean
overflown
=
false
;
for
(
int
i
=
0
;
i
<
rh
.
length
;
i
++)
{
while
(
isLiteral
(
pos
))
pos
++;
if
(
pos
>=
string
.
length
())
{
pos
=
textPos
;
overflown
=
true
;
break
;
}
textPos
=
++
pos
;
}
if
(
replace
!
=
null
)
{
rh
.
text
=
replace
.
toString
()
;
if
(
overflown
||
c
.
getSelectedText
()
=
=
null
)
{
rh
.
length
=
pos
-
rh
.
offset
;
}
}
else
if
(
tl
>
0
)
{
...
...
jdk/src/share/classes/sun/net/dns/ResolverConfiguration.java
浏览文件 @
38e2740c
/*
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002,
2010,
Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -26,7 +26,6 @@
package
sun.net.dns
;
import
java.util.List
;
import
java.io.IOException
;
/**
* The configuration of the client resolver.
...
...
@@ -68,7 +67,7 @@ public abstract class ResolverConfiguration {
*
* @return list of domain names
*/
public
abstract
List
searchlist
();
public
abstract
List
<
String
>
searchlist
();
/**
* Returns a list of name servers used for host name lookup.
...
...
@@ -78,7 +77,7 @@ public abstract class ResolverConfiguration {
*
* @return list of the name servers
*/
public
abstract
List
nameservers
();
public
abstract
List
<
String
>
nameservers
();
/**
...
...
jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
浏览文件 @
38e2740c
/*
* Copyright (c) 2000, 20
05
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -45,20 +45,21 @@ import sun.security.action.*;
public
final
class
DNSNameService
implements
NameService
{
// List of domains specified by property
private
LinkedList
domainList
=
null
;
private
LinkedList
<
String
>
domainList
=
null
;
// JNDI-DNS URL for name servers specified via property
private
String
nameProviderUrl
=
null
;
// Per-thread soft cache of the last temporary context
private
static
ThreadLocal
contextRef
=
new
ThreadLocal
();
private
static
ThreadLocal
<
SoftReference
<
ThreadContext
>>
contextRef
=
new
ThreadLocal
<>();
// Simple class to encapsulate the temporary context
private
static
class
ThreadContext
{
private
DirContext
dirCtxt
;
private
List
nsList
;
private
List
<
String
>
nsList
;
public
ThreadContext
(
DirContext
dirCtxt
,
List
nsList
)
{
public
ThreadContext
(
DirContext
dirCtxt
,
List
<
String
>
nsList
)
{
this
.
dirCtxt
=
dirCtxt
;
this
.
nsList
=
nsList
;
}
...
...
@@ -67,16 +68,16 @@ public final class DNSNameService implements NameService {
return
dirCtxt
;
}
public
List
nameservers
()
{
public
List
<
String
>
nameservers
()
{
return
nsList
;
}
}
// Returns a per-thread DirContext
private
DirContext
getTemporaryContext
()
throws
NamingException
{
SoftReference
ref
=
(
SoftReference
)
contextRef
.
get
();
SoftReference
<
ThreadContext
>
ref
=
contextRef
.
get
();
ThreadContext
thrCtxt
=
null
;
List
nsList
=
null
;
List
<
String
>
nsList
=
null
;
// if no property specified we need to obtain the list of servers
//
...
...
@@ -87,7 +88,7 @@ public final class DNSNameService implements NameService {
// specified then we need to check if the DNS configuration
// has changed.
//
if
((
ref
!=
null
)
&&
((
thrCtxt
=
(
ThreadContext
)
ref
.
get
())
!=
null
))
{
if
((
ref
!=
null
)
&&
((
thrCtxt
=
ref
.
get
())
!=
null
))
{
if
(
nameProviderUrl
==
null
)
{
if
(!
thrCtxt
.
nameservers
().
equals
(
nsList
))
{
// DNS configuration has changed
...
...
@@ -98,7 +99,7 @@ public final class DNSNameService implements NameService {
// new thread context needs to be created
if
(
thrCtxt
==
null
)
{
final
Hashtable
<
String
,
Object
>
env
=
new
Hashtable
<
String
,
Object
>();
final
Hashtable
<
String
,
Object
>
env
=
new
Hashtable
<>();
env
.
put
(
"java.naming.factory.initial"
,
"com.sun.jndi.dns.DnsContextFactory"
);
...
...
@@ -119,10 +120,9 @@ public final class DNSNameService implements NameService {
//
DirContext
dirCtxt
;
try
{
dirCtxt
=
(
DirContext
)
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedExceptionAction
()
{
public
Object
run
()
throws
NamingException
{
dirCtxt
=
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedExceptionAction
<
DirContext
>()
{
public
DirContext
run
()
throws
NamingException
{
// Create the DNS context using NamingManager rather than using
// the initial context constructor. This avoids having the initial
// context constructor call itself.
...
...
@@ -130,7 +130,7 @@ public final class DNSNameService implements NameService {
if
(!(
ctx
instanceof
DirContext
))
{
return
null
;
// cannot create a DNS context
}
return
ctx
;
return
(
DirContext
)
ctx
;
}
});
}
catch
(
java
.
security
.
PrivilegedActionException
pae
)
{
...
...
@@ -161,18 +161,18 @@ public final class DNSNameService implements NameService {
*
* @throws UnknownHostException if lookup fails or other error.
*/
private
ArrayList
resolve
(
final
DirContext
ctx
,
final
String
name
,
final
String
[]
ids
,
int
depth
)
throws
UnknownHostException
private
ArrayList
<
String
>
resolve
(
final
DirContext
ctx
,
final
String
name
,
final
String
[]
ids
,
int
depth
)
throws
UnknownHostException
{
ArrayList
results
=
new
ArrayList
();
ArrayList
<
String
>
results
=
new
ArrayList
<>
();
Attributes
attrs
;
// do the query
try
{
attrs
=
(
Attributes
)
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedExceptionAction
()
{
public
Object
run
()
throws
NamingException
{
attrs
=
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedExceptionAction
<
Attributes
>()
{
public
Attributes
run
()
throws
NamingException
{
return
ctx
.
getAttributes
(
name
,
ids
);
}
});
...
...
@@ -181,7 +181,7 @@ public final class DNSNameService implements NameService {
}
// non-requested type returned so enumeration is empty
NamingEnumeration
ne
=
attrs
.
getAll
();
NamingEnumeration
<?
extends
Attribute
>
ne
=
attrs
.
getAll
();
if
(!
ne
.
hasMoreElements
())
{
throw
new
UnknownHostException
(
"DNS record not found"
);
}
...
...
@@ -190,7 +190,7 @@ public final class DNSNameService implements NameService {
UnknownHostException
uhe
=
null
;
try
{
while
(
ne
.
hasMoreElements
())
{
Attribute
attr
=
(
Attribute
)
ne
.
next
();
Attribute
attr
=
ne
.
next
();
String
attrID
=
attr
.
getID
();
for
(
NamingEnumeration
e
=
attr
.
getAll
();
e
.
hasMoreElements
();)
{
...
...
@@ -251,13 +251,12 @@ public final class DNSNameService implements NameService {
// no property specified so check host DNS resolver configured
// with at least one nameserver in dotted notation.
//
List
nsList
=
ResolverConfiguration
.
open
().
nameservers
();
if
(
nsList
.
size
()
==
0
)
List
<
String
>
nsList
=
ResolverConfiguration
.
open
().
nameservers
();
if
(
nsList
.
isEmpty
())
{
throw
new
RuntimeException
(
"no nameservers provided"
);
}
boolean
found
=
false
;
Iterator
i
=
nsList
.
iterator
();
while
(
i
.
hasNext
())
{
String
addr
=
(
String
)
i
.
next
();
for
(
String
addr:
nsList
)
{
if
(
IPAddressUtil
.
isIPv4LiteralAddress
(
addr
)
||
IPAddressUtil
.
isIPv6LiteralAddress
(
addr
))
{
found
=
true
;
...
...
@@ -308,8 +307,8 @@ public final class DNSNameService implements NameService {
// suffix if the list has one entry.
if
(
results
==
null
)
{
List
searchList
=
null
;
Iterator
i
;
List
<
String
>
searchList
=
null
;
Iterator
<
String
>
i
;
boolean
usingSearchList
=
false
;
if
(
domainList
!=
null
)
{
...
...
@@ -324,7 +323,7 @@ public final class DNSNameService implements NameService {
// iterator through each domain suffix
while
(
i
.
hasNext
())
{
String
parentDomain
=
(
String
)
i
.
next
();
String
parentDomain
=
i
.
next
();
int
start
=
0
;
while
((
start
=
parentDomain
.
indexOf
(
"."
))
!=
-
1
&&
start
<
parentDomain
.
length
()
-
1
)
{
...
...
@@ -407,7 +406,7 @@ public final class DNSNameService implements NameService {
String
literalip
=
""
;
String
[]
ids
=
{
"PTR"
};
DirContext
ctx
;
ArrayList
results
=
null
;
ArrayList
<
String
>
results
=
null
;
try
{
ctx
=
getTemporaryContext
();
}
catch
(
NamingException
nx
)
{
...
...
@@ -420,7 +419,7 @@ public final class DNSNameService implements NameService {
literalip
+=
"IN-ADDR.ARPA."
;
results
=
resolve
(
ctx
,
literalip
,
ids
,
0
);
host
=
(
String
)
results
.
get
(
0
);
host
=
results
.
get
(
0
);
}
else
if
(
addr
.
length
==
16
)
{
// IPv6 Address
/**
* Because RFC 3152 changed the root domain name for reverse
...
...
@@ -437,7 +436,7 @@ public final class DNSNameService implements NameService {
try
{
results
=
resolve
(
ctx
,
ip6lit
,
ids
,
0
);
host
=
(
String
)
results
.
get
(
0
);
host
=
results
.
get
(
0
);
}
catch
(
UnknownHostException
e
)
{
host
=
null
;
}
...
...
@@ -445,7 +444,7 @@ public final class DNSNameService implements NameService {
// IP6.ARPA lookup failed, let's try the older IP6.INT
ip6lit
=
literalip
+
"IP6.INT."
;
results
=
resolve
(
ctx
,
ip6lit
,
ids
,
0
);
host
=
(
String
)
results
.
get
(
0
);
host
=
results
.
get
(
0
);
}
}
}
catch
(
Exception
e
)
{
...
...
@@ -478,11 +477,10 @@ public final class DNSNameService implements NameService {
* @return String containing the JNDI-DNS provider URL
* corresponding to the supplied List of nameservers.
*/
private
static
String
createProviderURL
(
List
nsList
)
{
Iterator
i
=
nsList
.
iterator
();
private
static
String
createProviderURL
(
List
<
String
>
nsList
)
{
StringBuffer
sb
=
new
StringBuffer
();
while
(
i
.
hasNext
()
)
{
appendIfLiteralAddress
(
(
String
)
i
.
next
()
,
sb
);
for
(
String
s:
nsList
)
{
appendIfLiteralAddress
(
s
,
sb
);
}
return
sb
.
toString
();
}
...
...
jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java
浏览文件 @
38e2740c
...
...
@@ -336,7 +336,12 @@ public class SocketAdaptor
}
public
void
sendUrgentData
(
int
data
)
throws
IOException
{
throw
new
SocketException
(
"Urgent data not supported"
);
synchronized
(
sc
.
blockingLock
())
{
if
(!
sc
.
isBlocking
())
throw
new
IllegalBlockingModeException
();
int
n
=
sc
.
sendOutOfBandData
((
byte
)
data
);
assert
n
==
1
;
}
}
public
void
setOOBInline
(
boolean
on
)
throws
SocketException
{
...
...
jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java
浏览文件 @
38e2740c
...
...
@@ -498,6 +498,36 @@ class SocketChannelImpl
return
write0
(
Util
.
subsequence
(
srcs
,
offset
,
length
));
}
// package-private
int
sendOutOfBandData
(
byte
b
)
throws
IOException
{
synchronized
(
writeLock
)
{
ensureWriteOpen
();
int
n
=
0
;
try
{
begin
();
synchronized
(
stateLock
)
{
if
(!
isOpen
())
return
0
;
writerThread
=
NativeThread
.
current
();
}
for
(;;)
{
n
=
sendOutOfBandData
(
fd
,
b
);
if
((
n
==
IOStatus
.
INTERRUPTED
)
&&
isOpen
())
continue
;
return
IOStatus
.
normalize
(
n
);
}
}
finally
{
writerCleanup
();
end
((
n
>
0
)
||
(
n
==
IOStatus
.
UNAVAILABLE
));
synchronized
(
stateLock
)
{
if
((
n
<=
0
)
&&
(!
isOutputOpen
))
throw
new
AsynchronousCloseException
();
}
assert
IOStatus
.
check
(
n
);
}
}
}
protected
void
implConfigureBlocking
(
boolean
block
)
throws
IOException
{
IOUtil
.
configureBlocking
(
fd
,
block
);
}
...
...
@@ -957,6 +987,9 @@ class SocketChannelImpl
boolean
block
,
boolean
ready
)
throws
IOException
;
private
static
native
int
sendOutOfBandData
(
FileDescriptor
fd
,
byte
data
)
throws
IOException
;
static
{
Util
.
load
();
nd
=
new
SocketDispatcher
();
...
...
jdk/src/share/classes/sun/security/krb5/Config.java
浏览文件 @
38e2740c
...
...
@@ -42,6 +42,8 @@ import java.util.Enumeration;
import
java.util.StringTokenizer
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
import
java.util.List
;
import
sun.net.dns.ResolverConfiguration
;
import
sun.security.krb5.internal.crypto.EType
;
import
sun.security.krb5.internal.ktab.*
;
import
sun.security.krb5.internal.Krb5
;
...
...
@@ -1180,6 +1182,33 @@ public class Config {
}
// get the domain realm mapping from the configuration
String
mapRealm
=
PrincipalName
.
mapHostToRealm
(
hostName
);
if
(
mapRealm
==
null
)
{
// No match. Try search and/or domain in /etc/resolv.conf
List
<
String
>
srchlist
=
ResolverConfiguration
.
open
().
searchlist
();
for
(
String
domain:
srchlist
)
{
realm
=
checkRealm
(
domain
);
if
(
realm
!=
null
)
{
break
;
}
}
}
else
{
realm
=
checkRealm
(
mapRealm
);
}
if
(
realm
==
null
)
{
throw
new
KrbException
(
Krb5
.
KRB_ERR_GENERIC
,
"Unable to locate Kerberos realm"
);
}
return
realm
;
}
/**
* Check if the provided realm is the correct realm
* @return the realm if correct, or null otherwise
*/
private
static
String
checkRealm
(
String
mapRealm
)
{
if
(
DEBUG
)
{
System
.
out
.
println
(
"getRealmFromDNS: trying "
+
mapRealm
);
}
String
[]
records
=
null
;
String
newRealm
=
mapRealm
;
while
((
records
==
null
)
&&
(
newRealm
!=
null
))
{
...
...
@@ -1188,23 +1217,14 @@ public class Config {
newRealm
=
Realm
.
parseRealmComponent
(
newRealm
);
// if no DNS TXT records found, try again using sub-realm
}
if
(
records
==
null
)
{
// no DNS TXT records
throw
new
KrbException
(
Krb5
.
KRB_ERR_GENERIC
,
"Unable to locate Kerberos realm"
);
}
boolean
found
=
false
;
for
(
int
i
=
0
;
i
<
records
.
length
;
i
++)
{
if
(
records
[
i
].
equals
(
mapRealm
))
{
found
=
true
;
realm
=
records
[
i
];
if
(
records
!=
null
)
{
for
(
int
i
=
0
;
i
<
records
.
length
;
i
++)
{
if
(
records
[
i
].
equalsIgnoreCase
(
mapRealm
))
{
return
records
[
i
];
}
}
}
if
(
found
==
false
)
{
throw
new
KrbException
(
Krb5
.
KRB_ERR_GENERIC
,
"Unable to locate Kerberos realm"
);
}
return
realm
;
return
null
;
}
/**
...
...
@@ -1218,10 +1238,16 @@ public class Config {
String
kdcs
=
null
;
String
[]
srvs
=
null
;
// locate DNS SRV record using UDP
srvs
=
KrbServiceLocator
.
getKerberosService
(
realm
,
"_udp."
);
if
(
DEBUG
)
{
System
.
out
.
println
(
"getKDCFromDNS using UDP"
);
}
srvs
=
KrbServiceLocator
.
getKerberosService
(
realm
,
"_udp"
);
if
(
srvs
==
null
)
{
// locate DNS SRV record using TCP
srvs
=
KrbServiceLocator
.
getKerberosService
(
realm
,
"_tcp."
);
if
(
DEBUG
)
{
System
.
out
.
println
(
"getKDCFromDNS using UDP"
);
}
srvs
=
KrbServiceLocator
.
getKerberosService
(
realm
,
"_tcp"
);
}
if
(
srvs
==
null
)
{
// no DNS SRV records
...
...
jdk/src/share/classes/sun/security/krb5/Credentials.java
浏览文件 @
38e2740c
...
...
@@ -36,6 +36,7 @@ import sun.security.krb5.internal.ccache.CredentialsCache;
import
sun.security.krb5.internal.crypto.EType
;
import
java.io.IOException
;
import
java.util.Date
;
import
java.util.Locale
;
import
java.net.InetAddress
;
/**
...
...
@@ -287,7 +288,7 @@ public class Credentials {
// The default ticket cache on Windows is not a file.
String
os
=
java
.
security
.
AccessController
.
doPrivileged
(
new
sun
.
security
.
action
.
GetPropertyAction
(
"os.name"
));
if
(
os
.
toUpperCase
().
startsWith
(
"WINDOWS"
))
{
if
(
os
.
toUpperCase
(
Locale
.
ENGLISH
).
startsWith
(
"WINDOWS"
))
{
Credentials
creds
=
acquireDefaultCreds
();
if
(
creds
==
null
)
{
if
(
DEBUG
)
{
...
...
jdk/src/share/classes/sun/security/pkcs/PKCS9Attribute.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1997, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -28,6 +28,7 @@ package sun.security.pkcs;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.security.cert.CertificateException
;
import
java.util.Locale
;
import
java.util.Date
;
import
java.util.Hashtable
;
import
sun.security.x509.CertificateExtensions
;
...
...
@@ -742,7 +743,7 @@ public class PKCS9Attribute implements DerEncoder {
* the name.
*/
public
static
ObjectIdentifier
getOID
(
String
name
)
{
return
NAME_OID_TABLE
.
get
(
name
.
toLowerCase
());
return
NAME_OID_TABLE
.
get
(
name
.
toLowerCase
(
Locale
.
ENGLISH
));
}
/**
...
...
jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java
浏览文件 @
38e2740c
...
...
@@ -26,6 +26,7 @@ package sun.security.pkcs11;
import
java.nio.ByteBuffer
;
import
java.util.Arrays
;
import
java.util.Locale
;
import
java.security.*
;
import
java.security.spec.*
;
...
...
@@ -201,7 +202,7 @@ final class P11Cipher extends CipherSpi {
}
private
int
parseMode
(
String
mode
)
throws
NoSuchAlgorithmException
{
mode
=
mode
.
toUpperCase
();
mode
=
mode
.
toUpperCase
(
Locale
.
ENGLISH
);
int
result
;
if
(
mode
.
equals
(
"ECB"
))
{
result
=
MODE_ECB
;
...
...
@@ -222,7 +223,7 @@ final class P11Cipher extends CipherSpi {
throws
NoSuchPaddingException
{
paddingObj
=
null
;
padBuffer
=
null
;
padding
=
padding
.
toUpperCase
();
padding
=
padding
.
toUpperCase
(
Locale
.
ENGLISH
);
if
(
padding
.
equals
(
"NOPADDING"
))
{
paddingType
=
PAD_NONE
;
}
else
if
(
padding
.
equals
(
"PKCS5PADDING"
))
{
...
...
jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java
浏览文件 @
38e2740c
...
...
@@ -29,6 +29,8 @@ import java.security.*;
import
java.security.spec.AlgorithmParameterSpec
;
import
java.security.spec.*
;
import
java.util.Locale
;
import
javax.crypto.*
;
import
javax.crypto.spec.*
;
...
...
@@ -110,7 +112,7 @@ final class P11RSACipher extends CipherSpi {
protected
void
engineSetPadding
(
String
padding
)
throws
NoSuchPaddingException
{
String
lowerPadding
=
padding
.
toLowerCase
();
String
lowerPadding
=
padding
.
toLowerCase
(
Locale
.
ENGLISH
);
if
(
lowerPadding
.
equals
(
"pkcs1Padding"
))
{
// empty
}
else
{
...
...
jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java
浏览文件 @
38e2740c
/*
* Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2006,
2010
Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -52,6 +52,7 @@ import java.util.ArrayList;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Locale
;
import
sun.security.x509.AccessDescription
;
import
sun.security.x509.GeneralNameInterface
;
import
sun.security.x509.URIName
;
...
...
@@ -162,7 +163,7 @@ class URICertStore extends CertStoreSpi {
}
this
.
uri
=
((
URICertStoreParameters
)
params
).
uri
;
// if ldap URI, use an LDAPCertStore to fetch certs and CRLs
if
(
uri
.
getScheme
().
toLowerCase
().
equals
(
"ldap"
))
{
if
(
uri
.
getScheme
().
toLowerCase
(
Locale
.
ENGLISH
).
equals
(
"ldap"
))
{
if
(
LDAP
.
helper
()
==
null
)
throw
new
NoSuchAlgorithmException
(
"LDAP not present"
);
ldap
=
true
;
...
...
jdk/src/share/classes/sun/security/util/Debug.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1998, 20
07
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -28,6 +28,7 @@ package sun.security.util;
import
java.math.BigInteger
;
import
java.util.regex.Pattern
;
import
java.util.regex.Matcher
;
import
java.util.Locale
;
/**
* A utility class for debuging.
...
...
@@ -262,7 +263,7 @@ public class Debug {
source
=
left
;
// convert the rest to lower-case characters
target
.
append
(
source
.
toString
().
toLowerCase
());
target
.
append
(
source
.
toString
().
toLowerCase
(
Locale
.
ENGLISH
));
return
target
.
toString
();
}
...
...
jdk/src/share/classes/sun/security/util/DerOutputStream.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1996, 20
09
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,17 +25,16 @@
package
sun.security.util
;
import
java.io.FilterOutputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.OutputStream
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.TimeZone
;
import
java.util.Vector
;
import
java.util.Comparator
;
import
java.util.Arrays
;
import
java.math.BigInteger
;
import
java.util.Locale
;
/**
...
...
@@ -501,7 +500,7 @@ extends ByteArrayOutputStream implements DerEncoder {
pattern
=
"yyyyMMddHHmmss'Z'"
;
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
pattern
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
pattern
,
Locale
.
US
);
sdf
.
setTimeZone
(
tz
);
byte
[]
time
=
(
sdf
.
format
(
d
)).
getBytes
(
"ISO-8859-1"
);
...
...
jdk/src/share/classes/sun/security/x509/AVA.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1996, 20
08
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -1227,7 +1227,7 @@ class AVAKeyword {
(
String
keyword
,
int
standard
,
Map
<
String
,
String
>
extraKeywordMap
)
throws
IOException
{
keyword
=
keyword
.
toUpperCase
();
keyword
=
keyword
.
toUpperCase
(
Locale
.
ENGLISH
);
if
(
standard
==
AVA
.
RFC2253
)
{
if
(
keyword
.
startsWith
(
" "
)
||
keyword
.
endsWith
(
" "
))
{
throw
new
IOException
(
"Invalid leading or trailing space "
+
...
...
jdk/src/share/classes/sun/security/x509/AlgorithmId.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1996, 20
09
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -553,9 +553,10 @@ public class AlgorithmId implements Serializable, DerEncoder {
for
(
Enumeration
<
Object
>
enum_
=
provs
[
i
].
keys
();
enum_
.
hasMoreElements
();
)
{
String
alias
=
(
String
)
enum_
.
nextElement
();
String
upperCaseAlias
=
alias
.
toUpperCase
(
Locale
.
ENGLISH
);
int
index
;
if
(
alias
.
toUpperCase
()
.
startsWith
(
"ALG.ALIAS"
)
&&
(
index
=
alias
.
toUpperCase
()
.
indexOf
(
"OID."
,
0
))
!=
-
1
)
{
if
(
upperCaseAlias
.
startsWith
(
"ALG.ALIAS"
)
&&
(
index
=
upperCaseAlias
.
indexOf
(
"OID."
,
0
))
!=
-
1
)
{
index
+=
"OID."
.
length
();
if
(
index
==
alias
.
length
())
{
// invalid alias entry
...
...
@@ -565,19 +566,26 @@ public class AlgorithmId implements Serializable, DerEncoder {
oidTable
=
new
HashMap
<
String
,
ObjectIdentifier
>();
}
oidString
=
alias
.
substring
(
index
);
String
stdAlgName
=
provs
[
i
].
getProperty
(
alias
).
toUpperCase
();
if
(
oidTable
.
get
(
stdAlgName
)
==
null
)
{
String
stdAlgName
=
provs
[
i
].
getProperty
(
alias
);
if
(
stdAlgName
!=
null
)
{
stdAlgName
=
stdAlgName
.
toUpperCase
(
Locale
.
ENGLISH
);
}
if
(
stdAlgName
!=
null
&&
oidTable
.
get
(
stdAlgName
)
==
null
)
{
oidTable
.
put
(
stdAlgName
,
new
ObjectIdentifier
(
oidString
));
}
}
}
}
if
(
oidTable
==
null
)
{
oidTable
=
new
HashMap
<
String
,
ObjectIdentifier
>(
1
);
}
initOidTable
=
true
;
}
return
oidTable
.
get
(
name
.
toUpperCase
());
return
oidTable
.
get
(
name
.
toUpperCase
(
Locale
.
ENGLISH
));
}
private
static
ObjectIdentifier
oid
(
int
...
values
)
{
...
...
jdk/src/share/classes/sun/security/x509/DNSName.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1997, 20
0
0, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
1
0, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -26,6 +26,7 @@
package
sun.security.x509
;
import
java.io.IOException
;
import
java.util.Locale
;
import
sun.security.util.*
;
...
...
@@ -198,8 +199,9 @@ public class DNSName implements GeneralNameInterface {
else
if
(
inputName
.
getType
()
!=
NAME_DNS
)
constraintType
=
NAME_DIFF_TYPE
;
else
{
String
inName
=
(((
DNSName
)
inputName
).
getName
()).
toLowerCase
();
String
thisName
=
name
.
toLowerCase
();
String
inName
=
(((
DNSName
)
inputName
).
getName
()).
toLowerCase
(
Locale
.
ENGLISH
);
String
thisName
=
name
.
toLowerCase
(
Locale
.
ENGLISH
);
if
(
inName
.
equals
(
thisName
))
constraintType
=
NAME_MATCH
;
else
if
(
thisName
.
endsWith
(
inName
))
{
...
...
jdk/src/share/classes/sun/security/x509/RFC822Name.java
浏览文件 @
38e2740c
/*
* Copyright (c) 1997, 20
0
0, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
1
0, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -26,6 +26,7 @@
package
sun.security.x509
;
import
java.io.IOException
;
import
java.util.Locale
;
import
sun.security.util.*
;
...
...
@@ -187,8 +188,9 @@ public class RFC822Name implements GeneralNameInterface
constraintType
=
NAME_DIFF_TYPE
;
}
else
{
//RFC2459 specifies that case is not significant in RFC822Names
String
inName
=
(((
RFC822Name
)
inputName
).
getName
()).
toLowerCase
();
String
thisName
=
name
.
toLowerCase
();
String
inName
=
(((
RFC822Name
)
inputName
).
getName
()).
toLowerCase
(
Locale
.
ENGLISH
);
String
thisName
=
name
.
toLowerCase
(
Locale
.
ENGLISH
);
if
(
inName
.
equals
(
thisName
))
{
constraintType
=
NAME_MATCH
;
}
else
if
(
thisName
.
endsWith
(
inName
))
{
...
...
jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
浏览文件 @
38e2740c
/*
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002,
2010,
Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -56,8 +56,11 @@ public class ResolverConfigurationImpl
// Parse /etc/resolv.conf to get the values for a particular
// keyword.
//
private
LinkedList
resolvconf
(
String
keyword
,
int
maxperkeyword
,
int
maxkeywords
)
{
LinkedList
ll
=
new
LinkedList
();
private
LinkedList
<
String
>
resolvconf
(
String
keyword
,
int
maxperkeyword
,
int
maxkeywords
)
{
LinkedList
<
String
>
ll
=
new
LinkedList
<>();
try
{
BufferedReader
in
=
...
...
@@ -99,8 +102,8 @@ public class ResolverConfigurationImpl
return
ll
;
}
private
LinkedList
searchlist
;
private
LinkedList
nameservers
;
private
LinkedList
<
String
>
searchlist
;
private
LinkedList
<
String
>
nameservers
;
// Load DNS configuration from OS
...
...
@@ -118,9 +121,9 @@ public class ResolverConfigurationImpl
// get the name servers from /etc/resolv.conf
nameservers
=
(
LinkedList
)
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
()
{
public
Object
run
()
{
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
<
LinkedList
<
String
>>
()
{
public
LinkedList
<
String
>
run
()
{
// typically MAXNS is 3 but we've picked 5 here
// to allow for additional servers if required.
return
resolvconf
(
"nameserver"
,
1
,
5
);
...
...
@@ -137,15 +140,15 @@ public class ResolverConfigurationImpl
// obtain search list or local domain
private
LinkedList
getSearchList
()
{
private
LinkedList
<
String
>
getSearchList
()
{
LinkedList
sl
;
LinkedList
<
String
>
sl
;
// first try the search keyword in /etc/resolv.conf
sl
=
(
LinkedList
)
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
()
{
public
Object
run
()
{
sl
=
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
<
LinkedList
<
String
>>
()
{
public
LinkedList
<
String
>
run
()
{
LinkedList
ll
;
// first try search keyword (max 6 domains)
...
...
@@ -177,10 +180,10 @@ public class ResolverConfigurationImpl
// try domain keyword in /etc/resolv.conf
sl
=
(
LinkedList
)
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
()
{
public
Object
run
()
{
LinkedList
ll
;
sl
=
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
<
LinkedList
<
String
>>
()
{
public
LinkedList
<
String
>
run
()
{
LinkedList
<
String
>
ll
;
ll
=
resolvconf
(
"domain"
,
1
,
1
);
if
(
ll
.
size
()
>
0
)
{
...
...
@@ -197,7 +200,7 @@ public class ResolverConfigurationImpl
// no local domain so try fallback (RPC) domain or
// hostname
sl
=
new
LinkedList
();
sl
=
new
LinkedList
<>
();
String
domain
=
fallbackDomain0
();
if
(
domain
!=
null
&&
domain
.
length
()
>
0
)
{
sl
.
add
(
domain
);
...
...
@@ -213,7 +216,7 @@ public class ResolverConfigurationImpl
opts
=
new
OptionsImpl
();
}
public
List
searchlist
()
{
public
List
<
String
>
searchlist
()
{
synchronized
(
lock
)
{
loadConfig
();
...
...
@@ -222,7 +225,7 @@ public class ResolverConfigurationImpl
}
}
public
List
nameservers
()
{
public
List
<
String
>
nameservers
()
{
synchronized
(
lock
)
{
loadConfig
();
...
...
jdk/src/solaris/native/java/net/NetworkInterface.c
浏览文件 @
38e2740c
...
...
@@ -131,7 +131,7 @@ static struct sockaddr *getBroadcast(JNIEnv *env, int sock, const char *name, s
static
short
getSubnet
(
JNIEnv
*
env
,
int
sock
,
const
char
*
ifname
);
static
int
getIndex
(
int
sock
,
const
char
*
ifname
);
static
int
getFlags
(
JNIEnv
*
env
,
int
sock
,
const
char
*
ifname
);
static
int
getFlags
(
int
sock
,
const
char
*
ifname
);
static
int
getMacAddress
(
JNIEnv
*
env
,
int
sock
,
const
char
*
ifname
,
const
struct
in_addr
*
addr
,
unsigned
char
*
buf
);
static
int
getMTU
(
JNIEnv
*
env
,
int
sock
,
const
char
*
ifname
);
...
...
@@ -550,7 +550,7 @@ static int getFlags0(JNIEnv *env, jstring name) {
name_utf
=
(
*
env
)
->
GetStringUTFChars
(
env
,
name
,
&
isCopy
);
ret
=
getFlags
(
env
,
sock
,
name_utf
);
ret
=
getFlags
(
sock
,
name_utf
);
close
(
sock
);
(
*
env
)
->
ReleaseStringUTFChars
(
env
,
name
,
name_utf
);
...
...
@@ -753,19 +753,27 @@ static netif *enumInterfaces(JNIEnv *env) {
* If IPv6 is available then enumerate IPv6 addresses.
*/
#ifdef AF_INET6
sock
=
openSocket
(
env
,
AF_INET6
);
if
(
sock
<
0
&&
(
*
env
)
->
ExceptionOccurred
(
env
))
{
freeif
(
ifs
);
return
NULL
;
}
ifs
=
enumIPv6Interfaces
(
env
,
sock
,
ifs
);
close
(
sock
);
/* User can disable ipv6 expicitly by -Djava.net.preferIPv4Stack=true,
* so we have to call ipv6_available()
*/
if
(
ipv6_available
())
{
if
((
*
env
)
->
ExceptionOccurred
(
env
))
{
freeif
(
ifs
);
return
NULL
;
}
sock
=
openSocket
(
env
,
AF_INET6
);
if
(
sock
<
0
&&
(
*
env
)
->
ExceptionOccurred
(
env
))
{
freeif
(
ifs
);
return
NULL
;
}
ifs
=
enumIPv6Interfaces
(
env
,
sock
,
ifs
);
close
(
sock
);
if
((
*
env
)
->
ExceptionOccurred
(
env
))
{
freeif
(
ifs
);
return
NULL
;
}
}
#endif
return
ifs
;
...
...
@@ -877,7 +885,7 @@ netif *addif(JNIEnv *env, int sock, const char * if_name, netif *ifs, struct soc
* the 'parent' interface with the new records.
*/
*
name_colonP
=
0
;
if
(
getFlags
(
env
,
sock
,
name
)
<
0
)
{
if
(
getFlags
(
sock
,
name
)
<
0
)
{
// failed to access parent interface do not create parent.
// We are a virtual interface with no parent.
isVirtual
=
1
;
...
...
@@ -1249,7 +1257,7 @@ static int getMTU(JNIEnv *env, int sock, const char *ifname) {
return
if2
.
ifr_mtu
;
}
static
int
getFlags
(
JNIEnv
*
env
,
int
sock
,
const
char
*
ifname
)
{
static
int
getFlags
(
int
sock
,
const
char
*
ifname
)
{
struct
ifreq
if2
;
int
ret
=
-
1
;
...
...
@@ -1625,13 +1633,12 @@ static int getMTU(JNIEnv *env, int sock, const char *ifname) {
}
static
int
getFlags
(
JNIEnv
*
env
,
int
sock
,
const
char
*
ifname
)
{
static
int
getFlags
(
int
sock
,
const
char
*
ifname
)
{
struct
lifreq
lifr
;
memset
((
caddr_t
)
&
lifr
,
0
,
sizeof
(
lifr
));
strcpy
((
caddr_t
)
&
(
lifr
.
lifr_name
),
ifname
);
if
(
ioctl
(
sock
,
SIOCGLIFFLAGS
,
(
char
*
)
&
lifr
)
<
0
)
{
NET_ThrowByNameWithLastError
(
env
,
JNU_JAVANETPKG
"SocketException"
,
"IOCTL SIOCGLIFFLAGS failed"
);
return
-
1
;
}
...
...
jdk/src/solaris/native/java/nio/MappedByteBuffer.c
浏览文件 @
38e2740c
...
...
@@ -32,14 +32,11 @@
#include <stddef.h>
#include <stdlib.h>
JNIEXPORT
jboolean
JNICALL
Java_java_nio_MappedByteBuffer_isLoaded0
(
JNIEnv
*
env
,
jobject
obj
,
jlong
address
,
jlong
len
)
Java_java_nio_MappedByteBuffer_isLoaded0
(
JNIEnv
*
env
,
jobject
obj
,
jlong
address
,
jlong
len
,
jint
numPages
)
{
jboolean
loaded
=
JNI_TRUE
;
jint
pageSize
=
sysconf
(
_SC_PAGESIZE
);
jint
numPages
=
(
len
+
pageSize
-
1
)
/
pageSize
;
int
result
=
0
;
int
i
=
0
;
void
*
a
=
(
void
*
)
jlong_to_ptr
(
address
);
...
...
@@ -55,9 +52,9 @@ Java_java_nio_MappedByteBuffer_isLoaded0(JNIEnv *env, jobject obj,
}
result
=
mincore
(
a
,
(
size_t
)
len
,
vec
);
if
(
result
!=
0
)
{
free
(
vec
);
if
(
result
==
-
1
)
{
JNU_ThrowIOExceptionWithLastError
(
env
,
"mincore failed"
);
free
(
vec
);
return
JNI_FALSE
;
}
...
...
@@ -72,23 +69,15 @@ Java_java_nio_MappedByteBuffer_isLoaded0(JNIEnv *env, jobject obj,
}
JNIEXPORT
jint
JNICALL
JNIEXPORT
void
JNICALL
Java_java_nio_MappedByteBuffer_load0
(
JNIEnv
*
env
,
jobject
obj
,
jlong
address
,
jlong
len
,
jint
pageSize
)
jlong
len
)
{
int
pageIncrement
=
pageSize
/
sizeof
(
int
);
int
numPages
=
(
len
+
pageSize
-
1
)
/
pageSize
;
int
*
ptr
=
(
int
*
)
jlong_to_ptr
(
address
);
int
i
=
0
;
int
j
=
0
;
int
result
=
madvise
((
caddr_t
)
ptr
,
len
,
MADV_WILLNEED
);
/* touch every page */
for
(
i
=
0
;
i
<
numPages
;
i
++
)
{
j
+=
*
((
volatile
int
*
)
ptr
);
ptr
+=
pageIncrement
;
char
*
a
=
(
char
*
)
jlong_to_ptr
(
address
);
int
result
=
madvise
((
caddr_t
)
a
,
(
size_t
)
len
,
MADV_WILLNEED
);
if
(
result
==
-
1
)
{
JNU_ThrowIOExceptionWithLastError
(
env
,
"madvise failed"
);
}
return
j
;
}
...
...
@@ -96,13 +85,9 @@ JNIEXPORT void JNICALL
Java_java_nio_MappedByteBuffer_force0
(
JNIEnv
*
env
,
jobject
obj
,
jlong
address
,
jlong
len
)
{
jlong
pageSize
=
sysconf
(
_SC_PAGESIZE
);
unsigned
long
lAddress
=
address
;
jlong
offset
=
lAddress
%
pageSize
;
void
*
a
=
(
void
*
)
jlong_to_ptr
(
lAddress
-
offset
);
int
result
=
msync
(
a
,
(
size_t
)(
len
+
offset
),
MS_SYNC
);
if
(
result
!=
0
)
{
void
*
a
=
(
void
*
)
jlong_to_ptr
(
address
);
int
result
=
msync
(
a
,
(
size_t
)
len
,
MS_SYNC
);
if
(
result
==
-
1
)
{
JNU_ThrowIOExceptionWithLastError
(
env
,
"msync failed"
);
}
}
jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c
浏览文件 @
38e2740c
...
...
@@ -84,3 +84,11 @@ Java_sun_nio_ch_SocketChannelImpl_checkConnect(JNIEnv *env, jobject this,
}
return
0
;
}
JNIEXPORT
jint
JNICALL
Java_sun_nio_ch_SocketChannelImpl_sendOutOfBandData
(
JNIEnv
*
env
,
jclass
this
,
jobject
fdo
,
jbyte
b
)
{
int
n
=
send
(
fdval
(
env
,
fdo
),
(
const
void
*
)
&
b
,
1
,
MSG_OOB
);
return
convertReturnVal
(
env
,
n
,
JNI_FALSE
);
}
jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
浏览文件 @
38e2740c
/*
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002,
2010,
Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -28,7 +28,6 @@ package sun.net.dns;
import
java.util.List
;
import
java.util.LinkedList
;
import
java.util.StringTokenizer
;
import
java.io.IOException
;
/*
* An implementation of sun.net.ResolverConfiguration for Windows.
...
...
@@ -63,8 +62,8 @@ public class ResolverConfigurationImpl
// Parse string that consists of token delimited by space or commas
// and return LinkedHashMap
private
LinkedList
stringToList
(
String
str
)
{
LinkedList
ll
=
new
LinkedList
();
private
LinkedList
<
String
>
stringToList
(
String
str
)
{
LinkedList
<
String
>
ll
=
new
LinkedList
<>
();
// comma and space are valid delimites
StringTokenizer
st
=
new
StringTokenizer
(
str
,
", "
);
...
...
@@ -112,7 +111,7 @@ public class ResolverConfigurationImpl
opts
=
new
OptionsImpl
();
}
public
List
searchlist
()
{
public
List
<
String
>
searchlist
()
{
synchronized
(
lock
)
{
loadConfig
();
...
...
@@ -121,7 +120,7 @@ public class ResolverConfigurationImpl
}
}
public
List
nameservers
()
{
public
List
<
String
>
nameservers
()
{
synchronized
(
lock
)
{
loadConfig
();
...
...
jdk/src/windows/native/java/nio/MappedByteBuffer.c
浏览文件 @
38e2740c
...
...
@@ -31,8 +31,8 @@
#include <stdlib.h>
JNIEXPORT
jboolean
JNICALL
Java_java_nio_MappedByteBuffer_isLoaded0
(
JNIEnv
*
env
,
jobject
obj
,
jlong
address
,
jlong
len
)
Java_java_nio_MappedByteBuffer_isLoaded0
(
JNIEnv
*
env
,
jobject
obj
,
jlong
address
,
jlong
len
,
jint
numPages
)
{
jboolean
loaded
=
JNI_FALSE
;
/* Information not available?
...
...
@@ -43,22 +43,11 @@ Java_java_nio_MappedByteBuffer_isLoaded0(JNIEnv *env, jobject obj,
return
loaded
;
}
JNIEXPORT
jint
JNICALL
JNIEXPORT
void
JNICALL
Java_java_nio_MappedByteBuffer_load0
(
JNIEnv
*
env
,
jobject
obj
,
jlong
address
,
jlong
len
,
jint
pageSize
)
jlong
len
)
{
int
*
ptr
=
(
int
*
)
jlong_to_ptr
(
address
);
int
pageIncrement
=
pageSize
/
sizeof
(
int
);
jlong
numPages
=
(
len
+
pageSize
-
1
)
/
pageSize
;
int
i
=
0
;
int
j
=
0
;
/* touch every page */
for
(
i
=
0
;
i
<
numPages
;
i
++
)
{
j
+=
*
((
volatile
int
*
)
ptr
);
ptr
+=
pageIncrement
;
}
return
j
;
// no madvise available
}
JNIEXPORT
void
JNICALL
...
...
jdk/src/windows/native/sun/nio/ch/SocketChannelImpl.c
浏览文件 @
38e2740c
...
...
@@ -139,3 +139,16 @@ Java_sun_nio_ch_SocketChannelImpl_checkConnect(JNIEnv *env, jobject this,
return
0
;
}
JNIEXPORT
jint
JNICALL
Java_sun_nio_ch_SocketChannelImpl_sendOutOfBandData
(
JNIEnv
*
env
,
jclass
this
,
jobject
fdo
,
jbyte
b
)
{
int
n
=
send
(
fdval
(
env
,
fdo
),
(
const
char
*
)
&
b
,
1
,
MSG_OOB
);
if
(
n
==
SOCKET_ERROR
)
{
handleSocketError
(
env
,
WSAGetLastError
());
return
IOS_THROWN
;
}
else
{
return
n
;
}
}
jdk/src/windows/native/sun/windows/awt.h
浏览文件 @
38e2740c
...
...
@@ -310,24 +310,32 @@ typedef JLocalRef<jclass> JLClass;
* Class to encapsulate the extraction of the java string contents
* into a buffer and the cleanup of the buffer
*/
class
JavaStringBuffer
class
JavaStringBuffer
{
protected:
LPWSTR
m_pStr
;
jsize
m_dwSize
;
LPWSTR
getNonEmptyString
()
{
return
(
NULL
==
m_pStr
)
?
L""
:
m_pStr
;
}
public:
JavaStringBuffer
(
jsize
cbTCharCount
)
{
m_dwSize
=
cbTCharCount
;
m_pStr
=
(
LPWSTR
)
safe_Malloc
(
(
m_dwSize
+
1
)
*
sizeof
(
WCHAR
)
);
m_pStr
=
(
0
==
m_dwSize
)
?
NULL
:
(
LPWSTR
)
safe_Malloc
(
(
m_dwSize
+
1
)
*
sizeof
(
WCHAR
)
);
}
JavaStringBuffer
(
JNIEnv
*
env
,
jstring
text
)
{
if
(
NULL
==
text
)
{
m_pStr
=
L""
;
m_dwSize
=
0
;
m_dwSize
=
(
NULL
==
text
)
?
0
:
env
->
GetStringLength
(
text
);
if
(
0
==
m_dwSize
)
{
m_pStr
=
NULL
;
}
else
{
m_dwSize
=
env
->
GetStringLength
(
text
);
m_pStr
=
(
LPWSTR
)
safe_Malloc
(
(
m_dwSize
+
1
)
*
sizeof
(
WCHAR
)
);
env
->
GetStringRegion
(
text
,
0
,
m_dwSize
,
reinterpret_cast
<
jchar
*>
(
m_pStr
));
m_pStr
[
m_dwSize
]
=
0
;
...
...
@@ -341,12 +349,16 @@ public:
void
Resize
(
jsize
cbTCharCount
)
{
m_dwSize
=
cbTCharCount
;
//It is ok to have non-null terminated string here.
//The function is used only for space reservation in staff buffer for
//followed data copying process. And that is the reason why we ignore
//the special case m_dwSize==0 here.
m_pStr
=
(
LPWSTR
)
safe_Realloc
(
m_pStr
,
(
m_dwSize
+
1
)
*
sizeof
(
WCHAR
)
);
}
//we are in UNICODE now, so LPWSTR:=:LPTSTR
operator
LPWSTR
()
{
return
m_pStr
;
}
operator
LPARAM
()
{
return
(
LPARAM
)
m_pStr
;
}
void
*
GetData
()
{
return
(
void
*
)
m_pStr
;
}
operator
LPWSTR
()
{
return
getNonEmptyString
()
;
}
operator
LPARAM
()
{
return
(
LPARAM
)
getNonEmptyString
()
;
}
void
*
GetData
()
{
return
(
void
*
)
getNonEmptyString
()
;
}
jsize
GetSize
()
{
return
m_dwSize
;
}
};
...
...
jdk/test/ProblemList.txt
浏览文件 @
38e2740c
...
...
@@ -366,139 +366,6 @@ javax/print/attribute/MediaMappingsTest.java generic-all
# jdk_net
# Suspect many of these tests auffer from using fixed ports, no concrete
# evidence.
# Times out on Windows X64
sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java generic-all
# Dies on Solaris 10 sparc and sparcv9, Linux -ea -esa with
# Interrupted or IO exception, maybe writing to non-unique named file?
com/sun/net/httpserver/bugs/B6373555.java generic-all
# Fails on OpenSolaris, times out
java/net/MulticastSocket/SetOutgoingIf.java generic-all
# Timed out on Solaris 10 X86.
com/sun/net/httpserver/Test3.java generic-all
# Exception in test on windows
com/sun/net/httpserver/bugs/B6373555.java windows-all
# One of these pollutes the samevm on Linux, too many open files, kills jtreg
com/sun/net/httpserver/bugs/B6339483.java generic-all
com/sun/net/httpserver/bugs/B6341616.java generic-all
# Suspects in cascading samevm problem, solaris 11 i586 (needs othervm?)
# Suspect use of setHttps*()?
com/sun/net/httpserver/SelCacheTest.java generic-all
com/sun/net/httpserver/Test1.java generic-all
com/sun/net/httpserver/Test12.java generic-all
com/sun/net/httpserver/Test13.java generic-all
com/sun/net/httpserver/Test6a.java generic-all
com/sun/net/httpserver/Test7a.java generic-all
com/sun/net/httpserver/Test8a.java generic-all
com/sun/net/httpserver/Test9.java generic-all
com/sun/net/httpserver/Test9a.java generic-all
# 10,000 connections, fails on Linux and makes tests&jtreg fail with samevm
com/sun/net/httpserver/bugs/B6361557.java generic-all
# Address already in use with samevm? Always? Solaris sparc, probably ports
java/net/Authenticator/B4933582.sh generic-all
java/net/DatagramSocket/SendSize.java generic-all
# Solaris 11: exception wrong address???
java/net/Inet6Address/B6558853.java generic-all
# Not closing stream on file i6a1, windows samevm problem
java/net/Inet6Address/serialize/Serialize.java generic-all
# Linux x64 fails "network unreachable"?
java/net/ipv6tests/TcpTest.java generic-all
# Linux i586, fails with unexpected output
java/net/MulticastSocket/NoLoopbackPackets.java linux-i586
# Address already in use
java/net/DatagramSocket/DatagramTimeout.java generic-all
# Fails on windows, takes too long and fails
# Solaris 10 sparcv9, samevm, java.lang.Exception: Takes too long. Dead lock
java/net/Socket/DeadlockTest.java generic-all
# Linux i586 address already in use or connection error, samevm issues
java/net/Socket/AccurateTimeout.java generic-all
java/net/Socket/asyncClose/BrokenPipe.java generic-all
java/net/Socket/CloseAvailable.java generic-all
# Linux X64 address already in use, samevm issues
java/net/Socket/LingerTest.java generic-all
java/net/Socket/LinkLocal.java generic-all
java/net/Socket/NullHost.java generic-all
java/net/Socket/ProxyCons.java generic-all
java/net/Socket/ReadTimeout.java generic-all
# Linux X64 address already in use, samevm issues
java/net/Socket/SetReceiveBufferSize.java generic-all
# Linux i586 address already in use or connection error, samevm issues
java/net/Socket/setReuseAddress/Basic.java generic-all
java/net/Socket/setReuseAddress/Restart.java generic-all
# Linux X64 address already in use, samevm issues
java/net/Socket/SetSoLinger.java generic-all
# Address already in use, windows samevm
java/net/Socket/Timeout.java generic-all
# Linux X64 address already in use, samevm issues
java/net/Socket/ShutdownBoth.java generic-all
java/net/Socket/SoTimeout.java generic-all
java/net/Socket/TestClose.java generic-all
java/net/Socket/UrgentDataTest.java generic-all
java/net/SocketInputStream/SocketClosedException.java generic-all
java/net/SocketInputStream/SocketTimeout.java generic-all
# Linux i586, address already in use or timeout, samevm issues
java/net/URLConnection/DisconnectAfterEOF.java generic-all
java/net/URLConnection/HandleContentTypeWithAttrs.java generic-all
java/net/URLConnection/Responses.java generic-all
java/net/URLConnection/TimeoutTest.java generic-all
java/net/URLConnection/ZeroContentLength.java generic-all
# Solaris 11 i586 fails with samevm, not sure why
java/net/ResponseCache/B6181108.java generic-all
java/net/ResponseCache/ResponseCacheTest.java generic-all
java/net/URL/GetContent.java generic-all
java/net/URLConnection/HttpContinueStackOverflow.java generic-all
java/net/URLConnection/Redirect307Test.java generic-all
java/net/URLConnection/RedirectLimit.java generic-all
java/net/URLConnection/ResendPostBody.java generic-all
java/net/URL/OpenStream.java generic-all
java/net/URLClassLoader/ClassLoad.java generic-all
java/net/URLConnection/SetIfModifiedSince.java generic-all
java/net/URLConnection/URLConnectionHeaders.java generic-all
# Linux i586 Connection refused or address already in use, samevm issues
sun/net/ftp/B6427768.java generic-all
sun/net/ftp/FtpGetContent.java generic-all
sun/net/ftp/FtpURL.java generic-all
# Failed on solaris 10 i586, Exception: should have gotten HttpRetryException?
sun/net/www/http/ChunkedOutputStream/Test.java generic-all
# Trouble cleaning up threads in samevm mode on solaris 11 i586
sun/net/www/http/HttpClient/ProxyTest.java generic-all
sun/net/www/http/ChunkedInputStream/ChunkedEncodingTest.java generic-all
sun/net/www/http/ChunkedInputStream/ChunkedEncodingWithProgressMonitorTest.java generic-all
sun/net/www/http/HttpClient/B6726695.java generic-all
sun/net/www/http/HttpClient/MultiThreadTest.java generic-all
sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java generic-all
# Connection refused, windows samevm
sun/net/www/protocol/http/DigestTest.java generic-all
############################################################################
# jdk_io
...
...
jdk/test/com/sun/jdi/ShellScaffold.sh
浏览文件 @
38e2740c
#!/bin/sh
#
# Copyright (c) 2002, 20
09
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 20
10
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -141,7 +141,10 @@ topPid=$$
cleanup
()
{
if
[
-r
"
$failFile
"
]
;
then
cat
$failFile
>
& 2
ls
-l
"
$failFile
"
>
&2
echo
"<cleanup:_begin_failFile_contents>"
>
&2
cat
"
$failFile
"
>
&2
echo
"<cleanup:_end_failFile_contents>"
>
&2
fi
# Kill all processes that have our special
...
...
@@ -337,6 +340,10 @@ EOF
failFile
=
$tmpFileDir
/testFailed
debuggeepidFile
=
$tmpFileDir
/debuggeepid
rm
-f
$failFile
$debuggeepidFile
if
[
-f
"
$failFile
"
]
;
then
echo
"ERROR: unable to delete existing failFile:"
>
&2
ls
-l
"
$failFile
"
>
&2
fi
if
[
-z
"
$pkg
"
]
;
then
pkgSlash
=
...
...
@@ -524,6 +531,10 @@ cmd()
# See 6562090. Maybe there is a way that the exit
# can cause jdb to not get the quit.
sleep
5
# The exit code value here doesn't matter since this function
# is called as part of a pipeline and it is not the last command
# in the pipeline.
exit
1
fi
...
...
@@ -938,6 +949,10 @@ waitForFinish()
done
if
[
-r
"
$failFile
"
]
;
then
ls
-l
"
$failFile
"
>
&2
echo
"<waitForFinish:_begin_failFile_contents>"
>
&2
cat
"
$failFile
"
>
&2
echo
"<waitForFinish:_end_failFile_contents>"
>
&2
exit
1
fi
}
...
...
@@ -946,33 +961,45 @@ waitForFinish()
# $3 is the number of lines to search (from the end)
grepForString
()
{
# See bug 6220903. Sometimes the jdb '> ' prompt chars
# get inserted into the string we are searching for
# so ignore those chars.
if
[
-z
"
$3
"
]
;
then
theCmd
=
cat
else
theCmd
=
"tail -
$3
"
fi
case
"
$2
"
in
*
\>
*
)
# Target string contains a > so we better
# not ignore it
*
\>
*
)
# Target string contains a '>' so we better not ignore it
$theCmd
$1
|
$grep
-s
"
$2
"
>
$devnull
2>&1
return
$?
stat
=
"
$?
"
;;
*
)
# Target string does not contain a '>'.
# NOTE: if $1 does not end with a new line, piping it to sed
# doesn't include the chars on the last line. Detect this
# case, and add a new line.
theFile
=
"
$1
"
if
[
`
tail
-1
"
$theFile
"
|
wc
-l
|
sed
-e
's@ @@g'
`
=
0
]
;
then
# The target file doesn't end with a new line so we have
# add one to a copy of the target file so the sed command
# below can filter that last line.
cp
"
$theFile
"
"
$theFile
.tmp"
theFile
=
"
$theFile
.tmp"
echo
>>
"
$theFile
"
fi
# See bug 6220903. Sometimes the jdb prompt chars ('> ') can
# get interleaved in the target file which can keep us from
# matching the target string.
$theCmd
"
$theFile
"
|
sed
-e
's@> @@g'
-e
's@>@@g'
\
|
$grep
-s
"
$2
"
>
$devnull
2>&1
stat
=
$?
if
[
"
$theFile
"
!=
"
$1
"
]
;
then
# remove the copy of the target file
rm
-f
"
$theFile
"
fi
unset
theFile
esac
# Target string does not contain a >.
# Ignore > and '> ' in the file.
# NOTE: if $1 does not end with a new line, piping it to sed doesn't include the
# chars on the last line. Detect this case, and add a new line.
cp
$1
$1
.tmp
if
[
`
tail
-1
$1
.tmp |
wc
-l
|
sed
-e
's@ @@g'
`
=
0
]
;
then
echo
>>
$1
.tmp
fi
$theCmd
$1
.tmp |
sed
-e
's@> @@g'
-e
's@>@@g'
|
$grep
-s
"
$2
"
>
$devnull
2>&1
stat
=
$?
rm
-f
$1
.tmp
return
$stat
}
...
...
@@ -1037,6 +1064,11 @@ pass()
echo
echo
"--Done: test passed"
exit
0
else
ls
-l
"
$failFile
"
>
&2
echo
"<pass:_begin_failFile_contents>"
>
&2
cat
"
$failFile
"
>
&2
echo
"<pass:_end_failFile_contents>"
>
&2
fi
}
...
...
jdk/test/com/sun/jndi/rmi/registry/RegistryContext/ContextWithNullProperties.java
0 → 100644
浏览文件 @
38e2740c
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 6676075
* @summary RegistryContext (com.sun.jndi.url.rmi.rmiURLContext) coding problem
*/
import
java.rmi.RemoteException
;
import
java.rmi.registry.LocateRegistry
;
import
com.sun.jndi.rmi.registry.*
;
public
class
ContextWithNullProperties
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
// Create registry on port 1099 if one is not already running.
try
{
LocateRegistry
.
createRegistry
(
1099
);
}
catch
(
RemoteException
e
)
{
}
System
.
out
.
println
(
"Connecting to the default Registry..."
);
// Connect to the default Registry.
// Pass null as the JNDI environment properties (see final argument)
RegistryContext
ctx
=
new
RegistryContext
(
null
,
-
1
,
null
);
}
}
jdk/test/com/sun/net/httpserver/Test1.java
浏览文件 @
38e2740c
...
...
@@ -24,17 +24,15 @@
/**
* @test
* @bug 6270015
* @run main/othervm Test1
* @summary Light weight HTTP server
*/
import
com.sun.net.httpserver.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.io.*
;
import
java.net.*
;
import
java.security.*
;
import
java.security.cert.*
;
import
javax.net.ssl.*
;
/* basic http/s connectivity test
...
...
jdk/test/com/sun/net/httpserver/Test11.java
浏览文件 @
38e2740c
...
...
@@ -28,7 +28,6 @@
*/
import
java.net.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.io.*
;
import
com.sun.net.httpserver.*
;
...
...
@@ -52,22 +51,25 @@ public class Test11 {
public
static
void
main
(
String
[]
args
)
throws
Exception
{
System
.
out
.
print
(
"Test 11: "
);
HttpServer
server
=
HttpServer
.
create
(
new
InetSocketAddress
(
0
),
0
);
HttpContext
ctx
=
server
.
createContext
(
"/foo/bar/"
,
new
Handler
()
);
ExecutorService
s
=
Executors
.
newCachedThreadPool
();
server
.
setExecutor
(
s
);
server
.
start
();
URL
url
=
new
URL
(
"http://localhost:"
+
server
.
getAddress
().
getPort
()+
"/Foo/bar/test.html"
);
HttpURLConnection
urlc
=
(
HttpURLConnection
)
url
.
openConnection
();
int
r
=
urlc
.
getResponseCode
();
System
.
out
.
println
(
"OK"
);
s
.
shutdown
();
server
.
stop
(
5
);
if
(
r
==
200
)
{
throw
new
RuntimeException
(
"wrong response received"
);
HttpServer
server
=
HttpServer
.
create
(
new
InetSocketAddress
(
0
),
0
);
ExecutorService
s
=
Executors
.
newCachedThreadPool
();
try
{
HttpContext
ctx
=
server
.
createContext
(
"/foo/bar/"
,
new
Handler
()
);
s
=
Executors
.
newCachedThreadPool
();
server
.
start
();
URL
url
=
new
URL
(
"http://localhost:"
+
server
.
getAddress
().
getPort
()+
"/Foo/bar/test.html"
);
HttpURLConnection
urlc
=
(
HttpURLConnection
)
url
.
openConnection
();
int
r
=
urlc
.
getResponseCode
();
if
(
r
==
200
)
{
throw
new
RuntimeException
(
"wrong response received"
);
}
System
.
out
.
println
(
"OK"
);
}
finally
{
s
.
shutdown
();
server
.
stop
(
2
);
}
}
}
jdk/test/com/sun/net/httpserver/Test12.java
浏览文件 @
38e2740c
...
...
@@ -24,17 +24,15 @@
/**
* @test
* @bug 6270015
* @run main/othervm Test12
* @summary Light weight HTTP server
*/
import
com.sun.net.httpserver.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.io.*
;
import
java.net.*
;
import
java.security.*
;
import
java.security.cert.*
;
import
javax.net.ssl.*
;
/* basic http/s connectivity test
...
...
jdk/test/com/sun/net/httpserver/Test13.java
浏览文件 @
38e2740c
...
...
@@ -24,17 +24,16 @@
/**
* @test
* @bug 6270015
* @run main/othervm Test13
* @summary Light weight HTTP server
*/
import
com.sun.net.httpserver.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.io.*
;
import
java.net.*
;
import
java.security.*
;
import
java.security.cert.*
;
import
javax.net.ssl.*
;
/* basic http/s connectivity test
...
...
jdk/test/com/sun/net/httpserver/Test6a.java
浏览文件 @
38e2740c
...
...
@@ -24,17 +24,15 @@
/**
* @test
* @bug 6270015
* @run main/othervm Test6a
* @summary Light weight HTTP server
*/
import
com.sun.net.httpserver.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.io.*
;
import
java.net.*
;
import
java.security.*
;
import
javax.security.auth.callback.*
;
import
javax.net.ssl.*
;
/**
...
...
jdk/test/com/sun/net/httpserver/Test7a.java
浏览文件 @
38e2740c
...
...
@@ -24,18 +24,15 @@
/**
* @test
* @bug 6270015
* @run main/othervm Test7a
* @summary Light weight HTTP server
*/
import
com.sun.net.httpserver.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.util.logging.*
;
import
java.io.*
;
import
java.net.*
;
import
java.security.*
;
import
javax.security.auth.callback.*
;
import
javax.net.ssl.*
;
/**
...
...
jdk/test/com/sun/net/httpserver/Test8a.java
浏览文件 @
38e2740c
...
...
@@ -24,18 +24,15 @@
/**
* @test
* @bug 6270015
* @run main/othervm Test8a
* @summary Light weight HTTP server
*/
import
com.sun.net.httpserver.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.util.logging.*
;
import
java.io.*
;
import
java.net.*
;
import
java.security.*
;
import
javax.security.auth.callback.*
;
import
javax.net.ssl.*
;
/**
...
...
@@ -50,46 +47,50 @@ public class Test8a extends Test {
//h.setLevel (Level.INFO);
//log.addHandler (h);
//log.setLevel (Level.INFO);
Handler
handler
=
new
Handler
();
InetSocketAddress
addr
=
new
InetSocketAddress
(
0
);
HttpsServer
server
=
HttpsServer
.
create
(
addr
,
0
);
HttpContext
ctx
=
server
.
createContext
(
"/test"
,
handler
);
ExecutorService
executor
=
Executors
.
newCachedThreadPool
();
SSLContext
ssl
=
new
SimpleSSLContext
(
System
.
getProperty
(
"test.src"
)).
get
();
server
.
setHttpsConfigurator
(
new
HttpsConfigurator
(
ssl
));
server
.
setExecutor
(
executor
);
server
.
start
();
HttpsServer
server
=
null
;
ExecutorService
executor
=
null
;
try
{
Handler
handler
=
new
Handler
();
InetSocketAddress
addr
=
new
InetSocketAddress
(
0
);
server
=
HttpsServer
.
create
(
addr
,
0
);
HttpContext
ctx
=
server
.
createContext
(
"/test"
,
handler
);
executor
=
Executors
.
newCachedThreadPool
();
SSLContext
ssl
=
new
SimpleSSLContext
(
System
.
getProperty
(
"test.src"
)).
get
();
server
.
setHttpsConfigurator
(
new
HttpsConfigurator
(
ssl
));
server
.
setExecutor
(
executor
);
server
.
start
();
URL
url
=
new
URL
(
"https://localhost:"
+
server
.
getAddress
().
getPort
()+
"/test/foo.html"
);
System
.
out
.
print
(
"Test8a: "
);
HttpsURLConnection
urlc
=
(
HttpsURLConnection
)
url
.
openConnection
();
urlc
.
setDoOutput
(
true
);
urlc
.
setRequestMethod
(
"POST"
);
urlc
.
setHostnameVerifier
(
new
DummyVerifier
());
urlc
.
setSSLSocketFactory
(
ssl
.
getSocketFactory
());
OutputStream
os
=
new
BufferedOutputStream
(
urlc
.
getOutputStream
(),
8000
);
for
(
int
i
=
0
;
i
<
SIZE
;
i
++)
{
os
.
write
(
i
%
250
);
}
os
.
close
();
int
resp
=
urlc
.
getResponseCode
();
if
(
resp
!=
200
)
{
throw
new
RuntimeException
(
"test failed response code"
);
}
InputStream
is
=
urlc
.
getInputStream
();
for
(
int
i
=
0
;
i
<
SIZE
;
i
++)
{
int
f
=
is
.
read
();
if
(
f
!=
(
i
%
250
))
{
System
.
out
.
println
(
"Setting error("
+
f
+
")("
+
i
+
")"
);
error
=
true
;
break
;
URL
url
=
new
URL
(
"https://localhost:"
+
server
.
getAddress
().
getPort
()+
"/test/foo.html"
);
System
.
out
.
print
(
"Test8a: "
);
HttpsURLConnection
urlc
=
(
HttpsURLConnection
)
url
.
openConnection
();
urlc
.
setDoOutput
(
true
);
urlc
.
setRequestMethod
(
"POST"
);
urlc
.
setHostnameVerifier
(
new
DummyVerifier
());
urlc
.
setSSLSocketFactory
(
ssl
.
getSocketFactory
());
OutputStream
os
=
new
BufferedOutputStream
(
urlc
.
getOutputStream
(),
8000
);
for
(
int
i
=
0
;
i
<
SIZE
;
i
++)
{
os
.
write
(
i
%
250
);
}
os
.
close
();
int
resp
=
urlc
.
getResponseCode
();
if
(
resp
!=
200
)
{
throw
new
RuntimeException
(
"test failed response code"
);
}
InputStream
is
=
urlc
.
getInputStream
();
for
(
int
i
=
0
;
i
<
SIZE
;
i
++)
{
int
f
=
is
.
read
();
if
(
f
!=
(
i
%
250
))
{
System
.
out
.
println
(
"Setting error("
+
f
+
")("
+
i
+
")"
);
error
=
true
;
break
;
}
}
is
.
close
();
}
finally
{
delay
();
if
(
server
!=
null
)
server
.
stop
(
2
);
if
(
executor
!=
null
)
executor
.
shutdown
();
}
is
.
close
();
delay
();
server
.
stop
(
2
);
executor
.
shutdown
();
if
(
error
)
{
throw
new
RuntimeException
(
"test failed error"
);
}
...
...
jdk/test/com/sun/net/httpserver/Test9.java
浏览文件 @
38e2740c
...
...
@@ -24,17 +24,15 @@
/**
* @test
* @bug 6270015
* @run main/othervm Test9
* @summary Light weight HTTP server
*/
import
com.sun.net.httpserver.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.io.*
;
import
java.net.*
;
import
java.security.*
;
import
java.security.cert.*
;
import
javax.net.ssl.*
;
/* Same as Test1 but requests run in parallel.
...
...
jdk/test/com/sun/net/httpserver/Test9a.java
浏览文件 @
38e2740c
...
...
@@ -24,17 +24,15 @@
/**
* @test
* @bug 6270015
* @run main/othervm Test9a
* @summary Light weight HTTP server
*/
import
com.sun.net.httpserver.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.io.*
;
import
java.net.*
;
import
java.security.*
;
import
java.security.cert.*
;
import
javax.net.ssl.*
;
/* Same as Test1 but requests run in parallel.
...
...
jdk/test/com/sun/net/httpserver/bugs/B6361557.java
浏览文件 @
38e2740c
...
...
@@ -24,6 +24,7 @@
/**
* @test
* @bug 6361557
* @run main/othervm B6361557
* @summary Lightweight HTTP server quickly runs out of file descriptors on Linux
*/
...
...
@@ -35,12 +36,9 @@ import java.io.*;
import
java.nio.*
;
import
java.nio.channels.*
;
import
java.net.*
;
import
java.security.*
;
import
java.security.cert.*
;
import
javax.net.ssl.*
;
/**
* The test simply opens 1
0
,000 separate connections
* The test simply opens 1,000 separate connections
* and invokes one http request on each. The client does
* not close any sockets until after they are closed
* by the server. This verifies the basic ability
...
...
@@ -49,6 +47,7 @@ import javax.net.ssl.*;
public
class
B6361557
{
public
static
boolean
error
=
false
;
static
final
int
NUM
=
1000
;
static
class
Handler
implements
HttpHandler
{
int
invocation
=
1
;
...
...
@@ -65,6 +64,9 @@ public class B6361557 {
}
}
final
static
String
request
=
"GET /test/foo.html HTTP/1.1\r\nContent-length: 0\r\n\r\n"
;
final
static
ByteBuffer
requestBuf
=
ByteBuffer
.
allocate
(
64
).
put
(
request
.
getBytes
());
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Handler
handler
=
new
Handler
();
InetSocketAddress
addr
=
new
InetSocketAddress
(
0
);
...
...
@@ -75,49 +77,72 @@ public class B6361557 {
server
.
setExecutor
(
executor
);
server
.
start
();
final
int
NUM
=
10000
;
ByteBuffer
buf
=
ByteBuffer
.
allocate
(
4096
);
InetSocketAddress
destaddr
=
new
InetSocketAddress
(
"127.0.0.1"
,
server
.
getAddress
().
getPort
()
);
System
.
out
.
println
(
"destaddr "
+
destaddr
);
Selector
selector
=
Selector
.
open
();
int
i
=
0
;
int
requests
=
0
;
int
responses
=
0
;
while
(
true
)
{
i
++;
int
selres
=
selector
.
select
(
1
);
Set
<
SelectionKey
>
selkeys
=
selector
.
selectedKeys
();
for
(
SelectionKey
key
:
selkeys
)
{
if
(
key
.
isReadable
())
{
SocketChannel
chan
=
(
SocketChannel
)
key
.
channel
();
buf
.
clear
();
ByteBuffer
buf
=
(
ByteBuffer
)
key
.
attachment
();
try
{
int
x
=
chan
.
read
(
buf
);
if
(
x
==
-
1
)
{
int
x
=
chan
.
read
(
buf
);
if
(
x
==
-
1
||
responseComplete
(
buf
))
{
key
.
attach
(
null
);
chan
.
close
();
responses
++;
}
}
catch
(
IOException
e
)
{}
}
}
if
(
i
<
NUM
)
{
SocketChannel
schan
=
SocketChannel
.
open
(
destaddr
);
String
cmd
=
"GET /test/foo.html HTTP/1.1\r\nContent-length: 0\r\n\r\n"
;
buf
.
rewind
();
buf
.
put
(
cmd
.
getBytes
());
buf
.
flip
();
if
(
requests
<
NUM
)
{
SocketChannel
schan
=
SocketChannel
.
open
(
destaddr
);
requestBuf
.
rewind
();
int
c
=
0
;
while
(
b
uf
.
remaining
()
>
0
)
{
c
+=
schan
.
write
(
b
uf
);
while
(
requestB
uf
.
remaining
()
>
0
)
{
c
+=
schan
.
write
(
requestB
uf
);
}
schan
.
configureBlocking
(
false
);
schan
.
register
(
selector
,
SelectionKey
.
OP_READ
,
null
);
}
else
{
schan
.
configureBlocking
(
false
);
schan
.
register
(
selector
,
SelectionKey
.
OP_READ
,
ByteBuffer
.
allocate
(
100
));
requests
++;
}
if
(
responses
==
NUM
)
{
System
.
out
.
println
(
"Finished clients"
);
server
.
stop
(
1
);
executor
.
shutdown
();
return
;
break
;
}
}
server
.
stop
(
1
);
selector
.
close
();
executor
.
shutdown
();
}
/* Look for CR LF CR LF */
static
boolean
responseComplete
(
ByteBuffer
buf
)
{
int
pos
=
buf
.
position
();
buf
.
flip
();
byte
[]
lookingFor
=
new
byte
[]
{
'\r'
,
'\n'
,
'\r'
,
'\n'
};
int
lookingForCount
=
0
;
while
(
buf
.
hasRemaining
())
{
byte
b
=
buf
.
get
();
if
(
b
==
lookingFor
[
lookingForCount
])
{
lookingForCount
++;
if
(
lookingForCount
==
4
)
{
return
true
;
}
}
else
{
lookingForCount
=
0
;
}
}
buf
.
position
(
pos
);
buf
.
limit
(
buf
.
capacity
());
return
false
;
}
}
jdk/test/com/sun/net/httpserver/bugs/B6373555.java
浏览文件 @
38e2740c
...
...
@@ -46,7 +46,7 @@ public class B6373555 {
private
static
Object
lock
;
static
HttpServer
httpServer
;
static
ExecutorService
pool
,
execs
;
static
int
NUM
=
4
000
;
static
int
NUM
=
1
000
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
try
{
...
...
@@ -125,7 +125,7 @@ public class B6373555 {
}
}
catch
(
Exception
e
)
{
//
e.printStackTrace();
e
.
printStackTrace
();
System
.
out
.
print
(
"."
);
error
=
true
;
}
...
...
jdk/test/java/beans/XMLEncoder/Test4631471.java
浏览文件 @
38e2740c
/*
* Copyright (c) 2003, 20
07
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -23,7 +23,7 @@
/*
* @test
* @bug 4631471
* @bug 4631471
6972468
* @summary Tests DefaultTreeModel encoding
* @author Sergey Malenkov, Mark Davidson
*/
...
...
@@ -37,6 +37,12 @@ import javax.swing.tree.TreeNode;
public
abstract
class
Test4631471
extends
AbstractTest
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
main
();
System
.
setSecurityManager
(
new
SecurityManager
());
main
();
}
private
static
void
main
()
throws
Exception
{
// the DefaultMutableTreeNode will archive correctly
new
Test4631471
()
{
protected
Object
getObject
()
{
...
...
jdk/test/java/beans/XMLEncoder/Test4903007.java
浏览文件 @
38e2740c
/*
* Copyright (c) 2003, 20
07
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 20
10
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -23,7 +23,7 @@
/*
* @test
* @bug 4903007
* @bug 4903007
6972468
* @summary Tests encoding of container with boxes and BoxLayout
* @author Sergey Malenkov, Mark Davidson
*/
...
...
@@ -36,7 +36,7 @@ import javax.swing.JPanel;
public
class
Test4903007
extends
AbstractTest
<
JPanel
>
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
new
Test4903007
().
test
(
false
);
// TODO: could not encode with security manager
new
Test4903007
().
test
(
true
);
}
protected
JPanel
getObject
()
{
...
...
jdk/test/java/beans/XMLEncoder/javax_swing_JLayeredPane.java
浏览文件 @
38e2740c
/*
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007,
2010,
Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -23,7 +23,7 @@
/*
* @test
* @bug 5023552
* @bug 5023552
6972468
* @summary Tests JLayeredPane encoding
* @author Sergey Malenkov
*/
...
...
@@ -35,7 +35,7 @@ import javax.swing.JPanel;
public
final
class
javax_swing_JLayeredPane
extends
AbstractTest
<
JLayeredPane
>
{
public
static
void
main
(
String
[]
args
)
{
new
javax_swing_JLayeredPane
().
test
(
false
);
// TODO: could not encode with security manager
new
javax_swing_JLayeredPane
().
test
(
true
);
}
private
static
void
init
(
JLayeredPane
pane
,
int
layer
,
int
x
,
int
y
,
int
w
,
int
h
,
Color
color
)
{
...
...
jdk/test/java/lang/Throwable/SuppressedExceptions.java
浏览文件 @
38e2740c
...
...
@@ -26,7 +26,7 @@ import java.util.*;
/*
* @test
* @bug 6911258 6962571
* @bug 6911258 6962571
6963622
* @summary Basic tests of suppressed exceptions
* @author Joseph D. Darcy
*/
...
...
@@ -35,11 +35,22 @@ public class SuppressedExceptions {
private
static
String
message
=
"Bad suppressed exception information"
;
public
static
void
main
(
String
...
args
)
throws
Exception
{
noSelfSuppression
();
basicSupressionTest
();
serializationTest
();
selfReference
();
}
private
static
void
noSelfSuppression
()
{
Throwable
throwable
=
new
Throwable
();
try
{
throwable
.
addSuppressedException
(
throwable
);
throw
new
RuntimeException
(
"IllegalArgumentException for self-suppresion not thrown."
);
}
catch
(
IllegalArgumentException
iae
)
{
;
// Expected
}
}
private
static
void
basicSupressionTest
()
{
Throwable
throwable
=
new
Throwable
();
RuntimeException
suppressed
=
new
RuntimeException
(
"A suppressed exception."
);
...
...
@@ -156,9 +167,8 @@ public class SuppressedExceptions {
throwable1
.
printStackTrace
();
throwable1
.
addSuppressedException
(
throwable1
);
throwable1
.
addSuppressedException
(
throwable2
);
throwable2
.
addSuppressedException
(
throwable1
);
throwable1
.
printStackTrace
();
}
...
...
jdk/test/java/net/DatagramSocket/DatagramTimeout.java
浏览文件 @
38e2740c
...
...
@@ -27,25 +27,25 @@
* @summary test to see if timeout hangs
* @run main/timeout=15 DatagramTimeout
*/
import
java.net.*
;
import
java.io.*
;
import
java.net.DatagramPacket
;
import
java.net.DatagramSocket
;
import
java.net.SocketTimeoutException
;
public
class
DatagramTimeout
{
public
static
ServerSocket
sock
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
boolean
success
=
false
;
DatagramSocket
sock
=
new
DatagramSocket
();
try
{
DatagramSocket
sock
;
DatagramPacket
p
;
byte
[]
buffer
=
new
byte
[
50
];
p
=
new
DatagramPacket
(
buffer
,
buffer
.
length
);
sock
=
new
DatagramSocket
(
2333
);
sock
.
setSoTimeout
(
2
);
sock
.
receive
(
p
);
}
catch
(
SocketTimeoutException
e
)
{
success
=
true
;
}
finally
{
sock
.
close
();
}
if
(!
success
)
throw
new
RuntimeException
(
"Socket timeout failure."
);
...
...
jdk/test/java/net/DatagramSocket/SendSize.java
浏览文件 @
38e2740c
...
...
@@ -32,35 +32,26 @@
* @author Benjamin Renaud
*/
import
java.io.*
;
import
java.net.*
;
import
java.util.*
;
import
java.io.IOException
;
import
java.net.DatagramPacket
;
import
java.net.DatagramSocket
;
import
java.net.InetAddress
;
public
class
SendSize
{
static
final
int
clientPort
=
8989
;
static
final
int
serverPort
=
9999
;
static
final
int
bufferLength
=
512
;
static
final
int
packetLength
=
256
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
new
ServerThread
().
start
();
new
ClientThread
().
start
();
DatagramSocket
serverSocket
=
new
DatagramSocket
();
new
ServerThread
(
serverSocket
).
start
();
new
ClientThread
(
serverSocket
.
getLocalPort
()).
start
();
}
static
class
ServerThread
extends
Thread
{
int
port
;
DatagramSocket
server
;
ServerThread
(
int
port
)
throws
IOException
{
this
.
port
=
port
;
this
.
server
=
new
DatagramSocket
(
port
);
}
ServerThread
()
throws
IOException
{
this
(
SendSize
.
serverPort
);
ServerThread
(
DatagramSocket
server
)
{
this
.
server
=
server
;
}
public
void
run
()
{
...
...
@@ -85,33 +76,22 @@ public class SendSize {
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
RuntimeException
(
"caugth: "
+
e
);
}
finally
{
if
(
server
!=
null
)
{
server
.
close
();
}
}
}
}
static
class
ClientThread
extends
Thread
{
int
port
;
int
serverPort
;
int
bufferLength
;
int
packetLength
;
DatagramSocket
client
;
InetAddress
host
;
ClientThread
(
int
port
,
int
serverPort
,
int
bufferLength
,
int
packetLength
)
throws
IOException
{
this
.
port
=
port
;
ClientThread
(
int
serverPort
)
throws
IOException
{
this
.
serverPort
=
serverPort
;
this
.
host
=
InetAddress
.
getLocalHost
();
this
.
bufferLength
=
bufferLength
;
this
.
packetLength
=
packetLength
;
this
.
client
=
new
DatagramSocket
(
port
,
host
);
}
ClientThread
()
throws
IOException
{
this
(
SendSize
.
clientPort
,
SendSize
.
serverPort
,
SendSize
.
bufferLength
,
SendSize
.
packetLength
);
this
.
client
=
new
DatagramSocket
();
}
public
void
run
()
{
...
...
@@ -129,6 +109,8 @@ public class SendSize {
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
RuntimeException
(
"caught: "
+
e
);
}
finally
{
if
(
client
!=
null
)
{
client
.
close
();
}
}
}
}
...
...
jdk/test/java/net/Inet6Address/B6558853.java
浏览文件 @
38e2740c
...
...
@@ -43,6 +43,9 @@ public class B6558853 implements Runnable {
InetAddress
dest
=
null
;
while
(
l
.
hasMoreElements
()
&&
dest
==
null
)
{
NetworkInterface
nif
=
l
.
nextElement
();
if
(!
nif
.
isUp
())
continue
;
for
(
InterfaceAddress
a
:
nif
.
getInterfaceAddresses
())
{
if
(
a
.
getAddress
()
instanceof
Inet6Address
)
{
Inet6Address
a6
=
(
Inet6Address
)
a
.
getAddress
();
...
...
@@ -53,6 +56,7 @@ public class B6558853 implements Runnable {
}
}
}
System
.
out
.
println
(
"Using "
+
dest
);
if
(
dest
!=
null
)
{
B6558853
test
=
new
B6558853
(
dest
,
port
);
Thread
thread
=
new
Thread
(
test
);
...
...
jdk/test/java/net/Inet6Address/serialize/Serialize.java
浏览文件 @
38e2740c
...
...
@@ -72,6 +72,7 @@ public class Serialize {
File
file
=
new
File
(
System
.
getProperty
(
"test.src"
),
"serial1.4.2.ser"
);
ois
=
new
ObjectInputStream
(
new
FileInputStream
(
file
));
nobj
=
(
Inet6Address
)
ois
.
readObject
();
ois
.
close
();
if
(!
nobj
.
equals
(
InetAddress
.
getByName
(
"::1"
)))
{
throw
new
RuntimeException
(
"old ::1 not deserialized right"
);
}
...
...
@@ -90,6 +91,8 @@ public class Serialize {
nobj
=
(
Inet6Address
)
ois
.
readObject
();
}
catch
(
NullPointerException
e
)
{
throw
new
RuntimeException
(
"6656849 Not fixed: NullPointer when deserializing"
);
}
finally
{
ois
.
close
();
}
System
.
out
.
println
(
nobj
);
System
.
out
.
println
(
"All tests passed"
);
...
...
@@ -102,6 +105,7 @@ public class Serialize {
ObjectInputStream
ois
=
new
ObjectInputStream
(
new
FileInputStream
(
"i6a1.ser"
));
Inet6Address
nobj
=
(
Inet6Address
)
ois
.
readObject
();
ois
.
close
();
if
(
nobj
.
equals
(
obj
))
{
return
true
;
...
...
jdk/test/java/net/InetAddress/CheckJNI.java
浏览文件 @
38e2740c
...
...
@@ -56,6 +56,8 @@ public class CheckJNI {
while
(
ifs
.
hasMoreElements
())
{
NetworkInterface
nif
=
(
NetworkInterface
)
ifs
.
nextElement
();
if
(!
nif
.
isUp
())
continue
;
Enumeration
addrs
=
nif
.
getInetAddresses
();
while
(
addrs
.
hasMoreElements
())
{
InetAddress
addr
=
(
InetAddress
)
addrs
.
nextElement
();
...
...
jdk/test/java/net/MulticastSocket/SetOutgoingIf.java
浏览文件 @
38e2740c
...
...
@@ -76,6 +76,10 @@ public class SetOutgoingIf {
// now determine what (if any) type of addresses are assigned to this interface
for
(
InetAddress
addr
:
Collections
.
list
(
nic
.
getInetAddresses
()))
{
if
(
addr
.
isAnyLocalAddress
())
continue
;
System
.
out
.
println
(
" addr "
+
addr
);
if
(
addr
instanceof
Inet4Address
)
{
netIf
.
ipv4Address
(
true
);
}
else
if
(
addr
instanceof
Inet6Address
)
{
...
...
jdk/test/java/net/NetworkInterface/IPv4Only.java
0 → 100644
浏览文件 @
38e2740c
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* @test
* @bug 6964714
* @run main/othervm IPv4Only
* @summary Test the networkinterface listing with java.net.preferIPv4Stack=true.
*/
import
java.net.*
;
import
java.util.*
;
public
class
IPv4Only
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
System
.
setProperty
(
"java.net.preferIPv4Stack"
,
"true"
);
Enumeration
<
NetworkInterface
>
nifs
=
NetworkInterface
.
getNetworkInterfaces
();
while
(
nifs
.
hasMoreElements
())
{
NetworkInterface
nif
=
nifs
.
nextElement
();
Enumeration
<
InetAddress
>
addrs
=
nif
.
getInetAddresses
();
while
(
addrs
.
hasMoreElements
())
{
InetAddress
hostAddr
=
addrs
.
nextElement
();
if
(
hostAddr
instanceof
Inet6Address
){
throw
new
RuntimeException
(
"NetworkInterfaceV6List failed - found v6 address "
+
hostAddr
.
getHostAddress
()
);
}
}
}
}
}
jdk/test/java/net/ResponseCache/B6181108.java
浏览文件 @
38e2740c
...
...
@@ -67,9 +67,10 @@ public class B6181108 implements Runnable {
out
.
flush
();
s
.
close
();
ss
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
ss
.
close
();
}
catch
(
IOException
unused
)
{}
}
}
...
...
@@ -100,6 +101,7 @@ public class B6181108 implements Runnable {
URLConnection
urlc
=
url
.
openConnection
();
int
i
=
((
HttpURLConnection
)(
urlc
)).
getResponseCode
();
System
.
out
.
println
(
"response code = "
+
i
);
ResponseCache
.
setDefault
(
null
);
}
public
static
void
main
(
String
args
[])
throws
Exception
{
...
...
jdk/test/java/net/ResponseCache/ResponseCacheTest.java
浏览文件 @
38e2740c
...
...
@@ -30,7 +30,6 @@
import
java.net.*
;
import
java.util.*
;
import
java.io.*
;
import
java.nio.*
;
import
sun.net.www.ParseUtil
;
import
javax.net.ssl.*
;
...
...
@@ -43,11 +42,16 @@ public class ResponseCacheTest implements Runnable {
static
URL
url1
;
static
URL
url2
;
static
String
FNPrefix
,
OutFNPrefix
;
static
List
<
Closeable
>
streams
=
new
ArrayList
<>();
static
List
<
File
>
files
=
new
ArrayList
<>();
/*
* Our "http" server to return a 404 */
public
void
run
()
{
Socket
s
=
null
;
FileInputStream
fis
=
null
;
try
{
Socket
s
=
ss
.
accept
();
s
=
ss
.
accept
();
InputStream
is
=
s
.
getInputStream
();
BufferedReader
r
=
new
BufferedReader
(
new
InputStreamReader
(
is
));
...
...
@@ -68,7 +72,7 @@ public class ResponseCacheTest implements Runnable {
out
.
print
(
"Content-Length: "
+
file2
.
length
()+
"\r\n"
);
out
.
print
(
"Connection: close\r\n"
);
out
.
print
(
"\r\n"
);
FileInputStream
fis
=
new
FileInputStream
(
file2
);
fis
=
new
FileInputStream
(
file2
);
byte
[]
buf
=
new
byte
[(
int
)
file2
.
length
()];
int
len
;
while
((
len
=
fis
.
read
(
buf
))
!=
-
1
)
{
...
...
@@ -81,6 +85,10 @@ public class ResponseCacheTest implements Runnable {
ss
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
ss
.
close
();
}
catch
(
IOException
unused
)
{}
try
{
s
.
close
();
}
catch
(
IOException
unused
)
{}
try
{
fis
.
close
();
}
catch
(
IOException
unused
)
{}
}
}
static
class
NameVerifier
implements
HostnameVerifier
{
...
...
@@ -144,11 +152,14 @@ static class NameVerifier implements HostnameVerifier {
// assert (headers1 == headers2 && file1 == file2.2)
File
file1
=
new
File
(
OutFNPrefix
+
"file1"
);
File
file2
=
new
File
(
OutFNPrefix
+
"file2.2"
);
files
.
add
(
file1
);
files
.
add
(
file2
);
System
.
out
.
println
(
"headers1"
+
headers1
+
"\nheaders2="
+
headers2
);
if
(!
headers1
.
equals
(
headers2
)
||
file1
.
length
()
!=
file2
.
length
())
{
throw
new
RuntimeException
(
"test failed"
);
}
}
public
static
void
main
(
String
args
[])
throws
Exception
{
try
{
ResponseCache
.
setDefault
(
new
MyResponseCache
());
...
...
@@ -157,6 +168,12 @@ static class NameVerifier implements HostnameVerifier {
new
ResponseCacheTest
();
}
finally
{
ResponseCache
.
setDefault
(
null
);
for
(
Closeable
c:
streams
)
{
try
{
c
.
close
();
}
catch
(
IOException
unused
)
{}
}
for
(
File
f:
files
)
{
f
.
delete
();
}
}
}
...
...
@@ -184,6 +201,7 @@ static class NameVerifier implements HostnameVerifier {
public
MyCacheResponse
(
String
filename
)
{
try
{
fis
=
new
FileInputStream
(
new
File
(
filename
));
streams
.
add
(
fis
);
ObjectInputStream
ois
=
new
ObjectInputStream
(
fis
);
headers
=
(
Map
<
String
,
List
<
String
>>)
ois
.
readObject
();
}
catch
(
Exception
ex
)
{
...
...
@@ -206,6 +224,8 @@ static class NameVerifier implements HostnameVerifier {
try
{
File
file
=
new
File
(
filename
);
fos
=
new
FileOutputStream
(
file
);
streams
.
add
(
fos
);
files
.
add
(
file
);
ObjectOutputStream
oos
=
new
ObjectOutputStream
(
fos
);
oos
.
writeObject
(
rspHeaders
);
}
catch
(
Exception
ex
)
{
...
...
jdk/test/java/net/ResponseCache/getResponseCode.java
浏览文件 @
38e2740c
...
...
@@ -39,6 +39,7 @@ import java.io.*;
public
class
getResponseCode
{
static
URL
url
;
static
String
FNPrefix
;
static
List
<
Closeable
>
resources
=
new
ArrayList
<>();
getResponseCode
()
throws
Exception
{
url
=
new
URL
(
"http://localhost/file1.cache"
);
...
...
@@ -57,6 +58,9 @@ public class getResponseCode {
new
getResponseCode
();
}
finally
{
ResponseCache
.
setDefault
(
null
);
for
(
Closeable
c
:
resources
)
{
try
{
c
.
close
();
}
catch
(
IOException
unused
)
{}
}
}
}
...
...
@@ -77,6 +81,7 @@ public class getResponseCode {
public
MyResponse
(
String
filename
)
{
try
{
fis
=
new
FileInputStream
(
new
File
(
filename
));
resources
.
add
(
fis
);
headers
=
(
Map
<
String
,
List
<
String
>>)
new
ObjectInputStream
(
fis
).
readObject
();
}
catch
(
Exception
ex
)
{
throw
new
RuntimeException
(
ex
.
getMessage
());
...
...
jdk/test/java/net/Socket/AccurateTimeout.java
已删除
100644 → 0
浏览文件 @
ce922194
/*
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* @test
* @bug 4512028
* @summary Check the tolerance on read timeouts.
*/
import
java.net.*
;
import
java.io.*
;
public
class
AccurateTimeout
{
static
final
int
TOLERANCE
=
100
;
static
boolean
skipTest
()
{
String
os
=
System
.
getProperty
(
"os.name"
);
if
(
os
.
equals
(
"Windows 95"
)
||
os
.
equals
(
"Windows 98"
)
||
os
.
equals
(
"Windows Me"
))
{
System
.
out
.
println
(
"Due to an OS bug timeout tolerance cannot be tested on this OS"
);
return
true
;
}
return
false
;
}
public
static
void
main
(
String
args
[])
throws
Exception
{
if
(
skipTest
())
{
return
;
}
int
failures
=
0
;
int
timeout
;
System
.
out
.
println
(
""
);
System
.
out
.
println
(
"Testing Socket.getInputStream().read() ..."
);
System
.
out
.
println
(
""
);
ServerSocket
ss
=
new
ServerSocket
(
0
);
Socket
s1
=
new
Socket
(
InetAddress
.
getLocalHost
(),
ss
.
getLocalPort
());
Socket
s2
=
ss
.
accept
();
InputStream
in
=
s1
.
getInputStream
();
timeout
=
100
;
while
(
timeout
<
2500
)
{
s1
.
setSoTimeout
(
timeout
);
long
startTime
=
System
.
currentTimeMillis
();
try
{
in
.
read
();
}
catch
(
SocketTimeoutException
e
)
{
}
long
actual
=
System
.
currentTimeMillis
()
-
startTime
;
System
.
out
.
print
(
"excepted: "
+
timeout
+
" actual: "
+
actual
);
if
(
Math
.
abs
(
actual
-
timeout
)
>
TOLERANCE
)
{
System
.
out
.
print
(
" *** FAIL: outside tolerance"
);
failures
++;
}
else
{
System
.
out
.
print
(
" PASS."
);
}
System
.
out
.
println
(
""
);
timeout
+=
200
;
}
s1
.
close
();
s2
.
close
();
ss
.
close
();
// ----------
System
.
out
.
println
(
""
);
System
.
out
.
println
(
"Testing DatagramSocket.receive ..."
);
System
.
out
.
println
(
""
);
byte
b
[]
=
new
byte
[
8
];
DatagramPacket
p
=
new
DatagramPacket
(
b
,
b
.
length
);
DatagramSocket
ds
=
new
DatagramSocket
();
timeout
=
100
;
while
(
timeout
<
2500
)
{
ds
.
setSoTimeout
(
timeout
);
long
startTime
=
System
.
currentTimeMillis
();
try
{
ds
.
receive
(
p
);
}
catch
(
SocketTimeoutException
e
)
{
}
long
actual
=
System
.
currentTimeMillis
()
-
startTime
;
System
.
out
.
print
(
"excepted: "
+
timeout
+
" actual: "
+
actual
);
if
(
Math
.
abs
(
actual
-
timeout
)
>
TOLERANCE
)
{
System
.
out
.
print
(
" *** FAIL: outside tolerance"
);
failures
++;
}
else
{
System
.
out
.
print
(
" PASS."
);
}
System
.
out
.
println
(
""
);
timeout
+=
200
;
}
ds
.
close
();
System
.
out
.
println
(
""
);
// ---------
if
(
failures
>
0
)
{
throw
new
Exception
(
"Test failed: "
+
failures
+
" test(s) outside tolerance"
);
}
}
}
jdk/test/java/net/Socket/CloseAvailable.java
浏览文件 @
38e2740c
...
...
@@ -47,6 +47,7 @@ public class CloseAvailable implements Runnable {
t
.
start
();
Socket
soc
=
ss
.
accept
();
ss
.
close
();
DataInputStream
is
=
new
DataInputStream
(
soc
.
getInputStream
());
is
.
close
();
...
...
@@ -64,7 +65,7 @@ public class CloseAvailable implements Runnable {
public
void
run
()
{
try
{
Socket
s
=
new
Socket
(
addr
,
port
);
s
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
...
...
jdk/test/java/net/Socket/DeadlockTest.java
浏览文件 @
38e2740c
...
...
@@ -33,29 +33,32 @@ import java.io.*;
public
class
DeadlockTest
{
public
static
void
main
(
String
[]
argv
)
throws
Exception
{
ServerSocket
ss
=
new
ServerSocket
(
0
);
Socket
clientSocket
=
new
Socket
();
// Start the server thread
Thread
s1
=
new
Thread
(
new
ServerThread
());
s1
.
start
();
// Sleep to make sure s1 has created a server socket
Thread
.
sleep
(
1000
);
// Start the client thread
ClientThread
ct
=
new
ClientThread
();
Thread
c1
=
new
Thread
(
ct
);
c1
.
start
();
// Wait for the client thread to finish
c1
.
join
(
40000
);
// If timeout, we assume there is a deadlock
if
(
c1
.
isAlive
()
==
true
)
{
// Close the socket to force the server thread
// terminate too
s1
.
stop
();
ct
.
getSock
().
close
();
throw
new
Exception
(
"Takes too long. Dead lock"
);
try
{
// Start the server thread
Thread
s1
=
new
Thread
(
new
ServerThread
(
ss
));
s1
.
start
();
// Start the client thread
ClientThread
ct
=
new
ClientThread
(
clientSocket
,
ss
.
getLocalPort
());
Thread
c1
=
new
Thread
(
ct
);
c1
.
start
();
// Wait for the client thread to finish
c1
.
join
(
20000
);
// If timeout, we assume there is a deadlock
if
(
c1
.
isAlive
()
==
true
)
{
// Close the socket to force the server thread
// terminate too
s1
.
stop
();
throw
new
Exception
(
"Takes too long. Dead lock"
);
}
}
finally
{
ss
.
close
();
clientSocket
.
close
();
}
}
}
...
...
@@ -71,8 +74,8 @@ class ServerThread implements Runnable {
Socket
sock
;
public
ServerThread
()
throws
Exception
{
public
ServerThread
(
ServerSocket
serverSocket
)
throws
Exception
{
this
.
server
=
serverSocket
;
}
public
void
ping
(
int
cnt
)
{
...
...
@@ -85,7 +88,6 @@ class ServerThread implements Runnable {
try
{
if
(
Thread
.
currentThread
().
getName
().
startsWith
(
"child"
)
==
false
)
{
server
=
new
ServerSocket
(
4711
);
sock
=
server
.
accept
();
new
Thread
(
this
,
"child"
).
start
();
...
...
@@ -107,6 +109,7 @@ class ServerThread implements Runnable {
}
}
catch
(
Throwable
e
)
{
System
.
out
.
println
(
e
);
// If anything goes wrong, just quit.
}
...
...
@@ -141,10 +144,11 @@ class ClientThread implements Runnable {
Socket
sock
;
public
ClientThread
()
throws
Exception
{
public
ClientThread
(
Socket
sock
,
int
serverPort
)
throws
Exception
{
try
{
System
.
out
.
println
(
"About to create a socket"
);
sock
=
new
Socket
(
InetAddress
.
getLocalHost
().
getHostName
(),
4711
);
System
.
out
.
println
(
"About to connect the client socket"
);
this
.
sock
=
sock
;
this
.
sock
.
connect
(
new
InetSocketAddress
(
"localhost"
,
serverPort
));
System
.
out
.
println
(
"connected"
);
out
=
new
ObjectOutputStream
(
sock
.
getOutputStream
());
...
...
@@ -156,10 +160,6 @@ class ClientThread implements Runnable {
}
}
public
Socket
getSock
()
{
return
sock
;
}
private
int
cnt
=
1
;
public
void
run
()
{
...
...
@@ -213,6 +213,7 @@ class Message implements java.io.Serializable {
System
.
out
.
println
(
"write message done "
+
cnt
++);
}
catch
(
IOException
ioe
)
{
// Ignore the exception
System
.
out
.
println
(
ioe
);
}
}
}
...
...
jdk/test/java/net/Socket/LingerTest.java
浏览文件 @
38e2740c
...
...
@@ -81,7 +81,7 @@ public class LingerTest {
public
void
run
()
{
System
.
out
.
println
(
"Another starts"
);
try
{
Thread
.
currentThread
().
sleep
(
delay
);
Thread
.
sleep
(
delay
);
Socket
s
=
new
Socket
(
"localhost"
,
port
);
synchronized
(
this
)
{
connected
=
true
;
...
...
@@ -105,7 +105,6 @@ public class LingerTest {
Socket
s1
=
new
Socket
(
"localhost"
,
ss
.
getLocalPort
());
Socket
s2
=
ss
.
accept
();
// setup conditions for untransmitted data and lengthy
// linger interval
s1
.
setSendBufferSize
(
128
*
1024
);
...
...
@@ -122,14 +121,15 @@ public class LingerTest {
thr
.
start
();
// give sender time to queue the data
Thread
.
currentThread
().
sleep
(
1000
);
Thread
.
sleep
(
1000
);
// close the socket asynchronously
(
new
Thread
(
new
Closer
(
s1
))).
start
();
// give another time to run
Thread
.
currentThread
().
sleep
(
10000
);
Thread
.
sleep
(
10000
);
ss
.
close
();
// check that another is done
if
(!
another
.
connected
())
{
throw
new
RuntimeException
(
"Another thread is blocked"
);
...
...
jdk/test/java/net/Socket/LinkLocal.java
浏览文件 @
38e2740c
...
...
@@ -58,11 +58,10 @@ public class LinkLocal {
}
catch
(
SocketException
e
)
{
failed
++;
System
.
out
.
println
(
"Test failed: "
+
e
);
}
finally
{
s
.
close
();
ss
.
close
();
}
// clean up
s
.
close
();
ss
.
close
();
}
static
void
UdpTest
(
InetAddress
ia
,
boolean
connected
)
throws
Exception
{
...
...
@@ -93,16 +92,16 @@ public class LinkLocal {
ds1
.
send
(
p
);
System
.
out
.
println
(
"Packet has been sent."
);
ds2
.
setSoTimeout
(
1
000
);
ds2
.
setSoTimeout
(
5
000
);
ds2
.
receive
(
p
);
System
.
out
.
println
(
"Test passed - packet received."
);
}
catch
(
SocketException
e
)
{
failed
++;
System
.
out
.
println
(
"Test failed: "
+
e
);
}
finally
{
ds1
.
close
();
ds2
.
close
();
}
ds1
.
close
();
ds2
.
close
();
}
static
void
TestAddress
(
InetAddress
ia
)
throws
Exception
{
...
...
@@ -138,6 +137,9 @@ public class LinkLocal {
Enumeration
nifs
=
NetworkInterface
.
getNetworkInterfaces
();
while
(
nifs
.
hasMoreElements
())
{
NetworkInterface
ni
=
(
NetworkInterface
)
nifs
.
nextElement
();
if
(!
ni
.
isUp
())
continue
;
Enumeration
addrs
=
ni
.
getInetAddresses
();
while
(
addrs
.
hasMoreElements
())
{
InetAddress
addr
=
(
InetAddress
)
addrs
.
nextElement
();
...
...
jdk/test/java/net/Socket/ProxyCons.java
浏览文件 @
38e2740c
...
...
@@ -39,6 +39,7 @@ public class ProxyCons {
public
void
run
()
{
try
{
Socket
s
=
server
.
accept
();
s
.
close
();
while
(!
finished
())
{
Thread
.
sleep
(
500
);
}
...
...
@@ -58,10 +59,9 @@ public class ProxyCons {
public
ProxyCons
()
{
}
void
test
()
{
void
test
()
throws
Exception
{
ServerSocket
ss
=
new
ServerSocket
(
0
);
try
{
ServerSocket
ss
=
new
ServerSocket
();
ss
.
bind
(
new
InetSocketAddress
(
0
));
Server
s
=
new
Server
(
ss
);
s
.
start
();
Socket
sock
=
new
Socket
(
Proxy
.
NO_PROXY
);
...
...
@@ -70,10 +70,12 @@ public class ProxyCons {
sock
.
close
();
}
catch
(
java
.
io
.
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
finally
{
ss
.
close
();
}
}
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
ProxyCons
c
=
new
ProxyCons
();
c
.
test
();
}
...
...
jdk/test/java/net/Socket/ReadTimeout.java
浏览文件 @
38e2740c
...
...
@@ -44,7 +44,7 @@ public class ReadTimeout {
sin
=
InetAddress
.
getLocalHost
();
srv
=
new
ServerSocket
(
port
);
port
=
srv
.
getLocalPort
();
soc
=
new
Socket
(
sin
,
port
,
true
);
soc
=
new
Socket
(
sin
,
port
);
soc1
=
srv
.
accept
();
soc
.
setSoTimeout
(
tout
);
...
...
@@ -53,10 +53,10 @@ public class ReadTimeout {
os
=
soc1
.
getOutputStream
();
is
.
read
();
}
catch
(
InterruptedIOException
e
)
{
}
finally
{
soc
.
close
();
soc1
.
close
();
srv
.
close
();
}
soc
.
close
();
soc1
.
close
();
srv
.
close
();
}
}
jdk/test/java/net/Socket/SetReceiveBufferSize.java
浏览文件 @
38e2740c
...
...
@@ -32,29 +32,14 @@ import java.net.Socket;
import
java.net.ServerSocket
;
public
class
SetReceiveBufferSize
{
class
Server
extends
Thread
{
private
ServerSocket
ss
;
public
Server
(
ServerSocket
ss
)
{
this
.
ss
=
ss
;
}
public
void
run
()
{
try
{
ss
.
accept
();
}
catch
(
Exception
e
)
{
}
}
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
SetReceiveBufferSize
s
=
new
SetReceiveBufferSize
();
}
public
SetReceiveBufferSize
()
throws
Exception
{
ServerSocket
ss
=
new
ServerSocket
(
0
);
Server
serv
=
new
Server
(
ss
);
serv
.
start
();
Socket
s
=
new
Socket
(
"localhost"
,
ss
.
getLocalPort
());
Socket
accepted
=
ss
.
accept
();
try
{
s
.
setReceiveBufferSize
(
0
);
}
catch
(
IllegalArgumentException
e
)
{
...
...
@@ -62,6 +47,8 @@ public class SetReceiveBufferSize {
}
catch
(
Exception
ex
)
{
}
finally
{
ss
.
close
();
s
.
close
();
accepted
.
close
();
}
throw
new
RuntimeException
(
"IllegalArgumentException not thrown!"
);
}
...
...
jdk/test/java/net/Socket/SetSoLinger.java
浏览文件 @
38e2740c
...
...
@@ -30,36 +30,24 @@
import
java.net.*
;
public
class
SetSoLinger
implements
Runnable
{
static
ServerSocket
ss
;
static
InetAddress
addr
;
static
int
port
;
public
class
SetSoLinger
{
static
final
int
LINGER
=
65546
;
public
static
void
main
(
String
args
[])
throws
Exception
{
boolean
error
=
true
;
int
linger
=
65546
;
int
value
=
0
;
addr
=
InetAddress
.
getLocalHost
();
ss
=
new
ServerSocket
(
0
);
port
=
ss
.
getLocalPort
();
int
value
;
InetAddress
addr
=
InetAddress
.
getLocalHost
();
ServerSocket
ss
=
new
ServerSocket
(
0
);
int
port
=
ss
.
getLocalPort
();
Thread
t
=
new
Thread
(
new
SetSoLinger
());
t
.
start
();
Socket
s
=
new
Socket
(
addr
,
port
);
Socket
soc
=
ss
.
accept
();
soc
.
setSoLinger
(
true
,
linger
);
soc
.
setSoLinger
(
true
,
LINGER
);
value
=
soc
.
getSoLinger
();
soc
.
close
();
s
.
close
();
ss
.
close
();
if
(
value
!=
65535
)
throw
new
RuntimeException
(
"Failed. Value not properly reduced."
);
}
public
void
run
()
{
try
{
Socket
s
=
new
Socket
(
addr
,
port
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
jdk/test/java/net/Socket/ShutdownBoth.java
浏览文件 @
38e2740c
...
...
@@ -36,12 +36,14 @@ public class ShutdownBoth {
Socket
s1
=
new
Socket
(
ss
.
getInetAddress
(),
ss
.
getLocalPort
());
Socket
s2
=
ss
.
accept
();
s1
.
shutdownInput
();
s1
.
shutdownOutput
();
// failed b55
s1
.
close
();
s2
.
close
();
ss
.
close
();
try
{
s1
.
shutdownInput
();
s1
.
shutdownOutput
();
// failed b55
}
finally
{
s1
.
close
();
s2
.
close
();
ss
.
close
();
}
}
}
jdk/test/java/net/Socket/SoTimeout.java
浏览文件 @
38e2740c
...
...
@@ -52,9 +52,10 @@ public class SoTimeout implements Runnable {
t
.
start
();
Socket
s
=
serverSocket
.
accept
();
serverSocket
.
close
();
// set a
1
second timeout on the socket
s
.
setSoTimeout
(
1
000
);
// set a
5
second timeout on the socket
s
.
setSoTimeout
(
5
000
);
s
.
getInputStream
().
read
(
b
,
0
,
b
.
length
);
s
.
close
();
...
...
@@ -64,7 +65,7 @@ public class SoTimeout implements Runnable {
// this sequence should complete fairly quickly and if it
// takes something resembling the the SoTimeout value then
// we are probably incorrectly blocking and not waking up
if
(
waited
>
5
00
)
{
if
(
waited
>
20
00
)
{
throw
new
Exception
(
"shouldn't take "
+
waited
+
" to complete"
);
}
}
...
...
jdk/test/java/net/Socket/Timeout.java
浏览文件 @
38e2740c
...
...
@@ -31,18 +31,16 @@ import java.net.*;
import
java.io.*
;
public
class
Timeout
{
public
static
ServerSocket
sock
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
boolean
success
=
false
;
ServerSocket
sock
=
new
ServerSocket
(
0
);
try
{
ServerSocket
sock
;
sock
=
new
ServerSocket
(
2333
);
sock
.
setSoTimeout
(
2
);
sock
.
accept
();
}
catch
(
InterruptedIOException
e
)
{
success
=
true
;
}
finally
{
sock
.
close
();
}
if
(!
success
)
throw
new
RuntimeException
(
"Socket timeout failure."
);
...
...
jdk/test/java/net/Socket/UrgentDataTest.java
浏览文件 @
38e2740c
...
...
@@ -90,63 +90,64 @@ public class UrgentDataTest {
}
public
void
run
()
throws
Exception
{
if
(
isClient
)
{
client
=
new
Socket
(
clHost
,
clPort
);
clis
=
client
.
getInputStream
();
clos
=
client
.
getOutputStream
();
client
.
setOOBInline
(
true
);
if
(
client
.
getOOBInline
()
!=
true
)
{
throw
new
RuntimeException
(
"Setting OOBINLINE failed"
);
}
}
if
(
isServer
)
{
server
=
listener
.
accept
();
sis
=
server
.
getInputStream
();
sos
=
server
.
getOutputStream
();
}
if
(
isClient
)
{
clos
.
write
(
"Hello"
.
getBytes
());
client
.
sendUrgentData
(
100
);
clos
.
write
(
"world"
.
getBytes
());
}
// read Hello world from server (during which oob byte must have been dropped)
String
s
=
"Helloworld"
;
if
(
isServer
)
{
for
(
int
y
=
0
;
y
<
s
.
length
();
y
++)
{
int
c
=
sis
.
read
();
if
(
c
!=
(
int
)
s
.
charAt
(
y
))
{
throw
new
RuntimeException
(
"Unexpected character read"
);
try
{
if
(
isClient
)
{
client
=
new
Socket
(
clHost
,
clPort
);
clis
=
client
.
getInputStream
();
clos
=
client
.
getOutputStream
();
client
.
setOOBInline
(
true
);
if
(
client
.
getOOBInline
()
!=
true
)
{
throw
new
RuntimeException
(
"Setting OOBINLINE failed"
);
}
}
// Do the same from server to client
sos
.
write
(
"Hello"
.
getBytes
());
server
.
sendUrgentData
(
101
);
sos
.
write
(
"World"
.
getBytes
());
}
if
(
isClient
)
{
// read Hello world from client (during which oob byte must have been read)
s
=
"Hello"
;
for
(
int
y
=
0
;
y
<
s
.
length
();
y
++)
{
int
c
=
clis
.
read
();
if
(
c
!=
(
int
)
s
.
charAt
(
y
))
{
throw
new
RuntimeException
(
"Unexpected character read"
);
}
if
(
isServer
)
{
server
=
listener
.
accept
();
sis
=
server
.
getInputStream
();
sos
=
server
.
getOutputStream
();
}
if
(
isClient
)
{
clos
.
write
(
"Hello"
.
getBytes
());
client
.
sendUrgentData
(
100
);
clos
.
write
(
"world"
.
getBytes
());
}
if
(
clis
.
read
()
!=
101
)
{
throw
new
RuntimeException
(
"OOB byte not received"
);
// read Hello world from server (during which oob byte must have been dropped)
String
s
=
"Helloworld"
;
if
(
isServer
)
{
for
(
int
y
=
0
;
y
<
s
.
length
();
y
++)
{
int
c
=
sis
.
read
();
if
(
c
!=
(
int
)
s
.
charAt
(
y
))
{
throw
new
RuntimeException
(
"Unexpected character read"
);
}
}
// Do the same from server to client
sos
.
write
(
"Hello"
.
getBytes
());
server
.
sendUrgentData
(
101
);
sos
.
write
(
"World"
.
getBytes
());
}
s
=
"World"
;
for
(
int
y
=
0
;
y
<
s
.
length
();
y
++)
{
int
c
=
clis
.
read
();
if
(
c
!=
(
int
)
s
.
charAt
(
y
))
{
throw
new
RuntimeException
(
"Unexpected character read"
);
if
(
isClient
)
{
// read Hello world from client (during which oob byte must have been read)
s
=
"Hello"
;
for
(
int
y
=
0
;
y
<
s
.
length
();
y
++)
{
int
c
=
clis
.
read
();
if
(
c
!=
(
int
)
s
.
charAt
(
y
))
{
throw
new
RuntimeException
(
"Unexpected character read"
);
}
}
if
(
clis
.
read
()
!=
101
)
{
throw
new
RuntimeException
(
"OOB byte not received"
);
}
s
=
"World"
;
for
(
int
y
=
0
;
y
<
s
.
length
();
y
++)
{
int
c
=
clis
.
read
();
if
(
c
!=
(
int
)
s
.
charAt
(
y
))
{
throw
new
RuntimeException
(
"Unexpected character read"
);
}
}
}
}
finally
{
if
(
listener
!=
null
)
listener
.
close
();
if
(
client
!=
null
)
client
.
close
();
if
(
server
!=
null
)
server
.
close
();
}
if
(
isClient
)
client
.
close
();
if
(
isServer
)
server
.
close
();
}
}
jdk/test/java/net/Socket/asyncClose/BrokenPipe.java
浏览文件 @
38e2740c
...
...
@@ -61,7 +61,6 @@ public class BrokenPipe {
try
{
client
.
getOutputStream
().
write
(
new
byte
[
1000000
]);
}
catch
(
IOException
ioe
)
{
/*
* Check that the exception text doesn't indicate the
* socket is closed. In tiger we should be able to
...
...
@@ -71,8 +70,9 @@ public class BrokenPipe {
if
(
text
.
toLowerCase
().
indexOf
(
"closed"
)
>=
0
)
{
throw
ioe
;
}
}
finally
{
server
.
close
();
}
server
.
close
();
}
}
jdk/test/java/net/Socket/setReuseAddress/Restart.java
浏览文件 @
38e2740c
...
...
@@ -39,27 +39,28 @@ public class Restart {
*/
public
static
void
main
(
String
args
[])
throws
Exception
{
ServerSocket
ss
=
new
ServerSocket
(
0
);
Socket
s1
=
null
,
s2
=
null
;
try
{
int
port
=
ss
.
getLocalPort
();
InetSocketAddress
isa
=
new
InetSocketAddress
(
0
);
ServerSocket
ss
=
new
ServerSocket
();
ss
.
bind
(
isa
);
s1
=
new
Socket
(
InetAddress
.
getLocalHost
(),
port
);
s2
=
ss
.
accept
();
int
port
=
ss
.
getLocalPort
();
// close server socket and the accepted connection
ss
.
close
();
s2
.
close
();
Socket
s1
=
new
Socket
(
InetAddress
.
getLocalHost
(),
port
);
Socket
s2
=
ss
.
accept
();
ss
=
new
ServerSocket
();
ss
.
bind
(
new
InetSocketAddress
(
port
)
);
ss
.
close
();
// close server socket and the accepted connection
ss
.
close
();
s2
.
close
();
boolean
failed
=
false
;
ss
=
new
ServerSocket
();
ss
.
bind
(
new
InetSocketAddress
(
port
)
);
ss
.
close
();
// close the client socket
s1
.
close
();
// close the client socket
s1
.
close
();
}
finally
{
if
(
ss
!=
null
)
ss
.
close
();
if
(
s1
!=
null
)
s1
.
close
();
if
(
s2
!=
null
)
s2
.
close
();
}
}
}
jdk/test/java/net/SocketInputStream/SocketClosedException.java
浏览文件 @
38e2740c
...
...
@@ -32,68 +32,37 @@ import java.io.*;
import
java.net.*
;
public
class
SocketClosedException
{
/*
* Is the server ready to serve?
*/
volatile
static
boolean
serverReady
=
false
;
/*
* Define the server side of the test.
*
* If the server prematurely exits, serverReady will be set to true
* to avoid infinite hangs.
*/
static
void
doServerSide
()
throws
Exception
{
ServerSocket
serverSocket
=
new
ServerSocket
(
serverPort
);
serverPort
=
serverSocket
.
getLocalPort
();
/*
* Signal Client, we're ready for a connect.
*/
serverReady
=
true
;
Socket
socket
=
serverSocket
.
accept
();
InputStream
is
=
socket
.
getInputStream
();
OutputStream
os
=
socket
.
getOutputStream
();
os
.
write
(
85
);
os
.
flush
();
socket
.
close
();
}
try
{
Socket
socket
=
serverSocket
.
accept
();
/*
* Define the client side of the test.
*
* If the server prematurely exits, serverReady will be set to true
* to avoid infinite hangs.
*/
static
void
doClientSide
()
throws
Exception
{
OutputStream
os
=
socket
.
getOutputStream
();
/*
* Wait for server to get started.
*/
while
(!
serverReady
)
{
Thread
.
sleep
(
5000
);
os
.
write
(
85
);
os
.
flush
();
socket
.
close
();
}
finally
{
serverSocket
.
close
(
);
}
}
Socket
socket
=
new
Socket
(
"localhost"
,
serverPort
);
static
void
doClientSide
(
int
port
)
throws
Exception
{
Socket
socket
=
new
Socket
(
"localhost"
,
port
);
InputStream
is
=
socket
.
getInputStream
();
OutputStream
os
=
socket
.
getOutputStream
();
i
nt
read
=
i
s
.
read
();
is
.
read
();
socket
.
close
();
read
=
is
.
read
();
is
.
read
();
}
static
int
serverPort
=
0
;
static
ServerSocket
serverSocket
;
static
Exception
serverException
=
null
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
serverSocket
=
new
ServerSocket
(
0
);
startServer
();
try
{
doClientSide
();
doClientSide
(
serverSocket
.
getLocalPort
()
);
}
catch
(
SocketException
e
)
{
if
(!
e
.
getMessage
().
equalsIgnoreCase
(
"Socket closed"
))
{
throw
new
Exception
(
"Received a wrong exception message: "
+
...
...
@@ -108,21 +77,14 @@ public class SocketClosedException {
}
static
void
startServer
()
{
Thread
serverThread
=
new
Thread
()
{
(
new
Thread
()
{
public
void
run
()
{
try
{
doServerSide
();
}
catch
(
Exception
e
)
{
/*
* server thread just died.
* Release the client, if not active already...
*/
System
.
err
.
println
(
"Server died..."
);
serverReady
=
true
;
serverException
=
e
;
e
.
printStackTrace
();
}
}
};
serverThread
.
start
();
}).
start
();
}
}
jdk/test/java/net/SocketInputStream/SocketTimeout.java
浏览文件 @
38e2740c
...
...
@@ -31,26 +31,24 @@ import java.net.*;
import
java.io.*
;
public
class
SocketTimeout
{
static
final
int
TIMEOUT
=
1000
;
public
static
void
main
(
String
args
[])
throws
Exception
{
InetAddress
sin
=
null
;
InetAddress
sin
=
InetAddress
.
getLocalHost
()
;
Socket
soc
=
null
,
soc1
=
null
;
InputStream
is
=
null
;
OutputStream
os
=
null
;
ServerSocket
srv
=
null
;
int
port
=
0
;
int
tout
=
1000
;
sin
=
InetAddress
.
getLocalHost
();
srv
=
new
ServerSocket
(
port
);
srv
=
new
ServerSocket
(
0
);
port
=
srv
.
getLocalPort
();
soc
=
new
Socket
(
sin
,
port
);
soc1
=
srv
.
accept
();
soc
.
setSoTimeout
(
tout
);
srv
.
setSoTimeout
(
tout
);
soc
.
setSoTimeout
(
TIMEOUT
);
srv
.
setSoTimeout
(
TIMEOUT
);
try
{
is
=
soc
.
getInputStream
();
os
=
soc1
.
getOutputStream
();
is
.
read
();
}
catch
(
InterruptedIOException
e
)
{
try
{
...
...
@@ -59,6 +57,9 @@ public class SocketTimeout {
}
catch
(
NoClassDefFoundError
e1
)
{
throw
new
Exception
(
"SocketTimeoutException: not found"
);
}
}
finally
{
soc
.
close
();
soc1
.
close
();
}
// now check accept
...
...
@@ -72,12 +73,14 @@ public class SocketTimeout {
}
catch
(
NoClassDefFoundError
e1
)
{
throw
new
Exception
(
"SocketTimeoutException: not found"
);
}
}
finally
{
srv
.
close
();
}
// Now check DatagramSocket.receive()
DatagramSocket
dg
=
new
DatagramSocket
();
dg
.
setSoTimeout
(
tout
);
dg
.
setSoTimeout
(
TIMEOUT
);
try
{
dg
.
receive
(
new
DatagramPacket
(
new
byte
[
64
],
64
));
...
...
@@ -88,11 +91,8 @@ public class SocketTimeout {
}
catch
(
NoClassDefFoundError
e1
)
{
throw
new
Exception
(
"SocketTimeoutException: not found"
);
}
}
finally
{
dg
.
close
();
}
soc
.
close
();
soc1
.
close
();
srv
.
close
();
dg
.
close
();
}
}
jdk/test/java/net/URL/GetContent.java
浏览文件 @
38e2740c
...
...
@@ -53,11 +53,13 @@ public class GetContent implements Runnable {
// wait for client to read response - otherwise http
// client get error and re-establish connection
Thread
.
currentThread
().
sleep
(
2000
);
Thread
.
sleep
(
2000
);
s
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
ss
.
close
();
}
catch
(
IOException
unused
)
{}
}
}
...
...
@@ -81,8 +83,6 @@ public class GetContent implements Runnable {
error
=
false
;
}
ss
.
close
();
if
(
error
)
throw
new
RuntimeException
(
"No IOException generated."
);
}
...
...
jdk/test/java/net/URLClassLoader/ClassLoad.java
浏览文件 @
38e2740c
...
...
@@ -27,20 +27,45 @@
* @summary Test for FileNotFoundException when loading bogus class
*/
import
java.net.*
;
import
java.io.*
;
import
java.io.InputStream
;
import
java.io.IOException
;
import
java.net.InetSocketAddress
;
import
java.net.URL
;
import
java.net.URLClassLoader
;
import
com.sun.net.httpserver.HttpExchange
;
import
com.sun.net.httpserver.HttpHandler
;
import
com.sun.net.httpserver.HttpServer
;
public
class
ClassLoad
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
boolean
error
=
true
;
// Start a dummy server to return 404
HttpServer
server
=
HttpServer
.
create
(
new
InetSocketAddress
(
0
),
0
);
HttpHandler
handler
=
new
HttpHandler
()
{
public
void
handle
(
HttpExchange
t
)
throws
IOException
{
InputStream
is
=
t
.
getRequestBody
();
while
(
is
.
read
()
!=
-
1
);
t
.
sendResponseHeaders
(
404
,
-
1
);
t
.
close
();
}
};
server
.
createContext
(
"/"
,
handler
);
server
.
start
();
// Client request
try
{
URL
url
=
new
URL
(
args
.
length
>=
1
?
args
[
0
]
:
"http://jini.east/"
);
URL
url
=
new
URL
(
"http://localhost:"
+
server
.
getAddress
().
getPort
()
);
String
name
=
args
.
length
>=
2
?
args
[
1
]
:
"foo.bar.Baz"
;
ClassLoader
loader
=
new
URLClassLoader
(
new
URL
[]
{
url
});
System
.
out
.
println
(
url
);
Class
c
=
loader
.
loadClass
(
name
);
System
.
out
.
println
(
"Loaded class \""
+
c
.
getName
()
+
"\"."
);
}
catch
(
ClassNotFoundException
ex
)
{
System
.
out
.
println
(
ex
);
error
=
false
;
}
finally
{
server
.
stop
(
0
);
}
if
(
error
)
throw
new
RuntimeException
(
"No ClassNotFoundException generated"
);
...
...
jdk/test/java/net/URLConnection/DisconnectAfterEOF.java
浏览文件 @
38e2740c
...
...
@@ -56,7 +56,6 @@ public class DisconnectAfterEOF {
int
cl
=
-
1
;
int
remaining
=
-
1
;
StringBuffer
sb
=
new
StringBuffer
();
Random
r
=
new
Random
();
boolean
close
=
false
;
boolean
inBody
=
false
;
...
...
@@ -239,8 +238,6 @@ public class DisconnectAfterEOF {
}
public
static
void
main
(
String
args
[])
throws
Exception
{
Random
r
=
new
Random
();
// start server
ServerSocket
ss
=
new
ServerSocket
(
0
);
Server
svr
=
new
Server
(
ss
);
...
...
@@ -273,7 +270,7 @@ public class DisconnectAfterEOF {
URLConnection
uc1
=
doRequest
(
uri
);
doResponse
(
uc1
);
Thread
.
currentThread
().
sleep
(
2000
);
Thread
.
sleep
(
2000
);
URLConnection
uc2
=
doRequest
(
uri
);
...
...
jdk/test/java/net/URLConnection/HandleContentTypeWithAttrs.java
浏览文件 @
38e2740c
...
...
@@ -111,9 +111,8 @@ class myHttpServer implements Runnable, Cloneable {
}
catch
(
Exception
e
)
{
System
.
out
.
print
(
"Server failure\n"
);
e
.
printStackTrace
();
try
{
serverSocket
.
close
();
}
catch
(
IOException
e2
)
{}
}
finally
{
try
{
serverSocket
.
close
();
}
catch
(
IOException
unused
)
{}
}
}
else
{
try
{
...
...
@@ -127,10 +126,9 @@ class myHttpServer implements Runnable, Cloneable {
}
catch
(
Exception
e
)
{
// System.out.print("Service handler failure\n");
// e.printStackTrace();
}
finally
{
try
{
close
();
}
catch
(
IOException
unused
)
{}
}
try
{
close
();
}
catch
(
IOException
e2
)
{}
}
}
...
...
jdk/test/java/net/URLConnection/HttpContinueStackOverflow.java
浏览文件 @
38e2740c
...
...
@@ -30,7 +30,7 @@
*/
import
java.io.BufferedReader
;
import
java.io.InputStreamReader
;
import
java.io.
OutputStreamWriter
;
import
java.io.
IOException
;
import
java.io.PrintStream
;
import
java.net.ServerSocket
;
import
java.net.Socket
;
...
...
@@ -41,61 +41,56 @@ public class HttpContinueStackOverflow {
static
class
Server
implements
Runnable
{
int
port
;
ServerSocket
serverSock
;
Server
(
int
port
)
{
this
.
port
=
port
;
Server
()
throws
IOException
{
serverSock
=
new
ServerSocket
(
0
);
}
int
getLocalPort
()
{
return
serverSock
.
getLocalPort
();
}
public
void
run
()
{
Socket
sock
=
null
;
try
{
/* bind to port and wait for connection */
ServerSocket
serverSock
=
new
ServerSocket
(
port
);
serverSock
.
setSoTimeout
(
10000
);
Socket
sock
=
serverSock
.
accept
();
sock
=
serverSock
.
accept
();
/* setup streams and read http request */
BufferedReader
in
=
new
BufferedReader
(
new
InputStreamReader
(
sock
.
getInputStream
()));
PrintStream
out
=
new
PrintStream
(
sock
.
getOutputStream
()
);
String
request
=
in
.
readLine
();
in
.
readLine
();
/* send continue followed by invalid response */
out
.
println
(
"HTTP/1.1 100 Continue\r"
);
out
.
println
(
"\r"
);
out
.
println
(
"junk junk junk"
);
out
.
flush
();
sock
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
serverSock
.
close
();
}
catch
(
IOException
unused
)
{}
try
{
sock
.
close
();
}
catch
(
IOException
unused
)
{}
}
}
}
HttpContinueStackOverflow
(
int
port
)
throws
Exception
{
HttpContinueStackOverflow
()
throws
Exception
{
/* create the server */
Server
s
=
new
Server
(
port
);
Thread
thr
=
new
Thread
(
s
);
thr
.
start
();
/* wait for server to bind to port */
try
{
Thread
.
currentThread
().
sleep
(
2000
);
}
catch
(
Exception
e
)
{
}
Server
s
=
new
Server
();
(
new
Thread
(
s
)).
start
();
/* connect to server, connect to server and get response code */
URL
url
=
new
URL
(
"http"
,
"localhost"
,
port
,
"anything.html"
);
URL
url
=
new
URL
(
"http"
,
"localhost"
,
s
.
getLocalPort
()
,
"anything.html"
);
HttpURLConnection
conn
=
(
HttpURLConnection
)
url
.
openConnection
();
int
respCode
=
conn
.
getResponseCode
();
conn
.
getResponseCode
();
System
.
out
.
println
(
"TEST PASSED"
);
}
public
static
void
main
(
String
args
[])
throws
Exception
{
int
port
=
4090
;
if
(
args
.
length
>
0
)
{
port
=
Integer
.
parseInt
(
args
[
0
]);
}
System
.
out
.
println
(
"Testing 100-Continue"
);
new
HttpContinueStackOverflow
(
port
);
new
HttpContinueStackOverflow
();
}
}
jdk/test/java/net/URLConnection/Redirect307Test.java
浏览文件 @
38e2740c
...
...
@@ -37,11 +37,11 @@ class RedirServer extends Thread {
OutputStream
os
;
int
port
;
String
reply1
=
"HTTP/1.1 307 Temporary Redirect\r\n"
+
String
reply1
Part1
=
"HTTP/1.1 307 Temporary Redirect\r\n"
+
"Date: Mon, 15 Jan 2001 12:18:21 GMT\r\n"
+
"Server: Apache/1.3.14 (Unix)\r\n"
+
"Location: http://localhost:"
;
String
reply2
=
"/redirected.html\r\n"
+
String
reply
1Part
2
=
"/redirected.html\r\n"
+
"Connection: close\r\n"
+
"Content-Type: text/html; charset=iso-8859-1\r\n\r\n"
+
"<html>Hello</html>"
;
...
...
@@ -49,9 +49,10 @@ class RedirServer extends Thread {
RedirServer
(
ServerSocket
y
)
{
s
=
y
;
port
=
s
.
getLocalPort
();
System
.
out
.
println
(
"Server created listening on "
+
port
);
}
String
reply
3
=
"HTTP/1.1 200 Ok\r\n"
+
String
reply
2
=
"HTTP/1.1 200 Ok\r\n"
+
"Date: Mon, 15 Jan 2001 12:18:21 GMT\r\n"
+
"Server: Apache/1.3.14 (Unix)\r\n"
+
"Connection: close\r\n"
+
...
...
@@ -64,16 +65,24 @@ class RedirServer extends Thread {
is
=
s1
.
getInputStream
();
os
=
s1
.
getOutputStream
();
is
.
read
();
String
reply
=
reply1
+
port
+
reply
2
;
String
reply
=
reply1
Part1
+
port
+
reply1Part
2
;
os
.
write
(
reply
.
getBytes
());
os
.
close
();
/* wait for redirected connection */
s
.
setSoTimeout
(
5000
);
s1
=
s
.
accept
();
is
=
s1
.
getInputStream
();
os
=
s1
.
getOutputStream
();
os
.
write
(
reply3
.
getBytes
());
is
.
read
();
os
.
write
(
reply2
.
getBytes
());
os
.
close
();
}
catch
(
Exception
e
)
{
/* Just need thread to terminate */
System
.
out
.
println
(
"Server: caught "
+
e
);
e
.
printStackTrace
();
}
finally
{
try
{
s
.
close
();
}
catch
(
IOException
unused
)
{}
}
}
};
...
...
@@ -84,10 +93,7 @@ public class Redirect307Test {
public
static
final
int
DELAY
=
10
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
int
nLoops
=
1
;
int
nSize
=
10
;
int
port
,
n
=
0
;
byte
b
[]
=
new
byte
[
nSize
];
int
port
;
RedirServer
server
;
ServerSocket
sock
;
...
...
@@ -119,7 +125,8 @@ public class Redirect307Test {
}
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
"Exception caught"
);
e
.
printStackTrace
();
throw
new
RuntimeException
(
"Exception caught + "
+
e
);
}
}
}
jdk/test/java/net/URLConnection/RedirectLimit.java
浏览文件 @
38e2740c
...
...
@@ -76,15 +76,19 @@ class RedirLimitServer extends Thread {
is
.
read
();
String
reply
=
reply1
+
port
+
"/redirect"
+
i
+
reply2
;
os
.
write
(
reply
.
getBytes
());
os
.
close
();
}
s1
=
s
.
accept
();
is
=
s1
.
getInputStream
();
os
=
s1
.
getOutputStream
();
is
.
read
();
os
.
write
(
reply3
.
getBytes
());
os
.
close
();
}
catch
(
Exception
e
)
{
/* Just need thread to terminate */
}
finally
{
try
{
s
.
close
();
}
catch
(
IOException
unused
)
{}
}
}
};
...
...
jdk/test/java/net/URLConnection/ResendPostBody.java
浏览文件 @
38e2740c
...
...
@@ -109,8 +109,11 @@ public class ResendPostBody {
while
(!
finished
())
{
Thread
.
sleep
(
1000
);
}
out
.
close
();
}
catch
(
Exception
e
)
{
System
.
err
.
println
(
"Server Exception: "
+
e
);
}
finally
{
try
{
server
.
close
();
}
catch
(
IOException
unused
)
{}
}
}
}
...
...
@@ -134,7 +137,7 @@ public class ResendPostBody {
public
void
execute
()
throws
Exception
{
byte
b
[]
=
"X=ABCDEFGHZZZ"
.
getBytes
();
byte
b
[]
=
"X=ABCDEFGHZZZ"
.
getBytes
();
ss
=
new
ServerSocket
(
0
);
server
=
new
Server
(
ss
);
...
...
@@ -163,8 +166,9 @@ public class ResendPostBody {
/* Read the response */
int
resp
=
conURL
.
getResponseCode
();
server
.
setFinished
(
true
);
if
(
resp
!=
200
)
throw
new
RuntimeException
(
"Response code was not 200: "
+
resp
);
server
.
setFinished
(
true
);
}
}
jdk/test/java/net/URLConnection/SetIfModifiedSince.java
浏览文件 @
38e2740c
...
...
@@ -23,7 +23,7 @@
/* @test
* @bug 4397096
* @run main SetIfModifiedSince
* @run main
/othervm
SetIfModifiedSince
* @summary setIfModifiedSince() of HttpURLConnection sets invalid date of default locale
*/
...
...
jdk/test/java/net/URLConnection/TimeoutTest.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/net/URLConnection/URLConnectionHeaders.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/net/URLConnection/ZeroContentLength.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/net/ipv6tests/B6521014.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/net/ipv6tests/TcpTest.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/net/ipv6tests/Tests.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/nio/MappedByteBuffer/Basic.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/nio/MappedByteBuffer/Truncate.java
0 → 100644
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/nio/channels/SocketChannel/OutOfBand.java
0 → 100644
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/util/logging/AnonLoggerWeakRefLeak.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/util/logging/AnonLoggerWeakRefLeak.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/util/logging/LoggerWeakRefLeak.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/java/util/logging/LoggerWeakRefLeak.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/javax/swing/JColorChooser/Test6199676.java
0 → 100644
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/javax/swing/JComboBox/4743225/bug4743225.java
0 → 100644
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/javax/swing/JFormattedTextField/Test6462562.java
0 → 100644
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/ftp/FtpGetContent.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/ftp/FtpURL.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/www/http/ChunkedInputStream/ChunkedEncodingWithProgressMonitorTest.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/www/http/ChunkedOutputStream/Test.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/www/http/HttpClient/B6726695.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/www/http/HttpClient/MultiThreadTest.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/www/http/HttpClient/ProxyTest.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/www/httptest/HttpServer.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/net/www/protocol/http/DigestTest.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/security/krb5/ConfPlusProp.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/security/krb5/confplusprop.conf
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/security/krb5/confplusprop2.conf
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/security/util/DerOutputStream/LocaleInTime.java
0 → 100644
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/security/x509/AlgorithmId/TurkishRegion.java
0 → 100644
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/common/ApplicationSetup.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/common/CommonSetup.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/common/CommonTests.sh
0 → 100644
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/common/ShutdownSimpleApplication.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/common/SimpleApplication.java
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/common/SleeperApplication.java
0 → 100644
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/jhat/ParseTest.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/jinfo/Basic.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/jmap/Basic.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/jrunscript/common.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/jrunscript/jrunscript-eTest.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/jrunscript/jrunscript-fTest.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/jrunscript/jrunscriptTest.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
jdk/test/sun/tools/jstack/Basic.sh
浏览文件 @
38e2740c
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录