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]>
