From 029936828d3feb57d9ee40a6709d62bc6fbb3124 Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 13 Apr 2021 00:39:04 +0000 Subject: [PATCH] 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 Signed-off-by: Jonathan Druart (cherry picked from commit 52f997fcfc88488e1a8bab4a8d52eba6c0501895) Signed-off-by: Fridolin Somers --- Koha/UploadedFile.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Koha/UploadedFile.pm b/Koha/UploadedFile.pm index 83c7ab76e3..009c333a8d 100644 --- a/Koha/UploadedFile.pm +++ b/Koha/UploadedFile.pm @@ -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 ( -- 2.39.5