jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Reschke (Jira)" <j...@apache.org>
Subject [jira] [Resolved] (JCR-4458) When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails
Date Mon, 02 Sep 2019 13:57:00 GMT

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

Julian Reschke resolved JCR-4458.
---------------------------------
    Fix Version/s: 2.19.5
       Resolution: Fixed

> When JcrRemotingServlet deployed on non-root context, AclResource Webdav request fails
> --------------------------------------------------------------------------------------
>
>                 Key: JCR-4458
>                 URL: https://issues.apache.org/jira/browse/JCR-4458
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 2.18.2
>            Reporter: Woonsan Ko
>            Assignee: Julian Reschke
>            Priority: Major
>             Fix For: 2.20, 2.19.5
>
>         Attachments: JCR-4458.diff
>
>
> If {{org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet}} is configured in
a non-root web application, the contextPath of which is "/cms" for example with the servletPath,
"/server", then {{javax.jcr.Session#importXML(...)}} fails from a JCR client based on JCR/WebDAV.
In other words, {{#importXML(...)}} fails from a JCR {{Session}} using a repository which
can be created like the following for JCR over WebDAV:
> {code}
>     String repositoryAddress = "http://localhost:8080/cms/server";
>     Jcr2davRepositoryFactory factory = new Jcr2davRepositoryFactory();
>     Map<String, String> params = new HashMap<String, String>();
>     params.put(JcrUtils.REPOSITORY_URI, repositoryAddress);
>     Repository repository = factory.getRepository(params);
>     // ...
> {code}
> It seems like that {{Session#importXML(...)}} call invokes an AclResource Webdav request
first on the specific resource path, but {{org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport#init(DavResource,
ReportInfo)}} does not remove the contextPath, "/cms" for example, when determining the resoucrePath.
> Unlike the {{JcrPrivilegeReport}}, {{org.apache.jackrabbit.webdav.WebdavRequestImpl#getHrefLocator(String,
boolean)}} seems to remove the contextPath properly.



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

Mime
View raw message