You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-user@jakarta.apache.org by delbd <de...@oma.be> on 2005/04/13 14:40:19 UTC
Impossible to read ACL from webdav tools
Hello we have a problem with a slide webdav, probably a configuration problem,
but not sure. If enyone can engliht us, i begin to feel desesperate
Configuration:
- tomcat 5.5.7 listening on port 8081
- slide 2.1
- webapplication under /intranet, webdav servlet mapped to /DAV in web.xml and
param default-servlet set to false in web.xml
Description:
We can access webdav content, list collections, add, move, rename content
without problem. However, it seems impossible to have any webdav application
read the ACL of any dav ressource. I don't know what we may have been missing
in the config.
If i take a collection ('/files') of webdav and i programmaticaly access the
slide api to list the acl of the ObjectNode '/files', it give me the acl, on
top of which is subject: all, action: all, inversed: false.
So, according to this line, anyone can do any action on files (and so can do a
read-acl)
however, if in davclient (part of jakarta-slide project) i type
'acl files' it returns me 'ACL for /intranet/DAV/files is empty'
Looks like the fact webdav is not the root servlet messed up things
Here is the network dumps:
-------
PROPFIND /intranet/DAV/files HTTP/1.1
Content-Type: text/xml; charset=utf-8
User-Agent: Jakarta Commons-HttpClient/2.0final
Host: intrarmi:8081
Cookie: $Version=0; JSESSIONID=95A8552193EC7F916A2C09D8490257C1;
$Path=/intranet
Content-Length: 104
Depth: 0
<?xml version="1.0" encoding="utf-8" ?><D:propfind
xmlns:D="DAV:"><D:prop><D:acl/></D:prop></D:propfind>HTTP/1.1 207
Multi-Status
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 13 Apr 2005 11:46:58 GMT
15d
<?xml version="1.0" encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/intranet/DAV/files</D:href>
<D:propstat>
<D:prop>
<D:acl />
</D:prop>
<D:status>HTTP/1.1 404 Not Found</D:status>
</D:propstat>
</D:response>
</D:multistatus>
--------
As you see it returns a 404 Not found
however, 'ls files' returns this:
with following network trace:
PROPFIND /intranet/DAV/files/ HTTP/1.1
Content-Type: text/xml; charset=utf-8
User-Agent: Jakarta Commons-HttpClient/2.0final
Host: intrarmi:8081
Cookie: $Version=0; JSESSIONID=95A8552193EC7F916A2C09D8490257C1;
$Path=/intranet
Content-Length: 207
Depth: 0
<?xml version="1.0" encoding="utf-8" ?><D:propfind
xmlns:D="DAV:"><D:prop><D:displayname/><D:getcontentlength/><D:getcontenttype/><D:resourcetype/><D:getlastmodified/><D:lockdiscovery/></D:prop></D:propfind>HTTP/1.1
207 Multi-Status
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 13 Apr 2005 11:52:02 GMT
34c
<?xml version="1.0" encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/intranet/DAV/files</D:href>
<D:propstat>
<D:prop>
<D:displayname>files</D:displayname>
<D:getcontentlength>0</D:getcontentlength>
<D:resourcetype>
<D:collection />
</D:resourcetype>
<D:getlastmodified>Thu, 10 Feb 2005 10:54:10
GMT</D:getlastmodified>
<D:lockdiscovery />
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
<D:propstat>
<D:prop>
<D:getcontenttype />
</D:prop>
<D:status>HTTP/1.1 404 Not Found</D:status>
</D:propstat>
</D:response>
</D:multistatus>
0
PROPFIND /intranet/DAV/files/ HTTP/1.1
Content-Type: text/xml; charset=utf-8
User-Agent: Jakarta Commons-HttpClient/2.0final
Host: intrarmi:8081
Cookie: $Version=0; JSESSIONID=95A8552193EC7F916A2C09D8490257C1;
$Path=/intranet
Content-Length: 112
Depth: 1
<?xml version="1.0" encoding="utf-8" ?><D:propfind
xmlns:D="DAV:"><D:prop><D:displayname/></D:prop></D:propfind>HTTP/1.1 207
Multi-Status
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 13 Apr 2005 11:52:02 GMT
144
<?xml version="1.0" encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:">
<D:response xmlns:D="DAV:">
<D:href>/intranet/DAV/files</D:href>
<D:propstat>
<D:prop>
<D:displayname>files</D:displayname>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
112
<D:response xmlns:D="DAV:">
<D:href>/intranet/DAV/files/unclassified</D:href>
<D:propstat>
<D:prop>
<D:displayname>unclassified</D:displayname>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
11a
<D:response xmlns:D="DAV:">
<D:href>/intranet/DAV/files/shared_calendars</D:href>
<D:propstat>
<D:prop>
<D:displayname>shared_calendars</D:displayname>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
10c
<D:response xmlns:D="DAV:">
<D:href>/intranet/DAV/files/d0_public</D:href>
<D:propstat>
<D:prop>
<D:displayname>d0_public</D:displayname>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
fe
<D:response xmlns:D="DAV:">
<D:href>/intranet/DAV/files/00</D:href>
<D:propstat>
<D:prop>
<D:displayname>00</D:displayname>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
12
</D:multistatus>
0
----------------
According to my collegua, it used to work with eclipse plugin (DAVPilot) and
then disappeared. We are unable to find out which change in the app did
disable the acl listing. If there is some particular config to do to enable
acl on webdav, which we may have wipeout by mistake, could you tell me?
Thanks
--
David Delbecq
Royal Meteorological Institute of Belgium
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-user-help@jakarta.apache.org