[ 
https://issues.apache.org/jira/browse/OAK-6467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Deparvu updated OAK-6467:
------------------------------
    Description: 
There's a case where the {{CompositePermissionProvider}} can create an invalid 
{{TreePermsssion}} instance via the {{CompositeTreePermission}} object. It can 
return a {{NO_RECOURSE}} if there's a single provider configured (like the CUG) 
that is not able to handle that specific check.

{noformat}
java.lang.UnsupportedOperationException: null
        at 
org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission$3.canRead(TreePermission.java:212)
        at 
org.apache.jackrabbit.oak.core.SecureNodeBuilder.exists(SecureNodeBuilder.java:128)
        at 
org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree.exists(AbstractTree.java:225)
        at 
org.apache.jackrabbit.oak.core.MutableTree.exists(MutableTree.java:122)
        at 
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getNode(SessionDelegate.java:427)
        at 
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getRootNode(SessionDelegate.java:415)
        at 
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:440)
        at 
org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:166)
        at 
org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:81)
        at 
org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:228)
        at 
org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:225)
        at 
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:243)
        at 
org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:225)
{noformat}


  was:There's a case where the {{CompositePermissionProvider}} can create an 
invalid {{TreePermsssion}} instance via the {{CompositeTreePermission}} object. 
It can return a {{NO_RECOURSE}} if there's a single provider configured (like 
the CUG) that is not able to handle that specific check.


> CompositeTreePermission can create an invalid TreePermsssion object
> -------------------------------------------------------------------
>
>                 Key: OAK-6467
>                 URL: https://issues.apache.org/jira/browse/OAK-6467
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, security
>            Reporter: Alex Deparvu
>            Assignee: Alex Deparvu
>             Fix For: 1.7.4
>
>
> There's a case where the {{CompositePermissionProvider}} can create an 
> invalid {{TreePermsssion}} instance via the {{CompositeTreePermission}} 
> object. It can return a {{NO_RECOURSE}} if there's a single provider 
> configured (like the CUG) that is not able to handle that specific check.
> {noformat}
> java.lang.UnsupportedOperationException: null
>       at 
> org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission$3.canRead(TreePermission.java:212)
>       at 
> org.apache.jackrabbit.oak.core.SecureNodeBuilder.exists(SecureNodeBuilder.java:128)
>       at 
> org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree.exists(AbstractTree.java:225)
>       at 
> org.apache.jackrabbit.oak.core.MutableTree.exists(MutableTree.java:122)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getNode(SessionDelegate.java:427)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getRootNode(SessionDelegate.java:415)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.getItem(SessionDelegate.java:440)
>       at 
> org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemInternal(SessionImpl.java:166)
>       at 
> org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$400(SessionImpl.java:81)
>       at 
> org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:228)
>       at 
> org.apache.jackrabbit.oak.jcr.session.SessionImpl$3.performNullable(SessionImpl.java:225)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:243)
>       at 
> org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:225)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to