access problems related to xml libs?

Blaine Simpson <[email protected]>
Newsgroups gmane.comp.java.mx4j.devel
Message-ID <[email protected]>
I'm running HttpAdaptor under a security manager.  Just as a starting
point, I have opened up read FilePermission on "*" for every code base
(The entire security policy file is at the bottom of this email).  Yet,
I am still getting many FilePermission read failures like this:

access: access denied (java.io.FilePermission 
/usr/local/mx4j-2.0b1/lib/mx4j-tools.jar read)
java.lang.Exception: Stack trace
     at java.lang.Thread.dumpStack(Thread.java:1064)
     at 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:258)
     at java.security.AccessController.checkPermission(AccessController.java:401)
     at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
     at java.lang.SecurityManager.checkRead(SecurityManager.java:863)
     at sun.misc.URLClassPath.check(URLClassPath.java:403)
     at sun.misc.URLClassPath.checkURL(URLClassPath.java:377)
     at java.net.URLClassLoader.findResource(URLClassLoader.java:356)
     at java.lang.ClassLoader.getResource(ClassLoader.java:787)
     at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:969)
     at mx4j.tools.adaptor.http.XSLTProcessor.getInputStream(XSLTProcessor.java:367)
     at 
mx4j.tools.adaptor.http.XSLTProcessor.createTransformer(XSLTProcessor.java:183)
     at mx4j.tools.adaptor.http.XSLTProcessor.writeResponse(XSLTProcessor.java:125)
     at mx4j.tools.adaptor.http.HttpAdaptor.postProcess(HttpAdaptor.java:732)
     at mx4j.tools.adaptor.http.HttpAdaptor$HttpClient.run(HttpAdaptor.java:944)

The file is accessible:
     balder$ ls -ld /usr/local/mx4j-2.0b1/lib/mx4j-tools.jar
     -rw-r--r--    1 root     root       408572 2003-11-25 09:56
                                         /usr/local/mx4j-2.0b1/lib/mx4j-tools.jar
     balder$

I do not get these errors if I don't use an XSLT processor with my HttpAdaptor.

Here's my security policy file:

$Id$

// Sample policy file to run JmxHtmlAdaptor as a standalone Http server
// with MX4J's jmx imp. under Sun's Security Manager.

grant {
	permission java.util.FilePermission "*", "read";
};

grant codebase "file:lib/*" {
     permission java.security.AllPermission;
	permission java.util.FilePermission "*", "read";
};

grant codebase "file:/usr/local/mx4j/lib/mx4j-tools.jar" {
	permission java.util.FilePermission "*", "read";
	permission javax.management.MBeanTrustPermission "register";
     permission java.net.SocketPermission "*", "listen, resolve, accept, connect";
	permission javax.management.MBeanPermission "*", "queryMBeans, getMBeanInfo";
	permission java.util.PropertyPermission "*", "read";
};

grant codebase "file:/usr/local/mx4j/lib/mx4j.jar" {
	permission java.util.FilePermission "*", "read";
     permission java.net.SocketPermission "*", "listen, resolve, accept, connect";
	permission java.util.PropertyPermission "*", "read";
	permission javax.management.MBeanServerPermission "createMBeanServer";
	permission java.lang.RuntimePermission "getProtectionDomain";
	permission java.lang.RuntimePermission "createClassLoader";
	permission javax.management.MBeanTrustPermission "register";
	permission javax.management.MBeanPermission "tst.*",
"registerMBean, instantiate, getMBeanInfo, getAttribute, setAttribute, invoke, 
queryNames";
	permission javax.management.MBeanPermission "mx4j.*",
             "registerMBean, queryNames, getMBeanInfo, getAttribute";
	permission javax.management.MBeanPermission
             "mx4j.tools.adaptor.http.HttpAdaptor", "instantiate, invoke";
	permission javax.management.MBeanPermission "*", "queryMBeans, getMBeanInfo";
};

grant codebase "file:." {
	permission java.util.FilePermission "*", "read";
	permission javax.management.MBeanServerPermission "createMBeanServer";
	permission javax.management.MBeanTrustPermission "register";
     permission java.io.FilePermission "AdaptorTitleFragment.html", "read";
     permission java.net.SocketPermission "*", "listen, resolve, accept, connect";
	permission javax.management.MBeanPermission
             "mx4j.tools.adaptor.http.HttpAdaptor",
             "instantiate, registerMBean, invoke";
	permission javax.management.MBeanPermission "*", "queryMBeans, getMBeanInfo, 
getAttribute";
	permission java.util.PropertyPermission "*", "read";
};

grant codebase "file:dist/tst.jar" {
	permission javax.management.MBeanTrustPermission "register";
};

-- 
Don't pray in my school, and I won't think in your church.
ICF:  703-934-3692       Cell:  703-944-9317


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.