IMO sealing is the best protection against insertion, 
and using URLClassLoader ( or making sure all the checks from
URLClassLoader are reproduced ).

I agree, this is a potential risk - as untrusted code may access
package fields. So far I don't see any, but better to be sure.

Costin

Jean-Francois Arcand wrote:

> HI,
> 
> is somebody aware why package org.apache.coyote.* and
> org.apache.tomcat.* are not protected againts package insertion/access
> in Catalina.java. What is the reasons? Actually, classes are not
> available to a Webapp (the Classloader is taking care of it) but when
> Tomcat is embedded in an app container (or when there is a special
> Classloader), those classes are available :-(
> 
> Actually, we only protect the following package:
> 
>         if( System.getSecurityManager() != null ) {
>             String access = Security.getProperty("package.access");
>             if( access != null && access.length() > 0 )
>                 access += ",";
>             else
>                 access = "sun.,";
>             Security.setProperty("package.access",
>                 access + "org.apache.catalina.,org.apache.jasper.");
>             String definition =
>             Security.getProperty("package.definition"); if( definition !=
>             null && definition.length() > 0 )
>                 definition += ",";
>             else
>                 definition = "sun.,";
>             Security.setProperty("package.definition",
>                 // FIX ME package "javax." was removed to prevent HotSpot
>                 // fatal internal errors
>                 definition +
> "java.,org.apache.catalina.,org.apache.jasper.");
>         }
> 
> Thanks,
> 
> -- Jeanfrancois

-- 
Costin



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to