/hg/release/icedtea6-1.11: Give xalan/xerces access to their own...
ebaron at icedtea.classpath.org
ebaron at icedtea.classpath.org
Thu Apr 18 13:59:47 PDT 2013
changeset 221283e06c1a in /hg/release/icedtea6-1.11
details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=221283e06c1a
author: Elliott Baron <ebaron at redhat.com>
date: Thu Apr 18 16:20:55 2013 -0400
Give xalan/xerces access to their own internal packages.
2013-04-18 Elliott Baron <ebaron at redhat.com>
* Makefile.am:
(ICEDTEA_PATCHES): Add new patch.
* patches/object-factory-cl-internal.patch:
Patch to give xalan/xerces access to their own internal
packages.
* NEWS: Updated.
diffstat:
ChangeLog | 9 +
Makefile.am | 3 +-
NEWS | 1 +
patches/object-factory-cl-internal.patch | 384 +++++++++++++++++++++++++++++++
4 files changed, 396 insertions(+), 1 deletions(-)
diffs (428 lines):
diff -r 59cea2380fcc -r 221283e06c1a ChangeLog
--- a/ChangeLog Thu Apr 18 00:42:34 2013 +0100
+++ b/ChangeLog Thu Apr 18 16:20:55 2013 -0400
@@ -1,3 +1,12 @@
+2013-04-18 Elliott Baron <ebaron at redhat.com>
+
+ * Makefile.am:
+ (ICEDTEA_PATCHES): Add new patch.
+ * patches/object-factory-cl-internal.patch:
+ Patch to give xalan/xerces access to their own internal
+ packages.
+ * NEWS: Updated.
+
2013-04-17 Andrew John Hughes <gnu.andrew at redhat.com>
* ChangeLog:
diff -r 59cea2380fcc -r 221283e06c1a Makefile.am
--- a/Makefile.am Thu Apr 18 00:42:34 2013 +0100
+++ b/Makefile.am Thu Apr 18 16:20:55 2013 -0400
@@ -536,7 +536,8 @@
patches/fix_get_stack_bounds_leak.patch \
patches/openjdk/7197906-handle_32_bit_shifts.patch \
patches/aarch64.patch \
- patches/jaxws-tempfiles-ioutils-6.patch
+ patches/jaxws-tempfiles-ioutils-6.patch \
+ patches/object-factory-cl-internal.patch
if WITH_RHINO
ICEDTEA_PATCHES += \
diff -r 59cea2380fcc -r 221283e06c1a NEWS
--- a/NEWS Thu Apr 18 00:42:34 2013 +0100
+++ b/NEWS Thu Apr 18 16:20:55 2013 -0400
@@ -17,6 +17,7 @@
- RH952389: Temporary files created with insecure permissions
* Bug fixes
- PR1402: Support glibc < 2.17 with AArch64 patch
+ - Give xalan/xerces access to their own internal packages.
New in release 1.11.10 (2013-04-17):
diff -r 59cea2380fcc -r 221283e06c1a patches/object-factory-cl-internal.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/object-factory-cl-internal.patch Thu Apr 18 16:20:55 2013 -0400
@@ -0,0 +1,384 @@
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/lib/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/lib/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/lib/ObjectFactory.java 2013-04-18 15:31:29.843692610 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/lib/ObjectFactory.java 2013-04-18 15:24:09.491130619 -0400
+@@ -54,6 +54,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME =
+@@ -482,10 +484,15 @@
+ SecurityManager security = System.getSecurityManager();
+ try{
+ if (security != null){
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ }catch(SecurityException e){
+ throw e;
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xslt/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xslt/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xslt/ObjectFactory.java 2013-04-18 15:31:29.878692813 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xslt/ObjectFactory.java 2013-04-18 15:22:55.299696537 -0400
+@@ -54,6 +54,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME =
+@@ -484,10 +486,15 @@
+ SecurityManager security = System.getSecurityManager();
+ try{
+ if (security != null){
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ }catch(SecurityException e){
+ throw e;
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/cmdline/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/cmdline/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/cmdline/ObjectFactory.java 2013-04-18 15:31:29.886692859 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/cmdline/ObjectFactory.java 2013-04-18 15:26:22.636907700 -0400
+@@ -54,6 +54,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME =
+@@ -484,10 +486,15 @@
+ SecurityManager security = System.getSecurityManager();
+ try{
+ if (security != null){
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ }catch(SecurityException e){
+ throw e;
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/compiler/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/compiler/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/compiler/ObjectFactory.java 2013-04-18 15:31:29.915693027 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/compiler/ObjectFactory.java 2013-04-18 15:25:02.786441953 -0400
+@@ -54,6 +54,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME =
+@@ -484,10 +486,15 @@
+ SecurityManager security = System.getSecurityManager();
+ try{
+ if (security != null){
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ }catch(SecurityException e){
+ throw e;
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectFactory.java 2013-04-18 15:31:29.965693317 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectFactory.java 2013-04-18 15:27:11.820194171 -0400
+@@ -54,6 +54,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME =
+@@ -483,12 +485,17 @@
+ //class. Restrict the access to the package classes as specified in java.security policy.
+ SecurityManager security = System.getSecurityManager();
+ try{
+- if (security != null){
++ if (security != null){
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
+ final int lastDot = className.lastIndexOf(".");
+ String packageName = className;
+ if (lastDot != -1) packageName = className.substring(0, lastDot);
+ security.checkPackageAccess(packageName);
+- }
++ }
++ }
+ }catch(SecurityException e){
+ throw e;
+ }
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/dom/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/dom/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/dom/ObjectFactory.java 2013-04-18 15:31:29.987693445 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/dom/ObjectFactory.java 2013-04-18 15:29:26.543977437 -0400
+@@ -54,6 +54,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME =
+@@ -484,10 +486,15 @@
+ SecurityManager security = System.getSecurityManager();
+ try{
+ if (security != null){
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ }catch(SecurityException e){
+ throw e;
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/runtime/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/runtime/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/runtime/ObjectFactory.java 2013-04-18 15:31:30.002693531 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/runtime/ObjectFactory.java 2013-04-18 15:28:18.404581537 -0400
+@@ -54,6 +54,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME =
+@@ -484,10 +486,15 @@
+ SecurityManager security = System.getSecurityManager();
+ try{
+ if (security != null){
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ }catch(SecurityException e){
+ throw e;
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/trax/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/trax/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/trax/ObjectFactory.java 2013-04-18 15:31:30.018693624 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xalan/internal/xsltc/trax/ObjectFactory.java 2013-04-18 15:30:14.690256878 -0400
+@@ -54,6 +54,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME =
+@@ -484,10 +486,15 @@
+ SecurityManager security = System.getSecurityManager();
+ try{
+ if (security != null){
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ }catch(SecurityException e){
+ throw e;
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/dom/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/dom/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/dom/ObjectFactory.java 2013-04-18 15:31:30.067693908 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/dom/ObjectFactory.java 2013-04-18 14:42:41.980947500 -0400
+@@ -49,6 +49,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME = "xerces.properties";
+@@ -376,10 +378,15 @@
+ //restrict the access to package as speicified in java.security policy
+ SecurityManager security = System.getSecurityManager();
+ if (security != null) {
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ Class providerClass;
+ if (cl == null) {
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/impl/dv/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/impl/dv/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/impl/dv/ObjectFactory.java 2013-04-18 15:31:30.143694349 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/impl/dv/ObjectFactory.java 2013-04-18 13:53:05.834977729 -0400
+@@ -49,6 +49,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME = "xerces.properties";
+@@ -376,10 +378,15 @@
+ //restrict the access to package as speicified in java.security policy
+ SecurityManager security = System.getSecurityManager();
+ if (security != null) {
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ Class providerClass;
+ if (cl == null) {
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/parsers/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/parsers/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/parsers/ObjectFactory.java 2013-04-18 15:31:30.445696098 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/parsers/ObjectFactory.java 2013-04-18 13:53:05.834977729 -0400
+@@ -47,6 +47,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME = "xerces.properties";
+@@ -374,10 +376,15 @@
+ //restrict the access to package as speicified in java.security policy
+ SecurityManager security = System.getSecurityManager();
+ if (security != null) {
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ Class providerClass;
+ if (cl == null) {
+diff -ru openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java
+--- openjdk/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java 2013-04-18 15:31:30.498696405 -0400
++++ openjdk.new/jaxp/drop_included/jaxp_src/src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java 2013-04-18 14:43:31.310231085 -0400
+@@ -47,6 +47,8 @@
+ //
+ // Constants
+ //
++ private static final String XALAN_INTERNAL = "com.sun.org.apache.xalan.internal";
++ private static final String XERCES_INTERNAL = "com.sun.org.apache.xerces.internal";
+
+ // name of default properties file to look for in JDK's jre/lib directory
+ private static final String DEFAULT_PROPERTIES_FILENAME = "xerces.properties";
+@@ -374,10 +376,15 @@
+ //restrict the access to package as speicified in java.security policy
+ SecurityManager security = System.getSecurityManager();
+ if (security != null) {
+- final int lastDot = className.lastIndexOf(".");
+- String packageName = className;
+- if (lastDot != -1) packageName = className.substring(0, lastDot);
+- security.checkPackageAccess(packageName);
++ if (className.startsWith(XALAN_INTERNAL) ||
++ className.startsWith(XERCES_INTERNAL)) {
++ cl = null;
++ } else {
++ final int lastDot = className.lastIndexOf(".");
++ String packageName = className;
++ if (lastDot != -1) packageName = className.substring(0, lastDot);
++ security.checkPackageAccess(packageName);
++ }
+ }
+ Class providerClass;
+ if (cl == null) {
More information about the distro-pkg-dev
mailing list