[ 
https://issues.apache.org/jira/browse/JCRVLT-287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16925266#comment-16925266
 ] 

Tobias Bocanegra commented on JCRVLT-287:
-----------------------------------------

I think this was deliberately not propagated, so that packages can be 
installed, even if they have ACL content that cannot be installed with the 
current user... but I think with modern content package usage patterns, this 
might not be relevant anymore.

just be prepared to fix potential regression bugs :-)

> Throw exception in case of ACL Importer failures (instead of just logging)
> --------------------------------------------------------------------------
>
>                 Key: JCRVLT-287
>                 URL: https://issues.apache.org/jira/browse/JCRVLT-287
>             Project: Jackrabbit FileVault
>          Issue Type: Improvement
>          Components: Packaging
>    Affects Versions: 3.1.44
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>             Fix For: 3.2.10
>
>
> Currently the {{JackrabbitACLImporter}} just logs any exception which occurs 
> while trying to apply ACLs but this exception is not being propagated to the 
> caller 
> (https://github.com/apache/jackrabbit-filevault/blob/0dcf09d58fa40cbe3bc24dcb6a00281123bd5a1c/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/JackrabbitACLImporter.java#L160).
>  The exception should basically bubble up till {{JcrPackage.install/extract}} 
> as {{RepositoryException}}!
> {code}
> org.apache.jackrabbit.vault.fs.impl.io.DocViewSAXImporter Error while 
> applying access control content.
> javax.jcr.AccessDeniedException: Access denied.
>       at 
> org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AbstractAccessControlManager.checkPermissions(AbstractAccessControlManager.java:200)
>       at 
> org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AbstractAccessControlManager.getTree(AbstractAccessControlManager.java:167)
>       at 
> org.apache.jackrabbit.oak.security.authorization.accesscontrol.AccessControlManagerImpl.setPolicy(AccessControlManagerImpl.java:219)
>       at 
> org.apache.jackrabbit.oak.security.authorization.composite.CompositeAccessControlManager.setPolicy(CompositeAccessControlManager.java:109)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.AccessControlManagerDelegator$8.performVoid(AccessControlManagerDelegator.java:132)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:274)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.AccessControlManagerDelegator.setPolicy(AccessControlManagerDelegator.java:129)
>       at 
> org.apache.jackrabbit.oak.jcr.delegate.JackrabbitAccessControlManagerDelegator.setPolicy(JackrabbitAccessControlManagerDelegator.java:152)
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.JackrabbitACLImporter$ImportedAcList.apply(JackrabbitACLImporter.java:318)
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.JackrabbitACLImporter.close(JackrabbitACLImporter.java:158)
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.DocViewSAXImporter.endElement(DocViewSAXImporter.java:1153)
>       at 
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2967)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
>       at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
>       at 
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
>       at 
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
>       at 
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
>       at 
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
>       at 
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
>       at 
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
>       at 
> org.apache.jackrabbit.vault.fs.impl.io.GenericArtifactHandler.accept(GenericArtifactHandler.java:99)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:879)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:784)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:824)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:824)
>       at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:824)
>       at org.apache.jackrabbit.vault.fs.io.Importer.run(Importer.java:425)
>       at 
> org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:233)
>       at 
> org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:398)
>       at 
> org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:357)
>       at 
> org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:343)
> ....
> {code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to