Re: Why does a DELETE transaction check for locks on Parent Collection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(Greg's response bounced off of users@.  Tony, follow up on dev@ if
you need to follow up.)

On Wed, Sep 26, 2012 at 8:41 PM, Greg Stein <gstein@xxxxxxxxx> wrote:
> The parent collection is modified as a result of the DELETE (a
> resource is removed from the set). Thus, the parent requirements must
> be met.
>
> On Wed, Sep 26, 2012 at 8:35 PM, Jeff Trawick <trawick@xxxxxxxxx> wrote:
>> adding dev@...
>>
>> On Wed, Sep 26, 2012 at 4:53 PM, Bennett, Tony <Bennett.Tony@xxxxxxxxxxx> wrote:
>>> Environment:
>>>         Version:            2.2.16
>>>         Platform OS:    AIX 6.1
>>>         Configuration:  WebDav enabled
>>>         Client:     Windows 7 "Mapped Network Drive"
>>>
>>> Here is the interaction:
>>>
>>> Client  sends a PUT
>>> Server  responds with a 200
>>> Client  sends a LOCK request
>>> Server  responds with a 200 and this header is in the response:
>>>                 Lock-Token: <opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>
>>> Client  sends a DELETE and includes this header in the request:
>>>                 If: (<opaquelocktoken:f86e1996-0726-11e2-b22c-c30f656528a6>)
>>> Server  responds with a 424 Failed Dependency and includes this text in its response body:
>>>        <?xml version="1.0" encoding="utf-8"?>
>>>        <D:multistatus xmlns:D="DAV:">
>>>        <D:response>
>>>        <D:href>/TEST_DIR</D:href>
>>>        <D:status>HTTP/1.1 412 Precondition Failed</D:status>
>>>        <D:responsedescription>A validation error has occurred on the parent resource,
>>>        preventing the operation on the resource specified by the Request-URI. The error was:
>>>        The precondition(s) specified by the "If:" header did not match this resource. At
>>>        least one failure is because: a State-token was supplied, but it was not found in the
>>>        locks on this resource.</D:responsedescription>
>>>        </D:response>
>>>        </D:multistatus>
>>>
>>> Here is a subset of the Apache Error Log:
>>>       Could not DELETE /TEST_DIR/~$EXCEL_File.xlsx due to a failed precondition (e.g. locks).  [424, #0]
>>>      (11)Resource temporarily unavailable: An error occurred on another resource, preventing the requested operation on this resource.  [424, #0]
>>>
>>> I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>>
>>> My question is why did Apache check for the "opaquetoken" against the parent collection when the request came from Win7...???
>>>
>>> I can't find a requirement to do so in the standard (RFC2518 or RFC4918).
>>>
>>> NOTE:  I tried locking/deleting with cadaver, which worked.... it had a slightly different "If" header:
>>>      If: <http://dmsa.con-way.com/TEST_DIR/~%24EXCEL_File.xlsx> (<opaquelocktoken:fec89268-081a-11e2-a1d7-c30f65659e0a>)
>>>
>>> Any insight would be helpful.
>>>
>>> -tony
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
>>> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
>>>
>>
>>
>>
>> --
>> Born in Roswell... married an alien...
>> http://emptyhammock.com/



-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux