Index: includes/file.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/file.inc,v retrieving revision 1.121.2.10 diff -u -p -r1.121.2.10 file.inc --- includes/file.inc 1 Feb 2010 16:14:58 -0000 1.121.2.10 +++ includes/file.inc 3 Feb 2010 00:44:27 -0000 @@ -803,6 +803,15 @@ function file_transfer($source, $headers ob_end_clean(); } + // IE cannot download private files because it cannot store files downloaded + // over https in the browser cache. The problem can be solved by sending + // custom headers to IE. See http://support.microsoft.com/kb/323308/en-us + global $base_url; + if (preg_match('|^https://|', $base_url)) { + drupal_set_header('Cache-Control: private'); + drupal_set_header('Pragma: private'); + } + foreach ($headers as $header) { // To prevent HTTP header injection, we delete new lines that are // not followed by a space or a tab.