3.7
Commits on May 23, 2022
Commits on May 10, 2022
-
[3.7] Update Sphinx bpo role to use redirect URI. (GH-91893)
(cherry picked from commit 08cfe07) Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Commits on May 6, 2022
-
bpo-42773: fix tests not being run on pushes (GH-24004) (GH-92341)
There was a typo, we were checking if the "GITHUB_BASE_REF" string literal was empty instead of the $GITHUB_BASE_REF value. When $GITHUB_BASE_REF is empty, the action that triggered the run was not a pull request, so we always run the full test suite. Signed-off-by: Filipe Laíns <lains@riseup.net> (cherry picked from commit 4ac923f)
Commits on Apr 4, 2022
Commits on Mar 29, 2022
-
bpo-47138: Ensure Windows docs build uses the same pinned version as …
…other platforms (GH-32182)
Commits on Mar 16, 2022
Commits on Mar 15, 2022
-
bpo-45405: Prevent internal configure error when running configure wi…
…th recent versions of clang. (GH-28845) (GH-31890) Change the configure logic to function properly on macOS when the compiler outputs a platform triplet for option --print-multiarch. The Apple Clang included with Xcode 13.3 now supports --print-multiarch causing configure to fail without this change. Co-authored-by: Ned Deily <nad@python.org> (cherry picked from commit 9c47667) Co-authored-by: David Bohman <debohman@gmail.com>
Commits on Mar 13, 2022
Commits on Mar 7, 2022
-
bpo-46948: Fix CVE-2022-26488 by ensuring the Windows Installer corre…
…ctly uses the install path during repair (GH-31730)
Commits on Feb 25, 2022
-
bpo-46756: Fix authorization check in urllib.request (GH-31353) (GH-3…
…1573) Fix a bug in urllib.request.HTTPPasswordMgr.find_user_password() and urllib.request.HTTPPasswordMgrWithPriorAuth.is_authenticated() which allowed to bypass authorization. For example, access to URI "example.org/foobar" was allowed if the user was authorized for URI "example.org/foo". (cherry picked from commit e2e7256) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Commits on Feb 23, 2022
Commits on Feb 21, 2022
-
bpo-46784: Add newly exported expat symbols to the namespace. (GH-31397…
…) (GH-31418) The libexpat 2.4.1 upgrade from introduced the following new exported symbols: * `testingAccountingGetCountBytesDirect` * `testingAccountingGetCountBytesIndirect` * `unsignedCharToPrintable` * `XML_SetBillionLaughsAttackProtectionActivationThreshold` * `XML_SetBillionLaughsAttackProtectionMaximumAmplification` We need to adjust [Modules/expat/pyexpatns.h](https://github.com/python/cpython/blob/master/Modules/expat/pyexpatns.h) (The newer libexpat upgrade has no new symbols). Automerge-Triggered-By: GH:gpshead (cherry picked from commit 6312c10) Co-authored-by: Yilei "Dolee" Yang <yileiyang@google.com>
-
bpo-46811: Make test suite support Expat >=2.4.5 (GH-31453) (GH-31471)
Curly brackets were never allowed in namespace URIs according to RFC 3986, and so-called namespace-validating XML parsers have the right to reject them a invalid URIs. libexpat >=2.4.5 has become strcter in that regard due to related security issues; with ET.XML instantiating a namespace-aware parser under the hood, this test has no future in CPython. References: - https://datatracker.ietf.org/doc/html/rfc3968 - https://www.w3.org/TR/xml-names/ Also, test_minidom.py: Support Expat >=2.4.5 (cherry picked from commit 2cae938) Co-authored-by: Sebastian Pipping <sebastian@pipping.org>
Commits on Jan 2, 2022
Commits on Aug 31, 2021
-
[3.7] bpo-44394: Update libexpat copy to 2.4.1 (GH-26945) (GH-28042)
Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Victor Stinner <vstinner@python.org> Co-authored-by: Łukasz Langa <lukasz@langa.pl>. (cherry picked from commit 3fc5d84)
Commits on Aug 30, 2021
-
bpo-45001: Make email date parsing more robust against malformed input (
GH-27946) (GH-27975) Various date parsing utilities in the email module, such as email.utils.parsedate(), are supposed to gracefully handle invalid input, typically by raising an appropriate exception or by returning None. The internal email._parseaddr._parsedate_tz() helper used by some of these date parsing routines tries to be robust against malformed input, but unfortunately it can still crash ungracefully when a non-empty but whitespace-only input is passed. This manifests as an unexpected IndexError. In practice, this can happen when parsing an email with only a newline inside a ‘Date:’ header, which unfortunately happens occasionally in the real world. Here's a minimal example: $ python Python 3.9.6 (default, Jun 30 2021, 10:22:16) [GCC 11.1.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import email.utils >>> email.utils.parsedate('foo') >>> email.utils.parsedate(' ') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.9/email/_parseaddr.py", line 176, in parsedate t = parsedate_tz(data) File "/usr/lib/python3.9/email/_parseaddr.py", line 50, in parsedate_tz res = _parsedate_tz(data) File "/usr/lib/python3.9/email/_parseaddr.py", line 72, in _parsedate_tz if data[0].endswith(',') or data[0].lower() in _daynames: IndexError: list index out of range The fix is rather straight-forward: guard against empty lists, after splitting on whitespace, but before accessing the first element. (cherry picked from commit 989f6a3) Co-authored-by: wouter bolsterlee <wouter@bolsterl.ee>