Commit graph

24100 commits

Author SHA1 Message Date
Miss Islington (bot)
2cdbd3b8b2
bpo-45001: Make email date parsing more robust against malformed input (GH-27946) (GH-27973)
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 989f6a3800)

Co-authored-by: wouter bolsterlee <wouter@bolsterl.ee>
2021-08-26 17:48:20 +02:00
Erlend Egeberg Aasland
0ec17a2494
[3.9] bpo-43853: Amend NEWS entry for latest changes in sqlite3 (GH-27922) (GH-27952)
(cherry picked from commit 7903a10963)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
2021-08-25 20:26:28 +01:00
Erlend Egeberg Aasland
52702e8ba0
[3.9] bpo-27334: roll back transaction if sqlite3 context manager fails to commit (GH-26202) (GH-27944) 2021-08-25 20:02:25 +01:00
Miss Islington (bot)
9d3b6b2472
[3.9] bpo-34990: Treat the pyc header's mtime in compileall as an unsigned int (GH-19708)
(cherry picked from commit bb21e28fd0)

Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
Co-authored-by: Stéphane Wirtel <stephane@wirtel.be>
2021-08-24 11:07:31 -04:00
Miss Islington (bot)
4e5162fd36
bpo-44955: Always call stopTestRun() for implicitly created TestResult objects (GH-27831) (GH-27882)
Method stopTestRun() is now always called in pair with method startTestRun()
for TestResult objects implicitly created in TestCase.run().
Previously it was not called for test methods and classes decorated with
a skipping decorator.
(cherry picked from commit a9640d7553)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-08-22 21:15:10 +03:00
Miss Islington (bot)
7ef0673de4
bpo-44954: Fix wrong result in float.fromhex corner case (GH-27834) (GH-27855)
(cherry picked from commit 60b93d9e49)

Co-authored-by: Mark Dickinson <mdickinson@enthought.com>
2021-08-20 12:37:41 +01:00
Miss Islington (bot)
0215257c61
bpo-44949: Fix test_readline auto history tests (GH-27813) (GH-27822)
(cherry picked from commit 6fb62b42f4)

Co-authored-by: Victor Stinner <vstinner@python.org>
2021-08-19 12:35:28 +02:00
Łukasz Langa
4e4d35d332
[3.9] bpo-44947: Refine the syntax error for trailing commas in import statements (GH-27814) (GH-27817)
(cherry picked from commit b2f68b1900)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-08-18 23:03:59 +02:00
Sam Bull
b2779b2aa1
[3.9] bpo-44815: Always show deprecation in asyncio.gather/sleep() (GH-27569)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-08-18 20:47:55 +02:00
Miss Islington (bot)
beb3a835da
bpo-44698: Restore complex pow behaviour for small integral exponents (GH-27772) (GH-27797)
(cherry picked from commit 4b9a2dcf19)

Co-authored-by: Mark Dickinson <mdickinson@enthought.com>
2021-08-17 18:38:39 +01:00
Miss Islington (bot)
e21b66b044
bpo-44903: Removed othergui.rst and list of GUI frameworks (GH-27762) (GH-27790)
(cherry picked from commit 6a358bb948)

Co-authored-by: Gautam Chaudhuri <gautam.chaudhuri.1803@gmail.com>
2021-08-17 12:09:09 +02:00
Łukasz Langa
27fd313110
[3.9] bpo-38956: don't print BooleanOptionalAction's default twice (GH-27672) (GH-27788)
Co-authored-by: Micky Yun Chan <michan@redhat.com>.
(cherry picked from commit 1512bc21d6)

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2021-08-17 11:17:00 +02:00
Łukasz Langa
c7c4cbc58e
[3.9] bpo-44852: Support ignoring specific DeprecationWarnings wholesale in regrtest (GH-27634) (GH-27785)
(cherry picked from commit a0a6d39295)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-08-16 22:47:08 +02:00
Pablo Galindo Salgado
4b86c9c514
[3.9] bpo-44885: Correct the ast locations of f-strings with format specs and repeated expressions (GH-27729) (GH-27744)
(cherry picked from commit 8e832fb2a2)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-08-12 18:46:35 +01:00
Miss Islington (bot)
15f0a45b28
bpo-33930: Fix segfault with deep recursion when cleaning method objects (GH-27678) (GH-27720)
(cherry picked from commit bfc2d5a5c4)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-08-11 10:32:24 +02:00
Miss Islington (bot)
6f4cdeddb9
bpo-25782: avoid hang in PyErr_SetObject when current exception has a cycle in its context chain (GH-27626) (GH-27707)
Co-authored-by: Dennis Sweeney 36520290+sweeneyde@users.noreply.github.com
(cherry picked from commit d5c217475c)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2021-08-10 13:08:41 +02:00
Miss Islington (bot)
c7dfbd2f41
bpo-33479: Remove unqualified tkinter threadsafe claim. (GH-6990) (GH-27705)
It has not been true for several years and likely never was.
(cherry picked from commit 6b37d0d530)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2021-08-10 11:58:05 +02:00
Miss Islington (bot)
0e63776c4f
make lib2to3 parse async generators everywhere (GH-6588) (GH-27703)
(cherry picked from commit 149addd496)

Co-authored-by: Zsolt Dollenstein <zsol.zsol@gmail.com>
2021-08-10 11:56:50 +02:00
Irit Katriel
ede1dc416d
bpo-44872: use new trashcan macros in framobject.c (GH-27683) (GH-27691) 2021-08-10 09:55:39 +02:00
Miss Islington (bot)
fcbe8c63d7
bpo-39498 Start linking the security warnings in the stdlib modules (GH-18272) (GH-27699)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit c5c5326d47)

Co-authored-by: Anthony Shaw <anthony.p.shaw@gmail.com>
2021-08-10 09:51:33 +02:00
Miss Islington (bot)
395f4c7fbf
bpo-41402: Fix email ContentManager calling .encode() on bytes (GH-21631) (GH-27687)
(cherry picked from commit b33186bc43)

Co-authored-by: Johannes Reiff <mail@jreiff.de>
2021-08-10 00:34:58 +02:00
Miss Islington (bot)
40b353bc07
bpo-38840: Incorrect __all__ in multiprocessing.managers (GH-18034) (GH-27684)
This was causing test___all__ to fail on platforms lacking a shared
memory implementation.

Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit d097876111)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2021-08-09 19:31:10 +02:00
Tzu-ping Chung
26539cea8a
[3.9] Upgrade bundled pip and setuptools (GH-27625) (GH-27658)
pip is now 21.2.3
setuptools is now 57.4.0.
(cherry picked from commit 738ac00a08)

Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
2021-08-09 16:46:15 +02:00
Miss Islington (bot)
ede221e517
bpo-32695: Docs and tests for compresslevel and preset kwargs in tarfile (GH-21470) (GH-27674)
Co-Authored-By: Bo Bayles <bbayles@gmail.com>
(cherry picked from commit eb2d4a66ff)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2021-08-09 12:30:00 +02:00
Miss Islington (bot)
ed718e9b07
bpo-44856: Possible reference leak in error paths of update_bases() and __build_class__ (GH-27647) (GH-27651)
(cherry picked from commit a40675c659)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-08-07 13:17:41 +02:00
Erlend Egeberg Aasland
c352412123
[3.9] bpo-44822: Don't truncate strs with embedded NULL chars returned by sqlite3 UDF callbacks (GH-27588). (GH-27639)
(cherry picked from commit 8f010dc920)
2021-08-07 00:02:06 +03:00
Miss Islington (bot)
62bce24e32
bpo-27752: improve documentation of csv.Dialect (GH-26795) (GH-27644)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 0ffdced3b6)

Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com>
2021-08-06 22:33:21 +02:00
Miss Islington (bot)
fde84170d0
bpo-44605: Teach @total_ordering() to work with metaclasses (GH-27633) (GH-27641) 2021-08-06 14:57:52 -05:00
Miss Islington (bot)
91f6d38669
bpo-44756: [docs] revert automated virtual environment creation on make html (GH-27635) (GH-27636)
It turned out to be disruptive for downstream distributors.
(cherry picked from commit 55fa87b1ef)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-08-06 20:42:27 +02:00
Erlend Egeberg Aasland
8c07fef867
[3.9] bpo-43853: Handle sqlite3_value_text() errors (GH-25422). (GH-27627)
(cherry picked from commit 006fd869e4)
2021-08-06 20:57:39 +03:00
Miss Islington (bot)
791c28a56f
bpo-44849: Fix os.set_inheritable() on FreeBSD 14 with O_PATH (GH-27623)
Fix the os.set_inheritable() function on FreeBSD 14 for file
descriptor opened with the O_PATH flag: ignore the EBADF error on
ioctl(), fallback on the fcntl() implementation.
(cherry picked from commit c24896c0e3)

Co-authored-by: Victor Stinner <vstinner@python.org>
2021-08-06 06:42:51 -07:00
Łukasz Langa
693a661478
[3.9] bpo-40928: notify users running test_decimal on macOS of malloc warnings (GH-26783) (GH-27629)
* When trying to allocate very large regions on macOS, malloc does not   fail silently. It sends a noisy error out to STDERR
* This provides a helper function to warn the user, and provides the warning for test_decimal, which consistently generates these warnings on macOS.

Co-authored-by: Łukasz Langa <lukasz@langa.pl>.
(cherry picked from commit 15d3c14df3)

Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com>
2021-08-06 15:35:11 +02:00
Miss Islington (bot)
7dad033751
bpo-42958: Improve description of shallow= in filecmp.cmp docs (GH-27166) (GH-27608)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Alexander Vandenbulcke <alexander.vandenbulcke95@gmail.com>
(cherry picked from commit a8dc4893d2)

Co-authored-by: andrei kulakov <andrei.avk@gmail.com>
2021-08-04 22:09:45 +02:00
Miss Islington (bot)
1a2c0ecfa2
[doc] bpo-43066: zipfile - add note on leading slash in the filename arg (GH-26899) (GH-27606)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 7c5dab4340)

Co-authored-by: andrei kulakov <andrei.avk@gmail.com>
2021-08-04 22:00:52 +02:00
Miss Islington (bot)
0b551db04a
bpo-39091: Fix segfault when Exception constructor returns non-exception for gen.throw. (GH-17658) (GH-27573)
Co-authored-by: Benjamin Peterson <benjamin@python.org>
(cherry picked from commit 83ca46b778)

Co-authored-by: Noah <33094578+coolreader18@users.noreply.github.com>
2021-08-03 12:10:54 +02:00
Miss Islington (bot)
e0d599fa48
bpo-35183: Add typical examples to os.path.splitext docs (GH-27286) (GH-27564)
(cherry picked from commit aa0894b379)

Co-authored-by: Jake Stockwin <jake.stockwin@optimorlabs.com>
2021-08-02 20:08:10 +02:00
Miss Islington (bot)
0f6a7739df
bpo-44806: Fix __init__ in subclasses of protocols (GH-27545) (GH-27559)
Non-protocol subclasses of protocol ignore now the __init__ method
inherited from protocol base classes.
(cherry picked from commit 043cd60abe)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-08-02 18:52:16 +02:00
Miss Islington (bot)
2d11797c81
bpo-44667: Treat correctly lines ending with comments and no newlines in the Python tokenizer (GH-27499) (GH-27501)
(cherry picked from commit b6bde9fc42)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-08-02 11:44:01 +02:00
Miss Islington (bot)
0f42b726c8
bpo-42892: fix email multipart attribute error (GH-26903) (GH-27493)
(cherry picked from commit e3f877c32d)

Co-authored-by: andrei kulakov <andrei.avk@gmail.com>
2021-07-30 19:30:58 +02:00
Miss Islington (bot)
73240d425b
bpo-44666: Use default encoding as fallback for compile_file (GH-27236) (GH-27489)
When sys.stdout.encoding is None compile_file will fall back to
sys.getdefaultencoding to encode/decode error messages.

Co-authored-by: Stefan Hoelzl <stefan.hoelzl@posteo.de>
Co-authored-by: Mickaël Schoentgen <contact@tiger-222.fr>
(cherry picked from commit 80f0707629)
2021-07-30 19:12:29 +02:00
Miss Islington (bot)
acaf3b9594
bpo-44752: Make rlcompleter not call @property methods (GH-27401) (#27445)
* rlcompleter was calling these methods to identify whether to add
  parenthesis to the completion, based on if the attribute is callable.
* for property objects, completion with parenthesis are never desirable.
* property methods with print statements behaved very strangely, which
  was especially unfriendly to language newcomers. <tab> could suddenly
  produce output unexpectedly.
(cherry picked from commit 50de8f74f8)

Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com>
2021-07-29 15:53:39 +02:00
Jason R. Coombs
49b5e20fa8
[3.9] bpo-44461: Check early that a pdb target is valid for execution. (GH-27227) (GH-27400)
* [3.9] bpo-44461: Check early that a pdb target is valid for execution. (GH-27227)

* bpo-44461: Fix bug with pdb's handling of import error due to a package which does not have a __main__ module

* 📜🤖 Added by blurb_it.

* remove "else"

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>

* If running as a module, first check that it can run as a module. Alternate fix for bpo-44461.

Co-authored-by: Irit Katriel
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>.
(cherry picked from commit ee03bad25e)

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>

* Ensure os_helper is imported.

* Actually, os_helper doesn't exist yet. Just reference rmtree from support.
2021-07-28 18:48:52 -04:00
Miss Islington (bot)
899e37b202
bpo-40263: Fixes an off-by-one error in _winapi_WaitForMultipleObjects_impl (GH-19501)
(cherry picked from commit 92b5dc780d)

Co-authored-by: Ray Donnelly <mingw.android@gmail.com>
2021-07-28 22:52:11 +01:00
Miss Islington (bot)
019a8b08fa
bpo-44544: [doc] list all textwrap func kwargs (GH-26999) (GH-27425)
(cherry picked from commit c1e39d6b11)

Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com>
2021-07-28 19:29:47 +02:00
Miss Islington (bot)
debb751f11
bpo-27827: identify a greater range of reserved filename on Windows. (GH-26698) (#27422)
`pathlib.PureWindowsPath.is_reserved()` now identifies as reserved
filenames with trailing spaces or colons.

Co-authored-by: Barney Gale <barney.gale@foundry.com>
Co-authored-by: Eryk Sun <eryksun@gmail.com>
(cherry picked from commit 56c1f6d7ed)
2021-07-28 17:15:51 +02:00
Miss Islington (bot)
fd2c2465d4
bpo-44756: in ./Doc, make build depends on make html (GH-27403) (GH-27411)
- venv rule is now conditional, and only does anything if $VENVDIR does not exist
- add rule "clean-venv"
(cherry picked from commit d22c876d5a)

Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com>
2021-07-28 15:40:18 +02:00
Inada Naoki
153365d864
[3.9] bpo-42853: Fix http.client fails to download >2GiB data over TLS (GH-27405)
Revert "bpo-36050: optimize HTTPResponse.read() (GH-12698)"

This reverts commit d6bf6f2d0c.
2021-07-28 15:27:49 +02:00
Miss Islington (bot)
3f1389459a
The current documentation says it returns None if the name is not found, but (GH-26785) (GH-27372)
the implementation uses [] and will raise KeyError instead.

Noticed by @srittau in python/typeshed@5659.
(cherry picked from commit f22737abfa)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2021-07-26 21:35:46 +02:00
Miss Islington (bot)
85ac81499e
bpo-44698: Fix undefined behaviour in complex exponentiation. (GH-27278) (GH-27367)
(cherry picked from commit 1d582bbc96)

Co-authored-by: T. Wouters <thomas@python.org>
2021-07-26 21:30:11 +02:00
Miss Islington (bot)
7b2185b8e4
bpo-44734: Fix precision in turtle tests (GH-27343) (GH-27362)
(cherry picked from commit 3f135c073a)

Co-authored-by: Logan Jones <loganasherjones@gmail.com>
2021-07-26 17:56:13 +02:00