Subject: Re: Retrieving the lockdiscovery property from a non locked resource

From: "Jim Amsden" <[email-masked]>
Date: Thu, 15 Mar 2001 08:22:24 -0500

Hartmut,
DAV:lockdiscovery is a live property  that always exists for every resource
that supports locking. So mod_dav is correct in returning the empty
property given that there are no locks. I suppose IIS could be considered
correct too as there isn't that much difference between an empty element
and no element in this case.

                    Hartmut Warncke                                                                             
                    <[email-masked]       To:     WebDAV WG <[email-masked]>                           
                    M>                       cc:                                                                
                    Sent by:                 Subject:     Retrieving the lockdiscovery property from a non      
                    w3c-dist-auth-requ        locked resource                                                   
                    [email-masked]                                                                                  

                    03/15/2001 05:12                                                                            
                    AM                                                                                          

Hi all,

if '/a.html' is a resource which is  *not*  locked and the client sends
a ...

<D:propfind xmlns:D="DAV:">
     <D:prop>
         <D:lockdiscovery/>
     </D:prop>
</D:propfind>

... on that resource, the mod_dav server responds witth a:

 <?xml version="1.0" ...>
    <D:multistatus xmlns:D="DAV:">
        <D:response>
            <D:href>
                /a.html
            </D:href>
            <D:propstat>
                <D:prop>
                    <D:lockdiscovery/>
                </D:prop>
                <D:status>
                    HTTP/1.1 200 OK
                 </D:status>
                ...
So, mod_dav sends an empty lockdiscovery element.

IIS responds with:
...
<a:response>
    <a:href>
        /a.html
    </a:href>
    <a:propstat>
        <a:status>
            HTTP/1.1 200 OK
        </a:status>
        <a:prop/>
    </a:propstat>
</a:response>
...

So, IIS sends no lockdiscovery property at all.

In RFC2518; section 8.1 I found the following sentence:

"A request to retrieve the value of a property which does not exist is
an error and MUST be noted, if the response uses a multistatus XML
element, with a response XML element which contains a 404 (Not Found)
status value."

Does this sentence applies only to user-defined properties and not to
DAV build-in properties like the lockdiscovery property?

What is the correct server behaviour?

Best, Hartmut

---

From: "Jason Crawford" <[email-masked]>
Date: Mon, 19 Mar 2001 00:14:38 -0500

Do we want to modify the spec to specify what behavior we expect?

<<
It looks like the server implementors decided that lockdiscovery exists on
all class 2 DAV resources.  Otherwise, you wouldn't be able to tell the
difference between "resource has no locks" and "resource does not exist".
I don't see anything in 2518 to specify it, though.