Commit Graph

111979 Commits

Author SHA1 Message Date
Miss Islington (bot) f60bbf0a93
GH-74116: Allow multiple drain waiters for asyncio.StreamWriter (GH-94705)
(cherry picked from commit e5b2453e61)

Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2022-09-08 08:42:08 -07:00
Miss Islington (bot) 280130f035
gh-90467: StreamReaderProtocol - add strong reference to created task (GH-96323)
(cherry picked from commit e860e521ec)

Co-authored-by: Kirill <iam@python273.pw>
2022-09-08 08:39:20 -07:00
Miss Islington (bot) 19b94bc136
gh-96352: Set AttributeError context in _PyObject_GenericGetAttrWithDict (GH-96353)
(cherry picked from commit b9634ac776)

Co-authored-by: philg314 <110174000+philg314@users.noreply.github.com>
2022-09-08 04:46:53 -07:00
Miss Islington (bot) 3ae2be69cc
gh-96652: Fix faulthandler chained signal without sigaction() (GH-96666)
Fix the faulthandler implementation of faulthandler.register(signal,
chain=True) if the sigaction() function is not available: don't call
the previous signal handler if it's NULL.
(cherry picked from commit c580a81af9)

Co-authored-by: Victor Stinner <vstinner@python.org>
2022-09-08 03:43:24 -07:00
Miss Islington (bot) 6ee7a6b947
[3.10] gh-88287: Add BufferingFormatter documentation. (GH-96608) (GH-96674) 2022-09-08 08:33:16 +01:00
Miss Islington (bot) e56116172e
gh-96577: Fixes buffer overrun in _msi module (GH-96633)
(cherry picked from commit 4114bcc9ef)

Co-authored-by: Steve Dower <steve.dower@python.org>
2022-09-07 12:46:15 -07:00
Irit Katriel 5caff8ec38
[doc] Update example in traceback doc (GH-96600) (GH-96605)
This Monty Python reference is of-its-time. It could seem inappropriate in the context of today's sensibilities around mental health.

Automerge-Triggered-By: GH:iritkatriel
(cherry picked from commit c4999f261f)
2022-09-07 12:56:25 +01:00
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