Mercurial > hg > release > icedtea6-1.11
view patches/openjdk/6657673-factory-finder-parser-transform-internal-packages.patch @ 2901:a08f636892a8
Split 6657673-jaxp-backport-factoryfinder patch into two.
2013-04-22 Elliott Baron <ebaron@redhat.com>
* Makefile.am:
(ICEDTEA_PATCHES): Removed one patch, split it into two.
* patches/security/20130416/6657673-jaxp-backport-factoryfinder.patch:
Removed. Split into patches below.
* patches/openjdk/7133220-factory-finder-parser-transform-useBSClassLoader.patch:
First part of removed patch.
* patches/openjdk/6657673-factory-finder-parser-transform-internal-packages.patch:
Second part of removed patch.
author | Elliott Baron <ebaron@redhat.com> |
---|---|
date | Mon, 22 Apr 2013 17:13:26 -0400 |
parents | |
children |
line wrap: on
line source
diff -ur openjdk/jaxp/drop_included/jaxp_src/src/javax/xml/parsers/FactoryFinder.java openjdk.new/jaxp/drop_included/jaxp_src/src/javax/xml/parsers/FactoryFinder.java --- openjdk/jaxp/drop_included/jaxp_src/src/javax/xml/parsers/FactoryFinder.java 2013-04-22 12:42:32.138748378 -0400 +++ openjdk.new/jaxp/drop_included/jaxp_src/src/javax/xml/parsers/FactoryFinder.java 2013-04-22 12:41:36.033419998 -0400 @@ -44,7 +44,7 @@ * @author Santiago.PericasGeertsen@sun.com */ class FactoryFinder { - + private static final String DEFAULT_PACKAGE = "com.sun.org.apache.xerces.internal"; /** * Internal debug flag. */ @@ -140,6 +140,14 @@ static Object newInstance(String className, ClassLoader cl, boolean doFallback) throws ConfigurationError { + // make sure we have access to restricted packages + if (System.getSecurityManager() != null) { + if (className != null && className.startsWith(DEFAULT_PACKAGE)) { + cl = null; + useBSClsLoader = true; + } + } + try { Class providerClass = getProviderClass(className, cl, doFallback); Object instance = providerClass.newInstance(); Only in openjdk.new/jaxp/drop_included/jaxp_src/src/javax/xml/parsers: FactoryFinder.java.orig diff -ur openjdk/jaxp/drop_included/jaxp_src/src/javax/xml/transform/FactoryFinder.java openjdk.new/jaxp/drop_included/jaxp_src/src/javax/xml/transform/FactoryFinder.java --- openjdk/jaxp/drop_included/jaxp_src/src/javax/xml/transform/FactoryFinder.java 2013-04-22 12:42:32.230748906 -0400 +++ openjdk.new/jaxp/drop_included/jaxp_src/src/javax/xml/transform/FactoryFinder.java 2013-04-22 12:41:41.268451218 -0400 @@ -44,6 +44,7 @@ * @author Santiago.PericasGeertsen@sun.com */ class FactoryFinder { + private static final String DEFAULT_PACKAGE = "com.sun.org.apache.xalan.internal."; /** * Internal debug flag. @@ -140,6 +141,14 @@ static Object newInstance(String className, ClassLoader cl, boolean doFallback) throws ConfigurationError { + // make sure we have access to restricted packages + if (System.getSecurityManager() != null) { + if (className != null && className.startsWith(DEFAULT_PACKAGE)) { + cl = null; + useBSClsLoader = true; + } + } + try { Class providerClass = getProviderClass(className, cl, doFallback); Object instance = providerClass.newInstance();