Bug 28123: Quote filename value in Content-Disposition header

Chrome throws a ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION
error if a Content-Disposition header includes an unquoted filename
that contains commas.

This patch adds quotes around the filename in the Content-Disposition
header, which fixes the problem.

Test plan:
0. Do not apply the patch yet
1. Obtain a PDF and rename it to include a comma in its name
2. Enable the upload.pl plugin in the 856$u of the Default framework
3. Add/edit a record in the Default Framework and upload a file
using the 856$u upload plugin.
4. Click on the resulting file URL in the saved file
5. Note the error ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION
is returned instead of the file

6. Apply the patch and restart your Plack instance

7. Click on the resulting file URL in the saved file
8. Note that you now get the PDF file instead of the error

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
David Cook 2021-04-13 00:39:04 +00:00 committed by Jonathan Druart
parent 54c5ee5706
commit 52f997fcfc
1 changed files with 1 additions and 1 deletions

View File

@ -131,7 +131,7 @@ sub httpheaders {
if( $self->filename =~ /\.pdf$/ ) {
return (
'-type' => 'application/pdf',
'Content-Disposition' => 'inline; filename='.$self->filename,
'Content-Disposition' => 'inline; filename="'.$self->filename.'"',
);
} else {
return (