]> git.sesse.net Git - pr0n/blobdiff - perl/Sesse/pr0n/WebDAV.pm
Last change broke uploads altogether. Fix.
[pr0n] / perl / Sesse / pr0n / WebDAV.pm
index 35cc9790bc0c1a7ec629a1499ee450fd16d5f91d..2a974e2a9eed47f47dbbdadcc0ca77701786fd76 100644 (file)
@@ -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
      </propstat>
   </response>
 EOF
-                               $r->log->info("Full list");
                        }
 
                        $r->print("</multistatus>\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