MDL-39832 Files: Revert MDL-39688 commit, 6ce0c9ce42fa7849e67d7611a628ece51c336c5f
authorMatteo Scaramuccia <moodle@matteoscaramuccia.com>
Mon, 3 Jun 2013 19:41:21 +0000 (21:41 +0200)
committerMatteo Scaramuccia <moodle@matteoscaramuccia.com>
Sun, 7 Jul 2013 07:21:35 +0000 (09:21 +0200)
MDL-39688 has been successful in providing a solution for the issue but further
investigations done in MDL-39832 have got the evidence that the given solution
is more likely a workaround.

lib/filelib.php
lib/xsendfilelib.php

index 47eebc9..92e6cdf 100644 (file)
@@ -1956,11 +1956,7 @@ function readfile_accel($file, $mimetype, $accelerate) {
     header('Last-Modified: '. gmdate('D, d M Y H:i:s', $lastmodified) .' GMT');
 
     if (is_object($file)) {
-        if (empty($_SERVER['HTTP_RANGE'])) {
-            // Use Etag only when not byteserving,
-            // is it tag of this range or whole file?
-            header('Etag: ' . $file->get_contenthash());
-        }
+        header('ETag: ' . $file->get_contenthash());
         if (isset($_SERVER['HTTP_IF_NONE_MATCH']) and $_SERVER['HTTP_IF_NONE_MATCH'] === $file->get_contenthash()) {
             header('HTTP/1.1 304 Not Modified');
             return;
@@ -2610,10 +2606,6 @@ function byteserving_send_file($handle, $mimetype, $ranges, $filesize) {
     // better turn off any kind of compression and buffering
     @ini_set('zlib.output_compression', 'Off');
 
-    // Remove Etag because is is not strictly defined for byteserving,
-    // is it tag of this range or whole file?
-    header_remove('Etag');
-
     $chunksize = 1*(1024*1024); // 1MB chunks - must be less than 2MB!
     if ($handle === false) {
         die;
index 5c25485..3a563fd 100644 (file)
@@ -68,12 +68,6 @@ function xsendfile($filepath) {
         }
     }
 
-    // Remove Etag because is is not strictly defined for byteserving,
-    // is it tag of this range or whole file?
-    if (!empty($_SERVER['HTTP_RANGE'])) {
-        header_remove('Etag');
-    }
-
     if ($CFG->xsendfile === 'X-LIGHTTPD-send-file') {
         // http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file says 1.4 it does not support byteserving
         header('Accept-Ranges: none');