Commit graph

111772 commits

Author SHA1 Message Date
Miss Islington (bot)
eecbb54b62
gh-96641: Do not expose KeyWrapper in _functoolsmodule.c (gh-96642)
(cherry picked from commit 2fd7246e97)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2022-09-07 04:50:15 -07:00
Miss Islington (bot)
b6af933716
gh-96611: Fix error message for invalid UTF-8 in mid-multiline string (GH-96623)
(cherry picked from commit 05692c67c5)

Co-authored-by: Michael Droettboom <mdboom@gmail.com>
2022-09-06 16:36:03 -07:00
Pablo Galindo
6ac0f8f0d7
Merge remote-tracking branch 'upstream/3.10' into 3.10 2022-09-06 10:18:57 +01:00
Pablo Galindo
0abc6a3493
Post 3.10.7 2022-09-06 10:18:34 +01:00
Miss Islington (bot)
75c3a4ccaf
Add upstream openssl 1.1.1q patch for trivial build error on macOS (GH-96594)
(cherry picked from commit 991b3712a1)

Co-authored-by: Ned Deily <nad@python.org>
2022-09-05 11:56:21 -07:00
Miss Islington (bot)
6cc31af657
gh-92986: Fix ast.unparse when ImportFrom.level is None (GH-92992)
This doesn't happen naturally, but is allowed by the ASDL and compiler.
We don't want to change ASDL for backward compatibility reasons
(GH-57645, GH-92987)
(cherry picked from commit 200c9a8da0)

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2022-09-05 10:39:52 -07:00
Pablo Galindo
6cc6b13308
Python 3.10.7 2022-09-05 14:00:02 +01:00
Vinay Sajip
e13f49a0bc
[3.10] gh-84095: Fill documentation gap regarding user-defined objects. (GH-… (GH-96576) 2022-09-05 08:21:22 +01:00
Miss Islington (bot)
f5a784729c
Docs: alphabetically order sqlite3.Cursor attrs (GH-96565)
(cherry picked from commit 9e55685782)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-09-04 14:41:13 -07:00
Gregory P. Smith
eace09e63e
[3.10] gh-95778: Correctly pre-check for int-to-str conversion (GH-96537) (#96563)
Converting a large enough `int` to a decimal string raises `ValueError` as expected. However, the raise comes _after_ the quadratic-time base-conversion algorithm has run to completion. For effective DOS prevention, we need some kind of check before entering the quadratic-time loop. Oops! =)

The quick fix: essentially we catch _most_ values that exceed the threshold up front. Those that slip through will still be on the small side (read: sufficiently fast), and will get caught by the existing check so that the limit remains exact.

The justification for the current check. The C code check is:
```c
max_str_digits / (3 * PyLong_SHIFT) <= (size_a - 11) / 10
```

In GitHub markdown math-speak, writing $M$ for `max_str_digits`, $L$ for `PyLong_SHIFT` and $s$ for `size_a`, that check is:
$$\left\lfloor\frac{M}{3L}\right\rfloor \le \left\lfloor\frac{s - 11}{10}\right\rfloor$$

From this it follows that
$$\frac{M}{3L} < \frac{s-1}{10}$$
hence that
$$\frac{L(s-1)}{M} > \frac{10}{3} > \log_2(10).$$
So
$$2^{L(s-1)} > 10^M.$$
But our input integer $a$ satisfies $|a| \ge 2^{L(s-1)}$, so $|a|$ is larger than $10^M$. This shows that we don't accidentally capture anything _below_ the intended limit in the check.

<!-- gh-issue-number: gh-95778 -->
* Issue: gh-95778
<!-- /gh-issue-number -->

Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
(cherry picked from commit b126196838)

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
2022-09-04 09:54:56 -07:00
Miss Islington (bot)
4dea99f18e
gh-68163: Correct conversion of Rational instances to float (GH-25619) (GH-96557)
* gh-68163: Correct conversion of Rational instances to float

Also document that numerator/denominator properties are instances of Integral.

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
(cherry picked from commit 8464b754c4)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
2022-09-04 13:40:24 +01:00
Miss Islington (bot)
3a56a938f3
gh-95778: remove unneeded doc note on float.as_integer_ratio (GH-96553)
Per mdickinson@'s comment on the main branch PR.
(cherry picked from commit 69bb83c2bf)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2022-09-04 00:12:34 -07:00
Miss Islington (bot)
76d7105124
doc typo: spell limitation (GH-96542)
(cherry picked from commit af6359dd5c)

Co-authored-by: Mehrdad Moradizadeh <mhrddmoradii@gmail.com>
2022-09-03 23:30:11 -07:00
Vinay Sajip
c3dbbc88da
[3.10] gh-90195: Unset logger disabled flag when configuring it. (GH-96530) (GH-96533) 2022-09-03 15:10:04 +01:00
Miss Islington (bot)
7b163f88b6
[3.10] gh-89087: Update logging.QueueHandler documentation to clarify record… (GH-96527) (GH-96529) 2022-09-03 13:17:07 +01:00
Miss Islington (bot)
9fe9b9c457
gh-75500: Update idlelib/help.html (GH-96523)
(cherry picked from commit 837ce6460d)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2022-09-03 00:59:15 -07:00
Miss Islington (bot)
cb39a44e00
bpo-30419: DOC: Update missing information in bdb docs (GH-1687)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Martin Panter <vadmium@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit ccce9b77e1)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2022-09-02 10:49:23 -07:00
Gregory P. Smith
8f0fa4bd10
[3.10] gh-95778: CVE-2020-10735: Prevent DoS by very large int() (#96501)
Integer to and from text conversions via CPython's bignum `int` type is not safe against denial of service attacks due to malicious input. Very large input strings with hundred thousands of digits can consume several CPU seconds.

This PR comes fresh from a pile of work done in our private PSRT security response team repo.

This backports https://github.com/python/cpython/pull/96499 aka 511ca94520

Signed-off-by: Christian Heimes [Red Hat] <christian@python.org>
Tons-of-polishing-up-by: Gregory P. Smith [Google] <greg@krypto.org>
Reviews via the private PSRT repo via many others (see the NEWS entry in the PR).

<!-- gh-issue-number: gh-95778 -->
* Issue: gh-95778
<!-- /gh-issue-number -->

I wrote up [a one pager for the release managers](https://docs.google.com/document/d/1KjuF_aXlzPUxTK4BMgezGJ2Pn7uevfX7g0_mvgHlL7Y/edit#).
2022-09-02 09:51:49 -07:00
Miss Islington (bot)
bbcb03e7b0
gh-96168: Improve sqlite3 dict_factory example (GH-96457)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
(cherry picked from commit 91f40f3f78)

Co-authored-by: Erlend E. Aasland <erlend.aasland@innova.no>
2022-09-01 14:55:41 -07:00
Erlend E. Aasland
2ecc195498
[3.10] gh-96414: Inline code examples in sqlite3 docs (GH-96442). (#96453)
* [3.10] gh-96414: Inline code examples in sqlite3 docs (GH-96442).
(cherry picked from commit f7e7bf161a)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-08-31 10:10:55 +02:00
Miss Islington (bot)
a0d0a77c1f
Docs: normalise sqlite3 placeholder how-to heading (GH-96413)
(cherry picked from commit 7b01ce7953)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-08-30 13:56:02 -07:00
Miss Islington (bot)
9389e2f08c
Docs: Improve clarity for bytes.hex() (GH-95257)
(cherry picked from commit 860fa35145)

Co-authored-by: Tim Burke <tim.burke@gmail.com>
2022-08-30 04:16:34 -07:00
Marti Raudsepp
0a096e01c6
[3.10] Clean up junk & fix typo in 3.10.6 release notes (#95997) 2022-08-30 11:58:21 +01:00
Miss Islington (bot)
57f447267c
[3.10] gh-91305: Add a note about DatagramHandler and DNS latency. (GH-96380) (GH-96400) 2022-08-30 09:58:14 +01:00
Miss Islington (bot)
e89f8b0ae4
Doc: Update Py_TPFLAGS_HAVE_FINALIZE in docs (GH-96273)
It is now deprecated and the docs should reflect that.
(cherry picked from commit 9625de6fab)

Co-authored-by: da-woods <dw-git@d-woods.co.uk>
2022-08-30 01:38:53 -07:00
Erlend E. Aasland
af9fbec27e
[3.10] Docs: normalize SQL style in sqlite3 docs (GH-96403). (#96409)
(cherry picked from commit 6d403e264a)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-08-30 10:35:21 +02:00
Miss Islington (bot)
069fefdaf4
gh-95231: Disable md5 & crypt modules if FIPS is enabled (GH-94742)
If kernel fips is enabled, we get permission error upon doing
`import crypt`. So, if kernel fips is enabled, disable the
unallowed hashing methods.

Python 3.9.1 (default, May 10 2022, 11:36:26)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.9/crypt.py", line 117, in <module>
    _add_method('MD5', '1', 8, 34)
  File "/usr/lib/python3.9/crypt.py", line 94, in _add_method
    result = crypt('', salt)
  File "/usr/lib/python3.9/crypt.py", line 82, in crypt
    return _crypt.crypt(word, salt)
PermissionError: [Errno 1] Operation not permitted

Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
(cherry picked from commit 2fa03b1b07)

Co-authored-by: Shreenidhi Shedi <53473811+sshedi@users.noreply.github.com>
2022-08-30 00:59:56 -07:00
Christian Heimes
32a45011e7
[3.10] gh-94682: Build and test with OpenSSL 1.1.1q (gh-94683) (gh-96391)
Co-authored-by: Christian Heimes <christian@python.org>
2022-08-29 20:02:00 +02:00
Erlend E. Aasland
928a692320
[3.10] gh-95432: Add doctests for the sqlite3 docs (GH-96225) (#96379)
As a consequence of the added test, this commit also includes
fixes for broken examples.

- Add separate namespace for trace tests bco. module level callback
- Move more backup and cursor examples under separate namespaces.
(cherry picked from commit bf9259776d)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-08-29 12:29:46 +02:00
Miss Islington (bot)
b6fb779489
GH-96359: Fix docs that claim int(0|1) doesn't match False (GH-96361)
(cherry picked from commit 3d3a86ed40)

Co-authored-by: Jonathan Oberländer <github@l3vi.de>
2022-08-29 00:14:33 -07:00
Dong-hee Na
f6f8acb6d1
[3.10] gh-96191: Update the configure file to use GitHub issue (gh-96211) (gh-96376) 2022-08-29 15:50:36 +09:00
Miss Islington (bot)
60f704f125
gh-95950: Add a test for both csv.Dialect and kwargs (GH-95951)
(cherry picked from commit 1c01bd28a0)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2022-08-28 18:11:02 -07:00
Ezio Melotti
f51c232ec8
[3.10] gh-95994: Clarify escaped newlines. (GH-96066) (#96360)
* gh-95994: clarify escaped newlines.

* Rephrase ambiguous sentence.

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>

* Use `<newline>` in escape sequences table.

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>.
(cherry picked from commit c3d591fd06)

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2022-08-28 15:17:01 +02:00
Miss Islington (bot)
9b070d361d
gh-96021: Explicitly tear down the IsolatedAsyncioTestCase loop in tests (GH-96135) (GH-96235)
Tests for IsolatedAsyncioTestCase.debug() rely on the runner be closed
in __del__. It makes tests depending on the GC an unreliable on other
implementations. It is better to tear down the loop explicitly even if
currently there is no a public API for this.
(cherry picked from commit 4de06e3cc0)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-08-28 08:35:39 +03:00
Miss Islington (bot)
c0a9859afb
[3.10] gh-89047: Fix msecs computation so you never end up with 1000 msecs. (GH-96340) (GH-96342) 2022-08-27 15:10:17 +01:00
Miss Islington (bot)
a2cf98449c
[3.10] gh-92007: Handle elevation errors in NTEventLogHandler more grace… (GH-96322) (GH-96338) 2022-08-27 12:37:55 +01:00
Miss Islington (bot)
91b6ca4e76
[3.10] gh-77116: Add SMTP buffering example to logging cookbook. (GH-96324) (GH-96325) 2022-08-27 12:15:23 +01:00
Miss Islington (bot)
5d82cefdc4
fixes gh-96292: Fix Trivial Typo in cpython/Modules/atexitmodule.c (GH-96327)
(cherry picked from commit 0ace820bec)

Co-authored-by: Ansab Gillani <56605828+ansabgillani@users.noreply.github.com>
2022-08-26 22:53:47 -07:00
Miss Islington (bot)
c216af8e8e
fix threading.Event.isSet() docstring (GH-96297)
fixes gh-96296
(cherry picked from commit e534440510)

Co-authored-by: Daniel Giger <danielg3432@gmail.com>
2022-08-26 22:30:41 -07:00
Miss Islington (bot)
b69ba3d723
gh-96197: Define the behavior of repr if sys.displayhook is lost (gh-96242)
(cherry picked from commit 0319cd6825)

Co-authored-by: Dong-hee Na <donghee.na@python.org>
2022-08-25 19:13:04 -07:00
Miss Islington (bot)
5f4588feec
gh-96197: Fix expression when :func:`sys.breakpointhook is missing (gh-96293)
(cherry picked from commit 47d406ffc4)

Co-authored-by: Dong-hee Na <donghee.na@python.org>
2022-08-25 19:03:16 -07:00
Steve Dower
fa118f0cd3
bpo-46744: Support "-Win32" and make platform flags case insensitive in Windows build scripts. (GH-31803)
Co-authored-by: conioh <10606081+conioh@users.noreply.github.com>
2022-08-25 21:16:15 +01:00
Miss Islington (bot)
2f88289cf5
Clarify API stability of PyTypeObject in relation to static types. (GH-96217)
Fixes:
https://github.com/python/cpython/issues/95300

Related:
https://github.com/python/cpython/issues/91271
(cherry picked from commit caa2a9799a)

Co-authored-by: ov2k <ov2k.github@gmail.com>
2022-08-25 06:42:32 -07:00
Miss Islington (bot)
147b8312ea
[3.10] gh-91070: Add note about SysLogHandler on macOS 12.x (Monterey). (GH-94803) (GH-96261) 2022-08-25 08:37:42 +01:00
Miss Islington (bot)
979a3b8cd3
gh-95243: Mitigate the race condition in testSockName (GH-96173)
find_unused_port() has an inherent race condition, but we can't use
bind_port() as that uses .getsockname() which this test is exercising.

Try binding to unused ports a few times before failing.

Signed-off-by: Ross Burton <ross.burton@arm.com>
(cherry picked from commit df11012697)

Co-authored-by: Ross Burton <ross.burton@arm.com>
2022-08-24 19:01:50 -07:00
Miss Islington (bot)
41e8257449
GH-96179: Fix misleading example on the bisect documentation (GH-96228)
The `movies[bisect(movies, 1960, key=by_year)]` will actually return only movies **after** 1960.
(cherry picked from commit 4317b25a23)

Co-authored-by: prego <pedropregueiro@gmail.com>
2022-08-24 08:55:45 -07:00
Miss Islington (bot)
83ff85bc59
gh-96197: Define the behavior of breakpoint if sys.breakpointhook is lost (gh-96231)
(cherry picked from commit 09563a764e)

Co-authored-by: Dong-hee Na <donghee.na@python.org>
2022-08-24 07:20:38 -07:00
Erlend E. Aasland
203b598e51
[3.10] gh-94635: Frame sqlite3 how-to headings as such & move default adapters to reference (GH-96136) (#96227)
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>.
(cherry picked from commit 6bda5b85b5)

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2022-08-24 09:52:16 +02:00
Kumar Aditya
e3c4a5b8ed
[3.10] GH-96071: add regression test for GH-96071 (GH-96137) (#96205)
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2022-08-23 23:28:54 +01:00
Miss Islington (bot)
e783a23702
gh-96175: add missing self._localName assignment in xml.dom.minidom.Attr (GH-96176)
X-Ref: https://github.com/python/typeshed/pull/8590GH-discussion_r951473977

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit 58f6953d6d)

Co-authored-by: Kevin Kirsche <Kev.Kirsche+GitHub@gmail.com>
2022-08-23 09:42:10 -07:00