]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 365926: Serve attachments without an explicit charset, and let the browser
authorMax Kanat-Alexander <mkanat@bugzilla.org>
Sun, 28 Mar 2010 21:06:09 +0000 (14:06 -0700)
committerMax Kanat-Alexander <mkanat@bugzilla.org>
Sun, 28 Mar 2010 21:06:09 +0000 (14:06 -0700)
decide which charset to use
r=LpSolit, a=LpSolit

attachment.cgi

index 0181f8cad72698c9608dd239b8021064cfe47875..f85fb3a19edb7962cd4659809e559c1587da38c6 100755 (executable)
@@ -329,6 +329,14 @@ sub view {
 
     my $disposition = Bugzilla->params->{'allow_attachment_display'} ? 'inline' : 'attachment';
 
+    # Don't send a charset header with attachments--they might not be UTF-8.
+    # However, we do allow people to explicitly specify a charset if they
+    # want.
+    if ($contenttype !~ /\bcharset=/i) {
+        # In order to prevent Apache from adding a charset, we have to send a
+        # charset that's a single space.
+        $cgi->charset(' ');
+    }
     print $cgi->header(-type=>"$contenttype; name=\"$filename\"",
                        -content_disposition=> "$disposition; filename=\"$filename\"",
                        -content_length => $attachment->datasize);