Hi!

I know 3.0M1 is just a tag, and the dev continues on the trunk. I have
compaired the trunk version with the one in 3.0M1, and the sourcecode
is exactly the same, so this exception is occuring in the trunk too:

ERROR  info.magnolia.jaas.sp.jcr.JCRLoginModule
JCRLoginModule.java(setACL:258) 01.04.2006 23:57:12  roles
javax.jcr.PathNotFoundException: roles
        at org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2206)
        at info.magnolia.cms.core.Content.<init>(Content.java:92)
        at info.magnolia.cms.core.Content.getContent(Content.java:211)
        at 
info.magnolia.jaas.sp.jcr.JCRLoginModule.setACL(JCRLoginModule.java:190)
        at 
info.magnolia.jaas.sp.jcr.JCRLoginModule.setACL(JCRLoginModule.java:166)
        at 
info.magnolia.jaas.sp.jcr.JCRLoginModule.commit(JCRLoginModule.java:106)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
        at 
javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
        at javax.security.auth.login.LoginContext.login(LoginContext.java:580)
        at 
info.magnolia.cms.security.Authenticator.authenticate(Authenticator.java:102)
        at 
info.magnolia.cms.security.SecurityFilter.authenticate(SecurityFilter.java:138)
        at 
info.magnolia.cms.security.SecurityFilter.isAllowed(SecurityFilter.java:118)
        at 
info.magnolia.cms.security.SecurityFilter.doFilter(SecurityFilter.java:95)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
info.magnolia.cms.filters.MultipartRequestFilter.doFilter(MultipartRequestFilter.java:80)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:66)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
        at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java
:663)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)


Scenario: login using superuser/superuser.
In JCRLoginModule.setACL(Content aclNode) is called:
- firstly with aclNode being the 'superuser' node
- 2nd time with aclNode being the 'superuser/groups/0' and on the
line: 190 when trying to get the "roles" subnode it results in the
above exception.

I guess the code is written to be compatible with older versions which
do not have groups, so I guess instead of accessing directly the
"roles" subnode, maybe we should check for its existence first.

Please let me know what do you think.

./alex
--
.w( the_mindstorm )p.

----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------

Reply via email to