experts,

please explain to me what is happenning with this situation.

i am using the jserv servlet engine with apache and the ibm jdk 1.3.
i've installed the sun
security manager and it throws a security exception when the servlet's
init method attempts
to read a file. what confuses me is that when i turned on the tracing i
found out that the
domain that fails is null (see below).  a few more relevant details -
the servlets are mount point is

     ApJServMount /servlet /root

i have started adding permissions to the java security policy for the
ApacheJServ.jar one by one until
it looked like this

grant codebase "file:/usr/local/apache/libexec/ApacheJServ.jar" {

        permission java.io.FilePermission
"/usr/local/apache/conf/jserv/jserv.properties", "read";
        permission java.io.FilePermission
"/usr/local/apache/conf/jserv/zone.properties", "read";
        permission java.io.FilePermission "/usr/local/apache/logs",
"read,write";
        permission java.io.FilePermission "/usr/local/apache/logs/*",
"read,write";
        permission java.io.FilePermission
"/usr/local/apache/servlets/servlet.jar", "read";
        permission java.io.FilePermission
"/usr/local/apache/servlets/-", "read";

        permission java.lang.RuntimePermission "createClassLoader";

        permission java.net.SocketPermission
"*:1024-65535","connect,accept,listen,resolve";
};

the policy has also has a grant for  the jar containig  the servlet
which reads the file, which i
expected to be the appropriate security domain:

grant codebase "file:/usr/local/apache/servlets/servlet.jar" {
       permission java.io.FilePermission
"/home/ams/work/servlet/data/items", "read,write";
};

i'm stumped. why the servlet's codebase is ignored? any suggestions are
eagerly sought. thanks!

access: access denied (java.io.FilePermission
/home/ams/work/servlet/data/items read)
java.lang.Exception: Stack trace
        at java.lang.Throwable.<init>(Throwable.java:96)
        at java.lang.Exception.<init>(Exception.java:44)
        at java.lang.Thread.dumpStack(Thread.java:1007)
        at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:268)

        at
java.security.AccessController.checkPermission(AccessController.java:405)

        at
java.lang.SecurityManager.checkPermission(SecurityManager.java:551)
        at java.lang.SecurityManager.checkRead(SecurityManager.java:896)

        at java.io.FileInputStream.<init>(FileInputStream.java:67)
        at java.io.FileInputStream.<init>(FileInputStream.java:101)
        at com.oracle.ats.servlet.servlet.init(Servlet.java:40)
        at
org.apache.jserv.JServServletManager.load_init(JServServletManager.java:579)

        at
org.apache.jserv.JServServletManager.loadServlet(JServServletManager.java:498)

        at
org.apache.jserv.JServConnection.processRequest(JServConnection.java:269)

        at
org.apache.jserv.JServConnection.run(JServConnection.java:188)
        at java.lang.Thread.run(Thread.java:498)
access: domain that failed ProtectionDomain (null <no certificates>)

--
Aaron Stromas     |   "Tick-tick-tick!!!... ja, Pantani is weg...."
Oracle Corp.      |              BRTN commentator,
+1 703 708 6821   |              L'Alpe d'Huez, 1995 Tour de France

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to