<peter_f...@blm.gov> wrote in message 
news:of14e2cc5d.7f3b739a-on87257520.0059a8c8-87257520.005b2...@blm.gov...
>
> I'm trying to clarify something about Tomcat 6 compliance to the Servlet
> 2.5 spec. The spec (section 9.7.2) says:
>
> "The container should not allow applications to override or access the
> container's implementation classes."
>
> In Tomcat 5 it looks like this was handled by having separate "common",
> "shared" and "server" directories and the catalina.properties file
> specified the classloader configuration such that application code 
> couldn't
> get to the "server" classes and jars. In Tomcat 6, everything is rolled
> into a single "lib" directory. The catalina.properties file can be 
> modified
> to make things like the older Tomcat versions, but out of the box it looks
> to me like an application could get to the catalina jar files.
>
> Going by a literal reading of the spec, Tomcat 6 is still technically
> compliant (the spec says "should not", not "must not") but all the same it
> seems a little strange that this was changed, unless there's something I'm
> missing. Does Tomcat 6 have some other mechanism in place to make sure 
> that
> applications can't access the container classes and worse, make changes to
> the container's data at run time?

For a long time, the Tomcat developers realized that since Java provides 
introspection, there was really no additional protection provided by 
classloader segregation if you are not using a SecurityManager sandbox.  As 
a result, they simplified the classloader structure by default and left it 
up to the admin to configure the sandbox as necessary.




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

Reply via email to