Jean-Philippe Courson wrote:
> Hi,
> 
> 
> 
> Webfolders seems to have a nasty way of doing PUT requests :
> 
> 
> The context :
> 
> Here is what you can see in webdav_access_log :
> 
> "HEAD /b2web/jumal/private/INSTALL.TXT HTTP/1.1" 404 607
> "PUT /b2web/jumal/private/INSTALL.TXT HTTP/1.1" 201
> "HEAD /b2web/jumal/private/INSTALL.TXT HTTP/1.1" 200 -
> "PUT /b2web/jumal/private/INSTALL.TXT HTTP/1.1" 204 -
> "HEAD /b2web/jumal/private/NSTALL.TXT HTTP/1.1" 200 -
> 
> Adding some debug code, I realized that webfolders were
> -> firstly doing a PUT request to create an empty file
>    (contentLength was defined but equal to 0)
> -> only then performing a PUT request with the file's content.
> 
> I'm pretty sure of this behaviour. The only thing I can't really
> understand is why second PUT returns 204 ? Are log writtings
> synchronized ?
> 
> 
> Implications :
> 
> When we receive a PUT request that would exhaust user quota :
> -> the first PUT request is accepted (contentLength is ok)
> -> the second one is rejected (contentLength is too big)
> 
> 
> Result :
> 
> All refused upload requests are ending by an empty file creation.
> And you can even lost a file that was having the same name but was
> ligther.
> 
> 
> Does anybody have ideas on how we could avoid these problems ?

A workaround would be not to deny the write at the point the user 
exceeds his quota, but on the next put. You'd do this by setting a 
exceeded_quota flag when exceeding, and check this flag on the next put.



-- 
-Torgeir


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to