avoid corrupt attachments, #13209 and #13877
[freeside.git] / rt / share / html / Ticket / Attachment / dhandler
index d4d556b..7330e3c 100755 (executable)
      }
 
      my $content_type = $AttachmentObj->ContentType || 'text/plain';
-        
-     unless (RT->Config->Get('TrustHTMLAttachments')) {
+
+     if (RT->Config->Get('AlwaysDownloadAttachments')) {
+         $r->headers_out->{'Content-Disposition'} = "attachment; filename=" . $AttachmentObj->Filename;
+     }
+     elsif (!RT->Config->Get('TrustHTMLAttachments')) {
          $content_type = 'text/plain' if ($content_type =~ /^text\/html/i);
      }
 
@@ -83,6 +86,7 @@
      #     $content_type = 'application/octet-stream';
      # }
 
+     $r->subprocess_env('no-gzip' => 1); # disable mod_deflate
      $r->content_type( $content_type );
      $m->clear_buffer();
      $m->out($AttachmentObj->OriginalContent);