[3.7] bpo-38686: fix HTTP Digest handling in request.py (GH-17045) #17358
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is a bug triggered when server replies to a request with
WWW-Authenticate: Digest
whereqop="auth,auth-int"
rather than mereqop="auth"
. Having bothauth
andauth-int
is legitimate according to theqop-options
rule in §3.2.1 of [[https://www.ietf.org/rfc/rfc2617.txt|RFC 2617]]:This is description confirmed by the definition of the [//n//]
GH-
[//m//]//rule// extended-BNF pattern defined in §2.1 of [[https://www.ietf.org/rfc/rfc2616.txt|RFC 2616]] as 'a comma-separated list of //rule// with at least //n// and at most //m// items'.When this reply is parsed by
get_authorization
, request.py only tests for identity with'auth'
, failing to recognize it as one of the supported modes the server announced, and claims that"qop 'auth,auth-int' is not supported"
.📜🤖 Added by blurb_it.
bpo-38686 review fix: remember why.
fix trailing space in Lib/urllib/request.py
Co-Authored-By: Brandt Bucher brandtbucher@gmail.com
(cherry picked from commit 14a89c4)
Co-authored-by: PypeBros PypeBros@users.noreply.github.com
https://bugs.python.org/issue38686