Mark,

On 9.2.2014 2:36, Ognjen Blagojevic wrote:
I also tried to test my production webapps, which also use DBCP2.
However I get a lot of AccessControlExceptions, which I resolved one by
one. Now I am stucked with particularly stubborn FilePermission problem.
If I resolve that one, and other following exceptions I will report the
results of testing here.

I got one of my production webapps working (for the most part) with security manager in 8.0.1 and 8.0.3.

In 8.0.1, I needed to add the following configuration to catalina.policy (sensitive parts removed):

grant codeBase "file:${catalina.base}/webapps/(context)/-" {
    permission java.lang.RuntimePermission "modifyThread";
    permission java.lang.RuntimePermission "setContextClassLoader";
permission java.util.PropertyPermission "com.sun.faces.SerializationProvider", "read";
    permission java.lang.RuntimePermission "getClassLoader";
permission java.util.PropertyPermission "com.sun.faces.InjectionProvider", "read"; permission java.io.FilePermission "file:(...)\\WEB-INF\\lib\\(...)!\\META-INF\\-", "read";

    permission java.lang.RuntimePermission "accessDeclaredMembers";
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.compiler";
    permission java.lang.RuntimePermission "createClassLoader";
    permission java.util.PropertyPermission "openjpa.properties", "read";
permission java.util.PropertyPermission "javax.persistence.properties", "read"; permission java.util.PropertyPermission "openjpa.slice.properties", "read"; permission java.util.PropertyPermission "javax.mail.Session.Factory", "read";
    permission java.net.SocketPermission "(mailserver)", "resolve";
permission java.net.SocketPermission "(mailserver):(port)", "connect,resolve";

permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.dbcp.dbcp2"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.dbcp.pool2";
    permission java.net.SocketPermission "(dbserver)", "resolve";
permission java.net.SocketPermission "(dbserver):(port)", "connect,resolve"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.dbcp.pool2.impl";
    permission javax.management.MBeanServerPermission "createMBeanServer";
permission javax.management.MBeanPermission "org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool#-[Catalina:class=javax.sql.DataSource,context=/(context),host=localhost,name=\"(jndiname)\",pool=connections,type=DataSource]", "registerMBean";

};


In 8.0.3, I was able to remove following permissions from the above list:

// permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.dbcp.dbcp2"; // permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.dbcp.pool2"; // permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.dbcp.pool2.impl"; // permission javax.management.MBeanPermission "org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool#-[Catalina:class=javax.sql.DataSource,context=/(context),host=localhost,name=\"(jndiname)\",pool=connections,type=DataSource]", "registerMBean";
// permission javax.management.MBeanServerPermission "createMBeanServer";


HTH,
Ognjen

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to