From owner-svn-ports-head@FreeBSD.ORG Mon Feb 2 05:00:44 2015 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0D2DC579; Mon, 2 Feb 2015 05:00:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ED670975; Mon, 2 Feb 2015 05:00:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1250hqb030108; Mon, 2 Feb 2015 05:00:43 GMT (envelope-from glewis@FreeBSD.org) Received: (from glewis@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1250hfY030105; Mon, 2 Feb 2015 05:00:43 GMT (envelope-from glewis@FreeBSD.org) Message-Id: <201502020500.t1250hfY030105@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glewis set sender to glewis@FreeBSD.org using -f From: Greg Lewis Date: Mon, 2 Feb 2015 05:00:43 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r378294 - in head/java/openjdk7: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Feb 2015 05:00:44 -0000 Author: glewis Date: Mon Feb 2 05:00:42 2015 New Revision: 378294 URL: https://svnweb.freebsd.org/changeset/ports/378294 QAT: https://qat.redports.org/buildarchive/r378294/ Log: . Update to 7u76 . Adopt a patchset strategy similar to the openjdk8 port, which keeps the patch files smaller and makes the BSD differences clearer. Added: head/java/openjdk7/files/patch-7u45-b30 (contents, props changed) head/java/openjdk7/files/patch-7u51-b30 (contents, props changed) head/java/openjdk7/files/patch-7u55-b31 (contents, props changed) head/java/openjdk7/files/patch-7u60-b30 (contents, props changed) head/java/openjdk7/files/patch-7u65-b31 (contents, props changed) head/java/openjdk7/files/patch-7u71-b14 (contents, props changed) head/java/openjdk7/files/patch-7u76-b31 (contents, props changed) head/java/openjdk7/files/patch-bsd (contents, props changed) Deleted: head/java/openjdk7/files/patch-jdk_src_share_classes_java_util_CurrencyData.properties head/java/openjdk7/files/patch-set Modified: head/java/openjdk7/Makefile Modified: head/java/openjdk7/Makefile ============================================================================== --- head/java/openjdk7/Makefile Mon Feb 2 04:59:52 2015 (r378293) +++ head/java/openjdk7/Makefile Mon Feb 2 05:00:42 2015 (r378294) @@ -3,7 +3,6 @@ PORTNAME= openjdk PORTVERSION= ${JDK_MAJOR_VERSION}.${PORT_MINOR_VERSION}.${PORT_BUILD_NUMBER} -PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= java devel MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}u${JDK_MINOR_VERSION}/promoted/b${JDK_BUILD_NUMBER}/ \ @@ -36,8 +35,8 @@ DEBUG_DESC= Enable extra debugging info POLICY_DESC= Install the Unlimited Strength Policy Files TZUPDATE_DESC= Update the time zone data -PORT_MINOR_VERSION= 71 -PORT_BUILD_NUMBER= 14 +PORT_MINOR_VERSION= 76 +PORT_BUILD_NUMBER= 13 JDK_MAJOR_VERSION= 7 JDK_MINOR_VERSION= 40 JDK_BUILD_NUMBER= 43 Added: head/java/openjdk7/files/patch-7u45-b30 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/java/openjdk7/files/patch-7u45-b30 Mon Feb 2 05:00:42 2015 (r378294) @@ -0,0 +1,20623 @@ +--- ./.hgtags Mon Aug 26 07:41:15 2013 -0700 ++++ ./.hgtags Tue Oct 08 09:06:41 2013 -0700 +@@ -300,6 +300,22 @@ + 84285f4e0aa2f81b80bc6fbe713d768c0d9a7156 jdk7u25-b09 + aae1e27d347b71f65f548c12b918ede98d869b7c jdk7u25-b10 + 039f12124903cd0b7633a17a26f6ca281f7aaeae jdk7u25-b11 ++210f464368dba0fc4f8d239654fa7432ad2ed31f jdk7u14-b16 ++f07712232642fc30dcf7c433ff890e7247b5fd0b jdk7u14-b17 ++9e2a9a2c5b240daa4e27ff75d030a77827174753 jdk7u14-b18 ++d9d4dc020cb37142230f6a20d2a75a677c5cd26f jdk7u14-b19 ++d9d4dc020cb37142230f6a20d2a75a677c5cd26f jdk7u14-b19 ++b4b7795ef8047e3d2b2ba48a70c08d9184073100 jdk7u14-b19 ++f413e7a22c198559af5aca28309356e6d4edd78f jdk7u14-b20 ++41686e19d8189a546434a52dd9679e9b6a0a68be jdk7u14-b21 ++3e3177719b43f732239d6d51e96d26ee18440960 jdk7u14-b22 ++8c6e2197930c79f6beafd83181714cc817b83229 jdk7u40-b23 ++5169c92728b54a4b5e9a41071f8bf8701d0fe1fa jdk7u40-b24 ++f89fd7e2800c1c35b6c339f54780d5579bb30991 jdk7u40-b25 ++4ef57f592525d36487ea6eeb2be84d0e9170b26b jdk7u40-b26 ++75167199239375d05b68668023c885c2776fd548 jdk7u40-b27 ++ac751f3867ecffca814b25daf5e19d82d83fc755 jdk7u40-b28 ++dbe42a627813892d1bb59a4240c24f60ef22930a jdk7u40-b29 + 2d02518960053d2b1dcb9aabacd709788e92c549 jdk7u25-b12 + 37c4268341d79b16165bdaf7e1fad489d692bc83 jdk7u25-b13 + 9de1fc3635def64c19c51f272f09b51d8cf0ca98 jdk7u25-b14 +@@ -327,7 +343,7 @@ + ac751f3867ecffca814b25daf5e19d82d83fc755 jdk7u40-b28 + dbe42a627813892d1bb59a4240c24f60ef22930a jdk7u40-b29 + 1c141e6fde911c4974c87e340eb698754607f422 jdk7u40-b30 +-58a2a470aa3bccd3eb3624e68bca9397c8cc26a2 jdk7u40-b31 ++e51f24701c608e57ba7ae69ba28bbc2daab02c4c jdk7u45-b01 + da376fd5e4d68f8a45003a6e175267dc840711cc jdk7u40-b32 + 3fdfe7f1b06354e11e8af51b7c653c8a0adb3987 jdk7u40-b33 + a1ae13479e8767329fa20774b5cea5976aaeb37b jdk7u40-b34 +@@ -339,3 +355,22 @@ + c9157eb582a5deec5bbac671bf628bc45af447d0 jdk7u40-b40 + 8773b39be6ac71c06793035b8c72f5c771eb534f jdk7u40-b41 + 3af81bfe320c12758234233da6fa27c3c0ffcdc4 jdk7u40-b42 ++1d53bd8fd2a62bcf336727ebec377ef7498dd4a6 jdk7u40-b43 ++dc1e099cd62d250b4a997ce694b47fe2f50d2905 jdk7u40-b60 ++07e41ff8674c9438cb1124cf78eed8636ed5d4fa jdk7u45-b02 ++23c983c352a170d7a5fb7d703081daf1816d257a jdk7u45-b03 ++1018a8ab686da6c1be22bec3ab9d01b2dc206333 jdk7u45-b04 ++22e0ca1fa645d0518b514159afafe34335699c11 jdk7u45-b05 ++61343f60f25a1d0deddc1468b2eb948df5275641 jdk7u45-b06 ++24088aaf3f6834e46b486b706fbc6ce1f18814e5 jdk7u45-b07 ++036425509e31070700a3956aaca7c33d583b7a5e jdk7u45-b08 ++b6af2c522a633de1c7b66204fac7104b410ce23c jdk7u45-b09 ++3fedb8c609a0f43bc8084edbecb0435e19dcb9a2 jdk7u45-b10 ++142403d9f1167b8559b49627c7199c84623307da jdk7u45-b11 ++a14018a5fa18092dcca5084656abb797bdb7b5ff jdk7u45-b12 ++4d38e9adeb81df9c24550070df1f358aa9c17477 jdk7u45-b13 ++bab0456ba0520f73ee20814ddf7ea0d596e49abd jdk7u45-b14 ++b4b2584649027b622c188db7a6c3f9cff0e20130 jdk7u45-b15 ++f2479abad143d2d9f33b6c872890ca0c5dd52530 jdk7u45-b16 ++6fd67e0287a9893ea1f0090fe127f18a7e235148 jdk7u45-b17 ++f0cdb08a4624a623bdd178b04c4bf5a2fa4dc39a jdk7u45-b18 +--- ./Makefile Mon Aug 26 07:41:15 2013 -0700 ++++ ./Makefile Tue Oct 08 09:06:41 2013 -0700 +@@ -264,7 +264,7 @@ + DEBUG_NAME=$(DEBUG_NAME) \ + GENERATE_DOCS=false \ + $(if $(findstring true,$(BUILD_INSTALL)),BUILD_INSTALL_BUNDLES=true,) \ +- CREATE_DEBUGINFO_BUNDLES=false \ ++ CREATE_DEBUGINFO_BUNDLES=true \ + $(BOOT_CYCLE_DEBUG_SETTINGS) \ + generic_build_repo_series + +--- ./corba/.hgtags Mon Aug 26 07:41:19 2013 -0700 ++++ ./corba/.hgtags Tue Oct 08 09:06:43 2013 -0700 +@@ -302,6 +302,22 @@ + 161ec4dd450d59e1b8ad136db231925c97ff6205 jdk7u25-b09 + c9da98e82bb006dccd94a50871d6cdb66fa2d7e7 jdk7u25-b10 + 109386df5b8e259d0af802217769a3c448404e49 jdk7u25-b11 ++38282b734daefcbb8155b7d7ef9664130330ed14 jdk7u14-b16 ++8b1d77697ca4d2a9c29d67fd2ff03aded9b06012 jdk7u14-b17 ++862b43d26e03bbceb3465f93354860e0d17eb324 jdk7u14-b18 ++bfbaab73969d4d978d0280d6ad51bac8c47dbaf8 jdk7u14-b19 ++bfbaab73969d4d978d0280d6ad51bac8c47dbaf8 jdk7u14-b19 ++a921b45a1f9086a7d598a76f920639050386f996 jdk7u14-b19 ++54320e5d9da60df24f0e2c57c011809911dc06e1 jdk7u14-b20 ++fb590ca4de9aaf1f6bca945be040dffc55b5e8d2 jdk7u14-b21 ++e5d89aa2c1a11dba841a646858dda9ea18dc8f57 jdk7u14-b22 ++d85df1552f877a1cc51f43bc07a42a0c48f18e0b jdk7u40-b23 ++d3ab3b19caa02ee85359cfe07b6e0b74eb7b3d74 jdk7u40-b24 ++abfc54516d0b7f9aed34ef175f6bbb93fda4cbb3 jdk7u40-b25 ++be9099c54a35c00d0dfe6beeed8ea5d4ab3cd3fe jdk7u40-b26 ++f745eeabb0eaabe8c0835c175b31f1e1c0f00bd4 jdk7u40-b27 ++c8b9201f88f4ce417df7a40efcb7fef656d94512 jdk7u40-b28 ++1ad0a5a3f7b1e9d95670d733d7e70714050ba6bf jdk7u40-b29 + ef8e6f8305d524f3b448a85f901aadf1adc81fc0 jdk7u25-b12 + eca480919c71072a31f62a61cb3aad30677007e3 jdk7u25-b13 + 577c4dd1a6e9bc1bb2c2e5d5ecbab8eacb4121af jdk7u25-b14 +@@ -341,3 +357,23 @@ + a91b57bf60bd982814bc1616ea46a1069416f5e4 jdk7u40-b40 + acb0571052b8dbef036fc50235ef95c0a46cff6b jdk7u40-b41 + b4a480a039bc19b27bfb5fcbbbf75e651d2718b7 jdk7u40-b42 ++e29ea0b297e519010e661603a07bb8d48fa904a2 jdk7u40-b43 ++08737d863a7aa5eb39374b26c9585e1770affe92 jdk7u40-b60 ++4f54264ca4df2fc50fbb9bb2654dad97776d10ac jdk7u45-b01 ++1a1a1dedf437c50797a49c21a12161a79c761757 jdk7u45-b02 ++3a2cca8c2f209b533af6c1201cc8aee43628e578 jdk7u45-b03 ++4f4f7869bd6585042ad9596426dd1aa0829b8e98 jdk7u45-b04 ++faee62d13040eae3d081f0383843a391ceef1edd jdk7u45-b05 ++435dd0e1ab9ec9cbc83dc5ed260886f6becbef25 jdk7u45-b06 ++2e19615f6045c3f39e39c56c485f7bc1df97e2ce jdk7u45-b07 ++771c5c869d16d2da5668e412f505ad75f8f610c1 jdk7u45-b08 ++a89d69bef3614f618843f5e9a495b12d13597851 jdk7u45-b09 ++fd8a2041b75c4f712f2b08d627388d44a0cf2ee7 jdk7u45-b10 ++55e0d3d9514343f380336b68aa8691a89b2e710b jdk7u45-b11 ++336566c2905a49fc9a6f90f5ecd30517cfcaefff jdk7u45-b12 ++6cadc3dd82a423f6c24460bb1997c0f39159dd93 jdk7u45-b13 ++43e22471d0c29451f282b162864c2d3e494d5871 jdk7u45-b14 ++3d7a52de59f03589d7a9334a6895063ff3331bfc jdk7u45-b15 ++b1f069eb48edfa6fb7428dc045a53e287215ef4a jdk7u45-b16 ++8b8793f06c56e343962b473bc0fb79f23b8be734 jdk7u45-b17 ++80f65a8f58500ef5d93ddf4426d9c1909b79fadf jdk7u45-b18 +--- ./corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java Mon Aug 26 07:41:19 2013 -0700 ++++ ./corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java Tue Oct 08 09:06:43 2013 -0700 +@@ -905,28 +905,4 @@ + + return contents.toString(); + } +- +- public static void main(String[] args) { +- +- Class remoteInterface = java.rmi.Remote.class; +- +- if( args.length > 0 ) { +- String className = args[0]; +- try { +- remoteInterface = Class.forName(className); +- } catch(Exception e) { +- e.printStackTrace(); +- System.exit(-1); +- } +- } +- +- System.out.println("Building name translation for " + remoteInterface); +- try { +- IDLNameTranslator nameTranslator = +- IDLNameTranslatorImpl.get(remoteInterface); +- System.out.println(nameTranslator); +- } catch(IllegalStateException ise) { +- ise.printStackTrace(); +- } +- } + } +--- ./corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java Mon Aug 26 07:41:19 2013 -0700 ++++ ./corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java Tue Oct 08 09:06:43 2013 -0700 +@@ -43,6 +43,8 @@ + import com.sun.corba.se.spi.orbutil.proxy.DelegateInvocationHandlerImpl ; + import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandler ; + import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl ; ++import java.security.AccessController; ++import java.security.PrivilegedAction; + + public class InvocationHandlerFactoryImpl implements InvocationHandlerFactory + { +@@ -114,24 +116,32 @@ + // which extends org.omg.CORBA.Object. This handler delegates all + // calls directly to a DynamicStubImpl, which extends + // org.omg.CORBA.portable.ObjectImpl. +- InvocationHandler dynamicStubHandler = ++ final InvocationHandler dynamicStubHandler = + DelegateInvocationHandlerImpl.create( stub ) ; + + // Create an invocation handler that handles any remote interface + // methods. +- InvocationHandler stubMethodHandler = new StubInvocationHandlerImpl( ++ final InvocationHandler stubMethodHandler = new StubInvocationHandlerImpl( + pm, classData, stub ) ; + + // Create a composite handler that handles the DynamicStub interface + // as well as the remote interfaces. + final CompositeInvocationHandler handler = + new CustomCompositeInvocationHandlerImpl( stub ) ; ++ ++ AccessController.doPrivileged(new PrivilegedAction() { ++ @Override ++ public Void run() { + handler.addInvocationHandler( DynamicStub.class, + dynamicStubHandler ) ; + handler.addInvocationHandler( org.omg.CORBA.Object.class, + dynamicStubHandler ) ; + handler.addInvocationHandler( Object.class, + dynamicStubHandler ) ; ++ return null; ++ } ++ }); ++ + + // If the method passed to invoke is not from DynamicStub or its superclasses, + // it must be from an implemented interface, so we just handle +--- ./corba/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java Mon Aug 26 07:41:19 2013 -0700 ++++ ./corba/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java Tue Oct 08 09:06:43 2013 -0700 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2003, 2013, 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 +@@ -55,7 +55,7 @@ + /** + * @author Harold Carr + */ +-public class SelectorImpl ++class SelectorImpl + extends + Thread + implements +--- ./corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java Mon Aug 26 07:41:19 2013 -0700 ++++ ./corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java Tue Oct 08 09:06:43 2013 -0700 +@@ -36,6 +36,7 @@ + + import com.sun.corba.se.spi.logging.CORBALogDomains ; + import com.sun.corba.se.impl.logging.ORBUtilSystemException ; ++import com.sun.corba.se.impl.presentation.rmi.DynamicAccessPermission; + + public class CompositeInvocationHandlerImpl implements + CompositeInvocationHandler +@@ -46,11 +47,13 @@ + public void addInvocationHandler( Class interf, + InvocationHandler handler ) + { ++ checkAccess(); + classToInvocationHandler.put( interf, handler ) ; + } + + public void setDefaultHandler( InvocationHandler handler ) + { ++ checkAccess(); + defaultHandler = handler ; + } + +@@ -78,4 +81,12 @@ + + return handler.invoke( proxy, method, args ) ; + } ++ ++ private static final DynamicAccessPermission perm = new DynamicAccessPermission("access"); ++ private void checkAccess() { ++ final SecurityManager sm = System.getSecurityManager(); ++ if (sm != null) { ++ sm.checkPermission(perm); + } ++ } ++} +--- ./corba/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java Mon Aug 26 07:41:19 2013 -0700 ++++ ./corba/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java Tue Oct 08 09:06:43 2013 -0700 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 1998, 2013, 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 +@@ -34,6 +34,9 @@ + + import java.io.File; + import java.io.IOException; ++import java.io.SerializablePermission; ++import java.security.AccessController; ++import java.security.PrivilegedAction; + import java.util.Vector; + import java.util.Hashtable; + import java.util.Enumeration; +@@ -49,6 +52,7 @@ + import com.sun.corba.se.impl.util.PackagePrefixChecker; + import sun.rmi.rmic.Main; + ++ + /** + * An IIOP stub/tie generator for rmic. + * +@@ -78,6 +82,7 @@ + protected boolean castArray = false; + protected Hashtable transactionalObjects = new Hashtable() ; + protected boolean POATie = false ; ++ protected boolean emitPermissionCheck = false; + + /** + * Default constructor for Main to use. +@@ -193,6 +198,9 @@ + } else if (argv[i].equals("-standardPackage")) { + standardPackage = true; + argv[i] = null; ++ } else if (argv[i].equals("-emitPermissionCheck")) { ++ emitPermissionCheck = true; ++ argv[i] = null; + } else if (arg.equals("-xstubbase")) { + argv[i] = null; + if (++i < argv.length && argv[i] != null && !argv[i].startsWith("-")) { +@@ -390,9 +398,22 @@ + + writePackageAndImports(p); + ++// generate ++// import java.security.AccessController; ++// import java.security.PrivilegedAction; ++// import java.io.SerializablePermission; ++ if (emitPermissionCheck) { ++ p.pln("import java.security.AccessController;"); ++ p.pln("import java.security.PrivilegedAction;"); ++ p.pln("import java.io.SerializablePermission;"); ++ p.pln(); ++ p.pln(); ++ } ++ + // Declare the stub class; implement all remote interfaces. + + p.p("public class " + currentClass); ++ + p.p(" extends " + getName(stubBaseClass)); + p.p(" implements "); + if (remoteInterfaces.length > 0) { +@@ -422,6 +443,56 @@ + writeIds( p, theType, false ); + p.pln(); + ++ if (emitPermissionCheck) { ++ ++ // produce the following generated code ++ // private static Void checkPermission() { ++ // SecurityManager sm = System.getSecurityManager(); ++ // if (sm != null) { ++ // sm.checkPermission(new SerializablePermission( ++ // "enableSubclassImplementation")); // testing ++ // } ++ // return null; ++ // } ++ // ++ // private _XXXXXX_Stub(Void ignore) { ++ // } ++ // ++ // public _XXXXXX_Stub() { ++ // this(checkPermission()); ++ // } ++ // where XXXXXX is the name of the remote interface ++ ++ p.pln(); ++ p.plnI("private static Void checkPermission() {"); ++ p.plnI("SecurityManager sm = System.getSecurityManager();"); ++ p.pln("if (sm != null) {"); ++ p.pI(); ++ p.plnI("sm.checkPermission(new SerializablePermission("); ++ p.plnI("\"enableSubclassImplementation\"));"); ++ p.pO(); ++ p.pO(); ++ p.pOln("}"); ++ p.pln("return null;"); ++ p.pO(); ++ p.pOln("}"); ++ p.pln(); ++ p.pO(); ++ ++ p.pI(); ++ p.pln("private " + currentClass + "(Void ignore) { }"); ++ p.pln(); ++ ++ p.plnI("public " + currentClass + "() { "); ++ p.pln("this(checkPermission());"); ++ p.pOln("}"); ++ p.pln(); ++ } ++ ++ if (!emitPermissionCheck) { ++ p.pI(); ++ } ++ + // Write the _ids() method... + + p.plnI("public String[] _ids() { "); +@@ -815,7 +886,6 @@ + CompoundType theType) throws IOException { + + // Wtite the method declaration and opening brace... +- + String methodName = method.getName(); + String methodIDLName = method.getIDLName(); + +@@ -1631,7 +1701,7 @@ + + // Write data members... + p.pln(); +- p.pln("private " + getName(theType) + " target = null;"); ++ p.pln("volatile private " + getName(theType) + " target = null;"); + p.pln(); + + // Write the ids... +@@ -1695,6 +1765,10 @@ + + if (remoteMethods.length > 0) { + p.plnI("try {"); ++ p.pln(getName(theType) + " target = this.target;"); ++ p.plnI("if (target == null) {"); ++ p.pln("throw new java.io.IOException();"); ++ p.pOln("}"); + p.plnI(idExtInputStream + " "+in+" = "); + p.pln("(" + idExtInputStream + ") "+_in+";"); + p.pO(); +--- ./hotspot/.hgtags Mon Aug 26 11:56:33 2013 -0700 ++++ ./hotspot/.hgtags Tue Oct 08 09:06:48 2013 -0700 +@@ -476,6 +476,24 @@ + 8386245b59c3e82b7c728b7d3832ea342c62615d jdk7u21-b50 + c5e4585a045fe165d067ec0e98af42eace20c5f8 jdk7u21-b12 + 00dbf9fa12ec6b1ba15d9a9a12495f50e10837bf jdk7u21-b31 ++bf2d84c5103d98db1697b50071a649ea23c4e33d jdk7u25-b01 ++07119340f80f77dfcb03fa568641e80b43d4be74 jdk7u25-b02 ++655bea6843fb7beabd8d9eeda59572c0c7055b85 jdk7u25-b03 ++96a4e612195c0d753be24cf38fea0ee8ce30edcf jdk7u25-b04 ++7151c26b838828a20cb28595ef1f70403d1868cf jdk7u25-b05 ++fbb5f6083dd00ca7417e4a45311f33918bb2a5f0 jdk7u25-b06 ++83abf4b2fc8a5bb7226177c5e4334bd0bfd7a8df jdk7u25-b07 ++525252cd9fca4869c3fd81bc61299a85e73ff9c7 jdk7u25-b08 ++706a255a8404b7e41579cea278df6bb87c314567 jdk7u25-b09 ++402184622f60a2ba35479bdf124a8d4694835406 jdk7u25-b10 ++cca49a35bf83664456af112482ffb3a7465d21fa jdk7u25-b11 ++7ca68c0674df72fdd784de337c049404d2b5b0c3 jdk7u25-b12 ++3e145a686fedd9eefdcb6b714241200ed236b41d jdk7u25-b13 ++4fafaf293aa5666e8c9f5ca1d96c3f752305f586 jdk7u25-b14 ++40acb370626fbc439e4cfed8854960a83a376fba jdk7u25-b15 ++97a3ebd62052410e0709035f40032d3f2113ed86 jdk7u25-b30 ++b80a290e6e3011097273525c4f352c70b9857464 jdk7u25-b16 ++273e8afccd6ef9e10e9fe121f7b323755191f3cc jdk7u25-b32 + e3d2c238e29c421c3b5c001e400acbfb30790cfc jdk7u14-b14 + 860ae068f4dff62a77c8315f0335b7e935087e86 hs24-b34 + 12619005c5e29be6e65f0dc9891ca19d9ffb1aaa jdk7u14-b15 +@@ -548,3 +566,23 @@ + 4445f65c4793f8421c12423396776f36765433a8 jdk7u40-b41 + 4e779305ed58e21b433626ac06b5eb884055183b jdk7u40-b42 + b8d8caf6df744d5342b5d284376a005e86c0b108 hs24-b56 ++eceae04782438987cd747e1c76e4085f50b43a18 jdk7u40-b43 ++af1fc2868a2b919727bfbb0858449bd991bbee4a jdk7u40-b60 ++5fb434aa203c32b4551167b922a70e79831ffdf4 jdk7u45-b01 ++f2039061ba49de742ae88cc3123fd1237965d665 jdk7u45-b02 ++d6fd3f84a30ce82a37fc39b6e5e9d73bd8054ab2 jdk7u45-b03 ++7f16aa9067386aeb3668336aa6cd63ef3dc4f44a jdk7u45-b04 ++b4fe146b820b47d8b59bbb9dc9d43221436ed0ae jdk7u45-b05 ++63efa616e54dd3545e16a5aa1917662548b18ee5 jdk7u45-b06 ++f6748e6123b6745497d69addffdff38e224a77c5 jdk7u45-b07 ++06bcab9ef18355dccc87401fc24dbd5f15615db0 jdk7u45-b08 ++996b6863b3b2468cece20d7a6f571f9ec1b7830c jdk7u45-b09 ++bcaf889eea9e64d30f8c3aefdcdc2c2ee29406f2 jdk7u45-b10 ++7ca907428850dc2aa99ee4a906446e479dbeb392 jdk7u45-b11 ++ed1505510ea0e94b17f968cdb3e8aba13c99d543 jdk7u45-b12 ++89f99af7a7bbdadb5b8cf781c7d899c22df64b71 jdk7u45-b13 ++718d1e9223dd0359d9ccef81fb82c32215702fe8 jdk7u45-b14 ++9ad76a08e5edfe24e95eef84e15fef261bff1abf jdk7u45-b15 ++429884602206fcf5314c8b953c06d54d337558ca jdk7u45-b16 ++0c0dc384915cafd9bfaa2fe5792a629a22d1b990 jdk7u45-b17 ++12374864c655a2cefb0d65caaacf215d5365ec5f jdk7u45-b18 +--- ./hotspot/make/hotspot_version Mon Aug 26 11:56:33 2013 -0700 ++++ ./hotspot/make/hotspot_version Tue Oct 08 09:06:48 2013 -0700 +@@ -34,8 +34,8 @@ + HOTSPOT_VM_COPYRIGHT=Copyright 2013 + + HS_MAJOR_VER=24 +-HS_MINOR_VER=0 +-HS_BUILD_NUMBER=56 ++HS_MINOR_VER=45 ++HS_BUILD_NUMBER=08 + + JDK_MAJOR_VER=1 + JDK_MINOR_VER=7 +--- ./hotspot/make/windows/makefiles/compile.make Mon Aug 26 11:56:33 2013 -0700 ++++ ./hotspot/make/windows/makefiles/compile.make Tue Oct 08 09:06:48 2013 -0700 +@@ -172,6 +172,7 @@ + PRODUCT_OPT_OPTION = /O2 /Oy- + FASTDEBUG_OPT_OPTION = /O2 /Oy- + DEBUG_OPT_OPTION = /Od ++SAFESEH_FLAG = /SAFESEH + !endif + + !if "$(COMPILER_NAME)" == "VS2005" +@@ -190,6 +191,7 @@ + !if "x$(MT)" == "x" + MT=mt.exe + !endif ++SAFESEH_FLAG = /SAFESEH + !endif + + !if "$(COMPILER_NAME)" == "VS2008" +@@ -203,6 +205,7 @@ + !if "x$(MT)" == "x" + MT=mt.exe + !endif ++SAFESEH_FLAG = /SAFESEH + !endif + + !if "$(COMPILER_NAME)" == "VS2010" +@@ -216,9 +219,11 @@ + !if "x$(MT)" == "x" + MT=mt.exe + !endif ++SAFESEH_FLAG = /SAFESEH ++!endif ++ + !if "$(BUILDARCH)" == "i486" +-LD_FLAGS = /SAFESEH $(LD_FLAGS) +-!endif ++LD_FLAGS = $(SAFESEH_FLAG) $(LD_FLAGS) + !endif + + # If NO_OPTIMIZATIONS is defined in the environment, turn everything off +--- ./hotspot/make/windows/makefiles/sa.make Mon Aug 26 11:56:33 2013 -0700 ++++ ./hotspot/make/windows/makefiles/sa.make Tue Oct 08 09:06:48 2013 -0700 +@@ -107,6 +107,9 @@ + !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" + SA_LFLAGS = $(SA_LFLAGS) -map -debug + !endif ++!if "$(BUILDARCH)" == "i486" ++SA_LFLAGS = $(SAFESEH_FLAG) $(SA_LFLAGS) ++!endif + + # Note that we do not keep sawindbj.obj around as it would then + # get included in the dumpbin command in build_vm_def.sh +--- ./hotspot/src/os/bsd/vm/os_bsd.cpp Mon Aug 26 11:56:33 2013 -0700 ++++ ./hotspot/src/os/bsd/vm/os_bsd.cpp Tue Oct 08 09:06:48 2013 -0700 +@@ -971,13 +971,14 @@ + #endif + + #ifdef __APPLE__ +-static uint64_t locate_unique_thread_id() { ++static uint64_t locate_unique_thread_id(mach_port_t mach_thread_port) { + // Additional thread_id used to correlate threads in SA + thread_identifier_info_data_t m_ident_info; + mach_msg_type_number_t count = THREAD_IDENTIFIER_INFO_COUNT; + +- thread_info(::mach_thread_self(), THREAD_IDENTIFIER_INFO, ++ thread_info(mach_thread_port, THREAD_IDENTIFIER_INFO, + (thread_info_t) &m_ident_info, &count); ++ + return m_ident_info.thread_id; + } + #endif +@@ -1009,9 +1010,14 @@ + + #ifdef _ALLBSD_SOURCE + #ifdef __APPLE__ +- // thread_id is mach thread on macos +- osthread->set_thread_id(::mach_thread_self()); +- osthread->set_unique_thread_id(locate_unique_thread_id()); ++ // thread_id is mach thread on macos, which pthreads graciously caches and provides for us ++ mach_port_t thread_id = ::pthread_mach_thread_np(::pthread_self()); ++ guarantee(thread_id != 0, "thread id missing from pthreads"); ++ osthread->set_thread_id(thread_id); ++ ++ uint64_t unique_thread_id = locate_unique_thread_id(thread_id); ++ guarantee(unique_thread_id != 0, "unique thread id was not found"); ++ osthread->set_unique_thread_id(unique_thread_id); + #else + // thread_id is pthread_id on BSD + osthread->set_thread_id(::pthread_self()); +@@ -1207,8 +1213,14 @@ + // Store pthread info into the OSThread + #ifdef _ALLBSD_SOURCE + #ifdef __APPLE__ +- osthread->set_thread_id(::mach_thread_self()); +- osthread->set_unique_thread_id(locate_unique_thread_id()); ++ // thread_id is mach thread on macos, which pthreads graciously caches and provides for us ++ mach_port_t thread_id = ::pthread_mach_thread_np(::pthread_self()); ++ guarantee(thread_id != 0, "just checking"); ++ osthread->set_thread_id(thread_id); ++ ++ uint64_t unique_thread_id = locate_unique_thread_id(thread_id); ++ guarantee(unique_thread_id != 0, "just checking"); ++ osthread->set_unique_thread_id(unique_thread_id); + #else + osthread->set_thread_id(::pthread_self()); + #endif +@@ -1830,7 +1842,7 @@ + + intx os::current_thread_id() { + #ifdef __APPLE__ +- return (intx)::mach_thread_self(); ++ return (intx)::pthread_mach_thread_np(::pthread_self()); + #else + return (intx)::pthread_self(); + #endif +--- ./hotspot/src/share/vm/classfile/classFileParser.cpp Mon Aug 26 11:56:33 2013 -0700 ++++ ./hotspot/src/share/vm/classfile/classFileParser.cpp Tue Oct 08 09:06:48 2013 -0700 +@@ -2028,8 +2028,8 @@ + } + if (lvt_cnt == max_lvt_cnt) { + max_lvt_cnt <<= 1; +- REALLOC_RESOURCE_ARRAY(u2, localvariable_table_length, lvt_cnt, max_lvt_cnt); +- REALLOC_RESOURCE_ARRAY(u2*, localvariable_table_start, lvt_cnt, max_lvt_cnt); ++ localvariable_table_length = REALLOC_RESOURCE_ARRAY(u2, localvariable_table_length, lvt_cnt, max_lvt_cnt); ++ localvariable_table_start = REALLOC_RESOURCE_ARRAY(u2*, localvariable_table_start, lvt_cnt, max_lvt_cnt); + } + localvariable_table_start[lvt_cnt] = + parse_localvariable_table(code_length, +@@ -2058,8 +2058,8 @@ + // Parse local variable type table + if (lvtt_cnt == max_lvtt_cnt) { + max_lvtt_cnt <<= 1; +- REALLOC_RESOURCE_ARRAY(u2, localvariable_type_table_length, lvtt_cnt, max_lvtt_cnt); +- REALLOC_RESOURCE_ARRAY(u2*, localvariable_type_table_start, lvtt_cnt, max_lvtt_cnt); ++ localvariable_type_table_length = REALLOC_RESOURCE_ARRAY(u2, localvariable_type_table_length, lvtt_cnt, max_lvtt_cnt); ++ localvariable_type_table_start = REALLOC_RESOURCE_ARRAY(u2*, localvariable_type_table_start, lvtt_cnt, max_lvtt_cnt); + } + localvariable_type_table_start[lvtt_cnt] = + parse_localvariable_table(code_length, +@@ -4051,9 +4051,8 @@ + for (int index = 0; index < num_methods; index++) { + methodOop m = (methodOop)methods->obj_at(index); + +- // skip private, static and methods +- if ((!m->is_private()) && +- (!m->is_static()) && ++ // skip static and methods ++ if ((!m->is_static()) && + (m->name() != vmSymbols::object_initializer_name())) { + + Symbol* name = m->name(); +--- ./hotspot/src/share/vm/runtime/mutexLocker.cpp Mon Aug 26 11:56:33 2013 -0700 ++++ ./hotspot/src/share/vm/runtime/mutexLocker.cpp Tue Oct 08 09:06:48 2013 -0700 +@@ -133,13 +133,15 @@ + + Mutex* Management_lock = NULL; + Monitor* Service_lock = NULL; +-Mutex* Stacktrace_lock = NULL; ++Monitor* PeriodicTask_lock = NULL; + +-Monitor* JfrQuery_lock = NULL; ++#ifdef INCLUDE_TRACE ++Mutex* JfrStacktrace_lock = NULL; + Monitor* JfrMsg_lock = NULL; + Mutex* JfrBuffer_lock = NULL; + Mutex* JfrStream_lock = NULL; +-Monitor* PeriodicTask_lock = NULL; ++Mutex* JfrThreadGroups_lock = NULL; ++#endif + + #define MAX_NUM_MUTEX 128 + static Monitor * _mutex_array[MAX_NUM_MUTEX]; +@@ -215,7 +217,6 @@ + def(Patching_lock , Mutex , special, true ); // used for safepointing and code patching. + def(ObjAllocPost_lock , Monitor, special, false); + def(Service_lock , Monitor, special, true ); // used for service thread operations +- def(Stacktrace_lock , Mutex, special, true ); // used for JFR stacktrace database + def(JmethodIdCreation_lock , Mutex , leaf, true ); // used for creating jmethodIDs. + + def(SystemDictionary_lock , Monitor, leaf, true ); // lookups done by VM thread +@@ -278,12 +279,17 @@ + def(MethodCompileQueue_lock , Monitor, nonleaf+4, true ); + def(Debug2_lock , Mutex , nonleaf+4, true ); + def(Debug3_lock , Mutex , nonleaf+4, true ); +- def(CompileThread_lock , Monitor, nonleaf+5, false ); ++ def(CompileThread_lock , Monitor, nonleaf+5, false); ++ def(PeriodicTask_lock , Monitor, nonleaf+5, true); + ++#ifdef INCLUDE_TRACE + def(JfrMsg_lock , Monitor, leaf, true); + def(JfrBuffer_lock , Mutex, nonleaf+1, true); ++ def(JfrThreadGroups_lock , Mutex, nonleaf+1, true); + def(JfrStream_lock , Mutex, nonleaf+2, true); +- def(PeriodicTask_lock , Monitor, nonleaf+5, true); ++ def(JfrStacktrace_lock , Mutex, special, true ); ++#endif ++ + } + + GCMutexLocker::GCMutexLocker(Monitor * mutex) { +--- ./hotspot/src/share/vm/runtime/mutexLocker.hpp Mon Aug 26 11:56:33 2013 -0700 ++++ ./hotspot/src/share/vm/runtime/mutexLocker.hpp Tue Oct 08 09:06:48 2013 -0700 +@@ -135,13 +135,15 @@ + + extern Mutex* Management_lock; // a lock used to serialize JVM management + extern Monitor* Service_lock; // a lock used for service thread operation +-extern Mutex* Stacktrace_lock; // used to guard access to the stacktrace table ++extern Monitor* PeriodicTask_lock; // protects the periodic task structure + +-extern Monitor* JfrQuery_lock; // protects JFR use ++#ifdef INCLUDE_TRACE ++extern Mutex* JfrStacktrace_lock; // used to guard access to the JFR stacktrace table + extern Monitor* JfrMsg_lock; // protects JFR messaging + extern Mutex* JfrBuffer_lock; // protects JFR buffer operations + extern Mutex* JfrStream_lock; // protects JFR stream access +-extern Monitor* PeriodicTask_lock; // protects the periodic task structure ++extern Mutex* JfrThreadGroups_lock; // protects JFR access to Thread Groups ++#endif + + // A MutexLocker provides mutual exclusion with respect to a given mutex + // for the scope which contains the locker. The lock is an OS lock, not +--- ./jaxp/.hgtags Mon Aug 26 07:41:38 2013 -0700 ++++ ./jaxp/.hgtags Tue Oct 08 09:06:57 2013 -0700 +@@ -302,6 +302,22 @@ + 5952538d55e624132f97400332a50b71880c874c jdk7u25-b09 + aa00dd983dd0f5b07269d0648a0325e9b3e0d957 jdk7u25-b10 + 0fb6d76bcd2e8d54d0a69e1c3d2a85d84b3e17a4 jdk7u25-b11 ++7b47e1a26f7cbb8d8d22ea165f2d7fbbbd354c77 jdk7u14-b16 ++77ac1ef42b2fd47cc87b9800f63efdd4cf2fa05d jdk7u14-b17 ++d47975f80a24b55410fa2e2c5f50f3405d83fe73 jdk7u14-b18 ++331e489ecb7b19fa98c60324f7ce5d168284a8c8 jdk7u14-b19 ++331e489ecb7b19fa98c60324f7ce5d168284a8c8 jdk7u14-b19 ++c3c9f04cf10c2fe576b208f6a8ca3777b1d31145 jdk7u14-b19 ++5e1fee011646b4a3ff29b7b9cdc208e0a0577cb4 jdk7u14-b20 ++d1c8bb1cbc9183fc994b5fedf26886ceda0d59f9 jdk7u14-b21 ++d1c6afebdfe28eb07eb2d03a6911a0f33b619165 jdk7u14-b22 ++0e4c549d3635122145ac88bad7b98716976ca49e jdk7u40-b23 ++d17acb2ee133811baa8eae3436a8c191fc433da1 jdk7u40-b24 ++52bcce690998b4ad91abddae118847f4358c6110 jdk7u40-b25 ++cd764ada36b50e2096ba35b4c27ca8f83b3db964 jdk7u40-b26 ++7626b3fbc822fd4efd5ba3b5fc18f2fef5749597 jdk7u40-b27 ++9186b6efd2b2eafa7fee5be1b043f59f25db12a6 jdk7u40-b28 ++740942c76fb668a04bf89feccf069f6958651d54 jdk7u40-b29 + 5e87aee78c91efa65bd5aeb37bcc1c1c637a7f0c jdk7u25-b12 + 83b80c094befd08cbac4247d9b8f12c6a039f23f jdk7u25-b13 + 68cc0d2a49f09b5c611b2775f2e66de1022bdedc jdk7u25-b14 +@@ -341,3 +357,23 @@ + 6ea57bdf603007be4d25568f7759ca0381aa8382 jdk7u40-b40 + 7255fb6c9060b0626aeedb1066e73c4bb46b1a7c jdk7u40-b41 + 66363323f14d85d4ab28e883a3323b9d72dea5fd jdk7u40-b42 ++c0bd71414ea513f54f23965936a837fca093ac91 jdk7u40-b43 ++91bc4534851265291bb3b16452a0968d6909979f jdk7u40-b60 ++1a7e2024963d3a8d6cde209de0967ac43418b82a jdk7u45-b01 ++72b314bf2ee171bec2157f737ba3bf77fbdf1118 jdk7u45-b02 ++399c58bf22ad35a3527a286123497615100746b2 jdk7u45-b03 ++e66ea9257ba8a77fc64f6f2924584b183767d82b jdk7u45-b04 ++3a6dce39c05c254aba9f3ae57c035bf3facfe8b9 jdk7u45-b05 ++a7b1dcabdebbdbf40040a1c6f8411d2f8d25bb37 jdk7u45-b06 ++abb39bc40bcc91c7f8ebc2867e98f302d9bc8417 jdk7u45-b07 ++72295e1b27e61751cc323b5e4d6781bf7afae0a4 jdk7u45-b08 ++255d92f5ed98915a025484360963d7d09bd77313 jdk7u45-b09 ++28a18e725bb39d47e920ef910f435321fb891a88 jdk7u45-b10 ++3d3b4da34d583e86a3b90b8f69927a37d40f5b57 jdk7u45-b11 ++2ac5c9749223f205cd081ecd0028b2f3ea13f8f8 jdk7u45-b12 ++18a009fdfba2bbc5036f96cbefffcdefe9580bb1 jdk7u45-b13 ++d577bae705f208661733e09a4875d79255897b7b jdk7u45-b14 ++daadec741c9bc5067897eb8803123d0af6c5ebc3 jdk7u45-b15 ++0a8b95184728548be4b20876e05f76e0262e4195 jdk7u45-b16 ++2586d303503b5bb6fd39dc0ce572d6e858caf41c jdk7u45-b17 ++4beb90ab48f7fd46c7a9afbe66f8cccb230699ba jdk7u45-b18 +--- ./jaxp/src/com/sun/org/apache/xalan/internal/XalanConstants.java Mon Aug 26 07:41:38 2013 -0700 ++++ ./jaxp/src/com/sun/org/apache/xalan/internal/XalanConstants.java Tue Oct 08 09:06:57 2013 -0700 +@@ -39,33 +39,138 @@ + // + // Constants + // ++ //Xerces security manager ++ public static final String SECURITY_MANAGER = ++ "http://apache.org/xml/properties/security-manager"; ++ ++ // ++ // Implementation limits: API properties ++ // ++ /** Oracle JAXP property prefix ("http://www.oracle.com/xml/jaxp/properties/"). */ ++ public static final String ORACLE_JAXP_PROPERTY_PREFIX = ++ "http://www.oracle.com/xml/jaxp/properties/"; ++ /** ++ * JDK entity expansion limit; Note that the existing system property ++ * "entityExpansionLimit" with no prefix is still observed ++ */ ++ public static final String JDK_ENTITY_EXPANSION_LIMIT = ++ ORACLE_JAXP_PROPERTY_PREFIX + "entityExpansionLimit"; ++ ++ /** ++ * JDK element attribute limit; Note that the existing system property ++ * "elementAttributeLimit" with no prefix is still observed ++ */ ++ public static final String JDK_ELEMENT_ATTRIBUTE_LIMIT = ++ ORACLE_JAXP_PROPERTY_PREFIX + "elementAttributeLimit"; ++ ++ /** ++ * JDK maxOccur limit; Note that the existing system property ++ * "maxOccurLimit" with no prefix is still observed ++ */ ++ public static final String JDK_MAX_OCCUR_LIMIT = ++ ORACLE_JAXP_PROPERTY_PREFIX + "maxOccurLimit"; ++ ++ /** ++ * JDK total entity size limit ++ */ ++ public static final String JDK_TOTAL_ENTITY_SIZE_LIMIT = ++ ORACLE_JAXP_PROPERTY_PREFIX + "totalEntitySizeLimit"; ++ ++ /** ++ * JDK maximum general entity size limit ++ */ ++ public static final String JDK_GENEAL_ENTITY_SIZE_LIMIT = ++ ORACLE_JAXP_PROPERTY_PREFIX + "maxGeneralEntitySizeLimit"; ++ /** ++ * JDK maximum parameter entity size limit ++ */ ++ public static final String JDK_PARAMETER_ENTITY_SIZE_LIMIT = ++ ORACLE_JAXP_PROPERTY_PREFIX + "maxParameterEntitySizeLimit"; ++ /** ++ * JDK maximum XML name limit ++ */ ++ public static final String JDK_XML_NAME_LIMIT = ++ ORACLE_JAXP_PROPERTY_PREFIX + "maxXMLNameLimit"; ++ /** ++ * JDK property indicating whether the parser shall print out entity ++ * count information ++ * Value: a string "yes" means print, "no" or any other string means not. ++ */ ++ public static final String JDK_ENTITY_COUNT_INFO = ++ ORACLE_JAXP_PROPERTY_PREFIX + "getEntityCountInfo"; ++ ++ // ++ // Implementation limits: corresponding System Properties of the above ++ // API properties ++ // ++ /** ++ * JDK entity expansion limit; Note that the existing system property ++ * "entityExpansionLimit" with no prefix is still observed ++ */ ++ public static final String SP_ENTITY_EXPANSION_LIMIT = "jdk.xml.entityExpansionLimit"; ++ ++ /** ++ * JDK element attribute limit; Note that the existing system property ++ * "elementAttributeLimit" with no prefix is still observed ++ */ ++ public static final String SP_ELEMENT_ATTRIBUTE_LIMIT = "jdk.xml.elementAttributeLimit"; ++ ++ /** ++ * JDK maxOccur limit; Note that the existing system property ++ * "maxOccurLimit" with no prefix is still observed ++ */ ++ public static final String SP_MAX_OCCUR_LIMIT = "jdk.xml.maxOccurLimit"; ++ ++ /** ++ * JDK total entity size limit ++ */ ++ public static final String SP_TOTAL_ENTITY_SIZE_LIMIT = "jdk.xml.totalEntitySizeLimit"; ++ ++ /** ++ * JDK maximum general entity size limit ++ */ ++ public static final String SP_GENEAL_ENTITY_SIZE_LIMIT = "jdk.xml.maxGeneralEntitySizeLimit"; ++ /** ++ * JDK maximum parameter entity size limit ++ */ ++ public static final String SP_PARAMETER_ENTITY_SIZE_LIMIT = "jdk.xml.maxParameterEntitySizeLimit"; ++ /** ++ * JDK maximum XML name limit ++ */ ++ public static final String SP_XML_NAME_LIMIT = "jdk.xml.maxXMLNameLimit"; ++ ++ //legacy System Properties ++ public final static String ENTITY_EXPANSION_LIMIT = "entityExpansionLimit"; ++ public static final String ELEMENT_ATTRIBUTE_LIMIT = "elementAttributeLimit" ; ++ public final static String MAX_OCCUR_LIMIT = "maxOccurLimit"; ++ ++ /** ++ * A string "yes" that can be used for properties such as getEntityCountInfo ++ */ ++ public static final String JDK_YES = "yes"; ++ + // Oracle Feature: +- /** +- *

Use Service Mechanism

+- * +- *
    +- *
  • ++ /** ++ *

    Use Service Mechanism

    ++ * ++ *
      ++ *
    • + * {@code true} instruct an object to use service mechanism to + * find a service implementation. This is the default behavior. + *
    • + *
    • + * {@code false} instruct an object to skip service mechanism and + * use the default implementation for that service. +- *
    • +- *
    +- */ +- ++ *
  • ++ *
++ */ + public static final String ORACLE_FEATURE_SERVICE_MECHANISM = "http://www.oracle.com/feature/use-service-mechanism"; + +- /** Oracle JAXP property prefix ("http://www.oracle.com/xml/jaxp/properties/"). */ +- public static final String ORACLE_JAXP_PROPERTY_PREFIX = +- "http://www.oracle.com/xml/jaxp/properties/"; + + //System Properties corresponding to ACCESS_EXTERNAL_* properties + public static final String SP_ACCESS_EXTERNAL_STYLESHEET = "javax.xml.accessExternalStylesheet"; + public static final String SP_ACCESS_EXTERNAL_DTD = "javax.xml.accessExternalDTD"; + +- + //all access keyword + public static final String ACCESS_EXTERNAL_ALL = "all"; + +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./jaxp/src/com/sun/org/apache/xalan/internal/utils/XMLSecurityManager.java Tue Oct 08 09:06:57 2013 -0700 +@@ -0,0 +1,449 @@ ++/* ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. ++ * ++ * Copyright (c) 2013 Oracle and/or its affiliates. All rights reserved. ++ * ++ * The contents of this file are subject to the terms of either the GNU ++ * General Public License Version 2 only ("GPL") or the Common Development ++ * and Distribution License("CDDL") (collectively, the "License"). You ++ * may not use this file except in compliance with the License. You can ++ * obtain a copy of the License at ++ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html ++ * or packager/legal/LICENSE.txt. See the License for the specific ++ * language governing permissions and limitations under the License. ++ * ++ * When distributing the software, include this License Header Notice in each ++ * file and include the License file at packager/legal/LICENSE.txt. ++ * ++ * GPL Classpath Exception: ++ * Oracle designates this particular file as subject to the "Classpath" ++ * exception as provided by Oracle in the GPL Version 2 section of the License ++ * file that accompanied this code. ++ * ++ * Modifications: ++ * If applicable, add the following below the License Header, with the fields ++ * enclosed by brackets [] replaced by your own identifying information: ++ * "Portions Copyright [year] [name of copyright owner]" ++ * ++ * Contributor(s): ++ * If you wish your version of this file to be governed by only the CDDL or ++ * only the GPL Version 2, indicate your decision by adding "[Contributor] ++ * elects to include this software in this distribution under the [CDDL or GPL ++ * Version 2] license." If you don't indicate a single choice of license, a ++ * recipient has the option to distribute your version of this file under ++ * either the CDDL, the GPL Version 2 or to extend the choice of license to ++ * its licensees as provided above. However, if you add GPL Version 2 code ++ * and therefore, elected the GPL Version 2 license, then the option applies ++ * only if the new code is made subject to such option by the copyright ++ * holder. ++ */ ++package com.sun.org.apache.xalan.internal.utils; ++ ++import com.sun.org.apache.xalan.internal.XalanConstants; ++ ++ ++/** ++ * This class is not the same as that in Xerces. It is used to manage the ++ * state of corresponding Xerces properties and pass the values over to ++ * the Xerces Security Manager. ++ * ++ * @author Joe Wang Oracle Corp. ++ * ++ */ ++public final class XMLSecurityManager { ++ ++ /** ++ * States of the settings of a property, in the order: default value, value ++ * set by FEATURE_SECURE_PROCESSING, jaxp.properties file, jaxp system ++ * properties, and jaxp api properties ++ */ ++ public static enum State { ++ //this order reflects the overriding order ++ ++ DEFAULT("default"), FSP("FEATURE_SECURE_PROCESSING"), ++ JAXPDOTPROPERTIES("jaxp.properties"), SYSTEMPROPERTY("system property"), ++ APIPROPERTY("property"); ++ ++ final String literal; ++ State(String literal) { ++ this.literal = literal; ++ } ++ ++ String literal() { ++ return literal; ++ } ++ } ++ ++ /** ++ * Limits managed by the security manager ++ */ ++ public static enum Limit { ++ ++ ENTITY_EXPANSION_LIMIT(XalanConstants.JDK_ENTITY_EXPANSION_LIMIT, ++ XalanConstants.SP_ENTITY_EXPANSION_LIMIT, 0, 64000), *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***