/hg/release/icedtea7-forest-2.1/jdk: 32 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Tue Feb 5 03:09:28 PST 2013


changeset 348ce15c3b92 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=348ce15c3b92
author: mullan
date: Fri Oct 26 14:22:21 2012 -0400

	7201068: Better handling of UI elements
	Reviewed-by: xuelei


changeset 9e208d07b47e in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=9e208d07b47e
author: dmocek
date: Mon Nov 19 13:52:08 2012 -0800

	6563318: RMI data sanitization
	Reviewed-by: ahgross, hawtin, mchung, smarks


changeset c090e23f82fb in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=c090e23f82fb
author: andrew
date: Tue Feb 05 08:49:18 2013 +0000

	7175616: Port fix for TimeZone from JDK 8 to JDK 7
	Reviewed-by: okutsu


changeset 507aca1e14b3 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=507aca1e14b3
author: andrew
date: Tue Feb 05 08:55:45 2013 +0000

	6664509: Add logging context
	6664528: Find log level matching its name or value given at construction time
	Reviewed-by: alanb, ahgross, jgish, hawtin


changeset 3d2e230bf733 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=3d2e230bf733
author: dholmes
date: Wed Aug 22 21:40:19 2012 -0400

	6776941: Improve thread pool shutdown
	Reviewed-by: dl, skoivu


changeset bba4c01b037c in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=bba4c01b037c
author: anthony
date: Fri Sep 28 18:09:28 2012 +0400

	7173145: Improve in-memory representation of splashscreens
	Reviewed-by: bae, mschoene


changeset f083e32a2f8c in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=f083e32a2f8c
author: ksrini
date: Tue Oct 02 07:05:27 2012 -0700

	7186945: Unpack200 improvement
	Reviewed-by: jrose, jjh, mschoene


changeset 307178db1ab4 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=307178db1ab4
author: ksrini
date: Tue Oct 02 07:50:25 2012 -0700

	7186946: Refine unpacker resource usage
	Reviewed-by: jrose, jjh, mschoene


changeset a933e3f07c6b in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=a933e3f07c6b
author: rupashka
date: Tue Oct 16 14:55:17 2012 +0400

	7186948: Improve Swing data validation
	Reviewed-by: art, ahgross


changeset 9eb4b6f7f4a1 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=9eb4b6f7f4a1
author: denis
date: Tue Oct 30 22:18:42 2012 +0400

	7186952: Improve clipboard access
	Reviewed-by: serb, ahgross


changeset 8c7b55c7852b in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=8c7b55c7852b
author: khazra
date: Thu Oct 18 12:13:15 2012 -0700

	7186954: Improve connection performance
	Reviewed-by: chegar, skoivu


changeset 811e88b05429 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=811e88b05429
author: ksrini
date: Tue Oct 02 07:34:37 2012 -0700

	7186957: Improve Pack200 data validation
	Reviewed-by: jrose, jjh, mschoene


changeset 80d3c91ac73d in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=80d3c91ac73d
author: xuelei
date: Mon Oct 22 07:31:21 2012 -0700

	7192392: Better validation of client keys
	Summary: Also reviewed by Andrew Gross<Andrew.Gross at Oracle.COM>
	Reviewed-by: vinnie


changeset 87dfac0e8806 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=87dfac0e8806
author: xuelei
date: Mon Sep 24 02:06:15 2012 -0700

	7192393: Better Checking of order of TLS Messages
	Summary: Also reviewed by Andrew Gross<Andrew.Gross at Oracle.COM>
	Reviewed-by: weijun


changeset b004e3774785 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=b004e3774785
author: bagiras
date: Tue Nov 13 23:33:57 2012 +0400

	7192977: Issue in toolkit thread
	Reviewed-by: skoivu, rupashka, art


changeset 6778773dc878 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=6778773dc878
author: jrose
date: Tue Jun 14 22:47:12 2011 -0700

	7054590: (JSR-292) MethodHandleProxies.asInterfaceInstance() accepts private/protected nested interfaces
	Summary: fix non-compliant logic in MethodHandleProxies, fix invalid private classes in MethodHandlesTest
	Reviewed-by: twisti, never


changeset ae88e718ed8a in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=ae88e718ed8a
author: mchung
date: Fri Nov 02 15:16:27 2012 -0700

	7197546: (proxy) Reflect about creating reflective proxies
	Reviewed-by: alanb, jdn, jrose


changeset b42ade93c6f4 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=b42ade93c6f4
author: rupashka
date: Tue Nov 06 17:49:01 2012 +0400

	7200491: Tighten up JTable layout code
	Reviewed-by: art, skoivu


changeset 674515331337 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=674515331337
author: malenkov
date: Mon Oct 15 14:06:54 2012 +0400

	7200493: Improve cache handling
	Reviewed-by: art, ahgross


changeset d853f51937df in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=d853f51937df
author: andrew
date: Tue Feb 05 09:13:06 2013 +0000

	7200499: Better data validation for options
	Reviewed-by: darcy, jjh, mschoene


changeset 59e50d6b690d in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=59e50d6b690d
author: ksrini
date: Tue Oct 16 10:56:25 2012 -0700

	7200500: Launcher better input validation
	Reviewed-by: darcy, jjh, mschoene


changeset 39b3aa727ccc in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=39b3aa727ccc
author: andrew
date: Tue Feb 05 09:15:00 2013 +0000

	7201064: Better dialogue checking
	Reviewed-by: serb, skoivu


changeset 16d76993e3ed in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=16d76993e3ed
author: smarks
date: Thu Nov 08 15:21:44 2012 -0800

	7201070: Serialization to conform to protocol
	Reviewed-by: dmocek, ahgross, skoivu


changeset 0adde0c52d36 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=0adde0c52d36
author: andrew
date: Tue Feb 05 09:15:51 2013 +0000

	7201071: InetSocketAddress serialization issue
	Reviewed-by: alanb, michaelm, skoivu


changeset f499c68a6a9c in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=f499c68a6a9c
author: weijun
date: Wed Sep 19 12:58:43 2012 +0800

	8000210: Improve JarFile code quality
	Reviewed-by: ahgross, xuelei, mschoene


changeset 229f3b25fb58 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=229f3b25fb58
author: dsamersoff
date: Thu Nov 15 09:41:36 2012 +0100

	8000537: Contextualize RequiredModelMBean class
	Reviewed-by: ahgross, dsamersoff, skoivu
	Contributed-by: Jaroslav Bachorik <jaroslav.bachorik at oracle.com>


changeset f963552922f3 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=f963552922f3
author: dsamersoff
date: Tue Oct 30 17:18:43 2012 +0400

	8000539: Introspect JMX data handling
	Summary: Added extra packageAccess check call
	Reviewed-by: ahgross, dfuchs
	Contributed-by: jaroslav.bachorik at oracle.com


changeset d27578f1ca5a in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=d27578f1ca5a
author: dmocek
date: Mon Nov 19 15:32:59 2012 -0800

	8001242: Improve RMI HTTP conformance
	Reviewed-by: ahgross, mchung, smarks


changeset e9487fe68325 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=e9487fe68325
author: bae
date: Thu Nov 15 19:16:41 2012 +0400

	8001972: Improve image processing
	Reviewed-by: prr, ahgross


changeset eba6d84bc70d in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=eba6d84bc70d
author: bae
date: Sat Nov 17 18:21:24 2012 +0400

	8002325: Improve management of images
	Reviewed-by: prr, ahgross


changeset 73455df094cb in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=73455df094cb
author: andrew
date: Tue Feb 05 11:08:04 2013 +0000

	Fix bad call to checkAndSetPolicy added by security patch.


changeset 52029bcc00e1 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=52029bcc00e1
author: andrew
date: Tue Feb 05 11:08:18 2013 +0000

	Added tag icedtea-2.1.5 for changeset 73455df094cb


diffstat:

 .hgtags                                                               |    1 +
 make/java/java/FILES_java.gmk                                         |    3 +-
 src/share/bin/jli_util.h                                              |    2 +-
 src/share/bin/parse_manifest.c                                        |   15 +-
 src/share/classes/com/sun/beans/finder/MethodFinder.java              |    7 +-
 src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java         |    5 +
 src/share/classes/com/sun/java/util/jar/pack/BandStructure.java       |    3 +-
 src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java        |    2 +
 src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java        |    6 +-
 src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java          |    4 +-
 src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java        |    6 +-
 src/share/classes/com/sun/jmx/mbeanserver/Introspector.java           |    8 +-
 src/share/classes/java/awt/Dialog.java                                |   53 +-
 src/share/classes/java/awt/EventQueue.java                            |   19 +-
 src/share/classes/java/awt/TextComponent.java                         |   25 +-
 src/share/classes/java/awt/Window.java                                |    2 +-
 src/share/classes/java/io/ObjectInputStream.java                      |    6 +
 src/share/classes/java/lang/Class.java                                |   47 +-
 src/share/classes/java/lang/invoke/MethodHandleProxies.java           |  114 +-
 src/share/classes/java/lang/reflect/Proxy.java                        |  151 ++-
 src/share/classes/java/net/InetSocketAddress.java                     |  272 +++-
 src/share/classes/java/util/TimeZone.java                             |   59 +-
 src/share/classes/java/util/concurrent/ThreadPoolExecutor.java        |  172 +-
 src/share/classes/java/util/jar/JarFile.java                          |   21 +-
 src/share/classes/java/util/logging/Level.java                        |  255 ++++-
 src/share/classes/java/util/logging/LogManager.java                   |  535 ++++++---
 src/share/classes/java/util/logging/Logger.java                       |   67 +-
 src/share/classes/java/util/logging/Logging.java                      |   14 +-
 src/share/classes/java/util/logging/LoggingProxyImpl.java             |   11 +-
 src/share/classes/java/util/logging/SimpleFormatter.java              |    2 +-
 src/share/classes/javax/management/modelmbean/RequiredModelMBean.java |  227 +++-
 src/share/classes/javax/swing/JTable.java                             |   14 +-
 src/share/classes/javax/swing/RepaintManager.java                     |  156 +-
 src/share/classes/javax/swing/UIDefaults.java                         |    2 +
 src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java      |    7 +-
 src/share/classes/sun/applet/AppletPanel.java                         |   60 +-
 src/share/classes/sun/awt/AWTAccessor.java                            |    7 +
 src/share/classes/sun/awt/AppContext.java                             |   62 +-
 src/share/classes/sun/awt/image/ByteComponentRaster.java              |   70 +-
 src/share/classes/sun/awt/image/ByteInterleavedRaster.java            |   29 +-
 src/share/classes/sun/awt/image/ShortComponentRaster.java             |   69 +-
 src/share/classes/sun/awt/image/ShortInterleavedRaster.java           |   29 +-
 src/share/classes/sun/misc/JavaAWTAccess.java                         |   42 +
 src/share/classes/sun/misc/SharedSecrets.java                         |   13 +-
 src/share/classes/sun/net/httpserver/ChunkedInputStream.java          |   14 +-
 src/share/classes/sun/net/www/http/ChunkedInputStream.java            |    9 +
 src/share/classes/sun/nio/ch/DatagramChannelImpl.java                 |   18 +-
 src/share/classes/sun/reflect/misc/ReflectUtil.java                   |   59 +
 src/share/classes/sun/rmi/transport/proxy/CGIHandler.java             |   19 +-
 src/share/classes/sun/rmi/transport/proxy/HttpInputStream.java        |   15 +-
 src/share/classes/sun/security/pkcs11/P11KeyAgreement.java            |    9 +
 src/share/classes/sun/security/ssl/ClientHandshaker.java              |   13 +-
 src/share/classes/sun/security/ssl/DHClientKeyExchange.java           |   19 +-
 src/share/classes/sun/security/ssl/DHCrypt.java                       |   87 +-
 src/share/classes/sun/security/ssl/HandshakeMessage.java              |   16 +-
 src/share/classes/sun/security/ssl/RSAClientKeyExchange.java          |    4 +-
 src/share/classes/sun/security/ssl/ServerHandshaker.java              |   18 +-
 src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java     |    4 +-
 src/share/classes/sun/security/util/DerIndefLenConverter.java         |    4 +
 src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java |    2 +-
 src/share/classes/sun/security/util/KeyLength.java                    |   91 -
 src/share/classes/sun/security/util/KeyUtil.java                      |  204 +++
 src/share/lib/security/java.security                                  |   22 +-
 src/share/lib/security/java.security-solaris                          |   16 +-
 src/share/lib/security/java.security-windows                          |   16 +-
 src/share/native/com/sun/java/util/jar/pack/bands.cpp                 |    4 +
 src/share/native/com/sun/java/util/jar/pack/bands.h                   |    4 +-
 src/share/native/com/sun/java/util/jar/pack/jni.cpp                   |   53 +-
 src/share/native/com/sun/java/util/jar/pack/unpack.cpp                |   33 +-
 src/share/native/sun/awt/image/awt_parseImage.c                       |  110 +-
 src/share/native/sun/awt/image/awt_parseImage.h                       |    1 +
 src/share/native/sun/awt/medialib/safe_alloc.h                        |    5 +
 src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c             |    4 +
 src/solaris/classes/sun/nio/ch/SctpChannelImpl.java                   |   14 +-
 src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java              |   16 +-
 src/solaris/native/sun/nio/ch/DatagramChannelImpl.c                   |    9 +-
 src/solaris/native/sun/nio/ch/SctpChannelImpl.c                       |   27 +-
 src/windows/bin/java_md.c                                             |   32 +-
 src/windows/classes/sun/awt/windows/WComponentPeer.java               |    9 +-
 src/windows/classes/sun/awt/windows/WEmbeddedFrame.java               |   15 +-
 src/windows/native/sun/nio/ch/DatagramChannelImpl.c                   |   10 +-
 src/windows/native/sun/windows/awt_TextComponent.cpp                  |   22 +-
 src/windows/native/sun/windows/awt_TextComponent.h                    |    3 +-
 test/java/lang/invoke/MethodHandlesTest.java                          |   23 +-
 84 files changed, 2643 insertions(+), 1084 deletions(-)

diffs (truncated from 6513 to 500 lines):

diff -r e7d1cb36e005 -r 52029bcc00e1 .hgtags
--- a/.hgtags	Mon Jan 14 22:22:15 2013 +0000
+++ b/.hgtags	Tue Feb 05 11:08:18 2013 +0000
@@ -155,3 +155,4 @@
 2b707a3a7d8d885d00eab5d0d43dd24d1c5a0213 icedtea-2.1.2
 8c49c024c920982eb4a99b5960f260b9210eb363 icedtea-2.1.3
 d119038320a3133018f0b968a4e0a9d93ccef76c icedtea-2.1.4
+73455df094cba27f0f9d2b23b8666936b3100683 icedtea-2.1.5
diff -r e7d1cb36e005 -r 52029bcc00e1 make/java/java/FILES_java.gmk
--- a/make/java/java/FILES_java.gmk	Mon Jan 14 22:22:15 2013 +0000
+++ b/make/java/java/FILES_java.gmk	Tue Feb 05 11:08:18 2013 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -475,6 +475,7 @@
     sun/misc/MessageUtils.java \
     sun/misc/GC.java \
     sun/misc/Service.java \
+    sun/misc/JavaAWTAccess.java \
     sun/misc/JavaLangAccess.java \
     sun/misc/JavaIOAccess.java \
     sun/misc/JavaIOFileDescriptorAccess.java \
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/bin/jli_util.h
--- a/src/share/bin/jli_util.h	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/bin/jli_util.h	Tue Feb 05 11:08:18 2013 +0000
@@ -55,7 +55,7 @@
 #include <io.h>
 #define JLI_StrCaseCmp(p1, p2)          stricmp((p1), (p2))
 #define JLI_StrNCaseCmp(p1, p2, p3)     strnicmp((p1), (p2), (p3))
-#define JLI_Snprintf                    _snprintf
+size_t  JLI_Snprintf(char *buffer, size_t size, const char *format, ...);
 #else
 #include <unistd.h>
 #define JLI_StrCaseCmp(p1, p2)          strcasecmp((p1), (p2))
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/bin/parse_manifest.c
--- a/src/share/bin/parse_manifest.c	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/bin/parse_manifest.c	Tue Feb 05 11:08:18 2013 +0000
@@ -490,9 +490,9 @@
 #ifdef O_BINARY
         | O_BINARY /* use binary mode on windows */
 #endif
-        )) == -1)
+        )) == -1) {
         return (-1);
-
+    }
     info->manifest_version = NULL;
     info->main_class = NULL;
     info->jre_version = NULL;
@@ -539,12 +539,14 @@
     zentry  entry;
     void    *data = NULL;
 
-    fd = open(jarfile, O_RDONLY
+    if ((fd = open(jarfile, O_RDONLY
 #ifdef O_BINARY
         | O_BINARY /* use binary mode on windows */
 #endif
-        );
-    if (fd != -1 && find_file(fd, &entry, filename) == 0) {
+        )) == -1) {
+        return NULL;
+    }
+    if (find_file(fd, &entry, filename) == 0) {
         data = inflate_file(fd, &entry, size);
     }
     close(fd);
@@ -586,8 +588,9 @@
 #ifdef O_BINARY
         | O_BINARY /* use binary mode on windows */
 #endif
-        )) == -1)
+        )) == -1) {
         return (-1);
+    }
 
     if (rc = find_file(fd, &entry, manifest_name) != 0) {
         close(fd);
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/com/sun/beans/finder/MethodFinder.java
--- a/src/share/classes/com/sun/beans/finder/MethodFinder.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/com/sun/beans/finder/MethodFinder.java	Tue Feb 05 11:08:18 2013 +0000
@@ -68,11 +68,14 @@
         Signature signature = new Signature(type, name, args);
 
         Method method = CACHE.get(signature);
-        if (method != null) {
+        boolean cached = method != null;
+        if (cached && isPackageAccessible(method.getDeclaringClass())) {
             return method;
         }
         method = findAccessibleMethod(new MethodFinder(name, args).find(type.getMethods()));
-        CACHE.put(signature, method);
+        if (!cached) {
+            CACHE.put(signature, method);
+        }
         return method;
     }
 
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java
--- a/src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java	Tue Feb 05 11:08:18 2013 +0000
@@ -40,6 +40,8 @@
 import javax.crypto.SecretKey;
 import javax.crypto.spec.*;
 
+import sun.security.util.KeyUtil;
+
 /**
  * This class implements the Diffie-Hellman key agreement protocol between
  * any number of parties.
@@ -199,6 +201,9 @@
             throw new InvalidKeyException("Incompatible parameters");
         }
 
+        // validate the Diffie-Hellman public key
+        KeyUtil.validate(dhPubKey);
+
         // store the y value
         this.y = dhPubKey.getY();
 
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/com/sun/java/util/jar/pack/BandStructure.java
--- a/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	Tue Feb 05 11:08:18 2013 +0000
@@ -1003,7 +1003,6 @@
 
         /** Write a constant pool reference. */
         public void putRef(Entry e) {
-            assert(index != null);
             addValue(encodeRefOrNull(e, index));
         }
         public void putRef(Entry e, Index index) {
@@ -1055,6 +1054,8 @@
 
 
     int encodeRef(Entry e, Index ix) {
+        if (ix == null)
+            throw new RuntimeException("null index for " + e.stringValue());
         int coding = ix.indexOf(e);
         if (verbose > 2)
             Utils.log.fine("putRef "+coding+" => "+e);
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
--- a/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	Tue Feb 05 11:08:18 2013 +0000
@@ -1049,6 +1049,8 @@
 
         /** Index of all CP entries of a given tag and class. */
         public Index getMemberIndex(byte tag, ClassEntry classRef) {
+            if (classRef == null)
+                throw new RuntimeException("missing class reference for " + tagName(tag));
             if (indexByTagAndClass == null)
                 indexByTagAndClass = new Index[CONSTANT_Limit][];
             Index allClasses =  getIndexByTag(CONSTANT_Class);
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
--- a/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	Tue Feb 05 11:08:18 2013 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -104,6 +104,10 @@
         return (p200 == null)? null: p200._nunp;
     }
 
+    private synchronized long getUnpackerPtr() {
+        return unpackerPtr;
+    }
+
     // Callback from the unpacker engine to get more data.
     private long readInputFn(ByteBuffer pbuf, long minlen) throws IOException {
         if (in == null)  return 0;  // nothing is readable
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java
--- a/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	Tue Feb 05 11:08:18 2013 +0000
@@ -83,7 +83,7 @@
      * @param out an OutputStream
      * @exception IOException if an error is encountered.
      */
-    public void pack(JarFile in, OutputStream out) throws IOException {
+    public synchronized void pack(JarFile in, OutputStream out) throws IOException {
         assert(Utils.currentInstance.get() == null);
         TimeZone tz = (props.getBoolean(Utils.PACK_DEFAULT_TIMEZONE))
                       ? null
@@ -118,7 +118,7 @@
      * @param out an OutputStream
      * @exception IOException if an error is encountered.
      */
-    public void pack(JarInputStream in, OutputStream out) throws IOException {
+    public synchronized void pack(JarInputStream in, OutputStream out) throws IOException {
         assert(Utils.currentInstance.get() == null);
         TimeZone tz = (props.getBoolean(Utils.PACK_DEFAULT_TIMEZONE)) ? null :
             TimeZone.getDefault();
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java
--- a/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	Tue Feb 05 11:08:18 2013 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -106,7 +106,7 @@
      * @param out a JarOutputStream.
      * @exception IOException if an error is encountered.
      */
-    public void unpack(InputStream in, JarOutputStream out) throws IOException {
+    public synchronized void unpack(InputStream in, JarOutputStream out) throws IOException {
         if (in == null) {
             throw new NullPointerException("null input");
         }
@@ -151,7 +151,7 @@
      * @param out a JarOutputStream.
      * @exception IOException if an error is encountered.
      */
-    public void unpack(File in, JarOutputStream out) throws IOException {
+    public synchronized void unpack(File in, JarOutputStream out) throws IOException {
         if (in == null) {
             throw new NullPointerException("null input");
         }
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/com/sun/jmx/mbeanserver/Introspector.java
--- a/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java	Tue Feb 05 11:08:18 2013 +0000
@@ -56,6 +56,8 @@
 import java.lang.reflect.InvocationTargetException;
 import javax.management.AttributeNotFoundException;
 import javax.management.openmbean.CompositeData;
+import sun.reflect.misc.MethodUtil;
+import sun.reflect.misc.ReflectUtil;
 
 /**
  * This class contains the methods for performing all the tests needed to verify
@@ -528,8 +530,10 @@
                     // to locate method
                     readMethod = SimpleIntrospector.getReadMethod(clazz, element);
                 }
-                if (readMethod != null)
-                    return readMethod.invoke(complex);
+                if (readMethod != null) {
+                    ReflectUtil.checkPackageAccess(readMethod.getDeclaringClass());
+                    return MethodUtil.invoke(readMethod, complex, new Class[0]);
+                }
 
                 throw new AttributeNotFoundException(
                     "Could not find the getter method for the property " +
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/java/awt/Dialog.java
--- a/src/share/classes/java/awt/Dialog.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/java/awt/Dialog.java	Tue Feb 05 11:08:18 2013 +0000
@@ -39,6 +39,7 @@
 import sun.awt.util.IdentityArrayList;
 import sun.awt.util.IdentityLinkedList;
 import sun.security.util.SecurityConstants;
+import java.security.AccessControlException;
 
 /**
  * A Dialog is a top-level window with a title and a border
@@ -128,6 +129,8 @@
      */
     boolean undecorated = false;
 
+    private transient boolean initialized = false;
+
     /**
      * Modal dialogs block all input to some top-level windows.
      * Whether a particular window is blocked depends on dialog's type
@@ -671,6 +674,7 @@
         this.title = title;
         setModalityType(modalityType);
         SunToolkit.checkAndSetPolicy(this, false);
+        initialized = true;
     }
 
     /**
@@ -722,6 +726,7 @@
         this.title = title;
         setModalityType(modalityType);
         SunToolkit.checkAndSetPolicy(this, false);
+        initialized = true;
     }
 
     /**
@@ -851,12 +856,9 @@
         if (modalityType == type) {
             return;
         }
-        if (type == ModalityType.TOOLKIT_MODAL) {
-            SecurityManager sm = System.getSecurityManager();
-            if (sm != null) {
-                sm.checkPermission(SecurityConstants.AWT.TOOLKIT_MODALITY_PERMISSION);
-            }
-        }
+
+        checkModalityPermission(type);
+
         modalityType = type;
         modal = (modalityType != ModalityType.MODELESS);
     }
@@ -1025,6 +1027,9 @@
      */
     @Deprecated
     public void show() {
+        if (!initialized) throw new IllegalStateException(
+            "The dialog component has not been initialized properly");
+
         beforeFirstShow = false;
         if (!isModal()) {
             conditionalShow(null, null);
@@ -1595,18 +1600,50 @@
         }
     }
 
+    private void checkModalityPermission(ModalityType mt) {
+        if (mt == ModalityType.TOOLKIT_MODAL) {
+            SecurityManager sm = System.getSecurityManager();
+            if (sm != null) {
+                sm.checkPermission(
+                    SecurityConstants.AWT.TOOLKIT_MODALITY_PERMISSION
+                );
+            }
+        }
+    }
+
     private void readObject(ObjectInputStream s)
         throws ClassNotFoundException, IOException, HeadlessException
     {
         GraphicsEnvironment.checkHeadless();
-        s.defaultReadObject();
+
+        java.io.ObjectInputStream.GetField fields =
+                    s.readFields();
+
+        ModalityType localModalityType = (ModalityType)fields.get("modalityType", null);
+
+        try {
+            checkModalityPermission(localModalityType);
+        } catch (AccessControlException ace) {
+            localModalityType = DEFAULT_MODALITY_TYPE;
+        }
 
         // in 1.5 or earlier modalityType was absent, so use "modal" instead
-        if (modalityType == null) {
+        if (localModalityType == null) {
+            this.modal = fields.get("modal", false);
             setModal(modal);
         }
 
+        this.resizable = fields.get("resizable", true);
+        this.undecorated = fields.get("undecorated", false);
+        this.title = (String)fields.get("title", "");
+        this.modalityType = localModalityType;
+
         blockedWindows = new IdentityArrayList();
+
+        SunToolkit.checkAndSetPolicy(this, false);
+
+        initialized = true;
+
     }
 
     /*
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/java/awt/EventQueue.java
--- a/src/share/classes/java/awt/EventQueue.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/java/awt/EventQueue.java	Tue Feb 05 11:08:18 2013 +0000
@@ -191,7 +191,8 @@
                 }
                 public void removeSourceEvents(EventQueue eventQueue,
                                                Object source,
-                                               boolean removeAllEvents) {
+                                               boolean removeAllEvents)
+                {
                     eventQueue.removeSourceEvents(source, removeAllEvents);
                 }
                 public boolean noEvents(EventQueue eventQueue) {
@@ -200,6 +201,11 @@
                 public void wakeup(EventQueue eventQueue, boolean isShutdown) {
                     eventQueue.wakeup(isShutdown);
                 }
+                public void invokeAndWait(Object source, Runnable r)
+                    throws InterruptedException, InvocationTargetException
+                {
+                    EventQueue.invokeAndWait(source, r);
+                }
             });
     }
 
@@ -1227,8 +1233,14 @@
      * @since           1.2
      */
     public static void invokeAndWait(Runnable runnable)
-             throws InterruptedException, InvocationTargetException {
+        throws InterruptedException, InvocationTargetException
+    {
+        invokeAndWait(Toolkit.getDefaultToolkit(), runnable);
+    }
 
+    static void invokeAndWait(Object source, Runnable runnable)
+        throws InterruptedException, InvocationTargetException
+    {
         if (EventQueue.isDispatchThread()) {
             throw new Error("Cannot call invokeAndWait from the event dispatcher thread");
         }
@@ -1237,8 +1249,7 @@
         Object lock = new AWTInvocationLock();
 
         InvocationEvent event =
-            new InvocationEvent(Toolkit.getDefaultToolkit(), runnable, lock,
-                                true);
+            new InvocationEvent(source, runnable, lock, true);
 
         synchronized (lock) {
             Toolkit.getEventQueue().postEvent(event);
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/java/awt/TextComponent.java
--- a/src/share/classes/java/awt/TextComponent.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/java/awt/TextComponent.java	Tue Feb 05 11:08:18 2013 +0000
@@ -107,12 +107,6 @@
     // the background color of non-editable TextComponents.
     boolean backgroundSetByClientCode = false;
 
-    /**
-     * True if this <code>TextComponent</code> has access
-     * to the System clipboard.
-     */
-    transient private boolean canAccessClipboard;
-
     transient protected TextListener textListener;
 
     /*
@@ -137,7 +131,6 @@
         GraphicsEnvironment.checkHeadless();
         this.text = (text != null) ? text : "";
         setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
-        checkSystemClipboardAccess();
     }
 
     private void enableInputMethodsIfNecessary() {
@@ -727,17 +720,14 @@
     /**
      * Assigns a valid value to the canAccessClipboard instance variable.
      */
-    private void checkSystemClipboardAccess() {
-        canAccessClipboard = true;
+    private boolean canAccessClipboard() {
         SecurityManager sm = System.getSecurityManager();
-        if (sm != null) {
-            try {
-                sm.checkSystemClipboardAccess();
-            }
-            catch (SecurityException e) {
-                canAccessClipboard = false;
-            }
-        }
+        if (sm == null) return true;
+        try {
+            sm.checkSystemClipboardAccess();
+            return true;
+        } catch (SecurityException e) {}
+        return false;
     }
 
     /*
@@ -820,7 +810,6 @@
             }
         }
         enableInputMethodsIfNecessary();
-        checkSystemClipboardAccess();
     }
 
 
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/java/awt/Window.java
--- a/src/share/classes/java/awt/Window.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/java/awt/Window.java	Tue Feb 05 11:08:18 2013 +0000
@@ -1200,7 +1200,7 @@
         }
         else {
             try {
-                EventQueue.invokeAndWait(action);
+                EventQueue.invokeAndWait(this, action);
             }
             catch (InterruptedException e) {
                 System.err.println("Disposal was interrupted:");
diff -r e7d1cb36e005 -r 52029bcc00e1 src/share/classes/java/io/ObjectInputStream.java
--- a/src/share/classes/java/io/ObjectInputStream.java	Mon Jan 14 22:22:15 2013 +0000
+++ b/src/share/classes/java/io/ObjectInputStream.java	Tue Feb 05 11:08:18 2013 +0000
@@ -1750,6 +1750,12 @@
         ObjectStreamClass desc = readClassDesc(false);
         desc.checkDeserialize();
 
+        Class<?> cl = desc.forClass();
+        if (cl == String.class || cl == Class.class
+                || cl == ObjectStreamClass.class) {
+            throw new InvalidClassException("invalid class descriptor");
+        }
+
         Object obj;



More information about the distro-pkg-dev mailing list