On Sun, Aug 18, 2013 at 1:59 PM, Mark Thomas <ma...@apache.org> wrote:

> On 18/08/2013 17:34, Raymond Auge wrote:
> > I've filed a bugs:
> >
> > https://java.net/jira/browse/JSP-37
> > https://issues.apache.org/bugzilla/show_bug.cgi?id=55446
>
> And I have closed the Tomcat one as invalid.
>
> > On Sun, Aug 18, 2013 at 12:15 PM, Raymond Auge <raymond.a...@liferay.com
> >wrote:
> >> Since Jasper is typically provided as part of the app server this means
> >> it's impossible for some later module to enable Java security
> dynamically.
>
> Correct. This is by design.
>
> >> The Java security API is clearly dynamic. It allows for the creation of
> >> both security managers and policies created and registered at runtime.
> >>
> >> The JVM itself always performs dynamic evaluation of security (normally
> >> the very same null check which is stored by IS_SECURITY_ENABLED.
>
> Irrelevant.
>
> >> Scenario demonstrating a problem:
> >>
> >> 1) start tomcat normally (no security)
> >> 2) assuming any normal app is initialized, a JspRuntimeContext will be
> >> created and at first invocation
> >>
> >> Constants.IS_SECURITY_ENABLED = (System.getSecurityManager() != null);
> >>
> >> is evaluated.
> >>
> >> 3) deploy some later component (ie. a webapp) which does:
> >>
> >> System.setSecurityManager(new SecurityManager());
>
> Web applications have no business trying to configure a security
> manager. First of all this is a container concern, not an application
> concern. Secondly, a security manager applies JVM wide. An application
> has no way to determine how to configure a security manager to enable
> any other applications to operate correctly. This is why it is a
> container concern where the deployer can determine a) if they require a
> security manager in their environment (something else an application has
> no way of determining) and b) what an appropriate security policy is for
> their environment.
>


Nowhere in any specification is this stated! Why can't a web application
declare and provide a security manager?


>
> >> I realize this is a very long standing mechanism. I'm wondering what
> would
> >> be the odds of accepting a patch which enables a dynamic check as
> opposed
> >> to global constant.
>
> Zero. I would veto any commit that applied such a patch.
>
> >> A further change would be required to initialize security dynamically
> >> which I think could be done simply enough without incurring significant
> >> performance issue.
> >>
> >> BTW, this issue affects every app server which uses Jasper (including
> >> users of the JSR RI in the Glassfish project)
> >>
> >> Any thoughts?
>
> You haven't thought through the implications of your proposal nor the
> practicalities of how it would work. The point being that it couldn't work.
>
> Mark
>


Thanks for your support.


-- 
*Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
 (@rotty3000)
Senior Software Architect
*Liferay, Inc.* <http://www.liferay.com> (@Liferay)

Reply via email to