Index: file.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/file.inc,v retrieving revision 1.121.2.12 diff -u -r1.121.2.12 file.inc --- file.inc 11 May 2010 09:49:58 -0000 1.121.2.12 +++ file.inc 10 Jul 2010 10:19:23 -0000 @@ -826,6 +826,15 @@ if (ob_get_level()) { 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 + if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) { + drupal_set_header('Cache-Control: private'); + drupal_set_header('Pragma: private'); + drupal_set_header('Content-Disposition: attachment; filename="'.basename($source).'"'); + } foreach ($headers as $header) { // To prevent HTTP header injection, we delete new lines that are