classification
Title: handling filename encoding in Content-Disposition by cgi.FieldStorage
Type: enhancement Stage: resolved
Components: Library (Lib) Versions: Python 3.8, Python 3.7, Python 3.6, Python 3.4, Python 3.5, Python 2.7
process
Status: closed Resolution: duplicate
Dependencies: Superseder:
Assigned To: Nosy List: pawciobiel
Priority: normal Keywords: patch

Created on 2018-03-08 09:49 by pawciobiel, last changed 2018-03-22 15:24 by pawciobiel. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 6027 closed pawciobiel, 2018-03-08 09:52
Messages (2)
msg313430 - (view) Author: Paweł (pawciobiel) * Date: 2018-03-08 09:49
It appears that cgi.FieldStorage does not handle 
Content-Disposition with filenames with defined encoding.
(according to RFC5987)

Example:
'''
Content-Disposition: form-data; name="file"; filename*=utf-8''upload_test_file_%C5%82%C3%B3%C4%85%C3%A4.txt
'''

The way to reproduce this is to either try to parse above or
write a tiny webapp using a web framework that uses CGI for handling
file uploads (webpy) and try to upload a file using `requests` - or any library that uses urllib3 for building POST with multipart/form-data.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

https://tools.ietf.org/html/rfc5987
msg314266 - (view) Author: Paweł (pawciobiel) * Date: 2018-03-22 15:24
duplicate of https://bugs.python.org/issue23434
History
Date User Action Args
2018-03-22 15:24:51pawciobielsetstatus: open -> closed
resolution: duplicate
messages: + msg314266

stage: patch review -> resolved
2018-03-08 09:52:17pawciobielsetkeywords: + patch
stage: patch review
pull_requests: + pull_request5790
2018-03-08 09:49:30pawciobielcreate