-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
[3.6] bpo-42967: only use '&' as a query string separator (GH-24297) #24532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… urllib.parse.parse_qsl(). urllib.parse will only us "&" as query string separator by default instead of both ";" and "&" as allowed in earlier versions. An optional argument seperator with default value "&" is added to specify the separator. Co-authored-by: Éric Araujo <merwok@netwok.org> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> Co-authored-by: Éric Araujo <merwok@netwok.org>. (cherry picked from commit fcbe0cb) Co-authored-by: Adam Goldschmidt <adamgold7@gmail.com>
The idle test case failing seems more like an unrelated flake to me. |
Other than the docs issues mentioned in #24528 , this LGTM! |
Lib/cgi.py
Outdated
@@ -156,7 +160,7 @@ def parse(fp=None, environ=os.environ, keep_blank_values=0, strict_parsing=0): | |||
if environ['REQUEST_METHOD'] == 'POST': | |||
ctype, pdict = parse_header(environ['CONTENT_TYPE']) | |||
if ctype == 'multipart/form-data': | |||
return parse_multipart(fp, pdict) | |||
return parse_multipart(fp, pdict, separator=separator) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe we should change the parse_multipart
signature here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!. Yes, I had noticed in my local, but then lost it. :( - And unfortunately, the existing tests didn't cover to catch too.
We are adding a |
It is being called from |
Hi Ned, the patch against 3.6 is complete. You could merge this when you get a chance and cut the release. Thank you. |
…4297) (pythonGH-24532) bpo-42967: [security] Address a web cache-poisoning issue reported in urllib.parse.parse_qsl(). urllib.parse will only us "&" as query string separator by default instead of both ";" and "&" as allowed in earlier versions. An optional argument seperator with default value "&" is added to specify the separator. Co-authored-by: Éric Araujo <merwok@netwok.org> Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> Co-authored-by: Adam Goldschmidt <adamgold7@gmail.com> Rebased for Python 2.7 by Michał Górny
[3.6] bpo-42967: only use '&' as a query string separator (GH-24297)
Backport of fcbe0cb to 3.6
https://bugs.python.org/issue42967
https://bugs.python.org/issue42967