Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
a8bb37d3
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a8bb37d3
编写于
8月 06, 2009
作者:
A
asaha
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
8fc72d57
fec6855d
变更
114
展开全部
隐藏空白更改
内联
并排
Showing
114 changed file
with
1417 addition
and
1309 deletion
+1417
-1309
.hgtags
.hgtags
+1
-0
make/com/sun/crypto/provider/Makefile
make/com/sun/crypto/provider/Makefile
+34
-86
make/javax/crypto/Defs-jce.gmk
make/javax/crypto/Defs-jce.gmk
+2
-17
make/javax/crypto/Makefile
make/javax/crypto/Makefile
+51
-106
make/sun/security/mscapi/Makefile
make/sun/security/mscapi/Makefile
+16
-16
make/sun/security/pkcs11/Makefile
make/sun/security/pkcs11/Makefile
+16
-16
src/share/classes/com/sun/crypto/provider/AESCipher.java
src/share/classes/com/sun/crypto/provider/AESCipher.java
+1
-5
src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java
...hare/classes/com/sun/crypto/provider/AESKeyGenerator.java
+2
-9
src/share/classes/com/sun/crypto/provider/AESWrapCipher.java
src/share/classes/com/sun/crypto/provider/AESWrapCipher.java
+1
-5
src/share/classes/com/sun/crypto/provider/ARCFOURCipher.java
src/share/classes/com/sun/crypto/provider/ARCFOURCipher.java
+1
-2
src/share/classes/com/sun/crypto/provider/BlowfishCipher.java
...share/classes/com/sun/crypto/provider/BlowfishCipher.java
+1
-5
src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java
...classes/com/sun/crypto/provider/BlowfishKeyGenerator.java
+2
-9
src/share/classes/com/sun/crypto/provider/DESCipher.java
src/share/classes/com/sun/crypto/provider/DESCipher.java
+1
-5
src/share/classes/com/sun/crypto/provider/DESKeyFactory.java
src/share/classes/com/sun/crypto/provider/DESKeyFactory.java
+3
-9
src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java
...hare/classes/com/sun/crypto/provider/DESKeyGenerator.java
+2
-9
src/share/classes/com/sun/crypto/provider/DESedeCipher.java
src/share/classes/com/sun/crypto/provider/DESedeCipher.java
+1
-5
src/share/classes/com/sun/crypto/provider/DESedeKeyFactory.java
...are/classes/com/sun/crypto/provider/DESedeKeyFactory.java
+2
-9
src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java
...e/classes/com/sun/crypto/provider/DESedeKeyGenerator.java
+2
-9
src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java
...are/classes/com/sun/crypto/provider/DESedeWrapCipher.java
+1
-5
src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java
...share/classes/com/sun/crypto/provider/DHKeyAgreement.java
+2
-9
src/share/classes/com/sun/crypto/provider/DHKeyFactory.java
src/share/classes/com/sun/crypto/provider/DHKeyFactory.java
+2
-9
src/share/classes/com/sun/crypto/provider/HmacCore.java
src/share/classes/com/sun/crypto/provider/HmacCore.java
+1
-4
src/share/classes/com/sun/crypto/provider/HmacMD5.java
src/share/classes/com/sun/crypto/provider/HmacMD5.java
+1
-9
src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java
.../classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java
+2
-9
src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java
...re/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java
+1
-6
src/share/classes/com/sun/crypto/provider/HmacSHA1.java
src/share/classes/com/sun/crypto/provider/HmacSHA1.java
+1
-9
src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java
...classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java
+2
-9
src/share/classes/com/sun/crypto/provider/JarVerifier.java
src/share/classes/com/sun/crypto/provider/JarVerifier.java
+0
-72
src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java
...are/classes/com/sun/crypto/provider/KeyGeneratorCore.java
+1
-6
src/share/classes/com/sun/crypto/provider/PBEKeyFactory.java
src/share/classes/com/sun/crypto/provider/PBEKeyFactory.java
+2
-9
src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java
...asses/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java
+1
-8
src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java
...com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java
+1
-10
src/share/classes/com/sun/crypto/provider/PBKDF2HmacSHA1Factory.java
...lasses/com/sun/crypto/provider/PBKDF2HmacSHA1Factory.java
+2
-9
src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java
.../classes/com/sun/crypto/provider/PKCS12PBECipherCore.java
+1
-3
src/share/classes/com/sun/crypto/provider/RC2Cipher.java
src/share/classes/com/sun/crypto/provider/RC2Cipher.java
+1
-2
src/share/classes/com/sun/crypto/provider/RSACipher.java
src/share/classes/com/sun/crypto/provider/RSACipher.java
+1
-2
src/share/classes/com/sun/crypto/provider/SslMacCore.java
src/share/classes/com/sun/crypto/provider/SslMacCore.java
+1
-7
src/share/classes/com/sun/crypto/provider/SunJCE.java
src/share/classes/com/sun/crypto/provider/SunJCE.java
+1
-22
src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java
...sses/com/sun/crypto/provider/TlsKeyMaterialGenerator.java
+1
-2
src/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java
...ses/com/sun/crypto/provider/TlsMasterSecretGenerator.java
+1
-2
src/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java
...hare/classes/com/sun/crypto/provider/TlsPrfGenerator.java
+1
-2
src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java
...m/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java
+1
-2
src/share/classes/javax/crypto/JarVerifier.java
src/share/classes/javax/crypto/JarVerifier.java
+1
-14
src/share/classes/javax/crypto/JceSecurity.java
src/share/classes/javax/crypto/JceSecurity.java
+1
-7
src/share/classes/javax/swing/JFileChooser.java
src/share/classes/javax/swing/JFileChooser.java
+6
-1
src/share/classes/javax/swing/JInternalFrame.java
src/share/classes/javax/swing/JInternalFrame.java
+15
-16
src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java
...re/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java
+1
-14
src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
...e/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
+7
-3
src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java
.../classes/javax/swing/plaf/basic/BasicInternalFrameUI.java
+27
-15
src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java
...are/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java
+7
-12
src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java
...hare/classes/javax/swing/plaf/basic/DesktopIconMover.java
+0
-168
src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java
...lasses/javax/swing/plaf/nimbus/AbstractRegionPainter.java
+34
-16
src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java
src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java
+2
-0
src/share/classes/javax/swing/text/GlyphView.java
src/share/classes/javax/swing/text/GlyphView.java
+3
-2
src/share/classes/javax/swing/text/ParagraphView.java
src/share/classes/javax/swing/text/ParagraphView.java
+0
-17
src/share/classes/sun/awt/shell/ShellFolder.java
src/share/classes/sun/awt/shell/ShellFolder.java
+52
-8
src/share/classes/sun/awt/shell/ShellFolderManager.java
src/share/classes/sun/awt/shell/ShellFolderManager.java
+3
-7
src/share/classes/sun/dyn/FilterGeneric.java
src/share/classes/sun/dyn/FilterGeneric.java
+1
-1
src/share/classes/sun/security/pkcs11/JarVerifier.java
src/share/classes/sun/security/pkcs11/JarVerifier.java
+0
-72
src/share/classes/sun/security/pkcs11/SunPKCS11.java
src/share/classes/sun/security/pkcs11/SunPKCS11.java
+1
-25
src/share/classes/sun/swing/FilePane.java
src/share/classes/sun/swing/FilePane.java
+3
-4
src/share/classes/sun/swing/MenuItemLayoutHelper.java
src/share/classes/sun/swing/MenuItemLayoutHelper.java
+2
-2
src/solaris/classes/sun/awt/X11/XRobotPeer.java
src/solaris/classes/sun/awt/X11/XRobotPeer.java
+4
-2
src/solaris/native/sun/awt/awt_Robot.c
src/solaris/native/sun/awt/awt_Robot.c
+9
-12
src/windows/classes/sun/awt/shell/Win32ShellFolder2.java
src/windows/classes/sun/awt/shell/Win32ShellFolder2.java
+151
-145
src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java
...ndows/classes/sun/awt/shell/Win32ShellFolderManager2.java
+59
-34
src/windows/classes/sun/security/mscapi/JarVerifier.java
src/windows/classes/sun/security/mscapi/JarVerifier.java
+0
-73
src/windows/classes/sun/security/mscapi/RSACipher.java
src/windows/classes/sun/security/mscapi/RSACipher.java
+1
-2
src/windows/classes/sun/security/mscapi/SunMSCAPI.java
src/windows/classes/sun/security/mscapi/SunMSCAPI.java
+1
-19
src/windows/native/sun/windows/awt_Component.cpp
src/windows/native/sun/windows/awt_Component.cpp
+4
-3
test/java/awt/EventQueue/6638195/bug6638195.java
test/java/awt/EventQueue/6638195/bug6638195.java
+15
-3
test/java/awt/Frame/FrameSize/TestFrameSize.java
test/java/awt/Frame/FrameSize/TestFrameSize.java
+53
-25
test/java/net/Authenticator/B4933582.sh
test/java/net/Authenticator/B4933582.sh
+7
-3
test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh
...ramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh
+4
-0
test/java/net/Socket/OldSocketImpl.sh
test/java/net/Socket/OldSocketImpl.sh
+4
-0
test/java/net/URL/B5086147.sh
test/java/net/URL/B5086147.sh
+4
-0
test/java/net/URL/runconstructor.sh
test/java/net/URL/runconstructor.sh
+4
-0
test/java/net/URLClassLoader/B5077773.sh
test/java/net/URLClassLoader/B5077773.sh
+4
-0
test/java/net/URLClassLoader/sealing/checksealed.sh
test/java/net/URLClassLoader/sealing/checksealed.sh
+8
-4
test/java/net/URLConnection/6212146/test.sh
test/java/net/URLConnection/6212146/test.sh
+4
-0
test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh
...urity/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh
+5
-1
test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh
test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh
+5
-1
test/java/security/Security/signedfirst/Dyn.sh
test/java/security/Security/signedfirst/Dyn.sh
+5
-1
test/java/security/Security/signedfirst/Static.sh
test/java/security/Security/signedfirst/Static.sh
+6
-2
test/javax/crypto/SecretKeyFactory/FailOverTest.sh
test/javax/crypto/SecretKeyFactory/FailOverTest.sh
+7
-2
test/javax/security/auth/Subject/doAs/Test.sh
test/javax/security/auth/Subject/doAs/Test.sh
+5
-0
test/javax/swing/JInternalFrame/Test6505027.java
test/javax/swing/JInternalFrame/Test6505027.java
+136
-0
test/javax/swing/JInternalFrame/Test6802868.java
test/javax/swing/JInternalFrame/Test6802868.java
+108
-0
test/javax/swing/JScrollPane/Test6526631.java
test/javax/swing/JScrollPane/Test6526631.java
+102
-0
test/javax/swing/SwingTest.java
test/javax/swing/SwingTest.java
+160
-0
test/lib/security/java.policy/Ext_AllPolicy.sh
test/lib/security/java.policy/Ext_AllPolicy.sh
+6
-0
test/sun/net/www/MarkResetTest.sh
test/sun/net/www/MarkResetTest.sh
+4
-0
test/sun/net/www/http/ChunkedInputStream/ChunkedCharEncoding.sh
...un/net/www/http/ChunkedInputStream/ChunkedCharEncoding.sh
+4
-0
test/sun/net/www/http/HttpClient/RetryPost.sh
test/sun/net/www/http/HttpClient/RetryPost.sh
+4
-0
test/sun/net/www/protocol/jar/B5105410.sh
test/sun/net/www/protocol/jar/B5105410.sh
+4
-0
test/sun/net/www/protocol/jar/jarbug/run.sh
test/sun/net/www/protocol/jar/jarbug/run.sh
+40
-9
test/sun/security/pkcs11/Provider/ConfigQuotedString.sh
test/sun/security/pkcs11/Provider/ConfigQuotedString.sh
+14
-0
test/sun/security/pkcs11/Provider/Login.sh
test/sun/security/pkcs11/Provider/Login.sh
+14
-0
test/sun/security/provider/PolicyFile/getinstance/getinstance.sh
...n/security/provider/PolicyFile/getinstance/getinstance.sh
+4
-0
test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh
...net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh
+16
-7
test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh
...et/www/protocol/https/HttpsURLConnection/PostThruProxy.sh
+6
-1
test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh
...rotocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh
+7
-1
test/sun/security/tools/jarsigner/AlgOptions.sh
test/sun/security/tools/jarsigner/AlgOptions.sh
+7
-0
test/sun/security/tools/jarsigner/PercentSign.sh
test/sun/security/tools/jarsigner/PercentSign.sh
+7
-0
test/sun/security/tools/jarsigner/oldsig.sh
test/sun/security/tools/jarsigner/oldsig.sh
+7
-0
test/sun/security/tools/keytool/AltProviderPath.sh
test/sun/security/tools/keytool/AltProviderPath.sh
+26
-5
test/sun/security/tools/keytool/CloneKeyAskPassword.sh
test/sun/security/tools/keytool/CloneKeyAskPassword.sh
+4
-0
test/sun/security/tools/keytool/NoExtNPE.sh
test/sun/security/tools/keytool/NoExtNPE.sh
+3
-0
test/sun/security/tools/keytool/SecretKeyKS.sh
test/sun/security/tools/keytool/SecretKeyKS.sh
+6
-0
test/sun/security/tools/keytool/StandardAlgName.sh
test/sun/security/tools/keytool/StandardAlgName.sh
+6
-0
test/sun/security/tools/keytool/i18n.sh
test/sun/security/tools/keytool/i18n.sh
+6
-0
test/sun/security/tools/keytool/printssl.sh
test/sun/security/tools/keytool/printssl.sh
+3
-0
test/sun/security/tools/keytool/resource.sh
test/sun/security/tools/keytool/resource.sh
+5
-0
test/sun/security/tools/keytool/standard.sh
test/sun/security/tools/keytool/standard.sh
+5
-1
未找到文件。
.hgtags
浏览文件 @
a8bb37d3
...
@@ -42,3 +42,4 @@ a50217eb3ee10b9f9547e0708e5c9625405083ef jdk7-b64
...
@@ -42,3 +42,4 @@ a50217eb3ee10b9f9547e0708e5c9625405083ef jdk7-b64
382a27aa78d3236fa123c60577797a887fe93e09 jdk7-b65
382a27aa78d3236fa123c60577797a887fe93e09 jdk7-b65
bd31b30a5b21f20e42965b1633f18a5c7946d398 jdk7-b66
bd31b30a5b21f20e42965b1633f18a5c7946d398 jdk7-b66
a952aafd5181af953b0ef3010dbd2fcc28460e8a jdk7-b67
a952aafd5181af953b0ef3010dbd2fcc28460e8a jdk7-b67
b23d905cb5d3b382295240d28ab0bfb266b4503c jdk7-b68
make/com/sun/crypto/provider/Makefile
浏览文件 @
a8bb37d3
#
#
# Copyright 2007-200
8
Sun Microsystems, Inc. All Rights Reserved.
# Copyright 2007-200
9
Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -45,54 +45,49 @@
...
@@ -45,54 +45,49 @@
# For OpenJDK, the jar files built here are installed directly into the
# For OpenJDK, the jar files built here are installed directly into the
# OpenJDK.
# OpenJDK.
#
#
# For JDK, the binaries use pre-built/pre-signed/pre-obfuscated binary
# For JDK, the binaries use pre-built/pre-signed binary files stored in
# files stored in the closed workspace that are not shipped in the
# the closed workspace that are not shipped in the OpenJDK workspaces.
# OpenJDK workspaces. We still build the JDK files here to verify the
# We still build the JDK files here to verify the files compile, and in
# files compile, and in preparation for possible signing and
# preparation for possible signing. Developers working on JCE in JDK
# obfuscation. Developers working on JCE in JDK must sign the JCE files
# must sign the JCE files before testing. The JCE signing key is kept
# before testing: obfuscation is optional during development. The JCE
# separate from the JDK workspace to prevent its disclosure.
# signing key is kept separate from the JDK workspace to prevent its
#
# disclosure. The obfuscation tool has not been licensed for general
# usage.
#
# SPECIAL NOTE TO JCE/JDK developers: The source files must eventually
# SPECIAL NOTE TO JCE/JDK developers: The source files must eventually
# be built
, obfuscated, signed, and then the resulting jar files MUST BE
# be built
and signed, and the resulting jar files MUST BE CHECKED INTO
#
CHECKED INTO THE CLOSED PART OF THE WORKSPACE*. This separate step
#
THE CLOSED PART OF THE WORKSPACE*. This separate step *MUST NOT BE
#
*MUST NOT BE FORGOTTEN*, otherwise a bug fixed in the source code will
#
FORGOTTEN*, otherwise a bug fixed in the source code will not be
#
not be
reflected in the shipped binaries. The "release" target should be
# reflected in the shipped binaries. The "release" target should be
# used to generate the required files.
# used to generate the required files.
#
#
# There are a number of targets to help both JDK/OpenJDK developers.
# There are a number of targets to help both JDK/OpenJDK developers.
#
#
# Main Targets (JDK/OPENJDK):
# Main Targets (JDK/OPENJDK):
#
#
# all/clobber/clean
The usual.
# all/clobber/clean
The usual.
#
If OpenJDK, installs sunjce_provider.jar.
#
If OpenJDK, installs sunjce_provider.jar.
#
If JDK, installs prebuilt
#
If JDK, installs prebuilt
#
sunjce_provider.jar.
#
sunjce_provider.jar.
#
#
# jar
Builds/installs sunjce_provider.jar
# jar
Builds/installs sunjce_provider.jar
#
If OpenJDK, does not sign.
#
If OpenJDK, does not sign.
#
If JDK, tries to sign.
#
If JDK, tries to sign.
#
#
# Other lesser-used Targets (JDK/OPENJDK):
# Other lesser-used Targets (JDK/OPENJDK):
#
#
# build-jar
Builds sunjce_provider.jar
# build-jar
Builds sunjce_provider.jar
#
(does not sign/install)
#
(does not sign/install)
#
#
# install-jar
Alias for "jar" above.
# install-jar
Alias for "jar" above.
#
#
# Other targets (JDK only):
# Other targets (JDK only):
#
#
# sign Alias for sign-jar
# sign Alias for sign-jar
# sign-jar Builds/signs sunjce_provider.jar (no install)
# sign-jar Builds/signs sunjce_provider.jar (no install)
#
# obfus Builds/obfuscates/signs sunjce_provider.jar
#
#
# release
Builds all targets in preparation
# release
Builds all targets in preparation
#
for workspace integration.
#
for workspace integration.
#
#
# install-prebuilt
Installs the pre-built jar files
# install-prebuilt
Installs the pre-built jar files
#
#
# This makefile was written to support parallel target execution.
# This makefile was written to support parallel target execution.
#
#
...
@@ -103,7 +98,7 @@ PRODUCT = sun
...
@@ -103,7 +98,7 @@ PRODUCT = sun
#
#
# The following is for when we need to do postprocessing
# The following is for when we need to do postprocessing
# (signing
/obfuscation
) against a read-only build. If the OUTPUTDIR
# (signing) against a read-only build. If the OUTPUTDIR
# isn't writable, the build currently crashes out.
# isn't writable, the build currently crashes out.
#
#
ifndef
OPENJDK
ifndef
OPENJDK
...
@@ -158,8 +153,8 @@ endif # OPENJDK
...
@@ -158,8 +153,8 @@ endif # OPENJDK
#
#
# We use a variety of subdirectories in the $(TEMPDIR) depending on what
# We use a variety of subdirectories in the $(TEMPDIR) depending on what
# part of the build we're doing. Both OPENJDK/JDK builds are initially
# part of the build we're doing. Both OPENJDK/JDK builds are initially
# done in the unsigned area. When files are signed
or obfuscated in JDK,
# done in the unsigned area. When files are signed
in JDK, they will be
#
they will be
placed in the appropriate areas.
# placed in the appropriate areas.
#
#
UNSIGNED_DIR
=
$(TEMPDIR)
/unsigned
UNSIGNED_DIR
=
$(TEMPDIR)
/unsigned
...
@@ -223,62 +218,15 @@ $(SIGNED_DIR)/sunjce_provider.jar:
...
@@ -223,62 +218,15 @@ $(SIGNED_DIR)/sunjce_provider.jar:
endif
endif
$(
call
sign-file,
$(UNSIGNED_DIR)
/sunjce_provider.jar
)
$(
call
sign-file,
$(UNSIGNED_DIR)
/sunjce_provider.jar
)
# =====================================================
# Obfuscate/sign/install the JDK build. Not needed for OpenJDK.
#
OBFUS_DIR
=
$(JCE_BUILD_DIR)
/obfus/sunjce
CLOSED_DIR
=
$(BUILDDIR)
/closed/com/sun/crypto/provider
obfus
:
$(OBFUS_DIR)/sunjce_provider.jar
$
(
release-warning
)
ifndef
ALT_JCE_BUILD_DIR
$(OBFUS_DIR)/sunjce_provider.jar
:
build-jar $(JCE_MANIFEST_FILE)
\
$(OBFUS_DIR)/sunjce.dox
else
$(OBFUS_DIR)/sunjce_provider.jar
:
$(JCE_MANIFEST_FILE) $(OBFUS_DIR)/sunjce.dox
@
if
[
!
-d
$(CLASSDESTDIR)
]
;
then
\
$(ECHO)
"Couldn't find
$(CLASSDESTDIR)
"
;
\
exit
1
;
\
fi
endif
@
$(ECHO)
">>>Obfuscating SunJCE Provider..."
$(presign)
$(preobfus)
$
(
prep-target
)
$(CD)
$(OBFUS_DIR)
;
\
$(OBFUSCATOR)
-fv
sunjce.dox
@
$(CD)
$(OBFUS_DIR)
;
$
(
java-vm-cleanup
)
$(BOOT_JAR_CMD)
cmf
$(JCE_MANIFEST_FILE)
$@
\
-C
$(OBFUS_DIR)
/build com
\
$(BOOT_JAR_JFLAGS)
$
(
sign-target
)
@
$
(
java-vm-cleanup
)
$(OBFUS_DIR)/sunjce.dox
:
$(CLOSED_DIR)/obfus/sunjce.dox
@
$(ECHO)
">>>Creating sunjce.dox"
$
(
prep-target
)
$(SED)
"s:@@TEMPDIR@@:
$(ABS_TEMPDIR)
:"
$<
>
$@
#
# The current obfuscator has a limitation in that it currently only
# supports up to v49 class file format. Force v49 classfiles in our
# builds for now.
#
SOURCE_LANGUAGE_VERSION
=
5
TARGET_CLASS_VERSION
=
5
# =====================================================
# =====================================================
# Create the Release Engineering files.
Obfuscat
ed builds, etc.
# Create the Release Engineering files.
Sign
ed builds, etc.
#
#
release
:
$(
OBFUS
_DIR)/sunjce_provider.jar
release
:
$(
SIGNED
_DIR)/sunjce_provider.jar
$(RM)
$(JCE_BUILD_DIR)
/release/sunjce_provider.jar
$(RM)
$(JCE_BUILD_DIR)
/release/sunjce_provider.jar
$(MKDIR)
-p
$(JCE_BUILD_DIR)
/release
$(MKDIR)
-p
$(JCE_BUILD_DIR)
/release
$(CP)
$(
OBFUS
_DIR)
/sunjce_provider.jar
$(JCE_BUILD_DIR)
/release
$(CP)
$(
SIGNED
_DIR)
/sunjce_provider.jar
$(JCE_BUILD_DIR)
/release
$
(
release-warning
)
$
(
release-warning
)
endif
# OPENJDK
endif
# OPENJDK
...
@@ -320,5 +268,5 @@ clobber clean::
...
@@ -320,5 +268,5 @@ clobber clean::
.PHONY
:
build-jar jar install-jar
.PHONY
:
build-jar jar install-jar
ifndef
OPENJDK
ifndef
OPENJDK
.PHONY
:
sign sign-jar
obfus
release install-prebuilt
.PHONY
:
sign sign-jar release install-prebuilt
endif
endif
make/javax/crypto/Defs-jce.gmk
浏览文件 @
a8bb37d3
#
#
# Copyright 2007-200
8
Sun Microsystems, Inc. All Rights Reserved.
# Copyright 2007-200
9
Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -61,7 +61,7 @@ SIGNING_PASSPHRASE = $(SIGNING_KEY_DIR)/passphrase.txt
...
@@ -61,7 +61,7 @@ SIGNING_PASSPHRASE = $(SIGNING_KEY_DIR)/passphrase.txt
SIGNING_ALIAS = jce_rsa
SIGNING_ALIAS = jce_rsa
#
#
# Defines for signing
/obfuscating
the various jar files.
# Defines for signing the various jar files.
#
#
define presign
define presign
...
@@ -100,19 +100,4 @@ define sign-file
...
@@ -100,19 +100,4 @@ define sign-file
$(sign-target)
$(sign-target)
endef
endef
#
# Location for the Obfuscation product. JDK currently has
# the requirement that we obfuscate our JCE jars.
#
OBFUSCATOR = /security/tools/bin/obfus
OBFUS_DIR = $(TEMPDIR)/obfus
define preobfus
@if [ ! -f $(OBFUSCATOR) ]; then \
$(ECHO) "\n$(OBFUSCATOR): Obfuscator *NOT* available..." \
$(README-MAKEFILE_WARNING); \
exit 2; \
fi
endef
endif # !OPENJDK
endif # !OPENJDK
make/javax/crypto/Makefile
浏览文件 @
a8bb37d3
#
#
# Copyright 2007-200
8
Sun Microsystems, Inc. All Rights Reserved.
# Copyright 2007-200
9
Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -44,64 +44,65 @@
...
@@ -44,64 +44,65 @@
# For OpenJDK, the jar files built here are installed directly into the
# For OpenJDK, the jar files built here are installed directly into the
# OpenJDK.
# OpenJDK.
#
#
# For JDK, the binaries use pre-built/pre-signed/pre-obfuscated binary
# For JDK, the binaries use pre-built/pre-signed binary files stored in
# files stored in the closed workspace that are not shipped in the
# the closed workspace that are not shipped in the OpenJDK workspaces.
# OpenJDK workspaces. We still build the JDK files here to verify the
# We still build the JDK files here to verify the files compile, and in
# files compile, and in preparation for possible signing and
# preparation for possible signing. Developers working on JCE in JDK
# obfuscation. Developers working on JCE in JDK must sign the JCE files
# must sign the JCE files before testing. The JCE signing key is kept
# before testing: obfuscation is optional during development. The JCE
# separate from the JDK workspace to prevent its disclosure.
# signing key is kept separate from the JDK workspace to prevent its
# disclosure. The obfuscation tool has not been licensed for general
# usage.
#
#
# SPECIAL NOTE TO JCE/JDK developers: The source files must eventually
# SPECIAL NOTE TO JCE/JDK developers: The source files must eventually
# be built
, obfuscated, signed, and the resulting jar files *MUST BE
# be built
and signed, and the resulting jar files *MUST BE CHECKED INTO
#
CHECKED INTO THE CLOSED PART OF THE WORKSPACE*. This separate step
#
THE CLOSED PART OF THE WORKSPACE*. This separate step *MUST NOT BE
#
*MUST NOT BE FORGOTTEN*, otherwise a bug fixed in the source code will
#
FORGOTTEN*, otherwise a bug fixed in the source code will not be
#
not be reflected in the shipped binaries. The "release" target should
#
reflected in the shipped binaries. The "release" target should be
#
be
used to generate the required files.
# used to generate the required files.
#
#
# There are a number of targets to help both JDK/OpenJDK developers.
# There are a number of targets to help both JDK/OpenJDK developers.
#
#
# Main Targets (JDK/OPENJDK):
# Main Targets (JDK/OPENJDK):
#
#
# all/clobber/clean The usual.
# all/clobber/clean The usual.
# If OpenJDK, installs
# If OpenJDK: builds/installs the
# jce.jar/limited policy files.
# jce.jar/limited policy files.
# If JDK, installs prebuilt
# If JDK: builds but does not install.
# jce.jar/limited policy files.
# During full tops-down builds,
#
# prebuilt/presigned jce.jar &
# jar Builds/installs jce.jar
# limited policy files are copied
# If OpenJDK, does not sign
# in by make/java/redist/Makefile.
# If JDK, tries to sign
# If you are working in this directory
# and want to install the prebuilts,
# use the "install-prebuilt" target.
#
# jar Builds/installs jce.jar
# If OpenJDK, does not sign
# If JDK, tries to sign
#
#
# Other lesser-used Targets (JDK/OPENJDK):
# Other lesser-used Targets (JDK/OPENJDK):
#
#
# build-jar
Builds jce.jar (does not sign/install)
# build-jar
Builds jce.jar (does not sign/install)
#
#
# build-policy
Builds policy files (does not sign/install)
# build-policy
Builds policy files (does not sign/install)
#
#
# install-jar
Alias for "jar" above
# install-jar
Alias for "jar" above
#
#
# install-limited
Builds/installs limited policy files
# install-limited
Builds/installs limited policy files
#
If OpenJDK, does not sign
#
If OpenJDK, does not sign
#
If JDK, tries to sign
#
If JDK, tries to sign
# install-unlimited
Builds/nstalls unlimited policy files
# install-unlimited
Builds/nstalls unlimited policy files
#
If OpenJDK, does not sign
#
If OpenJDK, does not sign
#
If JDK, tries to sign
#
If JDK, tries to sign
#
#
# Other targets (JDK only):
# Other targets (JDK only):
#
#
# sign Alias for sign-jar and sign-policy
# sign Alias for sign-jar and sign-policy
# sign-jar Builds/signs jce.jar file (no install)
# sign-jar Builds/signs jce.jar file (no install)
# sign-policy Builds/signs policy files (no install)
# sign-policy Builds/signs policy files (no install)
#
# obfus Builds/obfuscates/signs jce.jar
#
#
# release
Builds all targets in preparation
# release
Builds all targets in preparation
#
for workspace integration.
#
for workspace integration.
#
#
# install-prebuilt
Installs the pre-built jar files
# install-prebuilt
Installs the pre-built jar files
#
#
# This makefile was written to support parallel target execution.
# This makefile was written to support parallel target execution.
#
#
...
@@ -112,7 +113,7 @@ PRODUCT = sun
...
@@ -112,7 +113,7 @@ PRODUCT = sun
#
#
# The following is for when we need to do postprocessing
# The following is for when we need to do postprocessing
# (signing
/obfuscation
) against a read-only build. If the OUTPUTDIR
# (signing) against a read-only build. If the OUTPUTDIR
# isn't writable, the build currently crashes out.
# isn't writable, the build currently crashes out.
#
#
ifndef
OPENJDK
ifndef
OPENJDK
...
@@ -169,8 +170,8 @@ endif # OPENJDK
...
@@ -169,8 +170,8 @@ endif # OPENJDK
#
#
# We use a variety of subdirectories in the $(TEMPDIR) depending on what
# We use a variety of subdirectories in the $(TEMPDIR) depending on what
# part of the build we're doing. Both OPENJDK/JDK builds are initially
# part of the build we're doing. Both OPENJDK/JDK builds are initially
# done in the unsigned area. When files are signed
or obfuscated in JDK,
# done in the unsigned area. When files are signed
in JDK, they will be
#
they will be
placed in the appropriate areas.
# placed in the appropriate areas.
#
#
UNSIGNED_DIR
=
$(TEMPDIR)
/unsigned
UNSIGNED_DIR
=
$(TEMPDIR)
/unsigned
...
@@ -178,7 +179,7 @@ include Defs-jce.gmk
...
@@ -178,7 +179,7 @@ include Defs-jce.gmk
# =====================================================
# =====================================================
# Build the unsigned jce.jar file. Signing
/obfuscation
comes later.
# Build the unsigned jce.jar file. Signing comes later.
#
#
JAR_DESTFILE
=
$(LIBDIR)
/jce.jar
JAR_DESTFILE
=
$(LIBDIR)
/jce.jar
...
@@ -363,69 +364,13 @@ $(SIGNED_POLICY_BUILDDIR)/limited/local_policy.jar: \
...
@@ -363,69 +364,13 @@ $(SIGNED_POLICY_BUILDDIR)/limited/local_policy.jar: \
# =====================================================
# =====================================================
# Obfuscate/sign/install the JDK build. Not needed for OpenJDK.
# Create the Release Engineering files. Signed builds,
# unlimited policy file distribution, etc.
#
#
OBFUS_DIR
=
$(JCE_BUILD_DIR)
/obfus/jce
CLOSED_DIR
=
$(BUILDDIR)
/closed/javax/crypto
CLOSED_DIR
=
$(BUILDDIR)
/closed/javax/crypto
obfus
:
$(OBFUS_DIR)/jce.jar
release
:
$(SIGNED_DIR)/jce.jar sign-policy $(CLOSED_DIR)/doc/COPYRIGHT.html
\
$
(
release-warning
)
ifndef
ALT_JCE_BUILD_DIR
$(OBFUS_DIR)/jce.jar
:
build-jar $(JCE_MANIFEST_FILE) $(OBFUS_DIR)/framework.dox
else
#
# We have to remove the build dependency, otherwise, we'll try to rebuild it
# which we can't do on a read-only filesystem.
#
$(OBFUS_DIR)/jce.jar
:
$(JCE_MANIFEST_FILE) $(OBFUS_DIR)/framework.dox
@
if
[
!
-d
$(CLASSDESTDIR)
]
;
then
\
$(ECHO)
"Couldn't find
$(CLASSDESTDIR)
"
;
\
exit
1
;
\
fi
endif
@
$(ECHO)
">>>Obfuscating JCE framework..."
$(presign)
$(preobfus)
$
(
prep-target
)
$(CD)
$(OBFUS_DIR)
;
\
$(OBFUSCATOR)
-fv
framework.dox
@
$(CD)
$(OBFUS_DIR)
;
$
(
java-vm-cleanup
)
@
#
@
# The sun.security.internal classes are currently not obfuscated
@
# due to an obfus problem. Manually copy them to the build directory
@
# so that they are included in the jce.jar file.
@
#
$(CP)
-r
$(CLASSDESTDIR)
/sun
$(OBFUS_DIR)
/build
$(BOOT_JAR_CMD)
cmf
$(JCE_MANIFEST_FILE)
$@
\
-C
$(OBFUS_DIR)
/build javax
\
-C
$(OBFUS_DIR)
/build sun
\
$(BOOT_JAR_JFLAGS)
$
(
sign-target
)
@
$
(
java-vm-cleanup
)
$(OBFUS_DIR)/framework.dox
:
$(CLOSED_DIR)/obfus/framework.dox
@
$(ECHO)
">>>Creating framework.dox"
$
(
prep-target
)
$(SED)
"s:@@TEMPDIR@@:
$(ABS_TEMPDIR)
:"
$<
>
$@
#
# The current obfuscator has a limitation in that it currently only
# supports up to v49 class file format. Force v49 classfiles in our
# builds for now.
#
SOURCE_LANGUAGE_VERSION
=
5
TARGET_CLASS_VERSION
=
5
# =====================================================
# Create the Release Engineering files. Obfuscated builds,
# unlimited policy file distribution, etc.
#
release
:
$(OBFUS_DIR)/jce.jar sign-policy $(CLOSED_DIR)/doc/COPYRIGHT.html
\
$(CLOSED_DIR)/doc/README.txt
$(CLOSED_DIR)/doc/README.txt
$(RM)
-r
\
$(RM)
-r
\
$(JCE_BUILD_DIR)
/release/UnlimitedJCEPolicy
\
$(JCE_BUILD_DIR)
/release/UnlimitedJCEPolicy
\
...
@@ -434,7 +379,7 @@ release: $(OBFUS_DIR)/jce.jar sign-policy $(CLOSED_DIR)/doc/COPYRIGHT.html \
...
@@ -434,7 +379,7 @@ release: $(OBFUS_DIR)/jce.jar sign-policy $(CLOSED_DIR)/doc/COPYRIGHT.html \
$(JCE_BUILD_DIR)
/release/local_policy.jar
\
$(JCE_BUILD_DIR)
/release/local_policy.jar
\
$(JCE_BUILD_DIR)
/release/UnlimitedJCEPolicy.zip
$(JCE_BUILD_DIR)
/release/UnlimitedJCEPolicy.zip
$(MKDIR)
-p
$(JCE_BUILD_DIR)
/release/UnlimitedJCEPolicy
$(MKDIR)
-p
$(JCE_BUILD_DIR)
/release/UnlimitedJCEPolicy
$(CP)
$(
OBFUS
_DIR)
/jce.jar
$(JCE_BUILD_DIR)
/release
$(CP)
$(
SIGNED
_DIR)
/jce.jar
$(JCE_BUILD_DIR)
/release
$(CP)
\
$(CP)
\
$(SIGNED_POLICY_BUILDDIR)
/limited/US_export_policy.jar
\
$(SIGNED_POLICY_BUILDDIR)
/limited/US_export_policy.jar
\
$(SIGNED_POLICY_BUILDDIR)
/limited/local_policy.jar
\
$(SIGNED_POLICY_BUILDDIR)
/limited/local_policy.jar
\
...
@@ -530,5 +475,5 @@ clobber clean::
...
@@ -530,5 +475,5 @@ clobber clean::
.PHONY
:
build-jar jar build-policy unlimited limited install-jar
\
.PHONY
:
build-jar jar build-policy unlimited limited install-jar
\
install-limited install-unlimited
install-limited install-unlimited
ifndef
OPENJDK
ifndef
OPENJDK
.PHONY
:
sign sign-jar sign-policy
obfus
release install-prebuilt
.PHONY
:
sign sign-jar sign-policy release install-prebuilt
endif
endif
make/sun/security/mscapi/Makefile
浏览文件 @
a8bb37d3
#
#
# Copyright 2005-200
8
Sun Microsystems, Inc. All Rights Reserved.
# Copyright 2005-200
9
Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -59,31 +59,31 @@
...
@@ -59,31 +59,31 @@
#
#
# Main Targets (JDK/OPENJDK):
# Main Targets (JDK/OPENJDK):
#
#
# all/clobber/clean
The usual, plus the native libraries.
# all/clobber/clean
The usual, plus the native libraries.
#
If OpenJDK, installs sunmscapi.jar.
#
If OpenJDK, installs sunmscapi.jar.
#
If JDK, installs prebuilt
#
If JDK, installs prebuilt
#
sunmscapi.jar.
#
sunmscapi.jar.
#
#
# jar
Builds/installs sunmscapi.jar
# jar
Builds/installs sunmscapi.jar
#
If OpenJDK, does not sign.
#
If OpenJDK, does not sign.
#
If JDK, tries to sign.
#
If JDK, tries to sign.
#
#
# Other lesser-used Targets (JDK/OPENJDK):
# Other lesser-used Targets (JDK/OPENJDK):
#
#
# build-jar
Builds sunmscapi.jar
# build-jar
Builds sunmscapi.jar
#
(does not sign/install)
#
(does not sign/install)
#
#
# install-jar
Alias for "jar" above.
# install-jar
Alias for "jar" above.
#
#
# Other targets (JDK only):
# Other targets (JDK only):
#
#
# sign
Alias for sign-jar
# sign
Alias for sign-jar
#
sign-jar
Builds/signs sunmscapi.jar (no install)
#
sign-jar
Builds/signs sunmscapi.jar (no install)
#
#
# release
Builds all targets in preparation
# release
Builds all targets in preparation
#
for workspace integration.
#
for workspace integration.
#
#
# install-prebuilt
Installs the pre-built jar files
# install-prebuilt
Installs the pre-built jar files
#
#
# This makefile was written to support parallel target execution.
# This makefile was written to support parallel target execution.
#
#
...
...
make/sun/security/pkcs11/Makefile
浏览文件 @
a8bb37d3
#
#
# Copyright 2003-200
8
Sun Microsystems, Inc. All Rights Reserved.
# Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -59,31 +59,31 @@
...
@@ -59,31 +59,31 @@
#
#
# Main Targets (JDK/OPENJDK):
# Main Targets (JDK/OPENJDK):
#
#
# all/clobber/clean
The usual, plus the native libraries.
# all/clobber/clean
The usual, plus the native libraries.
#
If OpenJDK, installs sunpkcs11.jar.
#
If OpenJDK, installs sunpkcs11.jar.
#
If JDK, installs prebuilt
#
If JDK, installs prebuilt
#
sunpkcs11.jar.
#
sunpkcs11.jar.
#
#
# jar
Builds/installs sunpkcs11.jar
# jar
Builds/installs sunpkcs11.jar
#
If OpenJDK, does not sign.
#
If OpenJDK, does not sign.
#
If JDK, tries to sign.
#
If JDK, tries to sign.
#
#
# Other lesser-used Targets (JDK/OPENJDK):
# Other lesser-used Targets (JDK/OPENJDK):
#
#
# build-jar
Builds sunpkcs11.jar
# build-jar
Builds sunpkcs11.jar
#
(does not sign/install)
#
(does not sign/install)
#
#
# install-jar
Alias for "jar" above.
# install-jar
Alias for "jar" above.
#
#
# Other targets (JDK only):
# Other targets (JDK only):
#
#
# sign
Alias for sign-jar
# sign
Alias for sign-jar
#
sign-jar
Builds/signs sunpkcs11.jar (no install)
#
sign-jar
Builds/signs sunpkcs11.jar (no install)
#
#
# release
Builds all targets in preparation
# release
Builds all targets in preparation
#
for workspace integration.
#
for workspace integration.
#
#
# install-prebuilt
Installs the pre-built jar files
# install-prebuilt
Installs the pre-built jar files
#
#
# This makefile was written to support parallel target execution.
# This makefile was written to support parallel target execution.
#
#
...
...
src/share/classes/com/sun/crypto/provider/AESCipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2002-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2002-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -56,12 +56,8 @@ public final class AESCipher extends CipherSpi {
...
@@ -56,12 +56,8 @@ public final class AESCipher extends CipherSpi {
/**
/**
* Creates an instance of AES cipher with default ECB mode and
* Creates an instance of AES cipher with default ECB mode and
* PKCS5Padding.
* PKCS5Padding.
*
* @exception SecurityException if this constructor fails to verify
* its own integrity
*/
*/
public
AESCipher
()
{
public
AESCipher
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
CipherCore
(
new
AESCrypt
(),
AESConstants
.
AES_BLOCK_SIZE
);
core
=
new
CipherCore
(
new
AESCrypt
(),
AESConstants
.
AES_BLOCK_SIZE
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2002-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2002-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -48,16 +48,9 @@ public final class AESKeyGenerator extends KeyGeneratorSpi {
...
@@ -48,16 +48,9 @@ public final class AESKeyGenerator extends KeyGeneratorSpi {
private
int
keySize
=
16
;
// default keysize (in number of bytes)
private
int
keySize
=
16
;
// default keysize (in number of bytes)
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor.
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
AESKeyGenerator
()
{
public
AESKeyGenerator
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/AESWrapCipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2004-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2004-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -65,12 +65,8 @@ public final class AESWrapCipher extends CipherSpi {
...
@@ -65,12 +65,8 @@ public final class AESWrapCipher extends CipherSpi {
/**
/**
* Creates an instance of AES KeyWrap cipher with default
* Creates an instance of AES KeyWrap cipher with default
* mode, i.e. "ECB" and padding scheme, i.e. "NoPadding".
* mode, i.e. "ECB" and padding scheme, i.e. "NoPadding".
*
* @exception SecurityException if this constructor fails to verify
* its own integrity
*/
*/
public
AESWrapCipher
()
{
public
AESWrapCipher
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
cipher
=
new
AESCrypt
();
cipher
=
new
AESCrypt
();
}
}
...
...
src/share/classes/com/sun/crypto/provider/ARCFOURCipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2003-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -62,7 +62,6 @@ public final class ARCFOURCipher extends CipherSpi {
...
@@ -62,7 +62,6 @@ public final class ARCFOURCipher extends CipherSpi {
// called by the JCE framework
// called by the JCE framework
public
ARCFOURCipher
()
{
public
ARCFOURCipher
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
S
=
new
int
[
256
];
S
=
new
int
[
256
];
}
}
...
...
src/share/classes/com/sun/crypto/provider/BlowfishCipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1998-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1998-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -60,12 +60,8 @@ public final class BlowfishCipher extends CipherSpi {
...
@@ -60,12 +60,8 @@ public final class BlowfishCipher extends CipherSpi {
/**
/**
* Creates an instance of Blowfish cipher with default ECB mode and
* Creates an instance of Blowfish cipher with default ECB mode and
* PKCS5Padding.
* PKCS5Padding.
*
* @exception SecurityException if this constructor fails to verify
* its own integrity
*/
*/
public
BlowfishCipher
()
{
public
BlowfishCipher
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
CipherCore
(
new
BlowfishCrypt
(),
core
=
new
CipherCore
(
new
BlowfishCrypt
(),
BlowfishConstants
.
BLOWFISH_BLOCK_SIZE
);
BlowfishConstants
.
BLOWFISH_BLOCK_SIZE
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1998-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1998-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -46,16 +46,9 @@ public final class BlowfishKeyGenerator extends KeyGeneratorSpi {
...
@@ -46,16 +46,9 @@ public final class BlowfishKeyGenerator extends KeyGeneratorSpi {
private
int
keysize
=
16
;
// default keysize (in number of bytes)
private
int
keysize
=
16
;
// default keysize (in number of bytes)
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
BlowfishKeyGenerator
()
{
public
BlowfishKeyGenerator
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/DESCipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -56,12 +56,8 @@ public final class DESCipher extends CipherSpi {
...
@@ -56,12 +56,8 @@ public final class DESCipher extends CipherSpi {
/**
/**
* Creates an instance of DES cipher with default ECB mode and
* Creates an instance of DES cipher with default ECB mode and
* PKCS5Padding.
* PKCS5Padding.
*
* @exception SecurityException if this constructor fails to verify
* its own integrity
*/
*/
public
DESCipher
()
{
public
DESCipher
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
CipherCore
(
new
DESCrypt
(),
DESConstants
.
DES_BLOCK_SIZE
);
core
=
new
CipherCore
(
new
DESCrypt
(),
DESConstants
.
DES_BLOCK_SIZE
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/DESKeyFactory.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -42,17 +42,11 @@ import java.security.spec.InvalidKeySpecException;
...
@@ -42,17 +42,11 @@ import java.security.spec.InvalidKeySpecException;
public
final
class
DESKeyFactory
extends
SecretKeyFactorySpi
{
public
final
class
DESKeyFactory
extends
SecretKeyFactorySpi
{
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
DESKeyFactory
()
{
public
DESKeyFactory
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
}
}
/**
/**
* Generates a <code>SecretKey</code> object from the provided key
* Generates a <code>SecretKey</code> object from the provided key
* specification (key material).
* specification (key material).
...
...
src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -46,16 +46,9 @@ public final class DESKeyGenerator extends KeyGeneratorSpi {
...
@@ -46,16 +46,9 @@ public final class DESKeyGenerator extends KeyGeneratorSpi {
private
SecureRandom
random
=
null
;
private
SecureRandom
random
=
null
;
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
DESKeyGenerator
()
{
public
DESKeyGenerator
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/DESedeCipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -53,12 +53,8 @@ public final class DESedeCipher extends CipherSpi {
...
@@ -53,12 +53,8 @@ public final class DESedeCipher extends CipherSpi {
/**
/**
* Creates an instance of DESede cipher with default ECB mode and
* Creates an instance of DESede cipher with default ECB mode and
* PKCS5Padding.
* PKCS5Padding.
*
* @exception SecurityException if this constructor fails to verify
* its own integrity
*/
*/
public
DESedeCipher
()
{
public
DESedeCipher
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
CipherCore
(
new
DESedeCrypt
(),
DESConstants
.
DES_BLOCK_SIZE
);
core
=
new
CipherCore
(
new
DESedeCrypt
(),
DESConstants
.
DES_BLOCK_SIZE
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/DESedeKeyFactory.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -42,16 +42,9 @@ import java.security.spec.InvalidKeySpecException;
...
@@ -42,16 +42,9 @@ import java.security.spec.InvalidKeySpecException;
public
final
class
DESedeKeyFactory
extends
SecretKeyFactorySpi
{
public
final
class
DESedeKeyFactory
extends
SecretKeyFactorySpi
{
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
DESedeKeyFactory
()
{
public
DESedeKeyFactory
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have been "
+
"tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -47,16 +47,9 @@ public final class DESedeKeyGenerator extends KeyGeneratorSpi {
...
@@ -47,16 +47,9 @@ public final class DESedeKeyGenerator extends KeyGeneratorSpi {
private
int
keysize
=
168
;
private
int
keysize
=
168
;
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
DESedeKeyGenerator
()
{
public
DESedeKeyGenerator
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have been "
+
"tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2004-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2004-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -74,12 +74,8 @@ public final class DESedeWrapCipher extends CipherSpi {
...
@@ -74,12 +74,8 @@ public final class DESedeWrapCipher extends CipherSpi {
/**
/**
* Creates an instance of CMS DESede KeyWrap cipher with default
* Creates an instance of CMS DESede KeyWrap cipher with default
* mode, i.e. "CBC" and padding scheme, i.e. "NoPadding".
* mode, i.e. "CBC" and padding scheme, i.e. "NoPadding".
*
* @exception SecurityException if this constructor fails to verify
* its own integrity.
*/
*/
public
DESedeWrapCipher
()
{
public
DESedeWrapCipher
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
cipher
=
new
CipherBlockChaining
(
new
DESedeCrypt
());
cipher
=
new
CipherBlockChaining
(
new
DESedeCrypt
());
}
}
...
...
src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -58,16 +58,9 @@ extends KeyAgreementSpi {
...
@@ -58,16 +58,9 @@ extends KeyAgreementSpi {
private
BigInteger
y
=
BigInteger
.
ZERO
;
private
BigInteger
y
=
BigInteger
.
ZERO
;
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
DHKeyAgreement
()
{
public
DHKeyAgreement
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have been "
+
"tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/DHKeyFactory.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -49,16 +49,9 @@ import javax.crypto.spec.DHParameterSpec;
...
@@ -49,16 +49,9 @@ import javax.crypto.spec.DHParameterSpec;
public
final
class
DHKeyFactory
extends
KeyFactorySpi
{
public
final
class
DHKeyFactory
extends
KeyFactorySpi
{
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
DHKeyFactory
()
{
public
DHKeyFactory
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/HmacCore.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2002-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2002-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -241,7 +241,6 @@ final class HmacCore implements Cloneable {
...
@@ -241,7 +241,6 @@ final class HmacCore implements Cloneable {
public
static
final
class
HmacSHA256
extends
MacSpi
implements
Cloneable
{
public
static
final
class
HmacSHA256
extends
MacSpi
implements
Cloneable
{
private
final
HmacCore
core
;
private
final
HmacCore
core
;
public
HmacSHA256
()
throws
NoSuchAlgorithmException
{
public
HmacSHA256
()
throws
NoSuchAlgorithmException
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
HmacCore
(
"SHA-256"
,
64
);
core
=
new
HmacCore
(
"SHA-256"
,
64
);
}
}
private
HmacSHA256
(
HmacSHA256
base
)
throws
CloneNotSupportedException
{
private
HmacSHA256
(
HmacSHA256
base
)
throws
CloneNotSupportedException
{
...
@@ -278,7 +277,6 @@ final class HmacCore implements Cloneable {
...
@@ -278,7 +277,6 @@ final class HmacCore implements Cloneable {
public
static
final
class
HmacSHA384
extends
MacSpi
implements
Cloneable
{
public
static
final
class
HmacSHA384
extends
MacSpi
implements
Cloneable
{
private
final
HmacCore
core
;
private
final
HmacCore
core
;
public
HmacSHA384
()
throws
NoSuchAlgorithmException
{
public
HmacSHA384
()
throws
NoSuchAlgorithmException
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
HmacCore
(
"SHA-384"
,
128
);
core
=
new
HmacCore
(
"SHA-384"
,
128
);
}
}
private
HmacSHA384
(
HmacSHA384
base
)
throws
CloneNotSupportedException
{
private
HmacSHA384
(
HmacSHA384
base
)
throws
CloneNotSupportedException
{
...
@@ -315,7 +313,6 @@ final class HmacCore implements Cloneable {
...
@@ -315,7 +313,6 @@ final class HmacCore implements Cloneable {
public
static
final
class
HmacSHA512
extends
MacSpi
implements
Cloneable
{
public
static
final
class
HmacSHA512
extends
MacSpi
implements
Cloneable
{
private
final
HmacCore
core
;
private
final
HmacCore
core
;
public
HmacSHA512
()
throws
NoSuchAlgorithmException
{
public
HmacSHA512
()
throws
NoSuchAlgorithmException
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
HmacCore
(
"SHA-512"
,
128
);
core
=
new
HmacCore
(
"SHA-512"
,
128
);
}
}
private
HmacSHA512
(
HmacSHA512
base
)
throws
CloneNotSupportedException
{
private
HmacSHA512
(
HmacSHA512
base
)
throws
CloneNotSupportedException
{
...
...
src/share/classes/com/sun/crypto/provider/HmacMD5.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1998-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1998-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -44,16 +44,8 @@ public final class HmacMD5 extends MacSpi implements Cloneable {
...
@@ -44,16 +44,8 @@ public final class HmacMD5 extends MacSpi implements Cloneable {
/**
/**
* Standard constructor, creates a new HmacMD5 instance.
* Standard constructor, creates a new HmacMD5 instance.
* Verify the SunJCE provider in the constructor.
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
HmacMD5
()
throws
NoSuchAlgorithmException
{
public
HmacMD5
()
throws
NoSuchAlgorithmException
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
hmac
=
new
HmacCore
(
MessageDigest
.
getInstance
(
"MD5"
),
hmac
=
new
HmacCore
(
MessageDigest
.
getInstance
(
"MD5"
),
MD5_BLOCK_LENGTH
);
MD5_BLOCK_LENGTH
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1999-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1999-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -46,16 +46,9 @@ public final class HmacMD5KeyGenerator extends KeyGeneratorSpi {
...
@@ -46,16 +46,9 @@ public final class HmacMD5KeyGenerator extends KeyGeneratorSpi {
private
int
keysize
=
64
;
// default keysize (in number of bytes)
private
int
keysize
=
64
;
// default keysize (in number of bytes)
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
HmacMD5KeyGenerator
()
{
public
HmacMD5KeyGenerator
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2003-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -48,13 +48,8 @@ public final class HmacPKCS12PBESHA1 extends MacSpi implements Cloneable {
...
@@ -48,13 +48,8 @@ public final class HmacPKCS12PBESHA1 extends MacSpi implements Cloneable {
/**
/**
* Standard constructor, creates a new HmacSHA1 instance.
* Standard constructor, creates a new HmacSHA1 instance.
* Verify the SunJCE provider in the constructor.
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
HmacPKCS12PBESHA1
()
throws
NoSuchAlgorithmException
{
public
HmacPKCS12PBESHA1
()
throws
NoSuchAlgorithmException
{
SunJCE
.
ensureIntegrity
(
this
.
getClass
());
this
.
hmac
=
new
HmacCore
(
MessageDigest
.
getInstance
(
"SHA1"
),
this
.
hmac
=
new
HmacCore
(
MessageDigest
.
getInstance
(
"SHA1"
),
SHA1_BLOCK_LENGTH
);
SHA1_BLOCK_LENGTH
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/HmacSHA1.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1998-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1998-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -44,16 +44,8 @@ public final class HmacSHA1 extends MacSpi implements Cloneable {
...
@@ -44,16 +44,8 @@ public final class HmacSHA1 extends MacSpi implements Cloneable {
/**
/**
* Standard constructor, creates a new HmacSHA1 instance.
* Standard constructor, creates a new HmacSHA1 instance.
* Verify the SunJCE provider in the constructor.
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
HmacSHA1
()
throws
NoSuchAlgorithmException
{
public
HmacSHA1
()
throws
NoSuchAlgorithmException
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
this
.
hmac
=
new
HmacCore
(
MessageDigest
.
getInstance
(
"SHA1"
),
this
.
hmac
=
new
HmacCore
(
MessageDigest
.
getInstance
(
"SHA1"
),
SHA1_BLOCK_LENGTH
);
SHA1_BLOCK_LENGTH
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1999-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1999-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -46,16 +46,9 @@ public final class HmacSHA1KeyGenerator extends KeyGeneratorSpi {
...
@@ -46,16 +46,9 @@ public final class HmacSHA1KeyGenerator extends KeyGeneratorSpi {
private
int
keysize
=
64
;
// default keysize (in number of bytes)
private
int
keysize
=
64
;
// default keysize (in number of bytes)
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
HmacSHA1KeyGenerator
()
{
public
HmacSHA1KeyGenerator
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/JarVerifier.java
已删除
100644 → 0
浏览文件 @
8fc72d57
/*
* Copyright 2007 Sun Microsystems, Inc. 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package
com.sun.crypto.provider
;
// NOTE: this class is duplicated amongst SunJCE, SunPKCS11, and SunMSCAPI.
// All files should be kept in sync.
import
java.io.*
;
import
java.util.*
;
import
java.util.jar.*
;
import
java.net.URL
;
import
java.net.JarURLConnection
;
import
java.net.MalformedURLException
;
import
java.security.*
;
import
java.security.cert.*
;
import
java.security.cert.Certificate
;
/**
* This class verifies JAR files (and any supporting JAR files), and
* determines whether they may be used in this implementation.
*
* The JCE in OpenJDK has an open cryptographic interface, meaning it
* does not restrict which providers can be used. Compliance with
* United States export controls and with local law governing the
* import/export of products incorporating the JCE in the OpenJDK is
* the responsibility of the licensee.
*
* @since 1.7
*/
final
class
JarVerifier
{
private
static
final
boolean
debug
=
false
;
/**
* Verify the JAR file is signed by an entity which has a certificate
* issued by a trusted CA.
*
* Note: this is a temporary method and will change soon to use the
* exception chaining mechanism, which can provide more details
* as to why the verification failed.
*
* @param c the class to be verified.
* @return true if verification is successful.
*/
static
boolean
verify
(
final
Class
c
)
{
return
true
;
}
}
src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2003-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -109,7 +109,6 @@ final class KeyGeneratorCore {
...
@@ -109,7 +109,6 @@ final class KeyGeneratorCore {
public
static
final
class
HmacSHA256KG
extends
KeyGeneratorSpi
{
public
static
final
class
HmacSHA256KG
extends
KeyGeneratorSpi
{
private
final
KeyGeneratorCore
core
;
private
final
KeyGeneratorCore
core
;
public
HmacSHA256KG
()
{
public
HmacSHA256KG
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
KeyGeneratorCore
(
"HmacSHA256"
,
256
);
core
=
new
KeyGeneratorCore
(
"HmacSHA256"
,
256
);
}
}
protected
void
engineInit
(
SecureRandom
random
)
{
protected
void
engineInit
(
SecureRandom
random
)
{
...
@@ -131,7 +130,6 @@ final class KeyGeneratorCore {
...
@@ -131,7 +130,6 @@ final class KeyGeneratorCore {
public
static
final
class
HmacSHA384KG
extends
KeyGeneratorSpi
{
public
static
final
class
HmacSHA384KG
extends
KeyGeneratorSpi
{
private
final
KeyGeneratorCore
core
;
private
final
KeyGeneratorCore
core
;
public
HmacSHA384KG
()
{
public
HmacSHA384KG
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
KeyGeneratorCore
(
"HmacSHA384"
,
384
);
core
=
new
KeyGeneratorCore
(
"HmacSHA384"
,
384
);
}
}
protected
void
engineInit
(
SecureRandom
random
)
{
protected
void
engineInit
(
SecureRandom
random
)
{
...
@@ -153,7 +151,6 @@ final class KeyGeneratorCore {
...
@@ -153,7 +151,6 @@ final class KeyGeneratorCore {
public
static
final
class
HmacSHA512KG
extends
KeyGeneratorSpi
{
public
static
final
class
HmacSHA512KG
extends
KeyGeneratorSpi
{
private
final
KeyGeneratorCore
core
;
private
final
KeyGeneratorCore
core
;
public
HmacSHA512KG
()
{
public
HmacSHA512KG
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
KeyGeneratorCore
(
"HmacSHA512"
,
512
);
core
=
new
KeyGeneratorCore
(
"HmacSHA512"
,
512
);
}
}
protected
void
engineInit
(
SecureRandom
random
)
{
protected
void
engineInit
(
SecureRandom
random
)
{
...
@@ -175,7 +172,6 @@ final class KeyGeneratorCore {
...
@@ -175,7 +172,6 @@ final class KeyGeneratorCore {
public
static
final
class
RC2KeyGenerator
extends
KeyGeneratorSpi
{
public
static
final
class
RC2KeyGenerator
extends
KeyGeneratorSpi
{
private
final
KeyGeneratorCore
core
;
private
final
KeyGeneratorCore
core
;
public
RC2KeyGenerator
()
{
public
RC2KeyGenerator
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
KeyGeneratorCore
(
"RC2"
,
128
);
core
=
new
KeyGeneratorCore
(
"RC2"
,
128
);
}
}
protected
void
engineInit
(
SecureRandom
random
)
{
protected
void
engineInit
(
SecureRandom
random
)
{
...
@@ -201,7 +197,6 @@ final class KeyGeneratorCore {
...
@@ -201,7 +197,6 @@ final class KeyGeneratorCore {
public
static
final
class
ARCFOURKeyGenerator
extends
KeyGeneratorSpi
{
public
static
final
class
ARCFOURKeyGenerator
extends
KeyGeneratorSpi
{
private
final
KeyGeneratorCore
core
;
private
final
KeyGeneratorCore
core
;
public
ARCFOURKeyGenerator
()
{
public
ARCFOURKeyGenerator
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
core
=
new
KeyGeneratorCore
(
"ARCFOUR"
,
128
);
core
=
new
KeyGeneratorCore
(
"ARCFOUR"
,
128
);
}
}
protected
void
engineInit
(
SecureRandom
random
)
{
protected
void
engineInit
(
SecureRandom
random
)
{
...
...
src/share/classes/com/sun/crypto/provider/PBEKeyFactory.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -49,16 +49,9 @@ abstract class PBEKeyFactory extends SecretKeyFactorySpi {
...
@@ -49,16 +49,9 @@ abstract class PBEKeyFactory extends SecretKeyFactorySpi {
private
static
HashSet
<
String
>
validTypes
;
private
static
HashSet
<
String
>
validTypes
;
/**
/**
* Verify the SunJCE provider in the constructor.
* Simple constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
private
PBEKeyFactory
(
String
keytype
)
{
private
PBEKeyFactory
(
String
keytype
)
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
type
=
keytype
;
type
=
keytype
;
}
}
...
...
src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -55,16 +55,9 @@ public final class PBEWithMD5AndDESCipher extends CipherSpi {
...
@@ -55,16 +55,9 @@ public final class PBEWithMD5AndDESCipher extends CipherSpi {
* unavailable
* unavailable
* @exception NoSuchPaddingException if the required padding mechanism
* @exception NoSuchPaddingException if the required padding mechanism
* (PKCS5Padding) is unavailable
* (PKCS5Padding) is unavailable
*
* @exception SecurityException if this constructor fails to verify
* its own integrity
*/
*/
public
PBEWithMD5AndDESCipher
()
public
PBEWithMD5AndDESCipher
()
throws
NoSuchAlgorithmException
,
NoSuchPaddingException
{
throws
NoSuchAlgorithmException
,
NoSuchPaddingException
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
core
=
new
PBECipherCore
(
"DES"
);
core
=
new
PBECipherCore
(
"DES"
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1998-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1998-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -61,23 +61,14 @@ public final class PBEWithMD5AndTripleDESCipher extends CipherSpi {
...
@@ -61,23 +61,14 @@ public final class PBEWithMD5AndTripleDESCipher extends CipherSpi {
* Creates an instance of this cipher, and initializes its mode (CBC) and
* Creates an instance of this cipher, and initializes its mode (CBC) and
* padding (PKCS5).
* padding (PKCS5).
*
*
* Verify the SunJCE provider in the constructor.
*
* @exception NoSuchAlgorithmException if the required cipher mode (CBC) is
* @exception NoSuchAlgorithmException if the required cipher mode (CBC) is
* unavailable
* unavailable
* @exception NoSuchPaddingException if the required padding mechanism
* @exception NoSuchPaddingException if the required padding mechanism
* (PKCS5Padding) is unavailable
* (PKCS5Padding) is unavailable
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
PBEWithMD5AndTripleDESCipher
()
public
PBEWithMD5AndTripleDESCipher
()
throws
NoSuchAlgorithmException
,
NoSuchPaddingException
throws
NoSuchAlgorithmException
,
NoSuchPaddingException
{
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
// set the encapsulated cipher to do triple DES
// set the encapsulated cipher to do triple DES
core
=
new
PBECipherCore
(
"DESede"
);
core
=
new
PBECipherCore
(
"DESede"
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/PBKDF2HmacSHA1Factory.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2005-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2005-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -45,16 +45,9 @@ import javax.crypto.spec.SecretKeySpec;
...
@@ -45,16 +45,9 @@ import javax.crypto.spec.SecretKeySpec;
public
final
class
PBKDF2HmacSHA1Factory
extends
SecretKeyFactorySpi
{
public
final
class
PBKDF2HmacSHA1Factory
extends
SecretKeyFactorySpi
{
/**
/**
* Verify the SunJCE provider in the constructor.
* Empty constructor
*
* @exception SecurityException if fails to verify
* its own integrity
*/
*/
public
PBKDF2HmacSHA1Factory
()
{
public
PBKDF2HmacSHA1Factory
()
{
if
(!
SunJCE
.
verifySelfIntegrity
(
this
.
getClass
()))
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
}
}
/**
/**
...
...
src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2003-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -370,7 +370,6 @@ final class PKCS12PBECipherCore {
...
@@ -370,7 +370,6 @@ final class PKCS12PBECipherCore {
public
static
final
class
PBEWithSHA1AndDESede
extends
CipherSpi
{
public
static
final
class
PBEWithSHA1AndDESede
extends
CipherSpi
{
private
final
PKCS12PBECipherCore
core
;
private
final
PKCS12PBECipherCore
core
;
public
PBEWithSHA1AndDESede
()
throws
NoSuchAlgorithmException
{
public
PBEWithSHA1AndDESede
()
throws
NoSuchAlgorithmException
{
SunJCE
.
ensureIntegrity
(
this
.
getClass
());
core
=
new
PKCS12PBECipherCore
(
"DESede"
,
24
);
core
=
new
PKCS12PBECipherCore
(
"DESede"
,
24
);
}
}
protected
byte
[]
engineDoFinal
(
byte
[]
in
,
int
inOff
,
int
inLen
)
protected
byte
[]
engineDoFinal
(
byte
[]
in
,
int
inOff
,
int
inLen
)
...
@@ -446,7 +445,6 @@ final class PKCS12PBECipherCore {
...
@@ -446,7 +445,6 @@ final class PKCS12PBECipherCore {
public
static
final
class
PBEWithSHA1AndRC2_40
extends
CipherSpi
{
public
static
final
class
PBEWithSHA1AndRC2_40
extends
CipherSpi
{
private
final
PKCS12PBECipherCore
core
;
private
final
PKCS12PBECipherCore
core
;
public
PBEWithSHA1AndRC2_40
()
throws
NoSuchAlgorithmException
{
public
PBEWithSHA1AndRC2_40
()
throws
NoSuchAlgorithmException
{
SunJCE
.
ensureIntegrity
(
this
.
getClass
());
core
=
new
PKCS12PBECipherCore
(
"RC2"
,
5
);
core
=
new
PKCS12PBECipherCore
(
"RC2"
,
5
);
}
}
protected
byte
[]
engineDoFinal
(
byte
[]
in
,
int
inOff
,
int
inLen
)
protected
byte
[]
engineDoFinal
(
byte
[]
in
,
int
inOff
,
int
inLen
)
...
...
src/share/classes/com/sun/crypto/provider/RC2Cipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2003-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -45,7 +45,6 @@ public final class RC2Cipher extends CipherSpi {
...
@@ -45,7 +45,6 @@ public final class RC2Cipher extends CipherSpi {
private
final
RC2Crypt
embeddedCipher
;
private
final
RC2Crypt
embeddedCipher
;
public
RC2Cipher
()
{
public
RC2Cipher
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
embeddedCipher
=
new
RC2Crypt
();
embeddedCipher
=
new
RC2Crypt
();
core
=
new
CipherCore
(
embeddedCipher
,
8
);
core
=
new
CipherCore
(
embeddedCipher
,
8
);
}
}
...
...
src/share/classes/com/sun/crypto/provider/RSACipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2003-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -111,7 +111,6 @@ public final class RSACipher extends CipherSpi {
...
@@ -111,7 +111,6 @@ public final class RSACipher extends CipherSpi {
private
String
oaepHashAlgorithm
=
"SHA-1"
;
private
String
oaepHashAlgorithm
=
"SHA-1"
;
public
RSACipher
()
{
public
RSACipher
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
paddingType
=
PAD_PKCS1
;
paddingType
=
PAD_PKCS1
;
}
}
...
...
src/share/classes/com/sun/crypto/provider/SslMacCore.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2005-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2005-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -226,9 +226,6 @@ final class SslMacCore {
...
@@ -226,9 +226,6 @@ final class SslMacCore {
static
final
byte
[]
md5Pad1
=
genPad
((
byte
)
0x36
,
48
);
static
final
byte
[]
md5Pad1
=
genPad
((
byte
)
0x36
,
48
);
static
final
byte
[]
md5Pad2
=
genPad
((
byte
)
0x5c
,
48
);
static
final
byte
[]
md5Pad2
=
genPad
((
byte
)
0x5c
,
48
);
static
{
SunJCE
.
ensureIntegrity
(
SslMacMD5
.
class
);
}
}
}
// nested static class for the SslMacMD5 implementation
// nested static class for the SslMacMD5 implementation
...
@@ -262,9 +259,6 @@ final class SslMacCore {
...
@@ -262,9 +259,6 @@ final class SslMacCore {
static
final
byte
[]
shaPad1
=
genPad
((
byte
)
0x36
,
40
);
static
final
byte
[]
shaPad1
=
genPad
((
byte
)
0x36
,
40
);
static
final
byte
[]
shaPad2
=
genPad
((
byte
)
0x5c
,
40
);
static
final
byte
[]
shaPad2
=
genPad
((
byte
)
0x5c
,
40
);
static
{
SunJCE
.
ensureIntegrity
(
SslMacSHA1
.
class
);
}
}
}
}
}
src/share/classes/com/sun/crypto/provider/SunJCE.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -93,10 +93,6 @@ public final class SunJCE extends Provider {
...
@@ -93,10 +93,6 @@ public final class SunJCE extends Provider {
static
final
SecureRandom
RANDOM
=
new
SecureRandom
();
static
final
SecureRandom
RANDOM
=
new
SecureRandom
();
// After the SunJCE passed self-integrity checking,
// verifiedSelfIntegrity will be set to true.
private
static
boolean
verifiedSelfIntegrity
=
false
;
public
SunJCE
()
{
public
SunJCE
()
{
/* We are the "SunJCE" provider */
/* We are the "SunJCE" provider */
super
(
"SunJCE"
,
1.7d
,
info
);
super
(
"SunJCE"
,
1.7d
,
info
);
...
@@ -441,21 +437,4 @@ public final class SunJCE extends Provider {
...
@@ -441,21 +437,4 @@ public final class SunJCE extends Provider {
}
}
});
});
}
}
// set to true once self verification is complete
private
static
volatile
boolean
integrityVerified
;
static
void
ensureIntegrity
(
Class
c
)
{
if
(
verifySelfIntegrity
(
c
)
==
false
)
{
throw
new
SecurityException
(
"The SunJCE provider may have "
+
"been tampered."
);
}
}
static
final
boolean
verifySelfIntegrity
(
Class
c
)
{
if
(
verifiedSelfIntegrity
)
{
return
true
;
}
return
(
integrityVerified
=
JarVerifier
.
verify
(
c
));
}
}
}
src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2005-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2005-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -52,7 +52,6 @@ public final class TlsKeyMaterialGenerator extends KeyGeneratorSpi {
...
@@ -52,7 +52,6 @@ public final class TlsKeyMaterialGenerator extends KeyGeneratorSpi {
private
int
protocolVersion
;
private
int
protocolVersion
;
public
TlsKeyMaterialGenerator
()
{
public
TlsKeyMaterialGenerator
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
}
}
protected
void
engineInit
(
SecureRandom
random
)
{
protected
void
engineInit
(
SecureRandom
random
)
{
...
...
src/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2005-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2005-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -51,7 +51,6 @@ public final class TlsMasterSecretGenerator extends KeyGeneratorSpi {
...
@@ -51,7 +51,6 @@ public final class TlsMasterSecretGenerator extends KeyGeneratorSpi {
private
int
protocolVersion
;
private
int
protocolVersion
;
public
TlsMasterSecretGenerator
()
{
public
TlsMasterSecretGenerator
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
}
}
protected
void
engineInit
(
SecureRandom
random
)
{
protected
void
engineInit
(
SecureRandom
random
)
{
...
...
src/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2005-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2005-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -109,7 +109,6 @@ public final class TlsPrfGenerator extends KeyGeneratorSpi {
...
@@ -109,7 +109,6 @@ public final class TlsPrfGenerator extends KeyGeneratorSpi {
private
TlsPrfParameterSpec
spec
;
private
TlsPrfParameterSpec
spec
;
public
TlsPrfGenerator
()
{
public
TlsPrfGenerator
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
}
}
protected
void
engineInit
(
SecureRandom
random
)
{
protected
void
engineInit
(
SecureRandom
random
)
{
...
...
src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2005-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2005-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -48,7 +48,6 @@ public final class TlsRsaPremasterSecretGenerator extends KeyGeneratorSpi {
...
@@ -48,7 +48,6 @@ public final class TlsRsaPremasterSecretGenerator extends KeyGeneratorSpi {
private
SecureRandom
random
;
private
SecureRandom
random
;
public
TlsRsaPremasterSecretGenerator
()
{
public
TlsRsaPremasterSecretGenerator
()
{
SunJCE
.
ensureIntegrity
(
getClass
());
}
}
protected
void
engineInit
(
SecureRandom
random
)
{
protected
void
engineInit
(
SecureRandom
random
)
{
...
...
src/share/classes/javax/crypto/JarVerifier.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2007
-2009
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -28,9 +28,7 @@ package javax.crypto;
...
@@ -28,9 +28,7 @@ package javax.crypto;
import
java.io.*
;
import
java.io.*
;
import
java.net.*
;
import
java.net.*
;
import
java.security.*
;
import
java.security.*
;
import
java.util.*
;
import
java.util.jar.*
;
import
java.util.jar.*
;
import
javax.crypto.CryptoPolicyParser.ParsingException
;
/**
/**
* This class verifies JAR files (and any supporting JAR files), and
* This class verifies JAR files (and any supporting JAR files), and
...
@@ -134,17 +132,6 @@ final class JarVerifier {
...
@@ -134,17 +132,6 @@ final class JarVerifier {
}
}
}
}
/**
* Verify that the provided JarEntry was indeed signed by the
* framework signing certificate.
*
* @param je the URL of the jar entry to be checked.
* @throws Exception if the jar entry was not signed by
* the proper certificate
*/
static
void
verifyFrameworkSigned
(
URL
je
)
throws
Exception
{
}
/**
/**
* Verify that the provided certs include the
* Verify that the provided certs include the
* framework signing certificate.
* framework signing certificate.
...
...
src/share/classes/javax/crypto/JceSecurity.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
package
javax.crypto
;
package
javax.crypto
;
import
java.lang.ref.*
;
import
java.util.*
;
import
java.util.*
;
import
java.util.jar.*
;
import
java.util.jar.*
;
import
java.io.*
;
import
java.io.*
;
...
@@ -256,11 +255,6 @@ final class JceSecurity {
...
@@ -256,11 +255,6 @@ final class JceSecurity {
(
"Cannot locate policy or framework files!"
);
(
"Cannot locate policy or framework files!"
);
}
}
// Enforce the signer restraint, i.e. signer of JCE framework
// jar should also be the signer of the two jurisdiction policy
// jar files.
JarVerifier
.
verifyFrameworkSigned
(
jceCipherURL
);
// Read jurisdiction policies.
// Read jurisdiction policies.
CryptoPermissions
defaultExport
=
new
CryptoPermissions
();
CryptoPermissions
defaultExport
=
new
CryptoPermissions
();
CryptoPermissions
exemptExport
=
new
CryptoPermissions
();
CryptoPermissions
exemptExport
=
new
CryptoPermissions
();
...
...
src/share/classes/javax/swing/JFileChooser.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
8
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -739,6 +739,11 @@ public class JFileChooser extends JComponent implements Accessible {
...
@@ -739,6 +739,11 @@ public class JFileChooser extends JComponent implements Accessible {
dialog
.
show
();
dialog
.
show
();
firePropertyChange
(
"JFileChooserDialogIsClosingProperty"
,
dialog
,
null
);
firePropertyChange
(
"JFileChooserDialogIsClosingProperty"
,
dialog
,
null
);
// Remove all components from dialog. The MetalFileChooserUI.installUI() method (and other LAFs)
// registers AWT listener for dialogs and produces memory leaks. It happens when
// installUI invoked after the showDialog method.
dialog
.
getContentPane
().
removeAll
();
dialog
.
dispose
();
dialog
.
dispose
();
dialog
=
null
;
dialog
=
null
;
return
returnValue
;
return
returnValue
;
...
...
src/share/classes/javax/swing/JInternalFrame.java
浏览文件 @
a8bb37d3
...
@@ -26,13 +26,10 @@
...
@@ -26,13 +26,10 @@
package
javax.swing
;
package
javax.swing
;
import
java.awt.*
;
import
java.awt.*
;
import
java.awt.event.*
;
import
java.beans.PropertyVetoException
;
import
java.beans.PropertyVetoException
;
import
java.beans.PropertyChangeEvent
;
import
java.beans.PropertyChangeEvent
;
import
java.util.EventListener
;
import
javax.swing.border.Border
;
import
javax.swing.event.InternalFrameEvent
;
import
javax.swing.event.InternalFrameEvent
;
import
javax.swing.event.InternalFrameListener
;
import
javax.swing.event.InternalFrameListener
;
import
javax.swing.plaf.*
;
import
javax.swing.plaf.*
;
...
@@ -40,7 +37,6 @@ import javax.swing.plaf.*;
...
@@ -40,7 +37,6 @@ import javax.swing.plaf.*;
import
javax.accessibility.*
;
import
javax.accessibility.*
;
import
java.io.ObjectOutputStream
;
import
java.io.ObjectOutputStream
;
import
java.io.ObjectInputStream
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.lang.StringBuilder
;
import
java.lang.StringBuilder
;
import
java.beans.PropertyChangeListener
;
import
java.beans.PropertyChangeListener
;
...
@@ -1459,19 +1455,22 @@ public class JInternalFrame extends JComponent implements
...
@@ -1459,19 +1455,22 @@ public class JInternalFrame extends JComponent implements
SwingUtilities2
.
compositeRequestFocus
(
getDesktopIcon
());
SwingUtilities2
.
compositeRequestFocus
(
getDesktopIcon
());
}
}
else
{
else
{
// FocusPropertyChangeListener will eventually update
Component
component
=
KeyboardFocusManager
.
getCurrentKeyboardFocusManager
().
getPermanentFocusOwner
();
// lastFocusOwner. As focus requests are asynchronous
if
((
component
==
null
)
||
!
SwingUtilities
.
isDescendingFrom
(
component
,
this
))
{
// lastFocusOwner may be accessed before it has been correctly
// FocusPropertyChangeListener will eventually update
// updated. To avoid any problems, lastFocusOwner is immediately
// lastFocusOwner. As focus requests are asynchronous
// set, assuming the request will succeed.
// lastFocusOwner may be accessed before it has been correctly
lastFocusOwner
=
getMostRecentFocusOwner
();
// updated. To avoid any problems, lastFocusOwner is immediately
if
(
lastFocusOwner
==
null
)
{
// set, assuming the request will succeed.
// Make sure focus is restored somewhere, so that
setLastFocusOwner
(
getMostRecentFocusOwner
());
// we don't leave a focused component in another frame while
if
(
lastFocusOwner
==
null
)
{
// this frame is selected.
// Make sure focus is restored somewhere, so that
lastFocusOwner
=
getContentPane
();
// we don't leave a focused component in another frame while
// this frame is selected.
setLastFocusOwner
(
getContentPane
());
}
lastFocusOwner
.
requestFocus
();
}
}
lastFocusOwner
.
requestFocus
();
}
}
}
}
...
...
src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
8
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -32,9 +32,6 @@ import javax.swing.event.*;
...
@@ -32,9 +32,6 @@ import javax.swing.event.*;
import
javax.swing.border.*
;
import
javax.swing.border.*
;
import
javax.swing.plaf.*
;
import
javax.swing.plaf.*
;
import
java.beans.*
;
import
java.beans.*
;
import
java.util.EventListener
;
import
java.io.Serializable
;
/**
/**
* Basic L&F for a minimized window on a desktop.
* Basic L&F for a minimized window on a desktop.
...
@@ -47,7 +44,6 @@ public class BasicDesktopIconUI extends DesktopIconUI {
...
@@ -47,7 +44,6 @@ public class BasicDesktopIconUI extends DesktopIconUI {
protected
JInternalFrame
.
JDesktopIcon
desktopIcon
;
protected
JInternalFrame
.
JDesktopIcon
desktopIcon
;
protected
JInternalFrame
frame
;
protected
JInternalFrame
frame
;
private
DesktopIconMover
desktopIconMover
;
/**
/**
* The title pane component used in the desktop icon.
* The title pane component used in the desktop icon.
...
@@ -128,21 +124,12 @@ public class BasicDesktopIconUI extends DesktopIconUI {
...
@@ -128,21 +124,12 @@ public class BasicDesktopIconUI extends DesktopIconUI {
mouseInputListener
=
createMouseInputListener
();
mouseInputListener
=
createMouseInputListener
();
desktopIcon
.
addMouseMotionListener
(
mouseInputListener
);
desktopIcon
.
addMouseMotionListener
(
mouseInputListener
);
desktopIcon
.
addMouseListener
(
mouseInputListener
);
desktopIcon
.
addMouseListener
(
mouseInputListener
);
getDesktopIconMover
().
installListeners
();
}
}
protected
void
uninstallListeners
()
{
protected
void
uninstallListeners
()
{
desktopIcon
.
removeMouseMotionListener
(
mouseInputListener
);
desktopIcon
.
removeMouseMotionListener
(
mouseInputListener
);
desktopIcon
.
removeMouseListener
(
mouseInputListener
);
desktopIcon
.
removeMouseListener
(
mouseInputListener
);
mouseInputListener
=
null
;
mouseInputListener
=
null
;
getDesktopIconMover
().
uninstallListeners
();
}
private
DesktopIconMover
getDesktopIconMover
()
{
if
(
desktopIconMover
==
null
)
{
desktopIconMover
=
new
DesktopIconMover
(
desktopIcon
);
}
return
desktopIconMover
;
}
}
protected
void
installDefaults
()
{
protected
void
installDefaults
()
{
...
...
src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1998-200
8
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1998-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -232,6 +232,10 @@ public class BasicDirectoryModel extends AbstractListModel implements PropertyCh
...
@@ -232,6 +232,10 @@ public class BasicDirectoryModel extends AbstractListModel implements PropertyCh
public
void
run0
()
{
public
void
run0
()
{
FileSystemView
fileSystem
=
filechooser
.
getFileSystemView
();
FileSystemView
fileSystem
=
filechooser
.
getFileSystemView
();
if
(
isInterrupted
())
{
return
;
}
File
[]
list
=
fileSystem
.
getFiles
(
currentDirectory
,
filechooser
.
isFileHidingEnabled
());
File
[]
list
=
fileSystem
.
getFiles
(
currentDirectory
,
filechooser
.
isFileHidingEnabled
());
if
(
isInterrupted
())
{
if
(
isInterrupted
())
{
...
@@ -268,8 +272,8 @@ public class BasicDirectoryModel extends AbstractListModel implements PropertyCh
...
@@ -268,8 +272,8 @@ public class BasicDirectoryModel extends AbstractListModel implements PropertyCh
// To avoid loads of synchronizations with Invoker and improve performance we
// To avoid loads of synchronizations with Invoker and improve performance we
// execute the whole block on the COM thread
// execute the whole block on the COM thread
DoChangeContents
doChangeContents
=
ShellFolder
.
getInvoker
().
invoke
(
new
Callable
<
DoChangeContents
>()
{
DoChangeContents
doChangeContents
=
ShellFolder
.
invoke
(
new
Callable
<
DoChangeContents
>()
{
public
DoChangeContents
call
()
throws
Exception
{
public
DoChangeContents
call
()
{
int
newSize
=
newFileCache
.
size
();
int
newSize
=
newFileCache
.
size
();
int
oldSize
=
fileCache
.
size
();
int
oldSize
=
fileCache
.
size
();
...
...
src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java
浏览文件 @
a8bb37d3
...
@@ -27,16 +27,10 @@ package javax.swing.plaf.basic;
...
@@ -27,16 +27,10 @@ package javax.swing.plaf.basic;
import
java.awt.*
;
import
java.awt.*
;
import
java.awt.event.*
;
import
java.awt.event.*
;
import
java.awt.peer.LightweightPeer
;
import
javax.swing.*
;
import
javax.swing.*
;
import
javax.swing.border.*
;
import
javax.swing.plaf.*
;
import
javax.swing.plaf.*
;
import
javax.swing.event.*
;
import
javax.swing.event.*
;
import
java.beans.*
;
import
java.beans.*
;
import
java.io.Serializable
;
import
sun.swing.DefaultLookup
;
import
sun.swing.DefaultLookup
;
import
sun.swing.UIAction
;
import
sun.swing.UIAction
;
...
@@ -55,6 +49,7 @@ public class BasicInternalFrameUI extends InternalFrameUI
...
@@ -55,6 +49,7 @@ public class BasicInternalFrameUI extends InternalFrameUI
protected
MouseInputAdapter
borderListener
;
protected
MouseInputAdapter
borderListener
;
protected
PropertyChangeListener
propertyChangeListener
;
protected
PropertyChangeListener
propertyChangeListener
;
protected
LayoutManager
internalFrameLayout
;
protected
LayoutManager
internalFrameLayout
;
protected
ComponentListener
componentListener
;
protected
MouseInputListener
glassPaneDispatcher
;
protected
MouseInputListener
glassPaneDispatcher
;
private
InternalFrameListener
internalFrameListener
;
private
InternalFrameListener
internalFrameListener
;
...
@@ -66,9 +61,9 @@ public class BasicInternalFrameUI extends InternalFrameUI
...
@@ -66,9 +61,9 @@ public class BasicInternalFrameUI extends InternalFrameUI
protected
BasicInternalFrameTitlePane
titlePane
;
// access needs this
protected
BasicInternalFrameTitlePane
titlePane
;
// access needs this
private
static
DesktopManager
sharedDesktopManager
;
private
static
DesktopManager
sharedDesktopManager
;
private
boolean
componentListenerAdded
=
false
;
private
Rectangle
parentBounds
;
private
Rectangle
parentBounds
;
private
DesktopIconMover
desktopIconMover
;
private
boolean
dragging
=
false
;
private
boolean
dragging
=
false
;
private
boolean
resizing
=
false
;
private
boolean
resizing
=
false
;
...
@@ -209,17 +204,14 @@ public class BasicInternalFrameUI extends InternalFrameUI
...
@@ -209,17 +204,14 @@ public class BasicInternalFrameUI extends InternalFrameUI
frame
.
getGlassPane
().
addMouseListener
(
glassPaneDispatcher
);
frame
.
getGlassPane
().
addMouseListener
(
glassPaneDispatcher
);
frame
.
getGlassPane
().
addMouseMotionListener
(
glassPaneDispatcher
);
frame
.
getGlassPane
().
addMouseMotionListener
(
glassPaneDispatcher
);
}
}
componentListener
=
createComponentListener
();
if
(
frame
.
getParent
()
!=
null
)
{
if
(
frame
.
getParent
()
!=
null
)
{
parentBounds
=
frame
.
getParent
().
getBounds
();
parentBounds
=
frame
.
getParent
().
getBounds
();
}
}
getDesktopIconMover
().
installListeners
();
if
((
frame
.
getParent
()
!=
null
)
&&
!
componentListenerAdded
)
{
}
frame
.
getParent
().
addComponentListener
(
componentListener
);
componentListenerAdded
=
true
;
private
DesktopIconMover
getDesktopIconMover
()
{
if
(
desktopIconMover
==
null
)
{
desktopIconMover
=
new
DesktopIconMover
(
frame
);
}
}
return
desktopIconMover
;
}
}
// Provide a FocusListener to listen for a WINDOW_LOST_FOCUS event,
// Provide a FocusListener to listen for a WINDOW_LOST_FOCUS event,
...
@@ -290,7 +282,11 @@ public class BasicInternalFrameUI extends InternalFrameUI
...
@@ -290,7 +282,11 @@ public class BasicInternalFrameUI extends InternalFrameUI
* @since 1.3
* @since 1.3
*/
*/
protected
void
uninstallListeners
()
{
protected
void
uninstallListeners
()
{
getDesktopIconMover
().
uninstallListeners
();
if
((
frame
.
getParent
()
!=
null
)
&&
componentListenerAdded
)
{
frame
.
getParent
().
removeComponentListener
(
componentListener
);
componentListenerAdded
=
false
;
}
componentListener
=
null
;
if
(
glassPaneDispatcher
!=
null
)
{
if
(
glassPaneDispatcher
!=
null
)
{
frame
.
getGlassPane
().
removeMouseListener
(
glassPaneDispatcher
);
frame
.
getGlassPane
().
removeMouseListener
(
glassPaneDispatcher
);
frame
.
getGlassPane
().
removeMouseMotionListener
(
glassPaneDispatcher
);
frame
.
getGlassPane
().
removeMouseMotionListener
(
glassPaneDispatcher
);
...
@@ -1228,6 +1224,15 @@ public class BasicInternalFrameUI extends InternalFrameUI
...
@@ -1228,6 +1224,15 @@ public class BasicInternalFrameUI extends InternalFrameUI
}
}
}
}
// Relocate the icon base on the new parent bounds.
if
(
icon
!=
null
)
{
Rectangle
iconBounds
=
icon
.
getBounds
();
int
y
=
iconBounds
.
y
+
(
parentNewBounds
.
height
-
parentBounds
.
height
);
icon
.
setBounds
(
iconBounds
.
x
,
y
,
iconBounds
.
width
,
iconBounds
.
height
);
}
// Update the new parent bounds for next resize.
// Update the new parent bounds for next resize.
if
(!
parentBounds
.
equals
(
parentNewBounds
))
{
if
(!
parentBounds
.
equals
(
parentNewBounds
))
{
parentBounds
=
parentNewBounds
;
parentBounds
=
parentNewBounds
;
...
@@ -1399,6 +1404,9 @@ public class BasicInternalFrameUI extends InternalFrameUI
...
@@ -1399,6 +1404,9 @@ public class BasicInternalFrameUI extends InternalFrameUI
// Cancel a resize in progress if the internal frame
// Cancel a resize in progress if the internal frame
// gets a setClosed(true) or dispose().
// gets a setClosed(true) or dispose().
cancelResize
();
cancelResize
();
if
((
frame
.
getParent
()
!=
null
)
&&
componentListenerAdded
)
{
frame
.
getParent
().
removeComponentListener
(
componentListener
);
}
closeFrame
(
f
);
closeFrame
(
f
);
}
}
}
else
if
(
JInternalFrame
.
IS_MAXIMUM_PROPERTY
==
prop
)
{
}
else
if
(
JInternalFrame
.
IS_MAXIMUM_PROPERTY
==
prop
)
{
...
@@ -1431,6 +1439,10 @@ public class BasicInternalFrameUI extends InternalFrameUI
...
@@ -1431,6 +1439,10 @@ public class BasicInternalFrameUI extends InternalFrameUI
}
else
{
}
else
{
parentBounds
=
null
;
parentBounds
=
null
;
}
}
if
((
frame
.
getParent
()
!=
null
)
&&
!
componentListenerAdded
)
{
f
.
getParent
().
addComponentListener
(
componentListener
);
componentListenerAdded
=
true
;
}
}
else
if
(
JInternalFrame
.
TITLE_PROPERTY
==
prop
||
}
else
if
(
JInternalFrame
.
TITLE_PROPERTY
==
prop
||
prop
==
"closable"
||
prop
==
"iconable"
||
prop
==
"closable"
||
prop
==
"iconable"
||
prop
==
"maximizable"
)
{
prop
==
"maximizable"
)
{
...
...
src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 1997-200
5
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -37,17 +37,12 @@ import java.beans.PropertyChangeListener;
...
@@ -37,17 +37,12 @@ import java.beans.PropertyChangeListener;
import
java.beans.PropertyChangeEvent
;
import
java.beans.PropertyChangeEvent
;
import
java.awt.Component
;
import
java.awt.Component
;
import
java.awt.Container
;
import
java.awt.LayoutManager
;
import
java.awt.Rectangle
;
import
java.awt.Rectangle
;
import
java.awt.Dimension
;
import
java.awt.Dimension
;
import
java.awt.Point
;
import
java.awt.Point
;
import
java.awt.Insets
;
import
java.awt.Insets
;
import
java.awt.Graphics
;
import
java.awt.Graphics
;
import
java.awt.event.*
;
import
java.awt.event.*
;
import
java.io.Serializable
;
import
java.awt.Toolkit
;
import
java.awt.ComponentOrientation
;
/**
/**
* A default L&F implementation of ScrollPaneUI.
* A default L&F implementation of ScrollPaneUI.
...
@@ -63,6 +58,7 @@ public class BasicScrollPaneUI
...
@@ -63,6 +58,7 @@ public class BasicScrollPaneUI
protected
ChangeListener
viewportChangeListener
;
protected
ChangeListener
viewportChangeListener
;
protected
PropertyChangeListener
spPropertyChangeListener
;
protected
PropertyChangeListener
spPropertyChangeListener
;
private
MouseWheelListener
mouseScrollListener
;
private
MouseWheelListener
mouseScrollListener
;
private
int
oldExtent
=
Integer
.
MIN_VALUE
;
/**
/**
* PropertyChangeListener installed on the vertical scrollbar.
* PropertyChangeListener installed on the vertical scrollbar.
...
@@ -327,9 +323,13 @@ public class BasicScrollPaneUI
...
@@ -327,9 +323,13 @@ public class BasicScrollPaneUI
* leave it until someone claims.
* leave it until someone claims.
*/
*/
value
=
Math
.
max
(
0
,
Math
.
min
(
max
-
extent
,
max
-
extent
-
viewPosition
.
x
));
value
=
Math
.
max
(
0
,
Math
.
min
(
max
-
extent
,
max
-
extent
-
viewPosition
.
x
));
if
(
oldExtent
>
extent
)
{
value
-=
oldExtent
-
extent
;
}
}
}
}
}
}
}
oldExtent
=
extent
;
hsb
.
setValues
(
value
,
extent
,
0
,
max
);
hsb
.
setValues
(
value
,
extent
,
0
,
max
);
}
}
...
@@ -1020,7 +1020,7 @@ public class BasicScrollPaneUI
...
@@ -1020,7 +1020,7 @@ public class BasicScrollPaneUI
if
(
viewport
!=
null
)
{
if
(
viewport
!=
null
)
{
if
(
e
.
getSource
()
==
viewport
)
{
if
(
e
.
getSource
()
==
viewport
)
{
viewportStateChanged
(
e
);
syncScrollPaneWithViewport
(
);
}
}
else
{
else
{
JScrollBar
hsb
=
scrollpane
.
getHorizontalScrollBar
();
JScrollBar
hsb
=
scrollpane
.
getHorizontalScrollBar
();
...
@@ -1077,11 +1077,6 @@ public class BasicScrollPaneUI
...
@@ -1077,11 +1077,6 @@ public class BasicScrollPaneUI
viewport
.
setViewPosition
(
p
);
viewport
.
setViewPosition
(
p
);
}
}
private
void
viewportStateChanged
(
ChangeEvent
e
)
{
syncScrollPaneWithViewport
();
}
//
//
// PropertyChangeListener: This is installed on both the JScrollPane
// PropertyChangeListener: This is installed on both the JScrollPane
// and the horizontal/vertical scrollbars.
// and the horizontal/vertical scrollbars.
...
...
src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java
已删除
100644 → 0
浏览文件 @
8fc72d57
/*
* Copyright 1997-2008 Sun Microsystems, Inc. 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package
javax.swing.plaf.basic
;
import
javax.swing.*
;
import
java.awt.*
;
import
java.awt.event.*
;
import
java.beans.*
;
/**
* DesktopIconMover is intended to move desktop icon
* when parent window is resized.
*/
class
DesktopIconMover
implements
ComponentListener
,
PropertyChangeListener
{
private
Component
parent
;
private
JInternalFrame
frame
;
// if not null, DesktopIconMover(frame)
// constructor was used
private
JInternalFrame
.
JDesktopIcon
icon
;
private
Rectangle
parentBounds
;
private
boolean
componentListenerAdded
=
false
;
public
DesktopIconMover
(
JInternalFrame
frame
)
{
if
(
frame
==
null
)
{
throw
new
NullPointerException
(
"Frame cannot be null"
);
}
this
.
frame
=
frame
;
this
.
icon
=
frame
.
getDesktopIcon
();
if
(
icon
==
null
)
{
throw
new
NullPointerException
(
"frame.getDesktopIcon() cannot be null"
);
}
this
.
parent
=
frame
.
getParent
();
if
(
this
.
parent
!=
null
)
{
parentBounds
=
this
.
parent
.
getBounds
();
}
}
public
DesktopIconMover
(
JInternalFrame
.
JDesktopIcon
icon
)
{
if
(
icon
==
null
)
{
throw
new
NullPointerException
(
"Icon cannot be null"
);
}
this
.
icon
=
icon
;
this
.
parent
=
icon
.
getParent
();
if
(
this
.
parent
!=
null
)
{
parentBounds
=
this
.
parent
.
getBounds
();
}
}
public
void
installListeners
()
{
if
(
frame
!=
null
)
{
frame
.
addPropertyChangeListener
(
this
);
}
else
{
icon
.
addPropertyChangeListener
(
this
);
}
addComponentListener
();
}
public
void
uninstallListeners
()
{
if
(
frame
!=
null
)
{
frame
.
removePropertyChangeListener
(
this
);
}
else
{
icon
.
removePropertyChangeListener
(
this
);
}
removeComponentListener
();
}
public
void
propertyChange
(
PropertyChangeEvent
evt
)
{
String
propName
=
evt
.
getPropertyName
();
if
(
"ancestor"
.
equals
(
propName
))
{
Component
newAncestor
=
(
Component
)
evt
.
getNewValue
();
// Remove component listener if parent is changing
Component
probablyNewParent
=
getCurrentParent
();
if
((
probablyNewParent
!=
null
)
&&
(!
probablyNewParent
.
equals
(
parent
)))
{
removeComponentListener
();
parent
=
probablyNewParent
;
}
if
(
newAncestor
==
null
)
{
removeComponentListener
();
}
else
{
addComponentListener
();
}
// Update parentBounds
if
(
parent
!=
null
)
{
parentBounds
=
parent
.
getBounds
();
}
else
{
parentBounds
=
null
;
}
}
else
if
(
JInternalFrame
.
IS_CLOSED_PROPERTY
.
equals
(
propName
))
{
removeComponentListener
();
}
}
private
void
addComponentListener
()
{
if
(!
componentListenerAdded
&&
(
parent
!=
null
))
{
parent
.
addComponentListener
(
this
);
componentListenerAdded
=
true
;
}
}
private
void
removeComponentListener
()
{
if
((
parent
!=
null
)
&&
componentListenerAdded
)
{
parent
.
removeComponentListener
(
this
);
componentListenerAdded
=
false
;
}
}
private
Component
getCurrentParent
()
{
if
(
frame
!=
null
)
{
return
frame
.
getParent
();
}
else
{
return
icon
.
getParent
();
}
}
public
void
componentResized
(
ComponentEvent
e
)
{
if
((
parent
==
null
)
||
(
parentBounds
==
null
))
{
return
;
}
Rectangle
parentNewBounds
=
parent
.
getBounds
();
if
((
parentNewBounds
==
null
)
||
parentNewBounds
.
equals
(
parentBounds
))
{
return
;
}
// Move desktop icon only in up-down direction
int
newIconY
=
icon
.
getLocation
().
y
+
(
parentNewBounds
.
height
-
parentBounds
.
height
);
icon
.
setLocation
(
icon
.
getLocation
().
x
,
newIconY
);
parentBounds
=
parentNewBounds
;
}
public
void
componentMoved
(
ComponentEvent
e
)
{
}
public
void
componentShown
(
ComponentEvent
e
)
{
}
public
void
componentHidden
(
ComponentEvent
e
)
{
}
}
src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java
浏览文件 @
a8bb37d3
...
@@ -227,10 +227,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -227,10 +227,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
*
*
* @param x an encoded x value (0...1, or 1...2, or 2...3)
* @param x an encoded x value (0...1, or 1...2, or 2...3)
* @return the decoded x value
* @return the decoded x value
* @throws IllegalArgumentException
* if {@code x < 0} or {@code x > 3}
*/
*/
protected
final
float
decodeX
(
float
x
)
{
protected
final
float
decodeX
(
float
x
)
{
if
(
ctx
.
canvasSize
==
null
)
return
x
;
if
(
x
>=
0
&&
x
<=
1
)
{
if
(
x
>=
0
&&
x
<=
1
)
{
return
x
*
leftWidth
;
return
x
*
leftWidth
;
}
else
if
(
x
>
1
&&
x
<
2
)
{
}
else
if
(
x
>
1
&&
x
<
2
)
{
...
@@ -238,7 +238,7 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -238,7 +238,7 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
}
else
if
(
x
>=
2
&&
x
<=
3
)
{
}
else
if
(
x
>=
2
&&
x
<=
3
)
{
return
((
x
-
2
)
*
rightWidth
)
+
leftWidth
+
centerWidth
;
return
((
x
-
2
)
*
rightWidth
)
+
leftWidth
+
centerWidth
;
}
else
{
}
else
{
throw
new
AssertionError
(
"Invalid x"
);
throw
new
IllegalArgumentException
(
"Invalid x"
);
}
}
}
}
...
@@ -248,10 +248,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -248,10 +248,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
*
*
* @param y an encoded y value (0...1, or 1...2, or 2...3)
* @param y an encoded y value (0...1, or 1...2, or 2...3)
* @return the decoded y value
* @return the decoded y value
* @throws IllegalArgumentException
* if {@code y < 0} or {@code y > 3}
*/
*/
protected
final
float
decodeY
(
float
y
)
{
protected
final
float
decodeY
(
float
y
)
{
if
(
ctx
.
canvasSize
==
null
)
return
y
;
if
(
y
>=
0
&&
y
<=
1
)
{
if
(
y
>=
0
&&
y
<=
1
)
{
return
y
*
topHeight
;
return
y
*
topHeight
;
}
else
if
(
y
>
1
&&
y
<
2
)
{
}
else
if
(
y
>
1
&&
y
<
2
)
{
...
@@ -259,7 +259,7 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -259,7 +259,7 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
}
else
if
(
y
>=
2
&&
y
<=
3
)
{
}
else
if
(
y
>=
2
&&
y
<=
3
)
{
return
((
y
-
2
)
*
bottomHeight
)
+
topHeight
+
centerHeight
;
return
((
y
-
2
)
*
bottomHeight
)
+
topHeight
+
centerHeight
;
}
else
{
}
else
{
throw
new
AssertionError
(
"Invalid y"
);
throw
new
IllegalArgumentException
(
"Invalid y"
);
}
}
}
}
...
@@ -271,10 +271,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -271,10 +271,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
* @param x an encoded x value of the bezier control point (0...1, or 1...2, or 2...3)
* @param x an encoded x value of the bezier control point (0...1, or 1...2, or 2...3)
* @param dx the offset distance to the anchor from the control point x
* @param dx the offset distance to the anchor from the control point x
* @return the decoded x location of the control point
* @return the decoded x location of the control point
* @throws IllegalArgumentException
* if {@code x < 0} or {@code x > 3}
*/
*/
protected
final
float
decodeAnchorX
(
float
x
,
float
dx
)
{
protected
final
float
decodeAnchorX
(
float
x
,
float
dx
)
{
if
(
ctx
.
canvasSize
==
null
)
return
x
+
dx
;
if
(
x
>=
0
&&
x
<=
1
)
{
if
(
x
>=
0
&&
x
<=
1
)
{
return
decodeX
(
x
)
+
(
dx
*
leftScale
);
return
decodeX
(
x
)
+
(
dx
*
leftScale
);
}
else
if
(
x
>
1
&&
x
<
2
)
{
}
else
if
(
x
>
1
&&
x
<
2
)
{
...
@@ -282,7 +282,7 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -282,7 +282,7 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
}
else
if
(
x
>=
2
&&
x
<=
3
)
{
}
else
if
(
x
>=
2
&&
x
<=
3
)
{
return
decodeX
(
x
)
+
(
dx
*
rightScale
);
return
decodeX
(
x
)
+
(
dx
*
rightScale
);
}
else
{
}
else
{
throw
new
AssertionError
(
"Invalid x"
);
throw
new
IllegalArgumentException
(
"Invalid x"
);
}
}
}
}
...
@@ -294,10 +294,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -294,10 +294,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
* @param y an encoded y value of the bezier control point (0...1, or 1...2, or 2...3)
* @param y an encoded y value of the bezier control point (0...1, or 1...2, or 2...3)
* @param dy the offset distance to the anchor from the control point y
* @param dy the offset distance to the anchor from the control point y
* @return the decoded y position of the control point
* @return the decoded y position of the control point
* @throws IllegalArgumentException
* if {@code y < 0} or {@code y > 3}
*/
*/
protected
final
float
decodeAnchorY
(
float
y
,
float
dy
)
{
protected
final
float
decodeAnchorY
(
float
y
,
float
dy
)
{
if
(
ctx
.
canvasSize
==
null
)
return
y
+
dy
;
if
(
y
>=
0
&&
y
<=
1
)
{
if
(
y
>=
0
&&
y
<=
1
)
{
return
decodeY
(
y
)
+
(
dy
*
topScale
);
return
decodeY
(
y
)
+
(
dy
*
topScale
);
}
else
if
(
y
>
1
&&
y
<
2
)
{
}
else
if
(
y
>
1
&&
y
<
2
)
{
...
@@ -305,7 +305,7 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -305,7 +305,7 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
}
else
if
(
y
>=
2
&&
y
<=
3
)
{
}
else
if
(
y
>=
2
&&
y
<=
3
)
{
return
decodeY
(
y
)
+
(
dy
*
bottomScale
);
return
decodeY
(
y
)
+
(
dy
*
bottomScale
);
}
else
{
}
else
{
throw
new
AssertionError
(
"Invalid y"
);
throw
new
IllegalArgumentException
(
"Invalid y"
);
}
}
}
}
...
@@ -363,6 +363,15 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -363,6 +363,15 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
* @param midpoints
* @param midpoints
* @param colors
* @param colors
* @return a valid LinearGradientPaint. This method never returns null.
* @return a valid LinearGradientPaint. This method never returns null.
* @throws NullPointerException
* if {@code midpoints} array is null,
* or {@code colors} array is null,
* @throws IllegalArgumentException
* if start and end points are the same points,
* or {@code midpoints.length != colors.length},
* or {@code colors} is less than 2 in size,
* or a {@code midpoints} value is less than 0.0 or greater than 1.0,
* or the {@code midpoints} are not provided in strictly increasing order
*/
*/
protected
final
LinearGradientPaint
decodeGradient
(
float
x1
,
float
y1
,
float
x2
,
float
y2
,
float
[]
midpoints
,
Color
[]
colors
)
{
protected
final
LinearGradientPaint
decodeGradient
(
float
x1
,
float
y1
,
float
x2
,
float
y2
,
float
[]
midpoints
,
Color
[]
colors
)
{
if
(
x1
==
x2
&&
y1
==
y2
)
{
if
(
x1
==
x2
&&
y1
==
y2
)
{
...
@@ -384,6 +393,15 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -384,6 +393,15 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
* @param midpoints
* @param midpoints
* @param colors
* @param colors
* @return a valid RadialGradientPaint. This method never returns null.
* @return a valid RadialGradientPaint. This method never returns null.
* @throws NullPointerException
* if {@code midpoints} array is null,
* or {@code colors} array is null
* @throws IllegalArgumentException
* if {@code r} is non-positive,
* or {@code midpoints.length != colors.length},
* or {@code colors} is less than 2 in size,
* or a {@code midpoints} value is less than 0.0 or greater than 1.0,
* or the {@code midpoints} are not provided in strictly increasing order
*/
*/
protected
final
RadialGradientPaint
decodeRadialGradient
(
float
x
,
float
y
,
float
r
,
float
[]
midpoints
,
Color
[]
colors
)
{
protected
final
RadialGradientPaint
decodeRadialGradient
(
float
x
,
float
y
,
float
r
,
float
[]
midpoints
,
Color
[]
colors
)
{
if
(
r
==
0
f
)
{
if
(
r
==
0
f
)
{
...
@@ -537,10 +555,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
...
@@ -537,10 +555,10 @@ public abstract class AbstractRegionPainter implements Painter<JComponent> {
this
.
maxVerticalScaleFactor
=
maxV
;
this
.
maxVerticalScaleFactor
=
maxV
;
if
(
canvasSize
!=
null
)
{
if
(
canvasSize
!=
null
)
{
a
=
i
nsets
.
left
;
a
=
stretchingI
nsets
.
left
;
b
=
canvasSize
.
width
-
i
nsets
.
right
;
b
=
canvasSize
.
width
-
stretchingI
nsets
.
right
;
c
=
i
nsets
.
top
;
c
=
stretchingI
nsets
.
top
;
d
=
canvasSize
.
height
-
i
nsets
.
bottom
;
d
=
canvasSize
.
height
-
stretchingI
nsets
.
bottom
;
this
.
canvasSize
=
canvasSize
;
this
.
canvasSize
=
canvasSize
;
this
.
inverted
=
inverted
;
this
.
inverted
=
inverted
;
if
(
inverted
)
{
if
(
inverted
)
{
...
...
src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java
浏览文件 @
a8bb37d3
...
@@ -84,6 +84,8 @@ class NimbusIcon extends SynthIcon {
...
@@ -84,6 +84,8 @@ class NimbusIcon extends SynthIcon {
translatex
=
1
;
translatex
=
1
;
}
}
}
}
}
else
if
(
c
instanceof
JMenu
)
{
flip
=
!
c
.
getComponentOrientation
().
isLeftToRight
();
}
}
if
(
g
instanceof
Graphics2D
){
if
(
g
instanceof
Graphics2D
){
Graphics2D
gfx
=
(
Graphics2D
)
g
;
Graphics2D
gfx
=
(
Graphics2D
)
g
;
...
...
src/share/classes/javax/swing/text/GlyphView.java
浏览文件 @
a8bb37d3
...
@@ -719,8 +719,9 @@ public class GlyphView extends View implements TabableView, Cloneable {
...
@@ -719,8 +719,9 @@ public class GlyphView extends View implements TabableView, Cloneable {
checkPainter
();
checkPainter
();
int
p0
=
getStartOffset
();
int
p0
=
getStartOffset
();
int
p1
=
painter
.
getBoundedPosition
(
this
,
p0
,
pos
,
len
);
int
p1
=
painter
.
getBoundedPosition
(
this
,
p0
,
pos
,
len
);
return
((
p1
>
p0
)
&&
(
getBreakSpot
(
p0
,
p1
)
!=
BreakIterator
.
DONE
))
?
return
p1
==
p0
?
View
.
BadBreakWeight
:
View
.
ExcellentBreakWeight
:
View
.
BadBreakWeight
;
getBreakSpot
(
p0
,
p1
)
!=
BreakIterator
.
DONE
?
View
.
ExcellentBreakWeight
:
View
.
GoodBreakWeight
;
}
}
return
super
.
getBreakWeight
(
axis
,
pos
,
len
);
return
super
.
getBreakWeight
(
axis
,
pos
,
len
);
}
}
...
...
src/share/classes/javax/swing/text/ParagraphView.java
浏览文件 @
a8bb37d3
...
@@ -174,23 +174,6 @@ public class ParagraphView extends FlowView implements TabExpander {
...
@@ -174,23 +174,6 @@ public class ParagraphView extends FlowView implements TabExpander {
return
layoutPool
.
getView
(
index
);
return
layoutPool
.
getView
(
index
);
}
}
/**
* Adjusts the given row if possible to fit within the
* layout span. By default this will try to find the
* highest break weight possible nearest the end of
* the row. If a forced break is encountered, the
* break will be positioned there.
* <p>
* This is meant for internal usage, and should not be used directly.
*
* @param r the row to adjust to the current layout
* span
* @param desiredSpan the current layout span >= 0
* @param x the location r starts at
*/
protected
void
adjustRow
(
Row
r
,
int
desiredSpan
,
int
x
)
{
}
/**
/**
* Returns the next visual position for the cursor, in
* Returns the next visual position for the cursor, in
* either the east or west direction.
* either the east or west direction.
...
...
src/share/classes/sun/awt/shell/ShellFolder.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2000-200
8
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2000-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -289,8 +289,8 @@ public abstract class ShellFolder extends File {
...
@@ -289,8 +289,8 @@ public abstract class ShellFolder extends File {
// To avoid loads of synchronizations with Invoker and improve performance we
// To avoid loads of synchronizations with Invoker and improve performance we
// synchronize the whole code of the sort method once
// synchronize the whole code of the sort method once
getInvoker
().
invoke
(
new
Callable
<
Void
>()
{
invoke
(
new
Callable
<
Void
>()
{
public
Void
call
()
throws
Exception
{
public
Void
call
()
{
// Check that we can use the ShellFolder.sortChildren() method:
// Check that we can use the ShellFolder.sortChildren() method:
// 1. All files have the same non-null parent
// 1. All files have the same non-null parent
// 2. All files is ShellFolders
// 2. All files is ShellFolders
...
@@ -330,8 +330,8 @@ public abstract class ShellFolder extends File {
...
@@ -330,8 +330,8 @@ public abstract class ShellFolder extends File {
public
void
sortChildren
(
final
List
<?
extends
File
>
files
)
{
public
void
sortChildren
(
final
List
<?
extends
File
>
files
)
{
// To avoid loads of synchronizations with Invoker and improve performance we
// To avoid loads of synchronizations with Invoker and improve performance we
// synchronize the whole code of the sort method once
// synchronize the whole code of the sort method once
getInvoker
().
invoke
(
new
Callable
<
Void
>()
{
invoke
(
new
Callable
<
Void
>()
{
public
Void
call
()
throws
Exception
{
public
Void
call
()
{
Collections
.
sort
(
files
,
FILE_COMPARATOR
);
Collections
.
sort
(
files
,
FILE_COMPARATOR
);
return
null
;
return
null
;
...
@@ -501,18 +501,62 @@ public abstract class ShellFolder extends File {
...
@@ -501,18 +501,62 @@ public abstract class ShellFolder extends File {
return
invoker
;
return
invoker
;
}
}
/**
* Invokes the {@code task} which doesn't throw checked exceptions
* from its {@code call} method. If invokation is interrupted then Thread.currentThread().isInterrupted() will
* be set and result will be {@code null}
*/
public
static
<
T
>
T
invoke
(
Callable
<
T
>
task
)
{
try
{
return
invoke
(
task
,
RuntimeException
.
class
);
}
catch
(
InterruptedException
e
)
{
return
null
;
}
}
/**
* Invokes the {@code task} which throws checked exceptions from its {@code call} method.
* If invokation is interrupted then Thread.currentThread().isInterrupted() will
* be set and InterruptedException will be thrown as well.
*/
public
static
<
T
,
E
extends
Throwable
>
T
invoke
(
Callable
<
T
>
task
,
Class
<
E
>
exceptionClass
)
throws
InterruptedException
,
E
{
try
{
return
getInvoker
().
invoke
(
task
);
}
catch
(
Exception
e
)
{
if
(
e
instanceof
RuntimeException
)
{
// Rethrow unchecked exceptions
throw
(
RuntimeException
)
e
;
}
if
(
e
instanceof
InterruptedException
)
{
// Set isInterrupted flag for current thread
Thread
.
currentThread
().
interrupt
();
// Rethrow InterruptedException
throw
(
InterruptedException
)
e
;
}
if
(
exceptionClass
.
isInstance
(
e
))
{
throw
exceptionClass
.
cast
(
e
);
}
throw
new
RuntimeException
(
"Unexpected error"
,
e
);
}
}
/**
/**
* Interface allowing to invoke tasks in different environments on different platforms.
* Interface allowing to invoke tasks in different environments on different platforms.
*/
*/
public
static
interface
Invoker
{
public
static
interface
Invoker
{
/**
/**
* Invokes a callable task. If the {@code task} throws a checked exception,
* Invokes a callable task.
* it will be wrapped into a {@link RuntimeException}
*
*
* @param task a task to invoke
* @param task a task to invoke
* @throws Exception {@code InterruptedException} or an exception that was thrown from the {@code task}
* @return the result of {@code task}'s invokation
* @return the result of {@code task}'s invokation
*/
*/
<
T
>
T
invoke
(
Callable
<
T
>
task
);
<
T
>
T
invoke
(
Callable
<
T
>
task
)
throws
Exception
;
}
}
/**
/**
...
...
src/share/classes/sun/awt/shell/ShellFolderManager.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2000-200
8
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2000-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -108,12 +108,8 @@ class ShellFolderManager {
...
@@ -108,12 +108,8 @@ class ShellFolderManager {
}
}
private
static
class
DirectInvoker
implements
ShellFolder
.
Invoker
{
private
static
class
DirectInvoker
implements
ShellFolder
.
Invoker
{
public
<
T
>
T
invoke
(
Callable
<
T
>
task
)
{
public
<
T
>
T
invoke
(
Callable
<
T
>
task
)
throws
Exception
{
try
{
return
task
.
call
();
return
task
.
call
();
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
}
}
}
}
src/share/classes/sun/dyn/FilterGeneric.java
浏览文件 @
a8bb37d3
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
*
*
* You should have received a copy of the GNU General Public License version
* 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,
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin S
f, t
ifth Floor, Boston, MA 02110-1301 USA.
* Inc., 51 Franklin S
t, F
ifth Floor, Boston, MA 02110-1301 USA.
*
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* CA 95054 USA or visit www.sun.com if you need additional information or
...
...
src/share/classes/sun/security/pkcs11/JarVerifier.java
已删除
100644 → 0
浏览文件 @
8fc72d57
/*
* Copyright 2007 Sun Microsystems, Inc. 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package
sun.security.pkcs11
;
// NOTE: this class is duplicated amongst SunJCE, SunPKCS11, and SunMSCAPI.
// All files should be kept in sync.
import
java.io.*
;
import
java.util.*
;
import
java.util.jar.*
;
import
java.net.URL
;
import
java.net.JarURLConnection
;
import
java.net.MalformedURLException
;
import
java.security.*
;
import
java.security.cert.*
;
import
java.security.cert.Certificate
;
/**
* This class verifies JAR files (and any supporting JAR files), and
* determines whether they may be used in this implementation.
*
* The JCE in OpenJDK has an open cryptographic interface, meaning it
* does not restrict which providers can be used. Compliance with
* United States export controls and with local law governing the
* import/export of products incorporating the JCE in the OpenJDK is
* the responsibility of the licensee.
*
* @since 1.7
*/
final
class
JarVerifier
{
private
static
final
boolean
debug
=
false
;
/**
* Verify the JAR file is signed by an entity which has a certificate
* issued by a trusted CA.
*
* Note: this is a temporary method and will change soon to use the
* exception chaining mechanism, which can provide more details
* as to why the verification failed.
*
* @param c the class to be verified.
* @return true if verification is successful.
*/
static
boolean
verify
(
final
Class
c
)
{
return
true
;
}
}
src/share/classes/sun/security/pkcs11/SunPKCS11.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2003-200
8
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -390,24 +390,6 @@ public final class SunPKCS11 extends AuthProvider {
...
@@ -390,24 +390,6 @@ public final class SunPKCS11 extends AuthProvider {
return
sb
.
toString
();
return
sb
.
toString
();
}
}
// set to true once self verification is complete
private
static
volatile
boolean
integrityVerified
;
static
void
verifySelfIntegrity
(
Class
c
)
{
if
(
integrityVerified
)
{
return
;
}
doVerifySelfIntegrity
(
c
);
}
private
static
synchronized
void
doVerifySelfIntegrity
(
Class
c
)
{
integrityVerified
=
JarVerifier
.
verify
(
c
);
if
(
integrityVerified
==
false
)
{
throw
new
ProviderException
(
"The SunPKCS11 provider may have been tampered with."
);
}
}
public
boolean
equals
(
Object
obj
)
{
public
boolean
equals
(
Object
obj
)
{
return
this
==
obj
;
return
this
==
obj
;
}
}
...
@@ -923,7 +905,6 @@ public final class SunPKCS11 extends AuthProvider {
...
@@ -923,7 +905,6 @@ public final class SunPKCS11 extends AuthProvider {
if
(
type
==
MD
)
{
if
(
type
==
MD
)
{
return
new
P11Digest
(
token
,
algorithm
,
mechanism
);
return
new
P11Digest
(
token
,
algorithm
,
mechanism
);
}
else
if
(
type
==
CIP
)
{
}
else
if
(
type
==
CIP
)
{
verifySelfIntegrity
(
getClass
());
if
(
algorithm
.
startsWith
(
"RSA"
))
{
if
(
algorithm
.
startsWith
(
"RSA"
))
{
return
new
P11RSACipher
(
token
,
algorithm
,
mechanism
);
return
new
P11RSACipher
(
token
,
algorithm
,
mechanism
);
}
else
{
}
else
{
...
@@ -932,12 +913,10 @@ public final class SunPKCS11 extends AuthProvider {
...
@@ -932,12 +913,10 @@ public final class SunPKCS11 extends AuthProvider {
}
else
if
(
type
==
SIG
)
{
}
else
if
(
type
==
SIG
)
{
return
new
P11Signature
(
token
,
algorithm
,
mechanism
);
return
new
P11Signature
(
token
,
algorithm
,
mechanism
);
}
else
if
(
type
==
MAC
)
{
}
else
if
(
type
==
MAC
)
{
verifySelfIntegrity
(
getClass
());
return
new
P11Mac
(
token
,
algorithm
,
mechanism
);
return
new
P11Mac
(
token
,
algorithm
,
mechanism
);
}
else
if
(
type
==
KPG
)
{
}
else
if
(
type
==
KPG
)
{
return
new
P11KeyPairGenerator
(
token
,
algorithm
,
mechanism
);
return
new
P11KeyPairGenerator
(
token
,
algorithm
,
mechanism
);
}
else
if
(
type
==
KA
)
{
}
else
if
(
type
==
KA
)
{
verifySelfIntegrity
(
getClass
());
if
(
algorithm
.
equals
(
"ECDH"
))
{
if
(
algorithm
.
equals
(
"ECDH"
))
{
return
new
P11ECDHKeyAgreement
(
token
,
algorithm
,
mechanism
);
return
new
P11ECDHKeyAgreement
(
token
,
algorithm
,
mechanism
);
}
else
{
}
else
{
...
@@ -946,11 +925,8 @@ public final class SunPKCS11 extends AuthProvider {
...
@@ -946,11 +925,8 @@ public final class SunPKCS11 extends AuthProvider {
}
else
if
(
type
==
KF
)
{
}
else
if
(
type
==
KF
)
{
return
token
.
getKeyFactory
(
algorithm
);
return
token
.
getKeyFactory
(
algorithm
);
}
else
if
(
type
==
SKF
)
{
}
else
if
(
type
==
SKF
)
{
verifySelfIntegrity
(
getClass
());
return
new
P11SecretKeyFactory
(
token
,
algorithm
);
return
new
P11SecretKeyFactory
(
token
,
algorithm
);
}
else
if
(
type
==
KG
)
{
}
else
if
(
type
==
KG
)
{
verifySelfIntegrity
(
getClass
());
// reference equality
// reference equality
if
(
algorithm
==
"SunTlsRsaPremasterSecret"
)
{
if
(
algorithm
==
"SunTlsRsaPremasterSecret"
)
{
return
new
P11TlsRsaPremasterSecretGenerator
(
return
new
P11TlsRsaPremasterSecretGenerator
(
...
...
src/share/classes/sun/swing/FilePane.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2003-200
8
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -905,8 +904,8 @@ public class FilePane extends JPanel implements PropertyChangeListener {
...
@@ -905,8 +904,8 @@ public class FilePane extends JPanel implements PropertyChangeListener {
@Override
@Override
public
void
sort
()
{
public
void
sort
()
{
ShellFolder
.
getInvoker
().
invoke
(
new
Callable
<
Void
>()
{
ShellFolder
.
invoke
(
new
Callable
<
Void
>()
{
public
Void
call
()
throws
Exception
{
public
Void
call
()
{
DetailsTableRowSorter
.
super
.
sort
();
DetailsTableRowSorter
.
super
.
sort
();
return
null
;
return
null
;
}
}
...
...
src/share/classes/sun/swing/MenuItemLayoutHelper.java
浏览文件 @
a8bb37d3
...
@@ -718,10 +718,10 @@ public class MenuItemLayoutHelper {
...
@@ -718,10 +718,10 @@ public class MenuItemLayoutHelper {
}
}
private
void
alignRect
(
Rectangle
rect
,
int
alignment
,
int
origWidth
)
{
private
void
alignRect
(
Rectangle
rect
,
int
alignment
,
int
origWidth
)
{
if
(
alignment
!=
SwingUtilities
.
LEF
T
)
{
if
(
alignment
==
SwingConstants
.
RIGH
T
)
{
rect
.
x
=
rect
.
x
+
rect
.
width
-
origWidth
;
rect
.
x
=
rect
.
x
+
rect
.
width
-
origWidth
;
rect
.
width
=
origWidth
;
}
}
rect
.
width
=
origWidth
;
}
}
protected
void
layoutIconAndTextInLabelRect
(
LayoutResult
lr
)
{
protected
void
layoutIconAndTextInLabelRect
(
LayoutResult
lr
)
{
...
...
src/solaris/classes/sun/awt/X11/XRobotPeer.java
浏览文件 @
a8bb37d3
...
@@ -27,6 +27,7 @@ package sun.awt.X11;
...
@@ -27,6 +27,7 @@ package sun.awt.X11;
import
java.awt.*
;
import
java.awt.*
;
import
java.awt.peer.*
;
import
java.awt.peer.*
;
import
sun.awt.X11GraphicsConfig
;
import
sun.awt.X11GraphicsConfig
;
import
sun.awt.SunToolkit
;
class
XRobotPeer
implements
RobotPeer
{
class
XRobotPeer
implements
RobotPeer
{
private
X11GraphicsConfig
xgc
=
null
;
private
X11GraphicsConfig
xgc
=
null
;
...
@@ -38,7 +39,8 @@ class XRobotPeer implements RobotPeer {
...
@@ -38,7 +39,8 @@ class XRobotPeer implements RobotPeer {
XRobotPeer
(
GraphicsConfiguration
gc
)
{
XRobotPeer
(
GraphicsConfiguration
gc
)
{
this
.
xgc
=
(
X11GraphicsConfig
)
gc
;
this
.
xgc
=
(
X11GraphicsConfig
)
gc
;
setup
();
SunToolkit
tk
=
(
SunToolkit
)
Toolkit
.
getDefaultToolkit
();
setup
(
tk
.
getNumberOfButtons
());
}
}
public
void
dispose
()
{
public
void
dispose
()
{
...
@@ -81,7 +83,7 @@ class XRobotPeer implements RobotPeer {
...
@@ -81,7 +83,7 @@ class XRobotPeer implements RobotPeer {
return
pixelArray
;
return
pixelArray
;
}
}
private
static
native
synchronized
void
setup
();
private
static
native
synchronized
void
setup
(
int
numberOfButtons
);
private
static
native
synchronized
void
mouseMoveImpl
(
X11GraphicsConfig
xgc
,
int
x
,
int
y
);
private
static
native
synchronized
void
mouseMoveImpl
(
X11GraphicsConfig
xgc
,
int
x
,
int
y
);
private
static
native
synchronized
void
mousePressImpl
(
int
buttons
);
private
static
native
synchronized
void
mousePressImpl
(
int
buttons
);
...
...
src/solaris/native/sun/awt/awt_Robot.c
浏览文件 @
a8bb37d3
...
@@ -51,9 +51,8 @@
...
@@ -51,9 +51,8 @@
extern
struct
X11GraphicsConfigIDs
x11GraphicsConfigIDs
;
extern
struct
X11GraphicsConfigIDs
x11GraphicsConfigIDs
;
extern
int32_t
getNumButtons
();
static
jint
*
masks
;
static
jint
*
masks
;
static
jint
num_buttons
;
static
int32_t
isXTestAvailable
()
{
static
int32_t
isXTestAvailable
()
{
int32_t
major_opcode
,
first_event
,
first_error
;
int32_t
major_opcode
,
first_event
,
first_error
;
...
@@ -164,34 +163,34 @@ static XImage *getWindowImage(Display * display, Window window,
...
@@ -164,34 +163,34 @@ static XImage *getWindowImage(Display * display, Window window,
/*********************************************************************************************/
/*********************************************************************************************/
// this should be called from XRobotPeer constructor
JNIEXPORT
void
JNICALL
JNIEXPORT
void
JNICALL
Java_sun_awt_X11_XRobotPeer_setup
(
JNIEnv
*
env
,
jclass
cls
)
{
Java_sun_awt_X11_XRobotPeer_setup
(
JNIEnv
*
env
,
jclass
cls
,
jint
numberOfButtons
)
{
int32_t
xtestAvailable
;
int32_t
xtestAvailable
;
// this should be called from XRobotPeer constructor
DTRACE_PRINTLN
(
"RobotPeer: setup()"
);
num_buttons
=
numberOfButtons
;
jclass
inputEventClazz
=
(
*
env
)
->
FindClass
(
env
,
"java/awt/event/InputEvent"
);
jclass
inputEventClazz
=
(
*
env
)
->
FindClass
(
env
,
"java/awt/event/InputEvent"
);
jmethodID
getButtonDownMasksID
=
(
*
env
)
->
GetStaticMethodID
(
env
,
inputEventClazz
,
"getButtonDownMasks"
,
"()[I"
);
jmethodID
getButtonDownMasksID
=
(
*
env
)
->
GetStaticMethodID
(
env
,
inputEventClazz
,
"getButtonDownMasks"
,
"()[I"
);
jintArray
obj
=
(
jintArray
)(
*
env
)
->
CallStaticObjectMethod
(
env
,
inputEventClazz
,
getButtonDownMasksID
);
jintArray
obj
=
(
jintArray
)(
*
env
)
->
CallStaticObjectMethod
(
env
,
inputEventClazz
,
getButtonDownMasksID
);
jsize
len
=
(
*
env
)
->
GetArrayLength
(
env
,
obj
);
jint
*
tmp
=
(
*
env
)
->
GetIntArrayElements
(
env
,
obj
,
JNI_FALSE
);
jint
*
tmp
=
(
*
env
)
->
GetIntArrayElements
(
env
,
obj
,
JNI_FALSE
);
masks
=
(
jint
*
)
malloc
(
sizeof
(
jint
)
*
len
);
masks
=
(
jint
*
)
malloc
(
sizeof
(
jint
)
*
num_buttons
);
if
(
masks
==
(
jint
*
)
NULL
)
{
if
(
masks
==
(
jint
*
)
NULL
)
{
JNU_ThrowOutOfMemoryError
((
JNIEnv
*
)
JNU_GetEnv
(
jvm
,
JNI_VERSION_1_2
),
NULL
);
JNU_ThrowOutOfMemoryError
((
JNIEnv
*
)
JNU_GetEnv
(
jvm
,
JNI_VERSION_1_2
),
NULL
);
goto
finally
;
goto
finally
;
}
}
int
i
;
int
i
;
for
(
i
=
0
;
i
<
len
;
i
++
)
{
for
(
i
=
0
;
i
<
num_buttons
;
i
++
)
{
masks
[
i
]
=
tmp
[
i
];
masks
[
i
]
=
tmp
[
i
];
}
}
(
*
env
)
->
ReleaseIntArrayElements
(
env
,
obj
,
tmp
,
0
);
(
*
env
)
->
ReleaseIntArrayElements
(
env
,
obj
,
tmp
,
0
);
(
*
env
)
->
DeleteLocalRef
(
env
,
obj
);
(
*
env
)
->
DeleteLocalRef
(
env
,
obj
);
DTRACE_PRINTLN
(
"RobotPeer: setup()"
);
AWT_LOCK
();
AWT_LOCK
();
xtestAvailable
=
isXTestAvailable
();
xtestAvailable
=
isXTestAvailable
();
DTRACE_PRINTLN1
(
"RobotPeer: XTest available = %d"
,
xtestAvailable
);
DTRACE_PRINTLN1
(
"RobotPeer: XTest available = %d"
,
xtestAvailable
);
if
(
!
xtestAvailable
)
{
if
(
!
xtestAvailable
)
{
...
@@ -338,8 +337,6 @@ void mouseAction(JNIEnv *env,
...
@@ -338,8 +337,6 @@ void mouseAction(JNIEnv *env,
{
{
AWT_LOCK
();
AWT_LOCK
();
int32_t
num_buttons
=
getNumButtons
();
//from XToolkit.c
DTRACE_PRINTLN1
(
"RobotPeer: mouseAction(%i)"
,
buttonMask
);
DTRACE_PRINTLN1
(
"RobotPeer: mouseAction(%i)"
,
buttonMask
);
DTRACE_PRINTLN1
(
"RobotPeer: mouseAction, press = %d"
,
isMousePress
);
DTRACE_PRINTLN1
(
"RobotPeer: mouseAction, press = %d"
,
isMousePress
);
...
...
src/windows/classes/sun/awt/shell/Win32ShellFolder2.java
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2003-200
8
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -58,10 +58,15 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
...
@@ -58,10 +58,15 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
}
}
public
ShellFolder
createShellFolder
(
File
file
)
throws
FileNotFoundException
{
public
ShellFolder
createShellFolder
(
File
file
)
throws
FileNotFoundException
{
return
createShellFolder
(
getDesktop
(),
file
);
try
{
return
createShellFolder
(
getDesktop
(),
file
);
}
catch
(
InterruptedException
e
)
{
throw
new
FileNotFoundException
(
"Execution was interrupted"
);
}
}
}
static
Win32ShellFolder2
createShellFolder
(
Win32ShellFolder2
parent
,
File
file
)
throws
FileNotFoundException
{
static
Win32ShellFolder2
createShellFolder
(
Win32ShellFolder2
parent
,
File
file
)
throws
FileNotFoundException
,
InterruptedException
{
long
pIDL
;
long
pIDL
;
try
{
try
{
pIDL
=
parent
.
parseDisplayName
(
file
.
getCanonicalPath
());
pIDL
=
parent
.
parseDisplayName
(
file
.
getCanonicalPath
());
...
@@ -77,7 +82,8 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
...
@@ -77,7 +82,8 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
return
folder
;
return
folder
;
}
}
static
Win32ShellFolder2
createShellFolderFromRelativePIDL
(
Win32ShellFolder2
parent
,
long
pIDL
)
{
static
Win32ShellFolder2
createShellFolderFromRelativePIDL
(
Win32ShellFolder2
parent
,
long
pIDL
)
throws
InterruptedException
{
// Walk down this relative pIDL, creating new nodes for each of the entries
// Walk down this relative pIDL, creating new nodes for each of the entries
while
(
pIDL
!=
0
)
{
while
(
pIDL
!=
0
)
{
long
curPIDL
=
Win32ShellFolder2
.
copyFirstPIDLEntry
(
pIDL
);
long
curPIDL
=
Win32ShellFolder2
.
copyFirstPIDLEntry
(
pIDL
);
...
@@ -108,7 +114,9 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
...
@@ -108,7 +114,9 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
try
{
try
{
desktop
=
new
Win32ShellFolder2
(
DESKTOP
);
desktop
=
new
Win32ShellFolder2
(
DESKTOP
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
desktop
=
null
;
// Ignore error
}
catch
(
InterruptedException
e
)
{
// Ignore error
}
}
}
}
return
desktop
;
return
desktop
;
...
@@ -119,7 +127,9 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
...
@@ -119,7 +127,9 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
try
{
try
{
drives
=
new
Win32ShellFolder2
(
DRIVES
);
drives
=
new
Win32ShellFolder2
(
DRIVES
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
drives
=
null
;
// Ignore error
}
catch
(
InterruptedException
e
)
{
// Ignore error
}
}
}
}
return
drives
;
return
drives
;
...
@@ -132,8 +142,10 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
...
@@ -132,8 +142,10 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
if
(
path
!=
null
)
{
if
(
path
!=
null
)
{
recent
=
createShellFolder
(
getDesktop
(),
new
File
(
path
));
recent
=
createShellFolder
(
getDesktop
(),
new
File
(
path
));
}
}
}
catch
(
InterruptedException
e
)
{
// Ignore error
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
recent
=
null
;
// Ignore error
}
}
}
}
return
recent
;
return
recent
;
...
@@ -144,7 +156,9 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
...
@@ -144,7 +156,9 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
try
{
try
{
network
=
new
Win32ShellFolder2
(
NETWORK
);
network
=
new
Win32ShellFolder2
(
NETWORK
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
network
=
null
;
// Ignore error
}
catch
(
InterruptedException
e
)
{
// Ignore error
}
}
}
}
return
network
;
return
network
;
...
@@ -164,8 +178,10 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
...
@@ -164,8 +178,10 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
personal
.
setIsPersonal
();
personal
.
setIsPersonal
();
}
}
}
}
}
catch
(
InterruptedException
e
)
{
// Ignore error
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
personal
=
null
;
// Ignore error
}
}
}
}
return
personal
;
return
personal
;
...
@@ -267,6 +283,9 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
...
@@ -267,6 +283,9 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
}
}
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
// Skip this value
// Skip this value
}
catch
(
InterruptedException
e
)
{
// Return empty result
return
new
File
[
0
];
}
}
}
while
(
value
!=
null
);
}
while
(
value
!=
null
);
...
@@ -476,33 +495,39 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
...
@@ -476,33 +495,39 @@ public class Win32ShellFolderManager2 extends ShellFolderManager {
return
comThread
;
return
comThread
;
}
}
public
<
T
>
T
invoke
(
Callable
<
T
>
task
)
{
public
<
T
>
T
invoke
(
Callable
<
T
>
task
)
throws
Exception
{
try
{
if
(
Thread
.
currentThread
()
==
comThread
)
{
if
(
Thread
.
currentThread
()
==
comThread
)
{
// if it's already called from the COM
// if it's already called from the COM
// thread, we don't need to delegate the task
// thread, we don't need to delegate the task
return
task
.
call
();
return
task
.
call
();
}
else
{
}
else
{
Future
<
T
>
future
;
while
(
true
)
{
Future
<
T
>
future
=
submit
(
task
);
try
{
future
=
submit
(
task
);
try
{
}
catch
(
RejectedExecutionException
e
)
{
return
future
.
get
();
throw
new
InterruptedException
(
e
.
getMessage
());
}
catch
(
InterruptedException
e
)
{
// Repeat the attempt
future
.
cancel
(
true
);
}
}
}
}
catch
(
Exception
e
)
{
Throwable
cause
=
(
e
instanceof
ExecutionException
)
?
e
.
getCause
()
:
e
;
if
(
cause
instanceof
RuntimeException
)
{
throw
(
RuntimeException
)
cause
;
}
}
if
(
cause
instanceof
Error
)
{
throw
(
Error
)
cause
;
try
{
return
future
.
get
();
}
catch
(
InterruptedException
e
)
{
future
.
cancel
(
true
);
throw
e
;
}
catch
(
ExecutionException
e
)
{
Throwable
cause
=
e
.
getCause
();
if
(
cause
instanceof
Exception
)
{
throw
(
Exception
)
cause
;
}
if
(
cause
instanceof
Error
)
{
throw
(
Error
)
cause
;
}
throw
new
RuntimeException
(
"Unexpected error"
,
cause
);
}
}
throw
new
RuntimeException
(
cause
);
}
}
}
}
}
}
...
...
src/windows/classes/sun/security/mscapi/JarVerifier.java
已删除
100644 → 0
浏览文件 @
8fc72d57
/*
* Copyright 2007 Sun Microsystems, Inc. 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. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package
sun.security.mscapi
;
// NOTE: this class is duplicated amongst SunJCE, SunPKCS11, and SunMSCAPI.
// All files should be kept in sync.
import
java.io.*
;
import
java.util.*
;
import
java.util.jar.*
;
import
java.net.URL
;
import
java.net.JarURLConnection
;
import
java.net.MalformedURLException
;
import
java.security.*
;
import
java.security.cert.*
;
import
java.security.cert.Certificate
;
/**
* This class verifies JAR files (and any supporting JAR files), and
* determines whether they may be used in this implementation.
*
* The JCE in OpenJDK has an open cryptographic interface, meaning it
* does not restrict which providers can be used. Compliance with
* United States export controls and with local law governing the
* import/export of products incorporating the JCE in the OpenJDK is
* the responsibility of the licensee.
*
* @since 1.7
*/
final
class
JarVerifier
{
private
static
final
boolean
debug
=
false
;
/**
* Verify the JAR file is signed by an entity which has a certificate
* issued by a trusted CA.
*
* Note: this is a temporary method and will change soon to use the
* exception chaining mechanism, which can provide more details
* as to why the verification failed.
*
* @param c the class to be verified.
* @return true if verification is successful.
*/
static
boolean
verify
(
final
Class
c
)
{
return
true
;
}
}
src/windows/classes/sun/security/mscapi/RSACipher.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2005-200
7
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2005-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -93,7 +93,6 @@ public final class RSACipher extends CipherSpi {
...
@@ -93,7 +93,6 @@ public final class RSACipher extends CipherSpi {
private
sun
.
security
.
mscapi
.
Key
privateKey
;
private
sun
.
security
.
mscapi
.
Key
privateKey
;
public
RSACipher
()
{
public
RSACipher
()
{
SunMSCAPI
.
verifySelfIntegrity
(
getClass
());
paddingType
=
PAD_PKCS1
;
paddingType
=
PAD_PKCS1
;
}
}
...
...
src/windows/classes/sun/security/mscapi/SunMSCAPI.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2005-200
8
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2005-200
9
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -117,22 +117,4 @@ public final class SunMSCAPI extends Provider {
...
@@ -117,22 +117,4 @@ public final class SunMSCAPI extends Provider {
AccessController
.
doPrivileged
(
new
PutAllAction
(
this
,
map
));
AccessController
.
doPrivileged
(
new
PutAllAction
(
this
,
map
));
}
}
}
}
// set to true once self verification is complete
private
static
volatile
boolean
integrityVerified
;
static
void
verifySelfIntegrity
(
Class
c
)
{
if
(
integrityVerified
)
{
return
;
}
doVerifySelfIntegrity
(
c
);
}
private
static
synchronized
void
doVerifySelfIntegrity
(
Class
c
)
{
integrityVerified
=
JarVerifier
.
verify
(
c
);
if
(
integrityVerified
==
false
)
{
throw
new
ProviderException
(
"The SunMSCAPI provider may have been tampered with."
);
}
}
}
}
src/windows/native/sun/windows/awt_Component.cpp
浏览文件 @
a8bb37d3
...
@@ -3739,11 +3739,12 @@ void AwtComponent::SetCandidateWindow(int iCandType, int x, int y)
...
@@ -3739,11 +3739,12 @@ void AwtComponent::SetCandidateWindow(int iCandType, int x, int y)
MsgRouting
AwtComponent
::
WmImeSetContext
(
BOOL
fSet
,
LPARAM
*
lplParam
)
MsgRouting
AwtComponent
::
WmImeSetContext
(
BOOL
fSet
,
LPARAM
*
lplParam
)
{
{
//
This message causes native status window shown even it is disabled. So don't
//
If the Windows input context is disabled, do not let Windows
//
let DefWindowProc process this message if this IMC is disabled
.
//
display any UIs
.
HIMC
hIMC
=
ImmGetContext
();
HIMC
hIMC
=
ImmGetContext
();
if
(
hIMC
==
NULL
)
{
if
(
hIMC
==
NULL
)
{
return
mrConsume
;
*
lplParam
=
0
;
return
mrDoDefault
;
}
}
if
(
fSet
)
{
if
(
fSet
)
{
...
...
test/java/awt/EventQueue/6638195/bug6638195.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2008
-2009
Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
/* @test
/* @test
*
*
* @bug 6638195
* @bug 6638195
6844297
* @author Igor Kushnirskiy
* @author Igor Kushnirskiy
* @summary tests if EventQueueDelegate.Delegate is invoked.
* @summary tests if EventQueueDelegate.Delegate is invoked.
*/
*/
...
@@ -47,11 +47,22 @@ public class bug6638195 {
...
@@ -47,11 +47,22 @@ public class bug6638195 {
}
}
private
static
void
runTest
(
MyEventQueueDelegate
delegate
)
throws
Exception
{
private
static
void
runTest
(
MyEventQueueDelegate
delegate
)
throws
Exception
{
// We need an empty runnable here, so the next event is
// processed with a new EventQueueDelegate. See 6844297
// for details
EventQueue
.
invokeLater
(
EventQueue
.
invokeLater
(
new
Runnable
()
{
new
Runnable
()
{
public
void
run
()
{
public
void
run
()
{
}
}
});
});
// The following event is expected to be processed by
// the EventQueueDelegate instance
EventQueue
.
invokeLater
(
new
Runnable
()
{
public
void
run
()
{
}
});
// Finally, proceed on the main thread
final
CountDownLatch
latch
=
new
CountDownLatch
(
1
);
final
CountDownLatch
latch
=
new
CountDownLatch
(
1
);
EventQueue
.
invokeLater
(
EventQueue
.
invokeLater
(
new
Runnable
()
{
new
Runnable
()
{
...
@@ -60,7 +71,7 @@ public class bug6638195 {
...
@@ -60,7 +71,7 @@ public class bug6638195 {
}
}
});
});
latch
.
await
();
latch
.
await
();
if
(!
delegate
.
allInvoked
())
{
if
(!
delegate
.
allInvoked
())
{
throw
new
RuntimeException
(
"failed"
);
throw
new
RuntimeException
(
"failed"
);
}
}
}
}
...
@@ -125,6 +136,7 @@ public class bug6638195 {
...
@@ -125,6 +136,7 @@ public class bug6638195 {
return
objectMap
;
return
objectMap
;
}
}
static
class
MyEventQueueDelegate
implements
EventQueueDelegate
.
Delegate
{
static
class
MyEventQueueDelegate
implements
EventQueueDelegate
.
Delegate
{
private
volatile
boolean
getNextEventInvoked
=
false
;
private
volatile
boolean
getNextEventInvoked
=
false
;
private
volatile
boolean
beforeDispatchInvoked
=
false
;
private
volatile
boolean
beforeDispatchInvoked
=
false
;
...
...
test/java/awt/Frame/FrameSize/TestFrameSize.java
浏览文件 @
a8bb37d3
/*
/*
* Copyright 2009 Red Hat, Inc. All Rights Reserved.
* Copyright 2009 Red Hat, Inc. All Rights Reserved.
* Portions Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -37,35 +38,62 @@
...
@@ -37,35 +38,62 @@
* Test fails if size of window is wrong
* Test fails if size of window is wrong
*/
*/
import
java.awt.Dimension
;
import
java.awt.*
;
import
java.awt.Frame
;
public
class
TestFrameSize
{
public
class
TestFrameSize
{
static
Dimension
desiredDimensions
=
new
Dimension
(
200
,
200
);
static
Dimension
desiredDimensions
=
new
Dimension
(
200
,
200
);
static
int
ERROR_MARGIN
=
15
;
static
Frame
mainWindow
;
static
Frame
mainWindow
;
private
static
Dimension
getClientSize
(
Frame
window
)
{
public
static
void
drawGui
()
{
Dimension
size
=
window
.
getSize
();
mainWindow
=
new
Frame
(
""
);
Insets
insets
=
window
.
getInsets
();
mainWindow
.
setPreferredSize
(
desiredDimensions
);
mainWindow
.
pack
();
System
.
out
.
println
(
"getClientSize() for "
+
window
);
System
.
out
.
println
(
" size: "
+
size
);
Dimension
actualDimensions
=
mainWindow
.
getSize
();
System
.
out
.
println
(
" insets: "
+
insets
);
System
.
out
.
println
(
"Desired dimensions: "
+
desiredDimensions
.
toString
());
System
.
out
.
println
(
"Actual dimensions: "
+
actualDimensions
.
toString
());
return
new
Dimension
(
if
(
Math
.
abs
(
actualDimensions
.
height
-
desiredDimensions
.
height
)
>
ERROR_MARGIN
)
{
size
.
width
-
insets
.
left
-
insets
.
right
,
throw
new
RuntimeException
(
"Incorrect widow size"
);
size
.
height
-
insets
.
top
-
insets
.
bottom
);
}
}
public
static
void
drawGui
()
{
mainWindow
=
new
Frame
(
""
);
mainWindow
.
setPreferredSize
(
desiredDimensions
);
mainWindow
.
pack
();
Dimension
actualDimensions
=
mainWindow
.
getSize
();
System
.
out
.
println
(
"Desired dimensions: "
+
desiredDimensions
.
toString
());
System
.
out
.
println
(
"Actual dimensions: "
+
actualDimensions
.
toString
());
if
(!
actualDimensions
.
equals
(
desiredDimensions
))
{
throw
new
RuntimeException
(
"Incorrect widow size"
);
}
// pack() guarantees to preserve the size of the client area after
// showing the window.
Dimension
clientSize1
=
getClientSize
(
mainWindow
);
System
.
out
.
println
(
"Client size before showing: "
+
clientSize1
);
mainWindow
.
setVisible
(
true
);
((
sun
.
awt
.
SunToolkit
)
Toolkit
.
getDefaultToolkit
()).
realSync
();
Dimension
clientSize2
=
getClientSize
(
mainWindow
);
System
.
out
.
println
(
"Client size after showing: "
+
clientSize2
);
if
(!
clientSize2
.
equals
(
clientSize1
))
{
throw
new
RuntimeException
(
"Incorrect client area size."
);
}
}
}
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
try
{
try
{
drawGui
();
drawGui
();
}
finally
{
}
finally
{
if
(
mainWindow
!=
null
)
{
if
(
mainWindow
!=
null
)
{
mainWindow
.
dispose
();
mainWindow
.
dispose
();
}
}
}
}
}
}
}
}
test/java/net/Authenticator/B4933582.sh
浏览文件 @
a8bb37d3
...
@@ -30,6 +30,10 @@ case "$OS" in
...
@@ -30,6 +30,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
@@ -39,7 +43,7 @@ case "$OS" in
...
@@ -39,7 +43,7 @@ case "$OS" in
exit
1
;
exit
1
;
;;
;;
esac
esac
${
TESTJAVA
}${
FS
}
bin
${
FS
}
javac
-d
.
-classpath
${
TESTSRC
}${
FS
}
..
${
FS
}
..
${
FS
}
..
${
FS
}
sun
${
FS
}
net
${
FS
}
www
${
FS
}
httptest
${
TESTSRC
}${
FS
}
B4933582.java
${
TESTJAVA
}${
FS
}
bin
${
FS
}
javac
-d
.
-classpath
"
${
TESTSRC
}${
FS
}
..
${
FS
}
..
${
FS
}
..
${
FS
}
sun
${
FS
}
net
${
FS
}
www
${
FS
}
httptest"
${
TESTSRC
}${
FS
}
B4933582.java
rm
-f
cache.ser auth.save
rm
-f
cache.ser auth.save
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
-classpath
${
TESTSRC
}${
FS
}
..
${
FS
}
..
${
FS
}
..
${
FS
}
sun
${
FS
}
net
${
FS
}
www
${
FS
}
httptest
${
PS
}
.
B4933582 first
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
-classpath
"
${
TESTSRC
}${
FS
}
..
${
FS
}
..
${
FS
}
..
${
FS
}
sun
${
FS
}
net
${
FS
}
www
${
FS
}
httptest
${
PS
}
."
B4933582 first
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
-classpath
${
TESTSRC
}${
FS
}
..
${
FS
}
..
${
FS
}
..
${
FS
}
sun
${
FS
}
net
${
FS
}
www
${
FS
}
httptest
${
PS
}
.
B4933582 second
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
-classpath
"
${
TESTSRC
}${
FS
}
..
${
FS
}
..
${
FS
}
..
${
FS
}
sun
${
FS
}
net
${
FS
}
www
${
FS
}
httptest
${
PS
}
."
B4933582 second
test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh
浏览文件 @
a8bb37d3
...
@@ -35,6 +35,10 @@ case "$OS" in
...
@@ -35,6 +35,10 @@ case "$OS" in
PATHSEP
=
":"
PATHSEP
=
":"
FILESEP
=
"/"
FILESEP
=
"/"
;;
;;
CYGWIN
*
)
PATHSEP
=
";"
FILESEP
=
"/"
;;
Windows
*
)
Windows
*
)
PATHSEP
=
";"
PATHSEP
=
";"
FILESEP
=
"
\\
"
FILESEP
=
"
\\
"
...
...
test/java/net/Socket/OldSocketImpl.sh
浏览文件 @
a8bb37d3
...
@@ -32,6 +32,10 @@ case "$OS" in
...
@@ -32,6 +32,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/java/net/URL/B5086147.sh
浏览文件 @
a8bb37d3
...
@@ -29,6 +29,10 @@ case "$OS" in
...
@@ -29,6 +29,10 @@ case "$OS" in
SunOS
|
Linux
)
SunOS
|
Linux
)
exit
0
exit
0
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/java/net/URL/runconstructor.sh
浏览文件 @
a8bb37d3
...
@@ -31,6 +31,10 @@ case "$OS" in
...
@@ -31,6 +31,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/java/net/URLClassLoader/B5077773.sh
浏览文件 @
a8bb37d3
...
@@ -42,6 +42,10 @@ case "$OS" in
...
@@ -42,6 +42,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/java/net/URLClassLoader/sealing/checksealed.sh
浏览文件 @
a8bb37d3
...
@@ -35,6 +35,10 @@ case "$OS" in
...
@@ -35,6 +35,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
@@ -49,10 +53,10 @@ esac
...
@@ -49,10 +53,10 @@ esac
if
[
x
"
$TESTJAVA
"
=
x
]
;
then
TESTJAVA
=
$1
;
fi
if
[
x
"
$TESTJAVA
"
=
x
]
;
then
TESTJAVA
=
$1
;
fi
if
[
x
"
$TESTSRC
"
=
x
]
;
then
TESTSRC
=
.
;
fi
if
[
x
"
$TESTSRC
"
=
x
]
;
then
TESTSRC
=
.
;
fi
CLASSPATH
=
.
${
PS
}${
TESTSRC
}${
FS
}
a
${
PS
}${
TESTSRC
}${
FS
}
b.jar
CLASSPATH
=
".
${
PS
}${
TESTSRC
}${
FS
}
a
${
PS
}${
TESTSRC
}${
FS
}
b.jar"
${
TESTJAVA
}${
FS
}
bin
${
FS
}
javac
-classpath
${
CLASSPATH
}
-d
.
${
TESTSRC
}${
FS
}
CheckSealed.java
${
TESTJAVA
}${
FS
}
bin
${
FS
}
javac
-classpath
"
${
CLASSPATH
}
"
-d
.
${
TESTSRC
}${
FS
}
CheckSealed.java
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
-cp
${
CLASSPATH
}
CheckSealed 1
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
-cp
"
${
CLASSPATH
}
"
CheckSealed 1
if
[
$?
!=
0
]
;
then
exit
1
;
fi
if
[
$?
!=
0
]
;
then
exit
1
;
fi
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
-cp
${
CLASSPATH
}
CheckSealed 2
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
-cp
"
${
CLASSPATH
}
"
CheckSealed 2
if
[
$?
!=
0
]
;
then
exit
1
;
fi
if
[
$?
!=
0
]
;
then
exit
1
;
fi
test/java/net/URLConnection/6212146/test.sh
浏览文件 @
a8bb37d3
...
@@ -41,6 +41,10 @@ case "$OS" in
...
@@ -41,6 +41,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh
浏览文件 @
a8bb37d3
...
@@ -54,6 +54,10 @@ case "$OS" in
...
@@ -54,6 +54,10 @@ case "$OS" in
PATHSEP
=
":"
PATHSEP
=
":"
FILESEP
=
"/"
FILESEP
=
"/"
;;
;;
CYGWIN
*
)
PATHSEP
=
";"
FILESEP
=
"/"
;;
Windows
*
)
Windows
*
)
PATHSEP
=
";"
PATHSEP
=
";"
FILESEP
=
"
\\
"
FILESEP
=
"
\\
"
...
@@ -81,7 +85,7 @@ ${TESTJAVA}${FILESEP}bin${FILESEP}javac \
...
@@ -81,7 +85,7 @@ ${TESTJAVA}${FILESEP}bin${FILESEP}javac \
# run the test
# run the test
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
java
\
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
java
\
-classpath
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
Deadlock.jar
\
-classpath
"
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
Deadlock.jar"
\
ClassLoaderDeadlock
ClassLoaderDeadlock
exit
$?
exit
$?
test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh
浏览文件 @
a8bb37d3
...
@@ -42,6 +42,10 @@ case "$OS" in
...
@@ -42,6 +42,10 @@ case "$OS" in
PATHSEP
=
":"
PATHSEP
=
":"
FILESEP
=
"/"
FILESEP
=
"/"
;;
;;
CYGWIN
*
)
PATHSEP
=
";"
FILESEP
=
"/"
;;
Windows
*
)
Windows
*
)
PATHSEP
=
";"
PATHSEP
=
";"
FILESEP
=
"
\\
"
FILESEP
=
"
\\
"
...
@@ -54,5 +58,5 @@ esac
...
@@ -54,5 +58,5 @@ esac
JAVA
=
"
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
java"
JAVA
=
"
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
java"
${
JAVA
}
-cp
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
Deadlock.jar
Deadlock
${
JAVA
}
-cp
"
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
Deadlock.jar"
Deadlock
test/java/security/Security/signedfirst/Dyn.sh
浏览文件 @
a8bb37d3
...
@@ -54,6 +54,10 @@ case "$OS" in
...
@@ -54,6 +54,10 @@ case "$OS" in
PATHSEP
=
":"
PATHSEP
=
":"
FILESEP
=
"/"
FILESEP
=
"/"
;;
;;
CYGWIN
*
)
PATHSEP
=
";"
FILESEP
=
"/"
;;
Windows
*
)
Windows
*
)
PATHSEP
=
";"
PATHSEP
=
";"
FILESEP
=
"
\\
"
FILESEP
=
"
\\
"
...
@@ -76,7 +80,7 @@ ${TESTJAVA}${FILESEP}bin${FILESEP}javac \
...
@@ -76,7 +80,7 @@ ${TESTJAVA}${FILESEP}bin${FILESEP}javac \
# run the test
# run the test
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
java
\
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
java
\
-classpath
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
exp.jar
\
-classpath
"
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
exp.jar"
\
DynSignedProvFirst
DynSignedProvFirst
exit
$?
exit
$?
test/java/security/Security/signedfirst/Static.sh
浏览文件 @
a8bb37d3
...
@@ -54,6 +54,10 @@ case "$OS" in
...
@@ -54,6 +54,10 @@ case "$OS" in
PATHSEP
=
":"
PATHSEP
=
":"
FILESEP
=
"/"
FILESEP
=
"/"
;;
;;
CYGWIN
*
)
PATHSEP
=
";"
FILESEP
=
"/"
;;
Windows
*
)
Windows
*
)
PATHSEP
=
";"
PATHSEP
=
";"
FILESEP
=
"
\\
"
FILESEP
=
"
\\
"
...
@@ -70,14 +74,14 @@ rm StaticSignedProvFirst.class
...
@@ -70,14 +74,14 @@ rm StaticSignedProvFirst.class
# compile the test program
# compile the test program
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
javac
\
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
javac
\
-classpath
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
exp.jar
\
-classpath
"
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
exp.jar"
\
-d
${
TESTCLASSES
}${
FILESEP
}
\
-d
${
TESTCLASSES
}${
FILESEP
}
\
${
TESTSRC
}${
FILESEP
}
StaticSignedProvFirst.java
${
TESTSRC
}${
FILESEP
}
StaticSignedProvFirst.java
# run the test
# run the test
cd
${
TESTSRC
}${
FILESEP
}
cd
${
TESTSRC
}${
FILESEP
}
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
java
\
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
java
\
-classpath
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
exp.jar
\
-classpath
"
${
TESTCLASSES
}${
PATHSEP
}${
TESTSRC
}${
FILESEP
}
exp.jar"
\
-Djava
.security.properties
=
file:
${
TESTSRC
}${
FILESEP
}
Static.props
\
-Djava
.security.properties
=
file:
${
TESTSRC
}${
FILESEP
}
Static.props
\
StaticSignedProvFirst
StaticSignedProvFirst
...
...
test/javax/crypto/SecretKeyFactory/FailOverTest.sh
浏览文件 @
a8bb37d3
...
@@ -56,6 +56,11 @@ case "$OS" in
...
@@ -56,6 +56,11 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
NULL
=
/dev/null
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
NULL
=
NUL
NULL
=
NUL
PS
=
";"
PS
=
";"
...
@@ -69,7 +74,7 @@ esac
...
@@ -69,7 +74,7 @@ esac
${
TESTJAVA
}${
FS
}
bin
${
FS
}
javac
\
${
TESTJAVA
}${
FS
}
bin
${
FS
}
javac
\
-d
.
\
-d
.
\
-classpath
${
TESTSRC
}${
FS
}
P1.jar
${
PS
}${
TESTSRC
}${
FS
}
P2.jar
\
-classpath
"
${
TESTSRC
}${
FS
}
P1.jar
${
PS
}${
TESTSRC
}${
FS
}
P2.jar"
\
${
TESTSRC
}${
FS
}
FailOverTest.java
${
TESTSRC
}${
FS
}
FailOverTest.java
if
[
$?
-ne
0
]
;
then
if
[
$?
-ne
0
]
;
then
...
@@ -77,7 +82,7 @@ if [ $? -ne 0 ]; then
...
@@ -77,7 +82,7 @@ if [ $? -ne 0 ]; then
fi
fi
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
\
${
TESTJAVA
}${
FS
}
bin
${
FS
}
java
\
-classpath
${
TESTSRC
}${
FS
}
P1.jar
${
PS
}${
TESTSRC
}${
FS
}
P2.jar
${
PS
}
.
\
-classpath
"
${
TESTSRC
}${
FS
}
P1.jar
${
PS
}${
TESTSRC
}${
FS
}
P2.jar
${
PS
}
."
\
FailOverTest
FailOverTest
result
=
$?
result
=
$?
...
...
test/javax/security/auth/Subject/doAs/Test.sh
浏览文件 @
a8bb37d3
...
@@ -43,6 +43,11 @@ case "$OS" in
...
@@ -43,6 +43,11 @@ case "$OS" in
FS
=
"/"
FS
=
"/"
RM
=
"/bin/rm -f"
RM
=
"/bin/rm -f"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
RM
=
"rm"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/javax/swing/JInternalFrame/Test6505027.java
0 → 100644
浏览文件 @
a8bb37d3
/*
* Copyright 2009 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* @test
* @bug 6505027
* @summary Tests focus problem inside internal frame
* @author Sergey Malenkov
*/
import
java.awt.AWTException
;
import
java.awt.BorderLayout
;
import
java.awt.Component
;
import
java.awt.Container
;
import
java.awt.KeyboardFocusManager
;
import
java.awt.Point
;
import
java.awt.Robot
;
import
java.awt.event.InputEvent
;
import
javax.swing.DefaultCellEditor
;
import
javax.swing.JComboBox
;
import
javax.swing.JDesktopPane
;
import
javax.swing.JFrame
;
import
javax.swing.JInternalFrame
;
import
javax.swing.JScrollPane
;
import
javax.swing.JTable
;
import
javax.swing.JTextField
;
import
javax.swing.SwingUtilities
;
import
javax.swing.WindowConstants
;
import
javax.swing.table.DefaultTableModel
;
import
javax.swing.table.TableColumn
;
public
class
Test6505027
implements
Runnable
{
private
static
final
boolean
INTERNAL
=
true
;
private
static
final
boolean
TERMINATE
=
true
;
private
static
final
int
WIDTH
=
450
;
private
static
final
int
HEIGHT
=
200
;
private
static
final
int
OFFSET
=
10
;
private
static
final
long
PAUSE
=
2048L
;
private
static
final
String
[]
COLUMNS
=
{
"Size"
,
"Shape"
};
// NON-NLS
private
static
final
String
[]
ITEMS
=
{
"a"
,
"b"
,
"c"
,
"d"
};
// NON-NLS
private
static
final
String
KEY
=
"terminateEditOnFocusLost"
;
// NON-NLS
public
static
void
main
(
String
[]
args
)
{
SwingUtilities
.
invokeLater
(
new
Test6505027
());
Component
component
=
null
;
while
(
component
==
null
)
{
try
{
Thread
.
sleep
(
PAUSE
);
}
catch
(
InterruptedException
exception
)
{
// ignore interrupted exception
}
component
=
KeyboardFocusManager
.
getCurrentKeyboardFocusManager
().
getFocusOwner
();
}
if
(!
component
.
getClass
().
equals
(
JComboBox
.
class
))
{
throw
new
Error
(
"unexpected focus owner: "
+
component
);
}
SwingUtilities
.
getWindowAncestor
(
component
).
dispose
();
}
private
JTable
table
;
private
Point
point
;
public
void
run
()
{
if
(
this
.
table
==
null
)
{
JFrame
main
=
new
JFrame
();
main
.
setSize
(
WIDTH
+
OFFSET
*
3
,
HEIGHT
+
OFFSET
*
5
);
main
.
setLocationRelativeTo
(
null
);
main
.
setDefaultCloseOperation
(
WindowConstants
.
DISPOSE_ON_CLOSE
);
main
.
setVisible
(
true
);
Container
container
=
main
;
if
(
INTERNAL
)
{
JInternalFrame
frame
=
new
JInternalFrame
();
frame
.
setBounds
(
OFFSET
,
OFFSET
,
WIDTH
,
HEIGHT
);
frame
.
setVisible
(
true
);
JDesktopPane
desktop
=
new
JDesktopPane
();
desktop
.
add
(
frame
,
new
Integer
(
1
));
container
.
add
(
desktop
);
container
=
frame
;
}
this
.
table
=
new
JTable
(
new
DefaultTableModel
(
COLUMNS
,
2
));
if
(
TERMINATE
)
{
this
.
table
.
putClientProperty
(
KEY
,
Boolean
.
TRUE
);
}
TableColumn
column
=
this
.
table
.
getColumn
(
COLUMNS
[
1
]);
column
.
setCellEditor
(
new
DefaultCellEditor
(
new
JComboBox
(
ITEMS
)));
container
.
add
(
BorderLayout
.
NORTH
,
new
JTextField
());
container
.
add
(
BorderLayout
.
CENTER
,
new
JScrollPane
(
this
.
table
));
SwingUtilities
.
invokeLater
(
this
);
}
else
if
(
this
.
point
==
null
)
{
this
.
point
=
this
.
table
.
getCellRect
(
1
,
1
,
false
).
getLocation
();
SwingUtilities
.
convertPointToScreen
(
this
.
point
,
this
.
table
);
SwingUtilities
.
invokeLater
(
this
);
}
else
{
try
{
Robot
robot
=
new
Robot
();
robot
.
mouseMove
(
this
.
point
.
x
+
1
,
this
.
point
.
y
+
1
);
robot
.
mousePress
(
InputEvent
.
BUTTON1_MASK
);
}
catch
(
AWTException
exception
)
{
throw
new
Error
(
"unexpected exception"
,
exception
);
}
}
}
}
test/javax/swing/JInternalFrame/Test6802868.java
0 → 100644
浏览文件 @
a8bb37d3
/*
* Copyright 2009 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* @test
* @bug 6802868
* @summary JInternalFrame is not maximized when maximized parent frame
* @author Alexander Potochkin
*/
import
sun.awt.SunToolkit
;
import
java.awt.Dimension
;
import
java.awt.Point
;
import
java.awt.Robot
;
import
java.awt.Toolkit
;
import
java.beans.PropertyVetoException
;
import
javax.swing.JDesktopPane
;
import
javax.swing.JFrame
;
import
javax.swing.JInternalFrame
;
import
javax.swing.SwingUtilities
;
public
class
Test6802868
{
static
JInternalFrame
jif
;
static
JFrame
frame
;
static
Dimension
size
;
static
Point
location
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Robot
robot
=
new
Robot
();
robot
.
setAutoDelay
(
20
);
SunToolkit
toolkit
=
(
SunToolkit
)
Toolkit
.
getDefaultToolkit
();
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
public
void
run
()
{
frame
=
new
JFrame
();
frame
.
setDefaultCloseOperation
(
JFrame
.
EXIT_ON_CLOSE
);
JDesktopPane
jdp
=
new
JDesktopPane
();
frame
.
getContentPane
().
add
(
jdp
);
jif
=
new
JInternalFrame
(
"Title"
,
true
,
true
,
true
,
true
);
jdp
.
add
(
jif
);
jif
.
setVisible
(
true
);
frame
.
setSize
(
200
,
200
);
frame
.
setLocationRelativeTo
(
null
);
frame
.
setVisible
(
true
);
try
{
jif
.
setMaximum
(
true
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
});
toolkit
.
realSync
();
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
public
void
run
()
{
size
=
jif
.
getSize
();
frame
.
setSize
(
300
,
300
);
}
});
toolkit
.
realSync
();
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
public
void
run
()
{
if
(
jif
.
getSize
().
equals
(
size
))
{
throw
new
RuntimeException
(
"InternalFrame hasn't changed its size"
);
}
try
{
jif
.
setIcon
(
true
);
}
catch
(
PropertyVetoException
e
)
{
e
.
printStackTrace
();
}
location
=
jif
.
getDesktopIcon
().
getLocation
();
frame
.
setSize
(
400
,
400
);
}
});
toolkit
.
realSync
();
SwingUtilities
.
invokeAndWait
(
new
Runnable
()
{
public
void
run
()
{
if
(
jif
.
getDesktopIcon
().
getLocation
().
equals
(
location
))
{
throw
new
RuntimeException
(
"JDesktopIcon hasn't moved"
);
}
}
});
}
}
test/javax/swing/JScrollPane/Test6526631.java
0 → 100644
浏览文件 @
a8bb37d3
/*
* Copyright 2009 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* @test
* @bug 6526631
* @summary Resizes right-oriented scroll pane
* @author Sergey Malenkov
* @library ..
* @build SwingTest
* @run main Test6526631
*/
import
java.awt.Dimension
;
import
javax.swing.JFrame
;
import
javax.swing.JScrollBar
;
import
javax.swing.JScrollPane
;
import
javax.swing.JTextArea
;
import
javax.swing.JViewport
;
import
static
java
.
awt
.
ComponentOrientation
.
RIGHT_TO_LEFT
;
public
class
Test6526631
{
private
static
final
int
COLS
=
90
;
private
static
final
int
ROWS
=
50
;
private
static
final
int
OFFSET
=
10
;
public
static
void
main
(
String
[]
args
)
{
SwingTest
.
start
(
Test6526631
.
class
);
}
private
final
JScrollPane
pane
;
private
final
JFrame
frame
;
public
Test6526631
(
JFrame
frame
)
{
this
.
pane
=
new
JScrollPane
(
new
JTextArea
(
ROWS
,
COLS
));
this
.
pane
.
setComponentOrientation
(
RIGHT_TO_LEFT
);
this
.
frame
=
frame
;
this
.
frame
.
add
(
this
.
pane
);
}
private
void
update
(
int
offset
)
{
Dimension
size
=
this
.
frame
.
getSize
();
size
.
width
+=
offset
;
this
.
frame
.
setSize
(
size
);
}
public
void
validateFirst
()
{
validateThird
();
update
(
OFFSET
);
}
public
void
validateSecond
()
{
validateThird
();
update
(-
OFFSET
);
}
public
void
validateThird
()
{
JViewport
viewport
=
this
.
pane
.
getViewport
();
JScrollBar
scroller
=
this
.
pane
.
getHorizontalScrollBar
();
if
(!
scroller
.
getComponentOrientation
().
equals
(
RIGHT_TO_LEFT
))
{
throw
new
IllegalStateException
(
"unexpected component orientation"
);
}
int
value
=
scroller
.
getValue
();
if
(
value
!=
0
)
{
throw
new
IllegalStateException
(
"unexpected scroll value"
);
}
int
extent
=
viewport
.
getExtentSize
().
width
;
if
(
extent
!=
scroller
.
getVisibleAmount
())
{
throw
new
IllegalStateException
(
"unexpected visible amount"
);
}
int
size
=
viewport
.
getViewSize
().
width
;
if
(
size
!=
scroller
.
getMaximum
())
{
throw
new
IllegalStateException
(
"unexpected maximum"
);
}
int
pos
=
size
-
extent
-
value
;
if
(
pos
!=
viewport
.
getViewPosition
().
x
)
{
throw
new
IllegalStateException
(
"unexpected position"
);
}
}
}
test/javax/swing/SwingTest.java
0 → 100644
浏览文件 @
a8bb37d3
/*
* Copyright 2009 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
import
java.io.PrintWriter
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Modifier
;
import
java.util.Comparator
;
import
java.util.Iterator
;
import
java.util.Set
;
import
java.util.TreeSet
;
import
javax.swing.JFrame
;
import
static
javax
.
swing
.
SwingUtilities
.
invokeLater
;
/**
* SwingTestHelper is a utility class for writing regression tests
* that require interacting with the UI.
*
* @author Sergey A. Malenkov
*/
final
class
SwingTest
implements
Runnable
{
private
static
final
int
WIDTH
=
640
;
private
static
final
int
HEIGHT
=
480
;
public
static
void
start
(
Class
<?>
type
)
{
new
SwingTest
(
type
).
start
();
}
private
final
PrintWriter
writer
=
new
PrintWriter
(
System
.
out
,
true
);
private
Class
<?>
type
;
private
JFrame
frame
;
private
Iterator
<
Method
>
methods
;
private
Object
object
;
private
Method
method
;
private
Throwable
error
;
private
SwingTest
(
Class
<?>
type
)
{
this
.
type
=
type
;
}
public
void
run
()
{
synchronized
(
this
.
writer
)
{
if
(
this
.
error
!=
null
)
{
this
.
frame
.
dispose
();
this
.
frame
=
null
;
}
else
if
(
this
.
object
==
null
)
{
invoke
();
Set
<
Method
>
methods
=
new
TreeSet
<
Method
>(
new
Comparator
<
Method
>()
{
public
int
compare
(
Method
first
,
Method
second
)
{
return
first
.
getName
().
compareTo
(
second
.
getName
());
}
});
for
(
Method
method
:
this
.
type
.
getMethods
())
{
if
(
method
.
getDeclaringClass
().
equals
(
this
.
type
))
{
if
(
method
.
getReturnType
().
equals
(
void
.
class
))
{
if
(
0
==
method
.
getParameterTypes
().
length
)
{
methods
.
add
(
method
);
}
}
}
}
this
.
methods
=
methods
.
iterator
();
}
else
if
(
this
.
method
!=
null
)
{
invoke
();
}
else
if
(
this
.
methods
.
hasNext
())
{
this
.
method
=
this
.
methods
.
next
();
}
else
{
this
.
frame
.
dispose
();
this
.
frame
=
null
;
this
.
type
=
null
;
}
this
.
writer
.
notifyAll
();
}
}
private
void
start
()
{
synchronized
(
this
.
writer
)
{
while
(
this
.
type
!=
null
)
{
if
((
this
.
method
!=
null
)
&&
Modifier
.
isStatic
(
this
.
method
.
getModifiers
()))
{
invoke
();
}
else
{
invokeLater
(
this
);
try
{
this
.
writer
.
wait
();
}
catch
(
InterruptedException
exception
)
{
exception
.
printStackTrace
(
this
.
writer
);
}
}
if
((
this
.
frame
==
null
)
&&
(
this
.
error
!=
null
))
{
throw
new
Error
(
"unexpected error"
,
this
.
error
);
}
}
}
}
private
void
invoke
()
{
try
{
if
(
this
.
method
!=
null
)
{
this
.
writer
.
println
(
this
.
method
);
this
.
method
.
invoke
(
this
.
object
);
this
.
method
=
null
;
}
else
{
this
.
writer
.
println
(
this
.
type
);
this
.
frame
=
new
JFrame
(
this
.
type
.
getSimpleName
());
this
.
frame
.
setSize
(
WIDTH
,
HEIGHT
);
this
.
frame
.
setLocationRelativeTo
(
null
);
this
.
object
=
this
.
type
.
getConstructor
(
JFrame
.
class
).
newInstance
(
this
.
frame
);
this
.
frame
.
setVisible
(
true
);
}
}
catch
(
NoSuchMethodException
exception
)
{
this
.
error
=
exception
;
}
catch
(
SecurityException
exception
)
{
this
.
error
=
exception
;
}
catch
(
IllegalAccessException
exception
)
{
this
.
error
=
exception
;
}
catch
(
IllegalArgumentException
exception
)
{
this
.
error
=
exception
;
}
catch
(
InstantiationException
exception
)
{
this
.
error
=
exception
;
}
catch
(
InvocationTargetException
exception
)
{
this
.
error
=
exception
.
getTargetException
();
}
}
}
test/lib/security/java.policy/Ext_AllPolicy.sh
浏览文件 @
a8bb37d3
...
@@ -56,6 +56,12 @@ case "$OS" in
...
@@ -56,6 +56,12 @@ case "$OS" in
FS
=
"/"
FS
=
"/"
TMP
=
/tmp
TMP
=
/tmp
;;
;;
CYGWIN
*
)
NULL
=
/dev/null
PS
=
";"
FS
=
"/"
TMP
=
/tmp
;;
Windows_95
|
Windows_98
|
Windows_NT
)
Windows_95
|
Windows_98
|
Windows_NT
)
NULL
=
NUL
NULL
=
NUL
PS
=
";"
PS
=
";"
...
...
test/sun/net/www/MarkResetTest.sh
浏览文件 @
a8bb37d3
...
@@ -32,6 +32,10 @@ case "$OS" in
...
@@ -32,6 +32,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/sun/net/www/http/ChunkedInputStream/ChunkedCharEncoding.sh
浏览文件 @
a8bb37d3
...
@@ -32,6 +32,10 @@ case "$OS" in
...
@@ -32,6 +32,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/sun/net/www/http/HttpClient/RetryPost.sh
浏览文件 @
a8bb37d3
...
@@ -32,6 +32,10 @@ case "$OS" in
...
@@ -32,6 +32,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/sun/net/www/protocol/jar/B5105410.sh
浏览文件 @
a8bb37d3
...
@@ -39,6 +39,10 @@ case "$OS" in
...
@@ -39,6 +39,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/sun/net/www/protocol/jar/jarbug/run.sh
浏览文件 @
a8bb37d3
...
@@ -28,23 +28,54 @@
...
@@ -28,23 +28,54 @@
# @summary various resource and classloading bugs related to jar files
# @summary various resource and classloading bugs related to jar files
#set -x
#set -x
DEST
=
`
pwd
`
DEST
=
`
pwd
`
OS
=
`
uname
-s
`
case
"
$OS
"
in
SunOS
)
PS
=
":"
FS
=
"/"
;;
Linux
)
PS
=
":"
FS
=
"/"
;;
Windows
*
)
PS
=
";"
FS
=
"
\\
"
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
#
# javac does not like /cygdrive produced by `pwd`.
#
DEST
=
`
cygpath
-d
${
DEST
}
`
;;
*
)
echo
"Unrecognized system!"
exit
1
;
;;
esac
#
#
# build jar1
# build jar1
#
#
mkdir
${
DEST
}
/jar1
mkdir
-p
${
DEST
}${
FS
}
jar1
cd
${
TESTSRC
}
/etc/jar1
cd
${
TESTSRC
}${
FS
}
etc
${
FS
}
jar1
cp
-r
.
${
DEST
}
/jar1
cp
-r
.
${
DEST
}${
FS
}
jar1
${
TESTJAVA
}
/bin/javac
-d
${
DEST
}
/jar1
${
TESTSRC
}
/src/jar1/LoadResourceBundle.java
${
TESTJAVA
}${
FS
}
bin
${
FS
}
javac
-d
${
DEST
}${
FS
}
jar1
\
${
TESTJAVA
}
/bin/javac
-d
${
DEST
}
/jar1
${
TESTSRC
}
/src/jar1/GetResource.java
${
TESTSRC
}${
FS
}
src
${
FS
}
jar1
${
FS
}
LoadResourceBundle.java
cd
${
DEST
}
/jar1
${
TESTJAVA
}${
FS
}
bin
${
FS
}
javac
-d
${
DEST
}${
FS
}
jar1
\
${
TESTJAVA
}
/bin/jar cfM jar1.jar jar1 res1.txt
${
TESTSRC
}${
FS
}
src
${
FS
}
jar1
${
FS
}
GetResource.java
cd
${
DEST
}${
FS
}
jar1
${
TESTJAVA
}${
FS
}
bin
${
FS
}
jar cfM jar1.jar jar1 res1.txt
mv
jar1.jar ..
mv
jar1.jar ..
#
#
# build the test sources and run them
# build the test sources and run them
#
#
${
TESTJAVA
}
/bin/javac
-d
${
DEST
}
${
TESTSRC
}
/src/test/
*
.java
${
TESTJAVA
}
${
FS
}
bin
${
FS
}
javac
-d
${
DEST
}
${
TESTSRC
}${
FS
}
src
${
FS
}
test
${
FS
}
*
.java
cd
${
DEST
}
cd
${
DEST
}
${
TESTJAVA
}
/bin/
java RunAllTests
${
TESTJAVA
}
${
FS
}
bin
${
FS
}
java RunAllTests
result
=
$?
result
=
$?
if
[
"
$result
"
-ne
"0"
]
;
then
if
[
"
$result
"
-ne
"0"
]
;
then
exit
1
exit
1
...
...
test/sun/security/pkcs11/Provider/ConfigQuotedString.sh
浏览文件 @
a8bb37d3
...
@@ -68,6 +68,20 @@ case "$OS" in
...
@@ -68,6 +68,20 @@ case "$OS" in
CP
=
"cp"
CP
=
"cp"
CHMOD
=
"chmod"
CHMOD
=
"chmod"
;;
;;
CYGWIN
*
)
FS
=
"/"
PS
=
";"
CP
=
"cp"
CHMOD
=
"chmod"
#
# javac does not like /cygdrive produced by `pwd`
#
TESTSRC
=
`
cygpath
-d
${
TESTSRC
}
`
;;
*
)
echo
"Unrecognized system!"
exit
1
;
;;
esac
esac
# compile test
# compile test
...
...
test/sun/security/pkcs11/Provider/Login.sh
浏览文件 @
a8bb37d3
...
@@ -69,6 +69,20 @@ case "$OS" in
...
@@ -69,6 +69,20 @@ case "$OS" in
CP
=
"cp"
CP
=
"cp"
CHMOD
=
"chmod"
CHMOD
=
"chmod"
;;
;;
CYGWIN
*
)
FS
=
"/"
PS
=
";"
CP
=
"cp"
CHMOD
=
"chmod"
#
# javac does not like /cygdrive produced by `pwd`
#
TESTSRC
=
`
cygpath
-d
${
TESTSRC
}
`
;;
*
)
echo
"Unrecognized system!"
exit
1
;
;;
esac
esac
# first make cert/key DBs writable
# first make cert/key DBs writable
...
...
test/sun/security/provider/PolicyFile/getinstance/getinstance.sh
浏览文件 @
a8bb37d3
...
@@ -55,6 +55,10 @@ case "$OS" in
...
@@ -55,6 +55,10 @@ case "$OS" in
PS
=
":"
PS
=
":"
FS
=
"/"
FS
=
"/"
;;
;;
CYGWIN
*
)
PS
=
";"
FS
=
"/"
;;
Windows
*
)
Windows
*
)
PS
=
";"
PS
=
";"
FS
=
"
\\
"
FS
=
"
\\
"
...
...
test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh
浏览文件 @
a8bb37d3
...
@@ -43,10 +43,17 @@ fi
...
@@ -43,10 +43,17 @@ fi
OS
=
`
uname
-s
`
OS
=
`
uname
-s
`
case
"
$OS
"
in
case
"
$OS
"
in
SunOS
|
Linux
)
SunOS
|
Linux
)
FILESEP
=
"/"
PATHSEP
=
":"
PATHSEP
=
":"
;;
;;
CYGWIN
*
)
FILESEP
=
"/"
PATHSEP
=
";"
;;
Windows
*
)
Windows
*
)
FILESEP
=
"
\\
"
PATHSEP
=
";"
PATHSEP
=
";"
;;
;;
esac
esac
...
@@ -56,11 +63,13 @@ set -ex
...
@@ -56,11 +63,13 @@ set -ex
#
#
# Compile the tests, package into their respective jars
# Compile the tests, package into their respective jars
#
#
${
TESTJAVA
}
/bin/javac
-d
.
\
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
javac
-d
.
\
${
TESTSRC
}
/NotifyHandshakeTest.java
\
${
TESTSRC
}${
FILESEP
}
NotifyHandshakeTest.java
\
${
TESTSRC
}
/NotifyHandshakeTestHeyYou.java
${
TESTSRC
}${
FILESEP
}
NotifyHandshakeTestHeyYou.java
${
TESTJAVA
}
/bin/jar
-cvf
com.jar com/NotifyHandshakeTest
*
.class
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
jar
-cvf
com.jar
\
${
TESTJAVA
}
/bin/jar
-cvf
edu.jar edu/NotifyHandshakeTestHeyYou.class
com
${
FILESEP
}
NotifyHandshakeTest
*
.class
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
jar
-cvf
edu.jar
\
edu
${
FILESEP
}
NotifyHandshakeTestHeyYou.class
#
#
# Don't want the original class files to be used, because
# Don't want the original class files to be used, because
...
@@ -73,11 +82,11 @@ rm -rf com edu
...
@@ -73,11 +82,11 @@ rm -rf com edu
# This is the only thing we really care about as far as
# This is the only thing we really care about as far as
# test status goes.
# test status goes.
#
#
${
TESTJAVA
}
/bin/
java
\
${
TESTJAVA
}
${
FILESEP
}
bin
${
FILESEP
}
java
\
-Dtest
.src
=
${
TESTSRC
}
\
-Dtest
.src
=
${
TESTSRC
}
\
-classpath
"com.jar
${
PATHSEP
}
edu.jar"
\
-classpath
"com.jar
${
PATHSEP
}
edu.jar"
\
-Djava
.security.manager
\
-Djava
.security.manager
\
-Djava
.security.policy
=
${
TESTSRC
}
/
NotifyHandshakeTest.policy
\
-Djava
.security.policy
=
${
TESTSRC
}
${
FILESEP
}
NotifyHandshakeTest.policy
\
com.NotifyHandshakeTest
com.NotifyHandshakeTest
retval
=
$?
retval
=
$?
...
...
test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/jarsigner/AlgOptions.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/jarsigner/PercentSign.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/jarsigner/oldsig.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/keytool/AltProviderPath.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/keytool/CloneKeyAskPassword.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/keytool/NoExtNPE.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/keytool/SecretKeyKS.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/keytool/StandardAlgName.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/keytool/i18n.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/keytool/printssl.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/keytool/resource.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
test/sun/security/tools/keytool/standard.sh
浏览文件 @
a8bb37d3
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录