Hi,

The 7053556 patch added a (Oracle) implementation-only feature to allow users to skip the plugability layer. In the same patch, there was also a change that in secure mode, dependent components should be loaded in a hardwired mode. The implementation-only feature therefore should not override what's set by the constructor in secure mode.

Please consider this is a supplemental change to 7053556 since it itself is a change for 7u4.

Below are the changes:
Index: com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java --- com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java Base (BASE) +++ com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java Locally Modified (Based On LOCAL)
@@ -487,6 +487,8 @@
         return;
     }
else if (name.equals(XalanConstants.ORACLE_FEATURE_SERVICE_MECHANISM)) { + //in secure mode, let _useServicesMechanism be determined by the constructor
+            if (!_isSecureMode)
             _useServicesMechanism = value;
         }
     else {
Index: com/sun/org/apache/xpath/internal/jaxp/XPathFactoryImpl.java
--- com/sun/org/apache/xpath/internal/jaxp/XPathFactoryImpl.java Base (BASE)
+++ com/sun/org/apache/xpath/internal/jaxp/XPathFactoryImpl.java Locally Modified (Based On LOCAL)
@@ -226,6 +226,8 @@
                 return;
             }
if (name.equals(XalanConstants.ORACLE_FEATURE_SERVICE_MECHANISM)) { + //in secure mode, let _useServicesMechanism be determined by the constructor
+                if (!_isSecureMode)
                 _useServicesMechanism = value;
                 return;
             }
Index: com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java --- com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java Base (BASE) +++ com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java Locally Modified (Based On LOCAL)
@@ -390,6 +390,10 @@
             fSecurityManager = value ? new SecurityManager() : null;
fXMLSchemaLoader.setProperty(SECURITY_MANAGER, fSecurityManager);
             return;
+ } else if (name.equals(Constants.ORACLE_FEATURE_SERVICE_MECHANISM)) { + //in secure mode, let _useServicesMechanism be determined by the constructor
+            if (System.getSecurityManager() != null)
+                return;
         }
         try {
             fXMLSchemaLoader.setFeature(name, value);

Thanks,
Joe

Reply via email to