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 |
---|---|---|
_asyncio.vcxproj | -rw-r--r-- | 3.0 KB |
_asyncio.vcxproj.filters | -rw-r--r-- | 520 bytes |
_bz2.vcxproj | -rw-r--r-- | 3.9 KB |
_bz2.vcxproj.filters | -rw-r--r-- | 1.7 KB |
_ctypes.vcxproj | -rw-r--r-- | 4.7 KB |
_ctypes.vcxproj.filters | -rw-r--r-- | 2.3 KB |
_ctypes_test.vcxproj | -rw-r--r-- | 3.1 KB |
_ctypes_test.vcxproj.filters | -rw-r--r-- | 718 bytes |
_decimal.vcxproj | -rw-r--r-- | 5.9 KB |
_decimal.vcxproj.filters | -rw-r--r-- | 4.3 KB |
_elementtree.vcxproj | -rw-r--r-- | 4.3 KB |
_elementtree.vcxproj.filters | -rw-r--r-- | 2.5 KB |
_freeze_importlib.vcxproj | -rw-r--r-- | 5.2 KB |
_freeze_importlib.vcxproj.filters | -rw-r--r-- | 1.1 KB |
_hashlib.vcxproj | -rw-r--r-- | 3.2 KB |
_hashlib.vcxproj.filters | -rw-r--r-- | 436 bytes |
_lzma.vcxproj | -rw-r--r-- | 3.7 KB |
_lzma.vcxproj.filters | -rw-r--r-- | 435 bytes |
_msi.vcxproj | -rw-r--r-- | 3.1 KB |
_msi.vcxproj.filters | -rw-r--r-- | 423 bytes |
_multiprocessing.vcxproj | -rw-r--r-- | 3.3 KB |
_multiprocessing.vcxproj.filters | -rw-r--r-- | 861 bytes |
_overlapped.vcxproj | -rw-r--r-- | 3.1 KB |
_overlapped.vcxproj.filters | -rw-r--r-- | 434 bytes |
_queue.vcxproj | -rw-r--r-- | 3.0 KB |
_queue.vcxproj.filters | -rw-r--r-- | 518 bytes |
_socket.vcxproj | -rw-r--r-- | 3.2 KB |
_socket.vcxproj.filters | -rw-r--r-- | 702 bytes |
_sqlite3.vcxproj | -rw-r--r-- | 4.5 KB |
_sqlite3.vcxproj.filters | -rw-r--r-- | 2.4 KB |
_ssl.vcxproj | -rw-r--r-- | 3.6 KB |
_ssl.vcxproj.filters | -rw-r--r-- | 620 bytes |
_testbuffer.vcxproj | -rw-r--r-- | 3.0 KB |
_testbuffer.vcxproj.filters | -rw-r--r-- | 435 bytes |
_testcapi.vcxproj | -rw-r--r-- | 3.0 KB |
_testcapi.vcxproj.filters | -rw-r--r-- | 439 bytes |
_testconsole.vcxproj | -rw-r--r-- | 3.2 KB |
_testconsole.vcxproj.filters | -rw-r--r-- | 952 bytes |
_testembed.vcxproj | -rw-r--r-- | 3.1 KB |
_testembed.vcxproj.filters | -rw-r--r-- | 948 bytes |
_testimportmultiple.vcxproj | -rw-r--r-- | 3.0 KB |
_testimportmultiple.vcxproj.filters | -rw-r--r-- | 444 bytes |
_testmultiphase.vcxproj | -rw-r--r-- | 3.2 KB |
_testmultiphase.vcxproj.filters | -rw-r--r-- | 952 bytes |
_tkinter.vcxproj | -rw-r--r-- | 4.5 KB |
_tkinter.vcxproj.filters | -rw-r--r-- | 534 bytes |
build.bat | -rw-r--r-- | 5.9 KB |
build_env.bat | -rw-r--r-- | 25 bytes |
clean.bat | -rw-r--r-- | 128 bytes |
env.bat | -rw-r--r-- | 712 bytes |
field3.py | -rw-r--r-- | 974 bytes |
find_msbuild.bat | -rw-r--r-- | 3.3 KB |
find_python.bat | -rw-r--r-- | 3.2 KB |
fix_encoding.py | -rw-r--r-- | 952 bytes |
get_external.py | -rw-r--r-- | 1.8 KB |
get_externals.bat | -rw-r--r-- | 4.0 KB |
idle.bat | -rw-r--r-- | 296 bytes |
lib.pyproj | -rw-r--r-- | 89.5 KB |
liblzma.vcxproj | -rw-r--r-- | 13.1 KB |
openssl.props | -rw-r--r-- | 1.5 KB |
openssl.vcxproj | -rw-r--r-- | 5.7 KB |
pcbuild.proj | -rw-r--r-- | 5.9 KB |
pcbuild.sln | -rw-r--r-- | 57.9 KB |
prepare_ssl.bat | -rw-r--r-- | 2.1 KB |
prepare_ssl.py | -rw-r--r-- | 6.7 KB |
prepare_tcltk.bat | -rw-r--r-- | 1.9 KB |
pyexpat.vcxproj | -rw-r--r-- | 3.6 KB |
pyexpat.vcxproj.filters | -rw-r--r-- | 1.1 KB |
pylauncher.vcxproj | -rw-r--r-- | 3.2 KB |
pylauncher.vcxproj.filters | -rw-r--r-- | 1.2 KB |
pyproject.props | -rw-r--r-- | 11.4 KB |
pyshellext.vcxproj | -rw-r--r-- | 3.4 KB |
pyshellext.vcxproj.filters | -rw-r--r-- | 1.4 KB |
python.props | -rw-r--r-- | 12.4 KB |
python.vcxproj | -rw-r--r-- | 5.0 KB |
python.vcxproj.filters | -rw-r--r-- | 824 bytes |
python3dll.vcxproj | -rw-r--r-- | 6.6 KB |
python3dll.vcxproj.filters | -rw-r--r-- | 1.2 KB |
python_uwp.vcxproj | -rw-r--r-- | 3.7 KB |
pythoncore.vcxproj | -rw-r--r-- | 23.8 KB |
pythoncore.vcxproj.filters | -rw-r--r-- | 34.2 KB |
pythonw.vcxproj | -rw-r--r-- | 3.0 KB |
pythonw.vcxproj.filters | -rw-r--r-- | 702 bytes |
pythonw_uwp.vcxproj | -rw-r--r-- | 3.3 KB |
pywlauncher.vcxproj | -rw-r--r-- | 3.2 KB |
pywlauncher.vcxproj.filters | -rw-r--r-- | 1.2 KB |
readme.txt | -rw-r--r-- | 10.9 KB |
rmpyc.py | -rw-r--r-- | 409 bytes |
rt.bat | -rw-r--r-- | 2.0 KB |
select.vcxproj | -rw-r--r-- | 3.1 KB |
select.vcxproj.filters | -rw-r--r-- | 436 bytes |
sqlite3.vcxproj | -rw-r--r-- | 4.1 KB |
sqlite3.vcxproj.filters | -rw-r--r-- | 804 bytes |
tcl.vcxproj | -rw-r--r-- | 3.0 KB |
tcltk.props | -rw-r--r-- | 3.2 KB |
tix.vcxproj | -rw-r--r-- | 3.9 KB |
tk.vcxproj | -rw-r--r-- | 3.2 KB |
unicodedata.vcxproj | -rw-r--r-- | 3.1 KB |
unicodedata.vcxproj.filters | -rw-r--r-- | 810 bytes |
urlretrieve.py | -rw-r--r-- | 1.2 KB |
venvlauncher.vcxproj | -rw-r--r-- | 3.3 KB |
venvwlauncher.vcxproj | -rw-r--r-- | 3.3 KB |
winsound.vcxproj | -rw-r--r-- | 3.1 KB |
winsound.vcxproj.filters | -rw-r--r-- | 500 bytes |
xxlimited.vcxproj | -rw-r--r-- | 3.2 KB |
xxlimited.vcxproj.filters | -rw-r--r-- | 433 bytes |
Computing file changes ...