Commit graph

114510 commits

Author SHA1 Message Date
Ned Deily
991b3712a1
Add upstream openssl 1.1.1q patch for trivial build error on macOS (GH-96594) 2022-09-05 14:37:24 -04:00
Shantanu
200c9a8da0
gh-92986: Fix ast.unparse when ImportFrom.level is None (#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
(#57645, #92987)
2022-09-05 20:14:50 +03:00
Nikita Sobolev
2c7d2e8d46
gh-96587: Raise SyntaxError for PEP654 on older feature_version (#96588) 2022-09-05 17:54:09 +01:00
Vinay Sajip
a9d58feccf
gh-84095: Fill documentation gap regarding user-defined objects. (GH-96574) 2022-09-05 07:47:47 +01:00
Dennis Sweeney
9e35d05422
gh-96538: Move some type-checking out of bisect.bisect() loops (GH-96539) 2022-09-05 01:02:29 -04:00
Pamela Fox
a0ad63e70e
gh-93973: Add all_errors to asyncio.create_connection (#93974)
Co-authored-by: Oleg Iarygin <dralife@yandex.ru>
2022-09-04 18:33:50 -07:00
Dennis Sweeney
ac18665472
ceval.c's GETITEM should have asserts, not set exceptions (GH-96518) 2022-09-04 19:00:24 -04:00
Erlend E. Aasland
9e55685782
Docs: alphabetically order sqlite3.Cursor attrs (#96565) 2022-09-04 23:34:45 +02:00
Mark Dickinson
b126196838
gh-95778: Correctly pre-check for int-to-str conversion (#96537)
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>
2022-09-04 09:21:18 -07:00
Ikko Ashimine
6adb89f50a
no-issue: Fix typo in 3.11.0a7.rst (gh-96547)
accross -> across
2022-09-04 22:17:26 +09:00
Sergey B Kirpichev
8464b754c4
gh-68163: Correct conversion of Rational instances to float (GH-25619)
* 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>
2022-09-04 13:15:59 +01:00
Charlie Zhao
9b9394df5f
gh-93884: Improve test coverage of PyNumber_ToBase (GH-93932)
Link to #93884 
* Test with some large negative and positive values(out of range of a longlong,i.e.[-2\*\*63, 2\*\*63-1])
* Test with objects of non-int type

Automerge-Triggered-By: GH:mdickinson
2022-09-04 03:37:04 -07:00
Gregory P. Smith
69bb83c2bf
gh-95778: remove unneeded doc note on float.as_integer_ratio (#96553)
Per mdickinson@'s comment on the main branch PR.
2022-09-04 00:04:36 -07:00
Mehrdad Moradizadeh
af6359dd5c
doc typo: spell limitation (#96542) 2022-09-03 23:23:32 -07:00
Vinay Sajip
ac4ddab405
gh-90195: Unset logger disabled flag when configuring it. (GH-96530) 2022-09-03 13:38:38 +01:00
Vinay Sajip
e5823bf9b5
gh-89087: Update logging.QueueHandler documentation to clarify record… (GH-96527) 2022-09-03 13:02:19 +01:00
Terry Jan Reedy
837ce6460d
gh-75500: Update idlelib/help.html (#96523) 2022-09-03 03:38:57 -04:00
Kumar Aditya
6dab8c95bd
GH-96458: Statically initialize utf8 representation of static strings (#96481) 2022-09-02 23:43:08 -07:00
Serhiy Storchaka
16c6759b37
gh-45108: Improve docstring and testing of ZipFile.testfile() (GH-96233) 2022-09-03 08:58:25 +03:00
Alexandru Mărășteanu
57b6110361
[Enum] bump version tag on HTTP status category indicators (GH-96508) 2022-09-02 13:11:18 -07:00
Cheryl Sabella
ccce9b77e1
bpo-30419: DOC: Update missing information in bdb docs (#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>
2022-09-02 13:22:42 -04:00
siph
2a9e4e4d73
gh-95180: Add TaskGroup and Runner to AsyncIO API Index (#95189)
Also rearrange some items in the list.

Co-authored-by: Thomas Grainger <tagrain@gmail.com>
2022-09-02 09:36:45 -07:00
Gregory P. Smith
511ca94520
gh-95778: CVE-2020-10735: Prevent DoS by very large int() (#96499)
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.

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#). Much of that text wound up in the Issue. Backports PRs already exist. See the issue for links.
2022-09-02 09:35:08 -07:00
Raymond Hettinger
656167db81
Allow whitespace around a slash in fraction string inputs (GH-96496) 2022-09-02 11:10:58 -05:00
Erlend E. Aasland
91f40f3f78
gh-96168: Improve sqlite3 dict_factory example (#96457)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2022-09-01 23:47:59 +02:00
Irit Katriel
4c72517cad
gh-93554: Conditional jump opcodes only jump forward (GH-96318) 2022-09-01 21:36:47 +01:00
Irit Katriel
a91f25577c
gh-96455: update example in exception_handling_notes.txt to the 3.11RC bytecode (GH-96456) 2022-09-01 14:21:39 +01:00
Irit Katriel
894cafd9a5
gh-93678: apply remove_redundant_jumps in optimize_cfg (GH-96274) 2022-09-01 11:03:52 +01:00
Gregory P. Smith
e93d1bda77
gh-96143: subprocess API %s/universal_newlines=/text=/g. (GH-96468)
minor missed test cleanup to use the modern API from the big review.

Automerge-Triggered-By: GH:gpshead
2022-09-01 02:47:40 -07:00
Anh71me
0cd33e11fe
GH-96079 Fix missing field name for _AnnotatedAlias (#96080) 2022-08-31 16:02:24 -07:00
Piotr Kaznowski
615537e62f
gh-96408: Document difference between set-like view and sets. (GH-96439) 2022-08-31 16:23:52 -05:00
Vinay Sajip
29f1b0bb1f
gh-89258: Add a getChildren() method to logging.Logger. (GH-96444)
Co-authored-by: Éric <merwok@netwok.org>
2022-08-31 10:50:29 +01:00
Erlend E. Aasland
f7e7bf161a
gh-96414: Inline code examples in sqlite3 docs (#96442) 2022-08-31 07:54:54 +02:00
Dennis Sweeney
8ba22b90ca
gh-95865: Speed up urllib.parse.quote_from_bytes() (GH-95872) 2022-08-30 21:39:51 -04:00
Brandt Bucher
88671a9d69
Remove the binary_subscr_dict_error label (GH-96443) 2022-08-30 15:45:24 -07:00
Filip Łajszczak
02dbb362d3
gh-96408: Test set operation on items dict view. (GH-96438) 2022-08-30 17:43:23 -05:00
Erlend E. Aasland
7b01ce7953
Docs: normalise sqlite3 placeholder how-to heading (#96413) 2022-08-30 22:44:14 +02:00
Pablo Galindo Salgado
f49dd54b72
gh-96143: Add some comments and minor fixes missed in the original PR (#96433)
* gh-96132: Add some comments and minor fixes missed in the original PR

* Update Doc/using/cmdline.rst

Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>

Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2022-08-30 19:37:22 +01:00
Ezio Melotti
45fd3685aa
Automatically update more GitHub projects. (#94921)
* Automatically update the `asyncio` GitHub project.

* Use a matrix to add issues to projects.

* Remove trailing whitespace.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2022-08-30 20:12:55 +02:00
Alexandru Mărășteanu
0ed778835d
gh-95149: Enhance http.HTTPStatus with properties that indicate the HTTP status category (GH-95453) 2022-08-30 11:11:44 -07:00
Kumar Aditya
13c309f110
Fix regeneration of global objects through the Windows build files (GH-96394) 2022-08-30 18:41:27 +01:00
Nikita Sobolev
4217393aee
gh-95987: Fix repr of Any type subclasses (#96412) 2022-08-30 10:36:16 -07:00
Pablo Galindo Salgado
6d791a9736
gh-96143: Allow Linux perf profiler to see Python calls (GH-96123)
⚠️  ⚠️ Note for reviewers, hackers and fellow systems/low-level/compiler engineers ⚠️ ⚠️ 

If you have a lot of experience with this kind of shenanigans and want to improve the **first** version, **please make a PR against my branch** or **reach out by email** or **suggest code changes directly on GitHub**. 

If you have any **refinements or optimizations** please, wait until the first version is merged before starting hacking or proposing those so we can keep this PR productive.
2022-08-30 10:11:18 -07:00
Mark Shannon
0f733fffe8
GH-95245: Document use of MANAGED flags instead of offsets. (GH-96044) 2022-08-30 16:26:08 +01:00
Adrian Garcia Badaracco
07f12b5c15
gh-95337: update TypeVarTuple example (#95338)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2022-08-30 07:57:03 -07:00
Daniel Giger
22ed5233b7
gh-96349: fix minor performance regression initializing threading.Event (gh-96350) 2022-08-30 21:10:02 +09:00
partev
b17aae8bbd
gh-95413: Remove references to deprecated CGI library (#95414) 2022-08-30 13:14:08 +02:00
Tim Burke
860fa35145
Docs: Improve clarity for bytes.hex() (#95257) 2022-08-30 13:09:56 +02:00
da-woods
9625de6fab
Doc: Update Py_TPFLAGS_HAVE_FINALIZE in docs (GH-96273)
It is now deprecated and the docs should reflect that.
2022-08-30 17:31:14 +09:00
Nikita Sobolev
75177358a6
gh-96385: Correctly raise error on [*T, *V] substitution (GH-96386) 2022-08-30 10:34:55 +03:00