httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bennett, Tony" <Bennett.T...@con-way.com>
Subject [users@httpd] Why does a DELETE transaction check for locks on Parent Collection
Date Wed, 26 Sep 2012 20:53:52 GMT
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@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message