Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision 07432c33a0cab9d40ec71b274ec4bca5c57ca6e9 authored by Miss Islington (bot) on 22 November 2019, 23:38:37 UTC, committed by GitHub on 22 November 2019, 23:38:37 UTC
* fix HTTP Digest handling in request.py There is a bug triggered when server replies to a request with `WWW-Authenticate: Digest` where `qop="auth,auth-int"` rather than mere `qop="auth"`. Having both `auth` and `auth-int` is legitimate according to the `qop-options` rule in §3.2.1 of [[https://www.ietf.org/rfc/rfc2617.txt|RFC 2617]]: > qop-options = "qop" "=" <"> 1GH-qop-value <"> > qop-value = "auth" | "auth-int" | token > **qop-options**: [...] If present, it is a quoted string **of one or more** tokens indicating the "quality of protection" values supported by the server. The value `"auth"` indicates authentication; the value `"auth-int"` indicates authentication with integrity protection 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 14a89c47983f2fb9e7fdf33c769e622eefd3a14a) Co-authored-by: PypeBros <PypeBros@users.noreply.github.com>
1 parent c58a811
Tip revision: 07432c33a0cab9d40ec71b274ec4bca5c57ca6e9 authored by Miss Islington (bot) on 22 November 2019, 23:38:37 UTC
bpo-38686: fix HTTP Digest handling in request.py (GH-17045)
bpo-38686: fix HTTP Digest handling in request.py (GH-17045)
Tip revision: 07432c3
File | Mode | Size |
---|---|---|
clinic | ||
stringlib | ||
README | -rw-r--r-- | 41 bytes |
abstract.c | -rw-r--r-- | 66.8 KB |
accu.c | -rw-r--r-- | 2.4 KB |
boolobject.c | -rw-r--r-- | 6.5 KB |
bytearrayobject.c | -rw-r--r-- | 69.2 KB |
bytes_methods.c | -rw-r--r-- | 22.4 KB |
bytesobject.c | -rw-r--r-- | 99.1 KB |
call.c | -rw-r--r-- | 37.2 KB |
capsule.c | -rw-r--r-- | 7.3 KB |
cellobject.c | -rw-r--r-- | 4.4 KB |
classobject.c | -rw-r--r-- | 17.8 KB |
codeobject.c | -rw-r--r-- | 27.3 KB |
complexobject.c | -rw-r--r-- | 32.3 KB |
descrobject.c | -rw-r--r-- | 54.9 KB |
dict-common.h | -rw-r--r-- | 2.2 KB |
dictnotes.txt | -rw-r--r-- | 6.0 KB |
dictobject.c | -rw-r--r-- | 129.1 KB |
enumobject.c | -rw-r--r-- | 13.3 KB |
exceptions.c | -rw-r--r-- | 85.8 KB |
fileobject.c | -rw-r--r-- | 14.9 KB |
floatobject.c | -rw-r--r-- | 71.1 KB |
frameobject.c | -rw-r--r-- | 34.4 KB |
funcobject.c | -rw-r--r-- | 29.5 KB |
genobject.c | -rw-r--r-- | 65.2 KB |
iterobject.c | -rw-r--r-- | 9.0 KB |
listobject.c | -rw-r--r-- | 95.4 KB |
listsort.txt | -rw-r--r-- | 35.3 KB |
lnotab_notes.txt | -rw-r--r-- | 5.7 KB |
longobject.c | -rw-r--r-- | 166.4 KB |
memoryobject.c | -rw-r--r-- | 88.9 KB |
methodobject.c | -rw-r--r-- | 9.1 KB |
moduleobject.c | -rw-r--r-- | 23.3 KB |
namespaceobject.c | -rw-r--r-- | 7.2 KB |
object.c | -rw-r--r-- | 61.7 KB |
obmalloc.c | -rw-r--r-- | 84.3 KB |
odictobject.c | -rw-r--r-- | 73.1 KB |
rangeobject.c | -rw-r--r-- | 34.3 KB |
setobject.c | -rw-r--r-- | 73.2 KB |
sliceobject.c | -rw-r--r-- | 19.0 KB |
structseq.c | -rw-r--r-- | 13.5 KB |
tupleobject.c | -rw-r--r-- | 29.9 KB |
typeobject.c | -rw-r--r-- | 239.8 KB |
typeslots.inc | -rw-r--r-- | 3.9 KB |
typeslots.py | -rwxr-xr-x | 1.2 KB |
unicodectype.c | -rw-r--r-- | 7.5 KB |
unicodeobject.c | -rw-r--r-- | 454.8 KB |
unicodetype_db.h | -rw-r--r-- | 241.6 KB |
weakrefobject.c | -rw-r--r-- | 30.6 KB |
Computing file changes ...