diff options
| author | Ivan Kohler <ivan@freeside.biz> | 2017-08-25 15:06:19 -0700 |
|---|---|---|
| committer | Ivan Kohler <ivan@freeside.biz> | 2017-08-25 15:06:19 -0700 |
| commit | cbfeb5f6b7490f78361318ce6290bfb442dbfcbe (patch) | |
| tree | e6409692bc2376649eeda94344f0a7f578a75428 /rt/share/html/Ticket/Attachment/dhandler | |
| parent | 8ffd7de981603a189cd0ea62ca948eaf3f66ca49 (diff) | |
| parent | 5b5eb87bf66f1fac003a13dc2db48e8970c5c986 (diff) | |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'rt/share/html/Ticket/Attachment/dhandler')
| -rwxr-xr-x | rt/share/html/Ticket/Attachment/dhandler | 8 |
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 |
