/hg/release/icedtea7-2.2: Add 2012/10/16 security updates.
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Tue Oct 16 22:19:20 PDT 2012
changeset ecfaffefd61b in /hg/release/icedtea7-2.2
details: http://icedtea.classpath.org/hg/release/icedtea7-2.2?cmd=changeset;node=ecfaffefd61b
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Wed Oct 17 06:19:02 2012 +0100
Add 2012/10/16 security updates.
2011-10-17 Andrew John Hughes <gnu.andrew at redhat.com>
* Makefile.am:
(CORBA_CHANGESET): Update to IcedTea7 2.2 forest head;
the tag icedtea-2.2.3.
(JAXP_CHANGESET): Likewise.
(JAXWS_CHANGESET): Likewise.
(JDK_CHANGESET): Likewise.
(HOTSPOT_CHANGESET): Likewise.
(LANGTOOLS_CHANGESET): Likewise.
(OPENJDK_CHANGESET): Likewise.
(CORBA_SHA256SUM): Likewise.
(JAXP_SHA256SUM): Likewise.
(JAXWS_SHA256SUM): Likewise.
(JDK_SHA256SUM): Likewise.
(HOTSPOT_SHA256SUM): Likewise.
(LANGTOOLS_SHA256SUM): Likewise.
(OPENJDK_SHA256SUM): Likewise.
* patches/boot/ecj-autoboxing.patch:
Add additional case in
java.lang.invoke.MethodHandleImpl.
* patches/boot/ecj-diamond.patch:
Add additional case in
com.sun.beans.decoder.DocumentHandler.
* patches/boot/ecj-stringswitch.patch:
Add additional case in
java.lang.invoke.MethodHandleNatives.
* patches/boot/ecj-trywithresources.patch:
Add additional case in
java.lang.invoke.MethodHandleImpl.
diffstat:
ChangeLog | 31 ++++++
Makefile.am | 29 +++--
patches/boot/ecj-autoboxing.patch | 12 ++
patches/boot/ecj-diamond.patch | 17 +++
patches/boot/ecj-stringswitch.patch | 150 ++++++++++++++++++++++++++++++++
patches/boot/ecj-trywithresources.patch | 20 ++++
6 files changed, 245 insertions(+), 14 deletions(-)
diffs (315 lines):
diff -r 3c80f4c091b5 -r ecfaffefd61b ChangeLog
--- a/ChangeLog Wed Sep 05 11:38:00 2012 +0200
+++ b/ChangeLog Wed Oct 17 06:19:02 2012 +0100
@@ -1,3 +1,34 @@
+2011-10-17 Andrew John Hughes <gnu.andrew at redhat.com>
+
+ * Makefile.am:
+ (CORBA_CHANGESET): Update to IcedTea7 2.2 forest head;
+ the tag icedtea-2.2.3.
+ (JAXP_CHANGESET): Likewise.
+ (JAXWS_CHANGESET): Likewise.
+ (JDK_CHANGESET): Likewise.
+ (HOTSPOT_CHANGESET): Likewise.
+ (LANGTOOLS_CHANGESET): Likewise.
+ (OPENJDK_CHANGESET): Likewise.
+ (CORBA_SHA256SUM): Likewise.
+ (JAXP_SHA256SUM): Likewise.
+ (JAXWS_SHA256SUM): Likewise.
+ (JDK_SHA256SUM): Likewise.
+ (HOTSPOT_SHA256SUM): Likewise.
+ (LANGTOOLS_SHA256SUM): Likewise.
+ (OPENJDK_SHA256SUM): Likewise.
+ * patches/boot/ecj-autoboxing.patch:
+ Add additional case in
+ java.lang.invoke.MethodHandleImpl.
+ * patches/boot/ecj-diamond.patch:
+ Add additional case in
+ com.sun.beans.decoder.DocumentHandler.
+ * patches/boot/ecj-stringswitch.patch:
+ Add additional case in
+ java.lang.invoke.MethodHandleNatives.
+ * patches/boot/ecj-trywithresources.patch:
+ Add additional case in
+ java.lang.invoke.MethodHandleImpl.
+
2012-09-05 Matthias Klose <doko at ubuntu.com>
* configure.ac: Remove the Xp header and library checks.
diff -r 3c80f4c091b5 -r ecfaffefd61b Makefile.am
--- a/Makefile.am Wed Sep 05 11:38:00 2012 +0200
+++ b/Makefile.am Wed Oct 17 06:19:02 2012 +0100
@@ -4,21 +4,22 @@
JDK_UPDATE_VERSION = 05
COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION)
-CORBA_CHANGESET = 64c5506f4a4b
-HOTSPOT_CHANGESET = f36619598d31
-JAXP_CHANGESET = d7e1594436a6
-JAXWS_CHANGESET = e029fce63568
-JDK_CHANGESET = 85680f91b6f9
-LANGTOOLS_CHANGESET = f5e3d40e7849
-OPENJDK_CHANGESET = 0fd1b10097bd
+CORBA_CHANGESET = 12fee4f9ac22
+HOTSPOT_CHANGESET = 864418cd5667
+JAXP_CHANGESET = dc64245ac19d
+JAXWS_CHANGESET = b41293d57940
+JDK_CHANGESET = 4cf358fd012a
+LANGTOOLS_CHANGESET = e96efe42e3d5
+OPENJDK_CHANGESET = 32574ae3c2be
-CORBA_SHA256SUM = b27f4fb21b5873594661b97a325454ad9448e5cd73864270f5f30c07ca082660
-HOTSPOT_SHA256SUM = 02b3b8e4814ac72140a921c7e08ac8967ae6f6904a9b49476bbc3e098d881153
-JAXP_SHA256SUM = 75bd17a9abfb110bde5950229fb343b16ac13916d78d87631b414cc6fc44d80b
-JAXWS_SHA256SUM = 89b6b52b758785d465d1d14c9156872db26e37b5cf13e2b602c28ee9f0e3d56a
-JDK_SHA256SUM = ca95c6c0c70f40c472f22d85092d664d77ab32dc4ef0ccc01a4ada937eb208ce
-LANGTOOLS_SHA256SUM = 57033a023ed8fd3b6222fe7bcad6a240841af7f700ee03f210b86bde9c13f6e0
-OPENJDK_SHA256SUM = f0caa034ee9377dc6b0bd2d71a9489a89c48088be17938ba69e1167afa68932c
+CORBA_SHA256SUM = bf314ffe9993f70ef9a0449b5c540883935b6326e28ee5afdc44f062039e0303
+HOTSPOT_SHA256SUM = 85b0ff446da7f05cd8e2f6902d86fcb109b347db858791e3afcf315ce5ef2942
+JAXP_SHA256SUM = 5003576ed427cae1dda7ccf7c1af042ea8f62ad668e176583a84fba989f77e32
+JAXWS_SHA256SUM = a3bf4ec265fd044a5abce35dfc51b1977826a21bd13abe05a8336f25e8a8dd21
+JDK_SHA256SUM = 5cd45b036269d35ec916e0b99977a87d2a2addefe9aa2058fbc05d0269cd9008
+LANGTOOLS_SHA256SUM = f70752c14ec19fec5fffdb38b3d3aaaefd551ec4dfd109947541b3f4176245a6
+OPENJDK_SHA256SUM = 6a5e1a497c0a309fc17954909ca5890bef15b61e8af877b7a07d0f754d6875a4
+HS21_SHA256SUM = a2a2c610e9ebb97a3c95be233533035cf4f59c4cc45a553ba09e52106fbad113
CACAO_VERSION = a567bcb7f589
CACAO_SHA256SUM = d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9
diff -r 3c80f4c091b5 -r ecfaffefd61b patches/boot/ecj-autoboxing.patch
--- a/patches/boot/ecj-autoboxing.patch Wed Sep 05 11:38:00 2012 +0200
+++ b/patches/boot/ecj-autoboxing.patch Wed Oct 17 06:19:02 2012 +0100
@@ -243,6 +243,15 @@
return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7);
return fallback.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7);
}
+@@ -1374,7 +1374,7 @@
+ MH_checkCallerClass = IMPL_LOOKUP
+ .findStatic(THIS_CLASS, "checkCallerClass",
+ MethodType.methodType(boolean.class, Class.class, Class.class));
+- assert((boolean) MH_checkCallerClass.invokeExact(THIS_CLASS, THIS_CLASS));
++ assert((Boolean) MH_checkCallerClass.invokeExact(THIS_CLASS, THIS_CLASS));
+ } catch (Throwable ex) {
+ throw new InternalError(ex.toString());
+ }
diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/ToGeneric.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/ToGeneric.java
--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/ToGeneric.java 2011-06-11 00:38:08.000000000 +0100
+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/ToGeneric.java 2011-07-12 15:12:13.214932157 +0100
@@ -285,3 +294,6 @@
else
return (int) unboxLong(x, false);
}
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java 2012-10-17 03:17:03.331299684 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java 2012-10-17 03:19:49.546110492 +0100
diff -r 3c80f4c091b5 -r ecfaffefd61b patches/boot/ecj-diamond.patch
--- a/patches/boot/ecj-diamond.patch Wed Sep 05 11:38:00 2012 +0200
+++ b/patches/boot/ecj-diamond.patch Wed Oct 17 06:19:02 2012 +0100
@@ -6042,6 +6042,23 @@
List<Thread> threads = new ArrayList<Thread>();
for (int i = 0; i < threadCount; i++) {
RandomCollector r = new RandomCollector();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2012-10-17 02:42:13.610815469 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2012-10-17 02:43:02.995461481 +0100
+@@ -62,9 +62,10 @@
+ */
+ public final class DocumentHandler extends DefaultHandler {
+ private final AccessControlContext acc = AccessController.getContext();
+- private final Map<String, Class<? extends ElementHandler>> handlers = new HashMap<>();
+- private final Map<String, Object> environment = new HashMap<>();
+- private final List<Object> objects = new ArrayList<>();
++ private final Map<String, Class<? extends ElementHandler>> handlers =
++ new HashMap<String, Class<? extends ElementHandler>>();
++ private final Map<String, Object> environment = new HashMap<String, Object>();
++ private final List<Object> objects = new ArrayList<Object>();
+
+ private Reference<ClassLoader> loader;
+ private ExceptionListener listener;
diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java
--- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java 2012-06-13 00:23:50.888084888 +0100
+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java 2012-06-13 00:24:25.328561965 +0100
diff -r 3c80f4c091b5 -r ecfaffefd61b patches/boot/ecj-stringswitch.patch
--- a/patches/boot/ecj-stringswitch.patch Wed Sep 05 11:38:00 2012 +0200
+++ b/patches/boot/ecj-stringswitch.patch Wed Oct 17 06:19:02 2012 +0100
@@ -301,3 +301,153 @@
}
throw new IllegalArgumentException(
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2012-10-17 03:48:53.678554395 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2012-10-17 04:20:20.203700764 +0100
+@@ -411,89 +411,84 @@
+ static boolean isCallerSensitive(MemberName mem) {
+ assert(mem.isInvocable());
+ Class<?> defc = mem.getDeclaringClass();
+- switch (mem.getName()) {
+- case "doPrivileged":
++ String memName = mem.getName();
++ if ("doPrivileged".equals(memName)) {
+ return defc == java.security.AccessController.class;
+- case "getUnsafe":
++ } else if ("getUnsafe".equals(memName)) {
+ return defc == sun.misc.Unsafe.class;
+- case "lookup":
++ } else if ("lookup".equals(memName)) {
+ return defc == java.lang.invoke.MethodHandles.class;
+- case "invoke":
++ } else if ("invoke".equals(memName)) {
+ return defc == java.lang.reflect.Method.class;
+- case "get":
+- case "getBoolean":
+- case "getByte":
+- case "getChar":
+- case "getShort":
+- case "getInt":
+- case "getLong":
+- case "getFloat":
+- case "getDouble":
+- case "set":
+- case "setBoolean":
+- case "setByte":
+- case "setChar":
+- case "setShort":
+- case "setInt":
+- case "setLong":
+- case "setFloat":
+- case "setDouble":
++ } else if ("get".equals(memName) ||
++ "getBoolean".equals(memName) ||
++ "getByte".equals(memName) ||
++ "getChar".equals(memName) ||
++ "getShort".equals(memName) ||
++ "getInt".equals(memName) ||
++ "getFloat".equals(memName) ||
++ "getDouble".equals(memName) ||
++ "set".equals(memName) ||
++ "setBoolean".equals(memName) ||
++ "setByte".equals(memName) ||
++ "setChar".equals(memName) ||
++ "setShort".equals(memName) ||
++ "setInt".equals(memName) ||
++ "setLong".equals(memName) ||
++ "setFloat".equals(memName) ||
++ "setDouble".equals(memName)) {
+ return defc == java.lang.reflect.Field.class;
+- case "newInstance":
++ } else if ("newInstance".equals(memName)) {
+ if (defc == java.lang.reflect.Constructor.class) return true;
+ if (defc == java.lang.Class.class) return true;
+- break;
+- case "forName":
+- case "getClassLoader":
+- case "getClasses":
+- case "getFields":
+- case "getMethods":
+- case "getConstructors":
+- case "getDeclaredClasses":
+- case "getDeclaredFields":
+- case "getDeclaredMethods":
+- case "getDeclaredConstructors":
+- case "getField":
+- case "getMethod":
+- case "getConstructor":
+- case "getDeclaredField":
+- case "getDeclaredMethod":
+- case "getDeclaredConstructor":
++ } else if ("forName".equals(memName) ||
++ "getClassLoader".equals(memName) ||
++ "getClasses".equals(memName) ||
++ "getFields".equals(memName) ||
++ "getMethods".equals(memName) ||
++ "getConstructors".equals(memName) ||
++ "getDeclaredClasses".equals(memName) ||
++ "getDeclaredFields".equals(memName) ||
++ "getDeclaredMethods".equals(memName) ||
++ "getDeclaredConstructors".equals(memName) ||
++ "getField".equals(memName) ||
++ "getMethod".equals(memName) ||
++ "getConstructor".equals(memName) ||
++ "getDeclaredField".equals(memName) ||
++ "getDeclaredMethod".equals(memName) ||
++ "getDeclaredConstructor".equals(memName)) {
+ return defc == java.lang.Class.class;
+- case "getConnection":
+- case "getDriver":
+- case "getDrivers":
+- case "deregisterDriver":
++ } else if ("getConnection".equals(memName) ||
++ "getDriver".equals(memName) ||
++ "getDrivers".equals(memName) ||
++ "deregisterDriver".equals(memName)) {
+ return defc == java.sql.DriverManager.class;
+- case "newUpdater":
++ } else if ("newUpdater".equals(memName)) {
+ if (defc == java.util.concurrent.atomic.AtomicIntegerFieldUpdater.class) return true;
+ if (defc == java.util.concurrent.atomic.AtomicLongFieldUpdater.class) return true;
+ if (defc == java.util.concurrent.atomic.AtomicReferenceFieldUpdater.class) return true;
+- break;
+- case "getContextClassLoader":
++ } else if ("getContextClassLoader".equals(memName)) {
+ return defc == java.lang.Thread.class;
+- case "getPackage":
+- case "getPackages":
++ } else if ("getPackage".equals(memName) ||
++ "getPackages".equals(memName)) {
+ return defc == java.lang.Package.class;
+- case "getParent":
+- case "getSystemClassLoader":
++ } else if ("getParent".equals(memName) ||
++ "getSystemClassLoader".equals(memName)) {
+ return defc == java.lang.ClassLoader.class;
+- case "load":
+- case "loadLibrary":
++ } else if ("load".equals(memName) ||
++ "loadLibrary".equals(memName)) {
+ if (defc == java.lang.Runtime.class) return true;
+ if (defc == java.lang.System.class) return true;
+- break;
+- case "getCallerClass":
++ } else if ("getCallerClass".equals(memName)) {
+ if (defc == sun.reflect.Reflection.class) return true;
+ if (defc == java.lang.System.class) return true;
+- break;
+- case "getCallerClassLoader":
++ } else if ("getCallerClassLoader".equals(memName)) {
+ return defc == java.lang.ClassLoader.class;
+- case "getProxyClass":
+- case "newProxyInstance":
++ } else if ("getProxyClass".equals(memName) ||
++ "newProxyInstance".equals(memName)) {
+ return defc == java.lang.reflect.Proxy.class;
+- case "getBundle":
+- case "clearCache":
++ } else if ("getBundle".equals(memName) ||
++ "clearCache".equals(memName)) {
+ return defc == java.util.ResourceBundle.class;
+ }
+ return false;
diff -r 3c80f4c091b5 -r ecfaffefd61b patches/boot/ecj-trywithresources.patch
--- a/patches/boot/ecj-trywithresources.patch Wed Sep 05 11:38:00 2012 +0200
+++ b/patches/boot/ecj-trywithresources.patch Wed Oct 17 06:19:02 2012 +0100
@@ -1038,3 +1038,23 @@
} catch (IOException x) {
}
return result;
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java 2012-10-17 03:17:03.331299684 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java 2012-10-17 03:18:04.192329905 +0100
+@@ -1401,10 +1401,14 @@
+ java.net.URLConnection uconn = tClass.getResource(tResource).openConnection();
+ int len = uconn.getContentLength();
+ byte[] bytes = new byte[len];
+- try (java.io.InputStream str = uconn.getInputStream()) {
++ java.io.InputStream str = null;
++ try {
++ str = uconn.getInputStream();
+ int nr = str.read(bytes);
+ if (nr != len) throw new java.io.IOException(tResource);
+- }
++ } finally {
++ str.close();
++ }
+ values[0] = bytes;
+ } catch (java.io.IOException ex) {
+ throw new InternalError(ex.toString());
More information about the distro-pkg-dev
mailing list