-
Bug
-
Resolution: Fixed
-
P3
-
1.4.1
-
mantis
-
x86
-
windows_xp
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2059215 | 1.4.2 | Arun Yadav | P3 | Resolved | Fixed | b08 |
Name: gm110360 Date: 09/30/2002
FULL PRODUCT VERSION :
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
FULL OPERATING SYSTEM VERSION :
Microsoft Windows XP [Version 5.1.2600]
A DESCRIPTION OF THE PROBLEM :
When use Transformer.transform method in Applet to
transform a DOMSource into a StreamResult then I get
AccessControlException:
java.security.AccessControlException: access denied
(java.util.PropertyPermission user.dir read)
Here the stack trace:
java.security.AccessControlException: access denied
(java.util.PropertyPermission user.dir read)
at
java.security.AccessControlContext.checkPermission
(AccessControlContext.java:270)
at java.security.AccessController.checkPermission
(AccessController.java:401)
at java.lang.SecurityManager.checkPermission
(SecurityManager.java:542)
at java.lang.SecurityManager.checkPropertyAccess
(SecurityManager.java:1291)
at java.lang.System.getProperty(System.java:572)
at org.apache.xml.utils.TreeWalker.<init>
(TreeWalker.java:149)
at org.apache.xml.dtm.ref.dom2dtm.DOM2DTM.<init>
(DOM2DTM.java:1608)
at org.apache.xml.dtm.ref.DTMManagerDefault.getDTM
(DTMManagerDefault.java:189)
at
org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:630)
at
org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1088)
at
org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1066)
at com.alarit.xmleditor.XMLEditor.doTransform
(XMLEditor.java:1835)
at com.alarit.xmleditor.XMLEditor.access$22
(XMLEditor.java:39)
at com.alarit.xmleditor.XMLEditor$49.actionPerformed
(XMLEditor.java:1049)
at javax.swing.AbstractButton.fireActionPerformed
(AbstractButton.java:1767)
at
javax.swing.AbstractButton$ForwardActionEvents.actionPerform
ed(AbstractButton.java:1820)
at
javax.swing.DefaultButtonModel.fireActionPerformed
(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed
(DefaultButtonModel.java:257)
at javax.swing.AbstractButton.doClick
(AbstractButton.java:289)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick
(BasicMenuItemUI.java:1092)
at
javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mou
seReleased(BasicMenuItemUI.java:932)
at java.awt.Component.processMouseEvent
(Component.java:5021)
at java.awt.Component.processEvent
(Component.java:4818)
at java.awt.Container.processEvent
(Container.java:1380)
at java.awt.Component.dispatchEventImpl
(Component.java:3526)
at java.awt.Container.dispatchEventImpl
(Container.java:1437)
at java.awt.Component.dispatchEvent
(Component.java:3367)
at java.awt.LightweightDispatcher.retargetMouseEvent
(Container.java:3214)
at java.awt.LightweightDispatcher.processMouseEvent
(Container.java:2929)
at java.awt.LightweightDispatcher.dispatchEvent
(Container.java:2859)
at java.awt.Container.dispatchEventImpl
(Container.java:1423)
at java.awt.Window.dispatchEventImpl
(Window.java:1566)
at java.awt.Component.dispatchEvent
(Component.java:3367)
at java.awt.EventQueue.dispatchEvent
(EventQueue.java:445)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy
(EventDispatchThread.java:190)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy
(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents
(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents
(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run
(EventDispatchThread.java:98)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Try this code in some JApplet:
TransformerFactory tFactory = TransformerFactory.newInstance
();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(document);
StringWriter strWrite = new StringWriter();
transformer.transform(source, new StreamResult(strWrite));
EXPECTED VERSUS ACTUAL BEHAVIOR :
In java console you can see AccessControlException.
And transformation doesn't work.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.security.AccessControlException: access denied
(java.util.PropertyPermission user.dir read)
at java.security.AccessControlContext.checkPermission
(AccessControlContext.java:270)
at java.security.AccessController.checkPermission
(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkPropertyAccess
(SecurityManager.java:1291)
at java.lang.System.getProperty(System.java:572)
at org.apache.xml.utils.TreeWalker.<init>(TreeWalker.java:149)
at org.apache.xml.dtm.ref.dom2dtm.DOM2DTM.<init>(DOM2DTM.java:1608)
at org.apache.xml.dtm.ref.DTMManagerDefault.getDTM
(DTMManagerDefault.java:189)
at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:630)
at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1088)
at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1066)
at com.alarit.xmleditor.XMLEditor.doTransform(XMLEditor.java:1835)
at com.alarit.xmleditor.XMLEditor.access$22(XMLEditor.java:39)
at com.alarit.xmleditor.XMLEditor$49.actionPerformed
(XMLEditor.java:1049)
at javax.swing.AbstractButton.fireActionPerformed
(AbstractButton.java:1767)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed
(AbstractButton.java:1820)
at javax.swing.DefaultButtonModel.fireActionPerformed
(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed
(DefaultButtonModel.java:257)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick
(BasicMenuItemUI.java:1092)
at
javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased
(BasicMenuItemUI.java:932)
at java.awt.Component.processMouseEvent(Component.java:5021)
at java.awt.Component.processEvent(Component.java:4818)
at java.awt.Container.processEvent(Container.java:1380)
at java.awt.Component.dispatchEventImpl(Component.java:3526)
at java.awt.Container.dispatchEventImpl(Container.java:1437)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.LightweightDispatcher.retargetMouseEvent
(Container.java:3214)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2929)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2859)
at java.awt.Container.dispatchEventImpl(Container.java:1423)
at java.awt.Window.dispatchEventImpl(Window.java:1566)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy
(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEventsForHierarchy
(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
In any place in applet this doesn't work:
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(document);
StringWriter strWrite = new StringWriter();
transformer.transform(source, new StreamResult(strWrite));
---------- END SOURCE ----------
CUSTOMER WORKAROUND :
remove
System.getProperty("user.dir")
string from
org.apache.xml.utils.TreeWalker class
and recompile it.
(Review ID: 164791)
======================================================================
- backported by
-
JDK-2059215 AccessControlException in Transformer
-
- Resolved
-