Commit graph

115647 commits

Author SHA1 Message Date
Pablo Galindo
ea77520094 Post 3.11.5 2023-08-24 20:31:59 +01:00
Pablo Galindo
cce6ba91b3 Python 3.11.5 2023-08-24 13:09:18 +01:00
Miss Islington (bot)
42f9d6faa2
[3.11] gh-107432 Update Porting Python 2 Code to Python 3 how-to (GH-107434) (#108410)
https://docs.python.org/3/howto/pyporting.html was written for another time. In this patch:

- material that frames Python 3 as "new" is removed
- descriptions and directions have been trimmed
(cherry picked from commit 809ea7c4b6)

Co-authored-by: Daniele Procida <daniele@vurt.org>
2023-08-24 13:26:56 +02:00
Łukasz Langa
c3d129f07e
[3.11] Revert "gh-46376: Return existing pointer when possible in ctypes (GH-107131) (GH-107488)" (#108412)
This reverts commit 57f27e4441.

The fix caused gh-107940. Until we have a bulletproof fix for that, the 3.11 backport needs to be reverted to make way for 3.11.5.
2023-08-24 13:26:19 +02:00
Łukasz Langa
d90f2f3a62
[3.11] gh-108342: Make ssl TestPreHandshakeClose more reliable (GH-108370) (#108405)
* In preauth tests of test_ssl, explicitly break reference cycles
  invoving SingleConnectionTestServerThread to make sure that the
  thread is deleted. Otherwise, the test marks the environment as
  altered because the threading module sees a "dangling thread"
  (SingleConnectionTestServerThread). This test leak was introduced
  by the test added for the fix of issue gh-108310.
* Use support.SHORT_TIMEOUT instead of hardcoded 1.0 or 2.0 seconds
  timeout.
* SingleConnectionTestServerThread.run() catchs TimeoutError
* Fix a race condition (missing synchronization) in
  test_preauth_data_to_tls_client(): the server now waits until the
  client connect() completed in call_after_accept().
* test_https_client_non_tls_response_ignored() calls server.join()
  explicitly.
* Replace "localhost" with server.listener.getsockname()[0].
(cherry picked from commit 592bacb6fc)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-24 12:08:52 +02:00
Miss Islington (bot)
869dc14a2e
[3.11] gh-70766: Mention the object getstate caveat in 3.11 What's new. (GH-108379) (#108385)
gh-70766: Mention the object getstate caveat in 3.11 What's new. (GH-108379)
(cherry picked from commit b6be18812c)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-08-23 22:10:27 +00:00
Miss Islington (bot)
34ef75d3ef
[3.11] gh-77377: Ensure multiprocessing SemLock is valid for spawn-based Process before serializing it (GH-107275) (#108378)
gh-77377: Ensure multiprocessing SemLock is valid for spawn-based Process before serializing it (GH-107275)

Ensure multiprocessing SemLock is valid for spawn Process before serializing it.

Creating a multiprocessing SemLock with a fork context, and then trying to pass it to a spawn-created Process, would segfault if not detected early.

---------

(cherry picked from commit 1700d34d31)

Co-authored-by: albanD <desmaison.alban@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
2023-08-23 21:11:20 +00:00
Miss Islington (bot)
93714b7db7
[3.11] gh-108342: Break ref cycle in SSLSocket._create() exc (GH-108344) (#108349)
Explicitly break a reference cycle when SSLSocket._create() raises an
exception. Clear the variable storing the exception, since the
exception traceback contains the variables and so creates a reference
cycle.

This test leak was introduced by the test added for the fix of GH-108310.
(cherry picked from commit 64f9935035)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-23 12:10:04 +02:00
Miss Islington (bot)
07c727e92a
[3.11] gh-107136: Remove Plausible for docs metrics (GH-107856) (#108335)
(cherry picked from commit fc23f34cc9)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-08-23 11:01:30 +02:00
Miss Islington (bot)
1ecbe787dd
[3.11] gh-108267: Dataclasses docs: Fix object.__setattr__ typo (GH-108355) (#108357)
gh-108267: Dataclasses docs: Fix object.__setattr__ typo (GH-108355)

Fixed a sentence in dataclasses.rst

Changed "__setattr__" to "object.__setattr__" in a section that was specifically supposed to refer to the __setattr__ method of the object class. Also suppressed the link to the data model docs for __setattr__, since we're talking about a specific __setattr__ implementation, not __setattr__ methods in general.
(cherry picked from commit 79fdacc005)

Co-authored-by: FrozenBob <30644137+FrozenBob@users.noreply.github.com>
2023-08-23 07:20:57 +00:00
Victor Stinner
1aff195903
[3.11] gh-105776: Fix test_cppext when CC contains -std=c11 option (#108343) (#108347)
gh-105776: Fix test_cppext when CC contains -std=c11 option (#108343)

Fix test_cppext when the C compiler command has the "-std=c11" option.
Remove "-std=" options from the compiler command.

(cherry picked from commit 9173b2bbe1)
2023-08-23 03:47:41 +00:00
Victor Stinner
a15396146f
[3.11] gh-108303: Add Lib/test/test_cppext/ sub-directory (#108325) (#108336)
gh-108303: Add Lib/test/test_cppext/ sub-directory (#108325)

* Move test_cppext to its own directory
* Rename setup_testcppext.py to setup.py
* Rename _testcppext.cpp to extension.cpp
* The source (extension.cpp) is now also copied by the test.

(cherry picked from commit 21dda09600)
2023-08-23 05:11:53 +02:00
Miss Islington (bot)
12cad6155b
[3.11] Docs: Add link to skip to datetime's format codes (GH-108027) (#108330)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-08-22 13:52:51 -06:00
Miss Islington (bot)
fadf8a032b
[3.11] Clarify how topics.py gets created. (GH-106121) (GH-106580)
When changing docs, it was easy to find text in topics.py, and I
wondered whether I was supposed to edit it.  Thankfully, the top of the
file says it's auto-generated, so I knew I didn't have to edit it. But I
didn't know what started the auto-generation process.

It's part of the release process, so I'll leave a note here for future
editors.
(cherry picked from commit dac1e36490)

Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
2023-08-22 19:23:55 +00:00
Miss Islington (bot)
9d7f2705b5
[3.11] gh-107700: [Enum] Document that EnumType was added in 3.11 (GH-108260) (#108300)
(cherry picked from commit e8ef0bdd8c)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-08-22 20:33:26 +02:00
Serhiy Storchaka
3ca9264aba
[3.11] gh-107298: Fix numerous ref errors and typos in the C API docs (GH-108258) (#108290)
(cherry picked from commit d7202e4879)
2023-08-22 20:33:07 +02:00
Miss Islington (bot)
80c7ae00f1
[3.11] gh-107298: Fix C API datetime documentation (GH-108034) (#108233)
(cherry picked from commit d63972e289)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-22 20:32:48 +02:00
Miss Islington (bot)
3a39e15179
[3.11] Resolve reference warnings in faq/gui.rst (GH-108147) (#108194)
(cherry picked from commit 8f3d09bf5d)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-08-22 20:32:16 +02:00
Łukasz Langa
75a875e0df
[3.11] gh-108310: Fix CVE-2023-40217: Check for & avoid the ssl pre-close flaw (#108317)
gh-108310: Fix CVE-2023-40217: Check for & avoid the ssl pre-close flaw

Instances of `ssl.SSLSocket` were vulnerable to a bypass of the TLS handshake
and included protections (like certificate verification) and treating sent
unencrypted data as if it were post-handshake TLS encrypted data.

The vulnerability is caused when a socket is connected, data is sent by the
malicious peer and stored in a buffer, and then the malicious peer closes the
socket within a small timing window before the other peers’ TLS handshake can
begin. After this sequence of events the closed socket will not immediately
attempt a TLS handshake due to not being connected but will also allow the
buffered data to be read as if a successful TLS handshake had occurred.

Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
2023-08-22 19:53:19 +02:00
Miss Islington (bot)
5be32d8818
[3.11] gh-106016: Add Lib/test/test_module/ directory (GH-108293) (#108304)
gh-106016: Add Lib/test/test_module/ directory (GH-108293)

* Move Python scripts related to test_module to this new directory:
  good_getattr.py and bad_getattrX.py scripts.
* Move Lib/test/test_module.py to Lib/test/test_module/__init__.py.
(cherry picked from commit adfc118fda)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-22 15:42:00 +00:00
Miss Islington (bot)
8927cf0200
[3.11] gh-106242: Make ntpath.realpath errors consistent with abspath when there are embedded nulls (GH-108248)
gh-106242: Make ntpath.realpath errors consistent with abspath when there are embedded nulls (GH-108248)

---------

(cherry picked from commit de33b5c662)

Co-authored-by: Steve Dower <steve.dower@python.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-08-22 15:35:16 +01:00
Miss Islington (bot)
d22ac0c605
[3.11] Docs: align the param spec of sqlite3.Connection methods with the implementation (GH-108285) (#108288)
- no parameters of create_aggregate() are positional-only
- all parameters of create_collation() are positional-only
(cherry picked from commit 893215a4e7)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-08-22 13:28:38 +00:00
Hugo van Kemenade
9d00379e2c
[3.11] Docs: move sphinx-lint to pre-commit (GH-105750) (#108276) 2023-08-22 15:18:39 +03:00
Hugo van Kemenade
d678ee7719
[3.11] Trim trailing whitespace and test on CI (GH-104275) (#108215) 2023-08-22 12:57:31 +03:00
Miss Islington (bot)
8e837373ed
[3.11] gh-107845: Fix symlink handling for tarfile.data_filter (GH-107846) (GH-108209)
gh-107845: Fix symlink handling for tarfile.data_filter (GH-107846)

(cherry picked from commit acbd3f9c5c)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Lumír 'Frenzy' Balhar <frenzy.madness@gmail.com>
2023-08-22 10:51:58 +02:00
Miss Islington (bot)
dd0a1f9da2
[3.11] gh-102507 Remove invisible pagebreak characters (GH-102531) (#108266)
gh-102507 Remove invisible pagebreak characters (GH-102531)
(cherry picked from commit b097925858)

Co-authored-by: JosephSBoyle <48555120+JosephSBoyle@users.noreply.github.com>
Co-authored-by: AlexWaygood <alex.waygood@gmail.com>
2023-08-22 08:49:35 +00:00
Erlend E. Aasland
cc42182c97
[3.11] gh-107801: Improve the accuracy of io.TextIOWrapper.seek docs (#107933) (#108264)
(cherry picked from commit 7f87ebbc3f)

Clearly document the supported seek() operations:

- Rewind to the start of the stream
- Restore a previous stream position (given by tell())
- Fast-forward to the end of the stream
2023-08-22 08:19:56 +00:00
Miss Islington (bot)
4d4871e715
[3.11] gh-108224: Fix asyncio doc inconsistency (GH-108230) (#108232)
(Spawning subprocesses does not require the event loop to run in the main thread -- only signal handling does.)

(cherry picked from commit 1cc391d9e2)

Co-authored-by: temach <tematibr@gmail.com>
2023-08-21 14:21:26 -07:00
Miss Islington (bot)
145d9252b7
[3.11] gh-107298: Fix references to deprecated and removed PyUnicode C API (GH-108077) (GH-108226)
(cherry picked from commit db55383829)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-21 20:35:36 +03:00
Miss Islington (bot)
75617ac3f0
[3.11] gh-107396: tarfiles: set self.exception before _init_read_gz() (GH-107485) (GH-108208)
gh-107396: tarfiles: set self.exception before _init_read_gz() (GH-107485)

In the stack call of: _init_read_gz()
```
_read, tarfile.py:548
read, tarfile.py:526
_init_read_gz, tarfile.py:491
```
a try;except exists that uses `self.exception`, so it needs to be set before
calling _init_read_gz().
(cherry picked from commit 37135d25e2)

Co-authored-by: balmeida-nokia <83089745+balmeida-nokia@users.noreply.github.com>
2023-08-21 17:16:59 +02:00
Miss Islington (bot)
ed67e60f48
[3.11] gh-107916: Save the error code before decoding the filename in PyErr_SetFromErrnoWithFilename() etc (GH-107929) (GH-108206)
(cherry picked from commit 80bdebdd85)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-21 11:53:05 +00:00
Serhiy Storchaka
be99653080
[3.11] Improve references in the tutorial (GH-108069) (GH-108204)
* Use full qualified names for references (even if they do not work now,
  they will work in future).
* Silence references to examples.
(cherry picked from commit 622ddc4167)
2023-08-21 10:53:36 +00:00
Miss Islington (bot)
a372274a9b
[3.11] Docs: document 'manager' and '_log' attrs of logging.Logging (GH-108145) (GH-108189)
(cherry picked from commit f904aa4e1f)
Authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-08-21 11:44:25 +01:00
Miss Islington (bot)
a1d2e2c2ac
[3.11] gh-105736: Sync pure python version of OrderedDict with the C version (GH-108098) (GH-108201)
(cherry picked from commit 20cc90c0df)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2023-08-21 10:37:09 +00:00
Miss Islington (bot)
d4c66bd732
[3.11] gh-107895: Fix test_asyncio.test_runners when run it in CPython's "development mode" (GH-108168) (GH-108197)
(cherry picked from commit 014a5b71e7)

Co-authored-by: Joon Hwan 김준환 <xncbf12@gmail.com>
2023-08-21 08:36:37 +00:00
Miss Islington (bot)
4be05aab33
[3.11] Resolve reference warnings in faq/library.rst (GH-108149) (#108183)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-08-20 13:26:01 -06:00
Adam Turner
ff82da17b6
[3.11] Resolve reference warnings in faq/design.rst (GH-108148) (#108181) 2023-08-20 18:56:14 +00:00
Erlend E. Aasland
e5e87f2306
[3.11] Docs: Fix Sphinx warnings in logging.rst (GH-108139) (#108175)
(cherry picked from commit c735e79afb)

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-08-20 16:40:57 +00:00
Erlend E. Aasland
797e3c9e4e
[3.11] Docs: Fix Sphinx warnings in license.rst (#108142) (#108176)
(cherry picked by commit 4d4393139f)

- Fix links to stdlib modules
- Silence links to external functions
2023-08-20 16:27:44 +00:00
Miss Islington (bot)
bc055a21cc
[3.11] Resolve reference warnings in faq/programming.rst (GH-108150) (#108171)
Resolve reference warnings in faq/programming.rst (GH-108150)
(cherry picked from commit a390ec20f5)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-20 14:01:24 +00:00
Miss Islington (bot)
5af34d2a4e
[3.11] Docs: Fix Sphinx warnings in sys.rst (GH-108106) (#108166)
Docs: Fix Sphinx warnings in sys.rst (GH-108106)

- Mark up named tuple attributes as attributes
- Remove links for external functions
- io.BufferedIOBase has no 'buffer' attribute;
  remove the link and mark up using :attr:`!buffer`
- (Re)format some tables as bullet lists:
  - sys._emscripten_info
  - sys.hash_info
  - sys.int_info
  - sys.thread_info
- In the paragraphs mentioning 'f_trace_lines' and 'f_trace_opcodes',
  add links to the frame objects reference.

(cherry picked from commit 29fa7afef9)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-20 19:22:44 +05:30
Miss Islington (bot)
ba6370656f
[3.11] gh-107659: Improve wording of the description of ctypes.pointer and ctypes.POINTER (GH-107769) (#108164)
gh-107659: Improve wording of the description of `ctypes.pointer` and `ctypes.POINTER` (GH-107769)
(cherry picked from commit beffb30dc7)

Co-authored-by: Tomas R <tomas.roun8@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2023-08-20 11:05:24 +00:00
Miss Islington (bot)
4c042a36ce
[3.11] gh-107619: Extend functools LRU cache docs with generators and async functions (GH-107934) (#108162)
gh-107619: Extend functools LRU cache docs with generators and async functions (GH-107934)
(cherry picked from commit 1a713eac47)

Co-authored-by: Hadházy Tamás <85063808+Hels15@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2023-08-20 10:39:43 +00:00
Miss Islington (bot)
5d366f28ae
[3.11] gh-107980: fix doc role for asyncio.timeouts (GH-108126) (#108153)
gh-107980: fix doc role for asyncio.timeouts (GH-108126)
(cherry picked from commit a47c13cae5)

Co-authored-by: Tin Tvrtković <tinchester@gmail.com>
2023-08-20 11:12:15 +01:00
Miss Islington (bot)
cdb5e9f76f
[3.11] Fix misspellings in sysconfig docs (GH-108156) (#108158)
Fix misspellings in sysconfig docs (GH-108156)
(cherry picked from commit 1dc0c58d2b)

Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
2023-08-20 08:20:57 +00:00
Miss Islington (bot)
f8b14fea33
[3.11] gh-107565: Update macOS installer to use OpenSSL 3.0.10. (GH-107897) (#108122) 2023-08-19 19:02:12 -04:00
Miss Islington (bot)
49abeb5eb4
[3.11] Docs: Remove links to external C functions and macros in os.rst (GH-108138) (#108144)
(cherry picked from commit c31c61c04e)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-19 17:11:29 +00:00
Erlend E. Aasland
e0ca3424ad
[3.11] gh-107801: Improve the accuracy of os.lseek docs (#107935) (#108137)
- name the last parameter *whence*, like it is for seek() methods on
  file objects
- add param docstrings
- structure the valid *whence* params

(cherry picked from commit dd4442c8f5)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-19 13:06:36 +00:00
Serhiy Storchaka
92a578409b
[3.11] gh-107915: Handle errors in C API functions PyErr_Set*() and PyErr_Format() (GH-107918) (GH-108135)
Such C API functions as PyErr_SetString(), PyErr_Format(),
PyErr_SetFromErrnoWithFilename() and many others no longer crash or
ignore errors if it failed to format the error message or decode the
filename. Instead, they keep a corresponding error.
(cherry picked from commit 633ea217a8)
2023-08-19 12:22:13 +00:00
Miss Islington (bot)
0673d4c762
[3.11] Docs: format sys.float_info properly (GH-108107) (#108131)
Docs: format sys.float_info properly (GH-108107)

- Normalise capitalisation and punctuation
- Use attribute markup for named tuple attributes
- Use :c:macro: markup for C macros
- Use a list for the 'rounds' attribute values
- Use list-table, for better .rst readability
- Remove one unneeded sys.float_info.dig link

(cherry picked from commit ca0c6c1f1e)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-19 10:13:09 +01:00