Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Feb 2015 05:00:43 +0000 (UTC)
From:      Greg Lewis <glewis@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r378294 - in head/java/openjdk7: . files
Message-ID:  <201502020500.t1250hfY030105@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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<Void>() {
++            @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 <init> methods
+-    if ((!m->is_private()) &&
+-        (!m->is_static()) &&
++    // skip static and <init> 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:
+-    /**
+-     * <p>Use Service Mechanism</p>
+-     *
+-     * <ul>
+-     *   <li>
++        /**
++         * <p>Use Service Mechanism</p>
++         *
++         * <ul>
++         *   <li>
+          * {@code true} instruct an object to use service mechanism to
+          * find a service implementation. This is the default behavior.
+          *   </li>
+          *   <li>
+          * {@code false} instruct an object to skip service mechanism and
+          * use the default implementation for that service.
+-     *   </li>
+-     * </ul>
+-    */
+-
++         *   </li>
++         * </ul>
++         */
+     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 ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502020500.t1250hfY030105>