<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Lib/urllib, branch fix-traceback-syntax-error</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-39481: PEP 585 for a variety of modules (GH-19423)</title>
<updated>2020-04-10T14:46:36+00:00</updated>
<author>
<name>Batuhan Taşkaya</name>
<email>batuhanosmantaskaya@gmail.com</email>
</author>
<published>2020-04-10T14:46:36+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=0361556537686f857f1025ead75e6af4ca7cc94a'/>
<id>0361556537686f857f1025ead75e6af4ca7cc94a</id>
<content type='text'>
- concurrent.futures
- ctypes
- http.cookies
- multiprocessing
- queue
- tempfile
- unittest.case
- urllib.parse</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- concurrent.futures
- ctypes
- http.cookies
- multiprocessing
- queue
- tempfile
- unittest.case
- urllib.parse</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39503: CVE-2020-8492: Fix AbstractBasicAuthHandler (GH-18284)</title>
<updated>2020-04-02T00:52:20+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-04-02T00:52:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=0b297d4ff1c0e4480ad33acae793fbaf4bf015b4'/>
<id>0b297d4ff1c0e4480ad33acae793fbaf4bf015b4</id>
<content type='text'>
The AbstractBasicAuthHandler class of the urllib.request module uses
an inefficient regular expression which can be exploited by an
attacker to cause a denial of service. Fix the regex to prevent the
catastrophic backtracking. Vulnerability reported by Ben Caller
and Matt Schwager.

AbstractBasicAuthHandler of urllib.request now parses all
WWW-Authenticate HTTP headers and accepts multiple challenges per
header: use the realm of the first Basic challenge.

Co-Authored-By: Serhiy Storchaka &lt;storchaka@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The AbstractBasicAuthHandler class of the urllib.request module uses
an inefficient regular expression which can be exploited by an
attacker to cause a denial of service. Fix the regex to prevent the
catastrophic backtracking. Vulnerability reported by Ben Caller
and Matt Schwager.

AbstractBasicAuthHandler of urllib.request now parses all
WWW-Authenticate HTTP headers and accepts multiple challenges per
header: use the realm of the first Basic challenge.

Co-Authored-By: Serhiy Storchaka &lt;storchaka@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39548: Fix handling of 'WWW-Authenticate' header for Digest Auth (GH-18338)</title>
<updated>2020-02-29T20:31:58+00:00</updated>
<author>
<name>Stephen Balousek</name>
<email>sbalousek@users.noreply.github.com</email>
</author>
<published>2020-02-29T20:31:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=5e260e0fde211829fcb67060cfd602f4b679f802'/>
<id>5e260e0fde211829fcb67060cfd602f4b679f802</id>
<content type='text'>
* bpo-39548: Fix handling of 'WWW-Authenticate' header for Digest authentication

 - The 'qop' value in the 'WWW-Authenticate' header is optional. The
   presence of 'qop' in the header should be checked before its value
   is parsed with 'split'.

Signed-off-by: Stephen Balousek &lt;stephen@balousek.net&gt;

* bpo-39548: Fix handling of 'WWW-Authenticate' header for Digest authentication

 - Add NEWS item

Signed-off-by: Stephen Balousek &lt;stephen@balousek.net&gt;

* Update Misc/NEWS.d/next/Library/2020-02-06-05-33-52.bpo-39548.DF4FFe.rst

Co-Authored-By: Brandt Bucher &lt;brandtbucher@gmail.com&gt;

Co-authored-by: Brandt Bucher &lt;brandtbucher@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bpo-39548: Fix handling of 'WWW-Authenticate' header for Digest authentication

 - The 'qop' value in the 'WWW-Authenticate' header is optional. The
   presence of 'qop' in the header should be checked before its value
   is parsed with 'split'.

Signed-off-by: Stephen Balousek &lt;stephen@balousek.net&gt;

* bpo-39548: Fix handling of 'WWW-Authenticate' header for Digest authentication

 - Add NEWS item

Signed-off-by: Stephen Balousek &lt;stephen@balousek.net&gt;

* Update Misc/NEWS.d/next/Library/2020-02-06-05-33-52.bpo-39548.DF4FFe.rst

Co-Authored-By: Brandt Bucher &lt;brandtbucher@gmail.com&gt;

Co-authored-by: Brandt Bucher &lt;brandtbucher@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-37970: update and improve urlparse and urlsplit doc-strings (GH-16458)</title>
<updated>2020-02-16T19:17:58+00:00</updated>
<author>
<name>idomic</name>
<email>michael.ido@gmail.com</email>
</author>
<published>2020-02-16T19:17:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=c33bdbb20cf55b3a2aa7a91bd3d91fcb59796fad'/>
<id>c33bdbb20cf55b3a2aa7a91bd3d91fcb59796fad</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-39057: Fix urllib.request.proxy_bypass_environment(). (GH-17619)</title>
<updated>2020-01-05T12:14:31+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2020-01-05T12:14:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=6a265f0d0c0a4b3b8fecf4275d49187a384167f4'/>
<id>6a265f0d0c0a4b3b8fecf4275d49187a384167f4</id>
<content type='text'>
Ignore leading dots and no longer ignore a trailing newline.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ignore leading dots and no longer ignore a trailing newline.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38686: fix HTTP Digest handling in request.py (#17045)</title>
<updated>2019-11-22T23:19:08+00:00</updated>
<author>
<name>PypeBros</name>
<email>PypeBros@users.noreply.github.com</email>
</author>
<published>2019-11-22T23:19:08+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=14a89c47983f2fb9e7fdf33c769e622eefd3a14a'/>
<id>14a89c47983f2fb9e7fdf33c769e622eefd3a14a</id>
<content type='text'>
* 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]]:
&gt;      qop-options       = "qop" "=" &lt;"&gt; 1#qop-value &lt;"&gt;
&gt;      qop-value         = "auth" | "auth-int" | token
&gt; **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//]`#`[//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 &lt;brandtbucher@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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]]:
&gt;      qop-options       = "qop" "=" &lt;"&gt; 1#qop-value &lt;"&gt;
&gt;      qop-value         = "auth" | "auth-int" | token
&gt; **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//]`#`[//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 &lt;brandtbucher@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove binding of captured exceptions when not used to reduce the chances of creating cycles (GH-17246)</title>
<updated>2019-11-19T21:34:03+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>Pablogsal@gmail.com</email>
</author>
<published>2019-11-19T21:34:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=293dd23477eef6e7c1b1e26b5bb2c1e0d79ac3c2'/>
<id>293dd23477eef6e7c1b1e26b5bb2c1e0d79ac3c2</id>
<content type='text'>
Capturing exceptions into names can lead to reference cycles though the __traceback__ attribute of the exceptions in some obscure cases that have been reported previously and fixed individually. As these variables are not used anyway, we can remove the binding to reduce the chances of creating reference cycles.

See for example GH-13135</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Capturing exceptions into names can lead to reference cycles though the __traceback__ attribute of the exceptions in some obscure cases that have been reported previously and fixed individually. As these variables are not used anyway, we can remove the binding to reduce the chances of creating reference cycles.

See for example GH-13135</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-27657: Fix urlparse() with numeric paths (#661)</title>
<updated>2019-10-18T13:07:20+00:00</updated>
<author>
<name>Tim Graham</name>
<email>timograham@gmail.com</email>
</author>
<published>2019-10-18T13:07:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=5a88d50ff013a64fbdb25b877c87644a9034c969'/>
<id>5a88d50ff013a64fbdb25b877c87644a9034c969</id>
<content type='text'>
* bpo-27657: Fix urlparse() with numeric paths

Revert parsing decision from bpo-754016 in favor of the documented
consensus in bpo-16932 of how to treat strings without a // to
designate the netloc.

* bpo-22891: Remove urlsplit() optimization for 'http' prefixed inputs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bpo-27657: Fix urlparse() with numeric paths

Revert parsing decision from bpo-754016 in favor of the documented
consensus in bpo-16932 of how to treat strings without a // to
designate the netloc.

* bpo-22891: Remove urlsplit() optimization for 'http' prefixed inputs.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-32498: urllib.parse.unquote also accepts bytes (GH-7768)</title>
<updated>2019-10-14T10:36:29+00:00</updated>
<author>
<name>Stein Karlsen</name>
<email>karlsen.stein@gmail.com</email>
</author>
<published>2019-10-14T10:36:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=aad2ee01561f260c69af1951c0d6fcaf75c4d41b'/>
<id>aad2ee01561f260c69af1951c0d6fcaf75c4d41b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-25068: urllib.request.ProxyHandler now lowercases the dict keys (GH-13489)</title>
<updated>2019-09-13T14:07:07+00:00</updated>
<author>
<name>Zackery Spytz</name>
<email>zspytz@gmail.com</email>
</author>
<published>2019-09-13T14:07:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=b761e3aed1fbada4572a776f6a0d3c4be491d595'/>
<id>b761e3aed1fbada4572a776f6a0d3c4be491d595</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
