Opened 6 years ago

Closed 6 years ago

#29368 closed Bug (invalid)

File upload through Safari browser

Reported by: Anton A. Lysenkov Owned by: nobody
Component: HTTP handling Version: 2.0
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Anton A. Lysenkov)

Request to development web server freezes when I tried post form data with file (file field empty). It seems like it getting stuck on HttpRequest read method. No Exceptions, no response, just silent.

Example project here:
https://github.com/magnitronus/safari_form_bug
Curl looks like this:

curl 'http://127.0.0.1:8000/dummy/' \
-XPOST \
-H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryksp4b8z8EZ7zfWVY' \
-H 'Origin: http://127.0.0.1:8000' \
-H 'Accept: */*' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15' \
-H 'Referer: http://127.0.0.1:8000/dummy/' \
-H 'x-csrftoken: ILKS0gtEuDFXXqpnxLZXGbqBOyNr8utDrRF9t550QliVxrLsB4P42R6dwVQQVMWZ' \
--data-binary $'------WebKitFormBoundaryksp4b8z8EZ7zfWVY\r\nContent-Disposition: form-data; name="csrfmiddlewaretoken"\r\n\r\nILKS0gtEuDFXXqpnxLZXGbqBOyNr8utDrRF9t550QliVxrLsB4P42R6dwVQQVMWZ\r\n------WebKitFormBoundaryksp4b8z8EZ7zfWVY\r\nContent-Disposition: form-data; name="name"\r\n\r\nadd\r\n------WebKitFormBoundaryksp4b8z8EZ7zfWVY\r\nContent-Disposition: form-data; name="some_file"; filename=""\r\nContent-Type: application/octet-stream\r\n\r\n\r\n------WebKitFormBoundaryksp4b8z8EZ7zfWVY--\r\n'

Upd: curl works fine. Maybe it is safari bug :(

Change History (2)

comment:1 by Anton A. Lysenkov, 6 years ago

Description: modified (diff)

comment:2 by Tim Graham, 6 years ago

Resolution: invalid
Status: newclosed

I don't have Safari, but can't reproduce with Firefox or Chrome on Linux. If you find that Django is at fault, please reopen with details.

Note: See TracTickets for help on using tickets.
Back to Top