Commit graph

115254 commits

Author SHA1 Message Date
Miss Islington (bot)
610cc0ab1b
[3.11] gh-102153: Start stripping C0 control and space chars in urlsplit (GH-102508) (#104575)
* gh-102153: Start stripping C0 control and space chars in `urlsplit` (GH-102508)

`urllib.parse.urlsplit` has already been respecting the WHATWG spec a bit GH-25595.

This adds more sanitizing to respect the "Remove any leading C0 control or space from input" [rule](https://url.spec.whatwg.org/GH-url-parsing:~:text=Remove%20any%20leading%20and%20trailing%20C0%20control%20or%20space%20from%20input.) in response to [CVE-2023-24329](https://nvd.nist.gov/vuln/detail/CVE-2023-24329).

---------

(cherry picked from commit 2f630e1ce1)

Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
Co-authored-by: Gregory P. Smith [Google] <greg@krypto.org>
2023-05-17 21:41:25 +00:00
Miss Islington (bot)
0560fd3f98
[3.11] gh-104496: IDLE - fix About for mixed tcl/tk versions (GH-104585) (#104587)
gh-104496: IDLE - fix About for mixed tcl/tk versions (GH-104585)

Print both if they are different, as may happen in the future.
(cherry picked from commit aed643baa9)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2023-05-17 20:31:22 +00:00
Jelle Zijlstra
f106aef24a
[3.11] typing: Add more tests for TypeVar (GH-104571) (#104577)
During the PEP 695 implementation at one point I made
TypeVar.__name__ return garbage, and all of test_typing passed.
So I decided to add a few more tests.
(cherry picked from commit 26931944dd)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-05-17 13:40:34 +00:00
Gregory P. Smith
133bf0927e
[3.11] gh-103861: Fix Zip64 extensions not being properly applied in some cases (GH-103863) (#104534)
Fix Zip64 extensions not being properly applied in some cases:

Fixes an issue where adding a small file to a `ZipFile`
object while forcing zip64 extensions causes an extra Zip64 record to be
added to the zip, but doesn't update the `min_version` or file sizes in
the primary central directory header.

Also fixed an edge case in checking if zip64 extensions are required:

This fixes an issue where if data requiring zip64 extensions was added
to an unseekable stream without specifying `force_zip64=True`, zip64
extensions would not be used and a RuntimeError would not be raised when
closing the file (even though the size would be known at that point).
This would result in successfully writing corrupt zip files.

Deciding if zip64 extensions are required outside of the `FileHeader`
function means that both `FileHeader` and `_ZipWriteFile` will always be
in sync. Previously, the `FileHeader` function could enable zip64
extensions without propagating that decision to the `_ZipWriteFile`
class, which would then not correctly write the data descriptor record
or check for errors on close.

If anyone is actually using `ZipInfo.FileHeader` as a public API without
explicitly passing True or False in for zip64, their own code may still be
susceptible to that kind of bug unless they make a similar change to
where the zip64 decision happens.

Fixes GH-103861

---------

.
(cherry picked from commit 798bcaa1eb)

Co-authored-by: Carey Metcalfe <carey@cmetcalfe.ca>
2023-05-17 01:07:10 -07:00
Miss Islington (bot)
3ce7d57c8a
[3.11] gh-87474: Fix file descriptor leaks in subprocess.Popen (GH-96351) (#104563)
gh-87474: Fix file descriptor leaks in subprocess.Popen (GH-96351)

This fixes several ways file descriptors could be leaked from `subprocess.Popen` constructor during error conditions by opening them later and using a context manager "fds to close" registration scheme to ensure they get closed before returning.

---------

(cherry picked from commit 3a4c44bb1e)

Co-authored-by: cptpcrd <31829097+cptpcrd@users.noreply.github.com>
Co-authored-by: Gregory P. Smith [Google] <greg@krypto.org>
2023-05-17 00:48:10 -07:00
Miss Islington (bot)
dece9c06bb
[3.11] gh-104494: Update certain Tkinter pack/place tests for Tk 8.7 errors (GH-104495) (#104569)
gh-104494: Update certain Tkinter pack/place tests for Tk 8.7 errors (GH-104495)
(cherry picked from commit 3cba61f111)

Co-authored-by: Christopher Chavez <chrischavez@gmx.us>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-05-16 20:03:51 -04:00
Miss Islington (bot)
f748fc9f44
[3.11] gh-75367: Fix data descriptor detection in inspect.getattr_static (GH-104517) (#104557)
gh-75367: Fix data descriptor detection in inspect.getattr_static (GH-104517)
(cherry picked from commit 5e9f471e7d)

Co-authored-by: Furkan Onder <furkanonder@protonmail.com>
Co-authored-by: Carl Meyer <carl@oddbird.net>
2023-05-16 17:57:34 +00:00
Miss Islington (bot)
9cac6c414f
[3.11] gh-104539: Fix indentation error in logging.config.rst (GH-104545) (#104546)
gh-104539: Fix indentation error in logging.config.rst (GH-104545)

Fix indentation error in logging.config.rst
(cherry picked from commit 0bb61dd5b0)

Co-authored-by: Jesper Noordsij <45041769+jnoordsij@users.noreply.github.com>
2023-05-16 13:53:18 +01:00
Irit Katriel
52a18feaaa
[3.11] gh-104482: Fix error handling bugs in ast.c (#104514) 2023-05-16 10:14:36 +01:00
Miss Islington (bot)
7779027084
[3.11] gh-104461: Run tkinter test_configure_screen on X11 only (GH-104526)
Co-authored-by: Christopher Chavez <chrischavez@gmx.us>
2023-05-16 02:47:51 +00:00
Miss Islington (bot)
a712c5f42d
[3.11] gh-67056: document that registering/unregistering an atexit func from within an atexit func is undefined (GH-104473) (#104500) 2023-05-15 10:15:07 +01:00
Miss Islington (bot)
1afc0a9591
[3.11] gh-98539: Make _SSLTransportProtocol.abort() safe to call when closed (GH-104474) (#104485)
(cherry picked from commit fb8739f0b6)

Co-authored-by: Sam Bull <git@sambull.org>
2023-05-14 21:24:07 +00:00
Miss Islington (bot)
8e79414efc
[3.11] gh-104337: Clarify random.gammavariate doc entry (GH-104410) (#104481)
(cherry picked from commit 88c5c58670)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2023-05-14 16:25:25 -04:00
Miss Islington (bot)
f5f99756e1
[3.11] Minor improvements to typing docs (GH-104465) (#104475)
Minor improvements to typing docs (GH-104465)
(cherry picked from commit 2f7b5e458e)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-05-14 13:00:57 +01:00
Miss Islington (bot)
03f0d75f1d
[3.11] GH-71383: IDLE - Document testing subsets of modules (GH-104463) (#104464)
GH-71383: IDLE - Document testing subsets of modules (GH-104463)
(cherry picked from commit 080a596152)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2023-05-14 04:18:30 +00:00
Miss Islington (bot)
b87ccc38fe
[3.11] gh-75710: IDLE - add docstrings and comments to editor module (GH-104446) (#104450)
gh-75710: IDLE - add docstrings and comments to editor module (GH-104446)

Commit extracted from PR GH-3669.  Will edit more later.

(cherry picked from commit 46f1c78eeb)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2023-05-13 16:04:37 +00:00
Miss Islington (bot)
e794d469e3
[3.11] Add a mention of PYTHONBREAKPOINT to breakpoint() docs (GH-104430) (#104447)
Add a mention of PYTHONBREAKPOINT to breakpoint() docs (GH-104430)
(cherry picked from commit 1be80ed107)

Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
2023-05-13 07:16:28 +00:00
Terry Jan Reedy
328b5dd829
[3.11] gh-99836: IDLE - update news.txt for 3.11+ (#104445)
* gh-99836: IDLE 3.11 News.txt

* gh-99836: IDLE - update news.txt for 3.11+
2023-05-13 04:47:21 +00:00
Brandt Bucher
fbb6def08a
[3.11] GH-104405: Add missing PEP 523 checks (GH-104441) 2023-05-12 23:03:47 +00:00
Brandt Bucher
4ade7c3369
[3.11] Fix refleak in super_descr_get (GH-104440)
(cherry picked from commit a781484c8e)
2023-05-12 22:29:02 +00:00
Brandt Bucher
b90c922f3f
[3.11] GH-94841: Fix usage of Py_ALWAYS_INLINE (GH-104439) 2023-05-12 22:06:29 +00:00
Miss Islington (bot)
b4c1ca29cc
[3.11] gh-103204: http.server - Enforce that HTTP version numbers must consist only of digits (GH-103205) (#104438)
gh-103204: `http.server` - Enforce that HTTP version numbers must consist only of digits (GH-103205)

Reject HTTP requests with invalid http/x.y version numbers: x or y being non-digits or too-long.

---------

(cherry picked from commit cf720acfcb)

Co-authored-by: Ben Kallus <49924171+kenballus@users.noreply.github.com>
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-05-12 20:54:12 +00:00
Erlend E. Aasland
7055088500
[3.11] gh-101117: Improve accuracy of sqlite3.Cursor.rowcount docs (#104287) (#104381)
The SQLite C API sqlite3_changes() can only be relied upon when the
current active statement has been run to completion.
2023-05-11 11:09:46 +02:00
Miss Islington (bot)
846a23d0b8
[3.11] GH-87695: Fix OSError from pathlib.Path.glob() (GH-104292) (GH-104362)
Fix issue where `pathlib.Path.glob()` raised `OSError` when it encountered
a symlink to an overly long path.
(cherry picked from commit a33ce66dca)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
2023-05-10 23:19:49 +00:00
Miss Islington (bot)
1cbf844875
[3.11] gh-103247: clear the module cache in a test in test_importlib/extensions/test_loader.py (GH-104226) (#104345)
gh-103247: clear the module cache in a test in test_importlib/extensions/test_loader.py (GH-104226)
(cherry picked from commit 22f3425c3d)

Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
2023-05-10 07:53:19 -07:00
Miss Islington (bot)
a8e902d2c2
[3.11] gh-104010: Separate and improve docs for typing.get_origin and typing.get_args (GH-104013) (#104359)
* separate documentation and examples for both functions
* add examples demonstrating behaviour with unsupported types
* document return value of `get_origin` for `ParamSpecArgs` and `ParamSpecKwargs` instances

(cherry picked from commit a7a2dbbf72)

Co-authored-by: chgnrdv <52372310+chgnrdv@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-05-10 07:49:49 -07:00
Miss Islington (bot)
03abac239c
[3.11] gh-103960: Dark mode: invert image brightness (GH-103983) (#104358)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-05-10 14:19:38 +00:00
Miss Islington (bot)
b2171a2fd4
[3.11] gh-103848: Adds checks to ensure that bracketed hosts found by urlsplit are of IPv6 or IPvFuture format (GH-103849) (#104349)
gh-103848: Adds checks to ensure that bracketed hosts found by urlsplit are of IPv6 or IPvFuture format (GH-103849)

* Adds checks to ensure that bracketed hosts found by urlsplit are of IPv6 or IPvFuture format

---------

(cherry picked from commit 29f348e232)

Co-authored-by: JohnJamesUtley <81572567+JohnJamesUtley@users.noreply.github.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-05-10 06:35:24 +00:00
Miss Islington (bot)
2fa14d47af
[3.11] gh-48241: Clarify URL needs to be encoded when provided to urlopen and Request (GH-103855) (#103891)
(cherry picked from commit 44010d0f12)

Co-authored-by: Michael Blahay <mblahay@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2023-05-10 00:22:06 +02:00
Miss Islington (bot)
fffdbf4831
[3.11] gh-102327: Extend docs for "url" and "headers" parameters to HTTPConnection.request()
gh-102327: Extend docs for "url" and "headers" parameters to HTTPConnection.request()

Added example on how to use the HTTPConnection object for making GET request.

Original issue: https://github.com/python/cpython/issues/102327

---------

(cherry picked from commit 7ba6288feb)

Co-authored-by: David Foster <david@dafoster.net>
Co-authored-by: Éric <earaujo@caravan.coop>
2023-05-09 20:00:58 +00:00
Miss Islington (bot)
663b32199e
[3.11] gh-104328: Fix typo in `typing.Generic` multiple inheritance error message (GH-104335) (#104338)
gh-104328: Fix typo in ``typing.Generic`` multiple inheritance error message (GH-104335)
(cherry picked from commit 01c321ca34)

Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
2023-05-09 19:42:57 +00:00
Miss Islington (bot)
4ed59b1f33
[3.11] gh-99889: Fix directory traversal security flaw in uu.decode() (GH-104096) (#104329)
gh-99889: Fix directory traversal security flaw in uu.decode() (GH-104096)

* Fix directory traversal security flaw in uu.decode()
* also check absolute paths and os.altsep
* Add a regression test.

---------

(cherry picked from commit 0aeda29793)


 [Google]

Co-authored-by: Sam Carroll <70000253+samcarroll42@users.noreply.github.com>
2023-05-09 09:46:25 -07:00
Miss Islington (bot)
97e1e43af1
[3.11] [doc] logging.rst - Change link to point directly to the Google Group. (GH-93390) (GH-104318)
(cherry picked from commit e6e81602f4)
2023-05-09 15:31:00 +01:00
Shantanu
15624b445e
[3.11] gh-102500: collections.abc.Buffer doesn't exist in 3.11 (#104317) 2023-05-09 10:27:15 +01:00
Miss Islington (bot)
b7622e7a05
[3.11] GH-104308: socket.getnameinfo should release the GIL (GH-104307) (#104313)
GH-104308: socket.getnameinfo should release the GIL (GH-104307)

* socket.getnameinfo should release the GIL

* 📜🤖 Added by blurb_it.

---------

(cherry picked from commit faf196213e)

Co-authored-by: Nathaniel J. Smith <njs@pobox.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2023-05-08 23:49:45 +00:00
Miss Islington (bot)
2ee250383f
[3.11] GH-104284: Fix documentation gettext build (GH-104296) (#104299)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-05-08 13:17:42 -06:00
Miss Islington (bot)
8a6ff59e09
[3.11] GH-104145: Use fully-qualified cross reference types for the bisect module (GH-104172) (#104295)
GH-104145: Use fully-qualified cross reference types for the bisect module (GH-104172)
(cherry picked from commit 76eef552f3)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-05-08 17:41:20 +01:00
Miss Islington (bot)
d54f6441ce
[3.11] gh-103193: Improve getattr_static test coverage (GH-104286) (#104290)
gh-103193: Improve `getattr_static` test coverage (GH-104286)
(cherry picked from commit 921185ed05)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-05-08 14:44:10 +00:00
Alex Waygood
499b79d0b9
[3.11] gh-102500: Remove mention of bytes shorthand (#104281) (#104288)
gh-102500: Remove mention of bytes shorthand (#104281)

The bytes shorthand was removed in PEP 688:
https://peps.python.org/pep-0688/#no-special-meaning-for-bytes

The reference to collections.abc.ByteString is also removed, since that object is deprecated (#91896) and has different semantics (#102092)

Although PEP 688 is new in Python 3.12, type checkers are expected to implement the new semantics for type annotations even if users are using an older version of Python, so this docs PR is backported to Python 3.11.

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2023-05-08 15:23:10 +01:00
Miss Islington (bot)
065e2ae99a
[3.11] gh-104265 Disallow instantiation of _csv.Reader and _csv.Writer (GH-104266) (#104278)
gh-104265 Disallow instantiation of `_csv.Reader` and `_csv.Writer` (GH-104266)
(cherry picked from commit 06c2a4858b)

Co-authored-by: chgnrdv <52372310+chgnrdv@users.noreply.github.com>
2023-05-08 17:34:43 +05:30
Erlend E. Aasland
681d5028bd
[3.11] gh-100370: fix OverflowError in sqlite3.Connection.blobopen for 32-bit builds (#103902) (#104285) 2023-05-08 08:41:34 +00:00
Tian Gao
19abf691fe
[3.11] gh-103225: Fixed zero lineno issue for pdb (#103265) (#104262)
gh-103225: Fixed zero lineno issue for pdb (#103265)

Co-authored-by: Artem Mukhin <ortem00@gmail.com>
2023-05-07 12:21:57 +01:00
Lysandros Nikolaou
a09d3901a5
[3.11] gh-96670: Raise SyntaxError when parsing NULL bytes (GH-97594) (#104195) 2023-05-07 11:12:04 +01:00
Miss Islington (bot)
c5dafeaa6d
[3.11] Re-enable commented-out test in test_generators.py (GH-104130) (#104261)
Re-enable commented-out test in test_generators.py (GH-104130)
(cherry picked from commit 472938316a)

Co-authored-by: ymki4360 <132453923+ymki4360@users.noreply.github.com>
2023-05-07 05:11:00 +00:00
Miss Islington (bot)
15ffcf76e1
[3.11] gh-104018: remove unused format "z" handling in string formatfloat() (GH-104107) (#104260)
gh-104018: remove unused format "z" handling in string formatfloat() (GH-104107)

This is a cleanup overlooked in PR GH-104033.
(cherry picked from commit 69621d1b09)

Co-authored-by: John Belmonte <john@neggie.net>
2023-05-07 05:06:06 +00:00
Miss Islington (bot)
efcd4bcb87
[3.11] gh-104254: Document the optional keyword-only "context" argument to Task constructor (GH-104251) (#104258)
gh-104254: Document the optional keyword-only "context" argument to Task constructor (GH-104251)

(This was added in 3.11. It was already documented for `create_task()`, but not for `Task()`.)
(cherry picked from commit 4ee2068c34)

Co-authored-by: Itamar Ostricher <itamarost@gmail.com>
2023-05-07 09:52:23 +05:30
Miss Islington (bot)
8f23cadc4c
[3.11] gh-103886: Improve builtins.__doc__ (GH-104179) (#104257)
gh-103886: Improve `builtins.__doc__` (GH-104179)
(cherry picked from commit b35711d17a)

Co-authored-by: Tomas R <tomas.roun8@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-05-07 02:28:04 +00:00
Miss Islington (bot)
cf1c25fd6e
[3.11] gh-101640: Make argparse _print_message catch any write error (GH-101802) (#104250)
gh-101640: Make argparse _print_message catch any write error (GH-101802)

* In particular, don't exit when trying to print to stderr = None.
* Add tests

(cherry picked from commit 42f54d1f92)

Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2023-05-06 23:17:27 +00:00
Miss Islington (bot)
10ee19b737
[3.11] Rewrite the turtledemo makeGraphFrame method (GH-104224) (#104238)
Rewrite the turtledemo makeGraphFrame method (GH-104224)

Replace `self._canvas` and `self.scanvas`, both bound to `canvas`,
with `self.canvas, which is accessed in other methods.
Replace `_s_` with `screen` and `_s_._canvas` with `canvas`.
Add a comment explaining the unorthodox use of
function turtle.Screen and singleton class turtle._Screen.
(cherry picked from commit 96f95df48e)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2023-05-06 15:31:28 +00:00
Miss Islington (bot)
4b11af058e
[3.11] GH-97950: Use new-style index directive ('builtin') (GH-104164) (#104221)
GH-97950: Use new-style index directive ('builtin') (GH-104164)

* Uncomment builtin removal in pairindextypes

* Use new-style index directive ('builtin') - C API

* Use new-style index directive ('builtin') - Extending

* Use new-style index directive ('builtin') - Library

* Use new-style index directive ('builtin') - Reference

* Use new-style index directive ('builtin') - Tutorial
(cherry picked from commit f5088006ca)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-05-06 07:14:37 +03:00