summaryrefslogtreecommitdiff
path: root/rt/share/html/Ticket/Attachment/dhandler
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-08-25 15:06:19 -0700
committerIvan Kohler <ivan@freeside.biz>2017-08-25 15:06:19 -0700
commitcbfeb5f6b7490f78361318ce6290bfb442dbfcbe (patch)
treee6409692bc2376649eeda94344f0a7f578a75428 /rt/share/html/Ticket/Attachment/dhandler
parent8ffd7de981603a189cd0ea62ca948eaf3f66ca49 (diff)
parent5b5eb87bf66f1fac003a13dc2db48e8970c5c986 (diff)
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'rt/share/html/Ticket/Attachment/dhandler')
-rwxr-xr-xrt/share/html/Ticket/Attachment/dhandler8
1 files changed, 5 insertions, 3 deletions
diff --git a/rt/share/html/Ticket/Attachment/dhandler b/rt/share/html/Ticket/Attachment/dhandler
index 8a62e6daf..d61c1d8c7 100755
--- a/rt/share/html/Ticket/Attachment/dhandler
+++ b/rt/share/html/Ticket/Attachment/dhandler
@@ -2,7 +2,7 @@
%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2016 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC
%# <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
@@ -68,11 +68,13 @@ unless ( $AttachmentObj->TransactionId() == $trans ) {
my $content = $AttachmentObj->OriginalContent;
my $content_type = $AttachmentObj->ContentType || 'text/plain';
-if ( RT->Config->Get('AlwaysDownloadAttachments') ) {
+my $attachment_regex = qr{^(image/svg\+xml|application/pdf)}i;
+if ( RT->Config->Get('AlwaysDownloadAttachments') || ($content_type =~ $attachment_regex) ) {
$r->headers_out->{'Content-Disposition'} = "attachment";
}
elsif ( !RT->Config->Get('TrustHTMLAttachments') ) {
- $content_type = 'text/plain' if ( $content_type =~ /^text\/html/i );
+ my $text_plain_regex = qr{^(text/html|application/xhtml\+xml|text/xml|application/xml)}i;
+ $content_type = 'text/plain' if ( $content_type =~ $text_plain_regex );
}
elsif (lc $content_type eq 'text/html') {
# If we're trusting and serving HTML for display not download, try to do