X-Git-Url: https://git.sesse.net/?p=pr0n;a=blobdiff_plain;f=perl%2FSesse%2Fpr0n%2FWebDAV.pm;h=2a974e2a9eed47f47dbbdadcc0ca77701786fd76;hp=35cc9790bc0c1a7ec629a1499ee450fd16d5f91d;hb=2698077b60939a858ecaaf1ccde01591170f0a2c;hpb=2d6536cab108c937e2af49f7dcf15f2230f44d1a diff --git a/perl/Sesse/pr0n/WebDAV.pm b/perl/Sesse/pr0n/WebDAV.pm index 35cc979..2a974e2 100644 --- a/perl/Sesse/pr0n/WebDAV.pm +++ b/perl/Sesse/pr0n/WebDAV.pm @@ -9,7 +9,7 @@ use MIME::Base64; sub handler { my $r = shift; my $dbh = Sesse::pr0n::Common::get_dbh(); - + $r->headers_out->{'DAV'} = "1,2"; # We only handle depth=0, depth=1 (cf. the RFC) @@ -38,6 +38,10 @@ sub handler { # Directory listings et al if ($r->method eq "PROPFIND") { + # We ignore the body, but we _must_ consume it fully before + # we output anything, or Squid will get seriously confused + $r->discard_request_body; + $r->content_type('text/xml; charset="utf-8"'); $r->status(207); @@ -202,7 +206,6 @@ EOF EOF - $r->log->info("Full list"); } $r->print("\n"); @@ -484,7 +487,7 @@ EOF # Make cache while we're at it. # Don't do it for the resource forks Mac OS X loves to upload :-( if ($filename !~ /^\._/) { - Sesse::pr0n::Common::ensure_cached($r, $filename, $newid, -1, -1, 1, 80, 64, 320, 256); + Sesse::pr0n::Common::ensure_cached($r, $filename, $newid, -1, -1, 1, 80, 64, 320, 256, -1, -1); } # OK, we got this far, commit