3124 Commits

Author SHA1 Message Date
Miss Islington (bot)
fde6ac1290
[3.9] gh-90953: Don't use deprecated AST nodes in clinic.py (GH-104322) (GH-140854)
(cherry picked from commit fe694a6db620062f467469bd2bb987315d72fd62)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2025-10-31 17:56:55 +01:00
Miss Islington (bot)
681e0fa658
[3.9] gh-100454: Fix running SSL tests with OpenSSL 3.1+ (GH-100456) (GH-125186)
This fixes Ubuntu pipeline with OpenSSL 3.1+

(cherry picked from commit 333c7dccd87c637d0b15cf81f9bbec28e39664fd)

Co-authored-by: Dimitri John Ledkov <19779+xnox@users.noreply.github.com>
Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
2024-10-09 15:41:22 +02:00
Ned Deily
f4118e9995
[3.9] gh-109991: Update GitHub CI workflows to use OpenSSL 3.0.11 and multissltests to use 1.1.1w and 3.0.11. (GH-110008)
(cherry picked from commit c88037d137a98d7c399c7bd74d5117b5bcae1543)
2024-01-17 14:46:46 +01:00
Miss Islington (bot)
43a6e4fa49
[3.9] gh-109002: Ensure only one wheel for each vendored package (GH-109003) (#109008)
Output with one wheel:
```
❯ GITHUB_ACTIONS=true ./Tools/build/verify_ensurepip_wheels.py
Verifying checksum for /Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl.
Expected digest: 7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be
Actual digest:   7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be
::notice file=/Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl::Successfully verified the checksum of the pip wheel.
```

Output with two wheels:
```
❯ GITHUB_ACTIONS=true ./Tools/build/verify_ensurepip_wheels.py
::error file=/Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-22.0.4-py3-none-any.whl::Found more than one wheel for package pip.

::error file=/Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl::Found more than one wheel for package pip.
```

Output without wheels:
```
❯ GITHUB_ACTIONS=true ./Tools/build/verify_ensurepip_wheels.py
::error file=::Could not find a pip wheel on disk.
```
(cherry picked from commit f8a047941f2e4a1848700c21d58a08c9ec6a9c68)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2023-09-06 20:01:05 +02:00
Ned Deily
d31ae21e5d
[3.9] gh-107565: Update multissltests and GitHub CI workflows to use OpenSSL 1.1.1v, 3.0.10, and 3.1.2. (#108123)
[3.9] gh-107565: Update multissltests and GitHub CI workflows to use  OpenSSL 1.1.1v, 3.0.10, and 3.1.2.

(cherry picked from commit 441797d4ffb12acda257370b9e5e19ed8d6e8a71)
2023-08-22 20:28:57 +02:00
Gregory P. Smith
e15de14c16
[3.9] gh-103142: Upgrade binary builds and CI to OpenSSL 1.1.1u (GH-105174) (GH-105200) (#105205)
Upgrade builds to OpenSSL 1.1.1u.

Also updates _ssl_data_111.h from OpenSSL 1.1.1u, _ssl_data_300.h from 3.0.9.

Manual edits to the _ssl_data_300.h file prevent it from removing any
existing definitions in case those exist in some peoples builds and were
important (avoiding regressions during backporting).

(cherry picked from commit ede89af)

Co-authored-by: Ned Deily <nad@python.org>
2023-06-05 17:41:51 +02:00
Steve Dower
bf99e19b99
[3.9] gh-101726: Update the OpenSSL version to 1.1.1t (GH-101727) (GH-101751)
Fixes CVE-2023-0286 (High) and a couple of Medium security issues.
https://www.openssl.org/news/secadv/20230207.txt

Co-authored-by: Gregory P. Smith <greg@krypto.org>
Co-authored-by: Ned Deily <nad@python.org>
2023-03-07 18:01:22 -05:00
Miss Islington (bot)
d6ef6805b2
[3.9] gh-97612: Fix shell injection in get-remote-certificate.py (GH-97613) (GH-97632)
gh-97612: Fix shell injection in get-remote-certificate.py (GH-97613)

Fix a shell code injection vulnerability in the
get-remote-certificate.py example script. The script no longer uses a
shell to run "openssl" commands. Issue reported and initial fix by
Caleb Shortt.

Remove the Windows code path to send "quit" on stdin to the "openssl
s_client" command: use DEVNULL on all platforms instead.

Co-authored-by: Caleb Shortt <caleb@rgauge.com>
(cherry picked from commit 83a0f44ffd8b398673ae56c310cf5768d359c341)

Co-authored-by: Victor Stinner <vstinner@python.org>
2022-10-04 10:00:16 -07:00
Miss Islington (bot)
66f4593280
gh-91172: Create a workflow for verifying bundled pip and setuptools (GH-31885) (GH-94123)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
(cherry picked from commit d36954b7ead06daead3dcf9b0dd9f8002eab508f)

Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
2022-06-22 15:58:16 +02:00
Miss Islington (bot)
35d589cfb8
gh-92256: Improve Argument Clinic parser error messages (GH-92268)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
(cherry picked from commit 4bd07d1dbd493fc9b2c2a77e9e905c517682052e)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@protonmail.com>
2022-05-10 00:49:09 -07:00
Serhiy Storchaka
1b1c79c566
[3.9] gh-91583: AC: Fix regression for functions with defining_class (GH-91739) (GH-92080)
Argument Clinic now generates the same efficient code as before
adding the defining_class parameter.
(cherry picked from commit a055dac0b45031878a8196a8735522de018491e3)
2022-05-03 11:54:06 +03:00
Miss Islington (bot)
c171d757f3
gh-91595: fix the comparison of character and integer by using ord() (GH-91596)
* fix the comparison of character and integer by using ord()

* 📜🤖 Added by blurb_it.

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
(cherry picked from commit 9300b6d72948b94c0924a75ea14c6298156522d0)

Co-authored-by: Yu Liu <yuki.liu@utexas.edu>
2022-04-16 07:57:07 -07:00
Steve Dower
ad6ddd8900
[3.9] bpo-47032: Ensure Windows install builds fail correctly with a non-zero exit code when part of the build fails (GH-31921) (GH-31927)
Automerge-Triggered-By: GH:zooba
2022-03-15 19:11:59 -07:00
Miss Islington (bot)
70eb9db398
bpo-46948: Fix launcher installer build failure due to first part of fix (GH-31920)
(cherry picked from commit 708812085355c92f32e547d1f1d1f29aefbbc27e)

Co-authored-by: Steve Dower <steve.dower@python.org>
2022-03-15 18:30:11 -07:00
Christian Heimes
513911b359
[3.9] bpo-47024: Update OpenSSL to 1.1.1n (GH-31895) (#31917)
Co-authored-by: Zachary Ware <zachary.ware@gmail.com>.
Co-authored-by: Christian Heimes <christian@python.org>.
Co-authored-by: Christian Heimes <christian@python.org>
2022-03-15 21:34:49 +01:00
Steve Dower
101a1bee19
bpo-46948: Fix CVE-2022-26488 by ensuring the Windows Installer correctly uses the install path during repair (GH-31728) 2022-03-07 17:23:31 +00:00
Miss Islington (bot)
ee3d050e85
Optimize images by IMGbot (GH-21348)
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
(cherry picked from commit ba650af7d660084e08859dd1ee1917cccee24e88)

Co-authored-by: Manish Kumar  <manishprivet@protonmail.com>
2022-02-03 23:15:17 -08:00
Miss Islington (bot)
e8258608c2
[3.9] [3.10] bpo-46576: bpo-46524: Disable compiler optimization within test_peg_generator. (GH-31015) (GH-31089) (GH-31093)
Disable compiler optimization within test_peg_generator.

This speed up test_peg_generator by always disabling compiler
optimizations by using -O0 or equivalent when the test is building its
own C extensions.

A build not using --with-pydebug in order to speed up test execution
winds up with this test taking a very long time as it would do
repeated compilation of parser C code using the same optimization
flags as CPython was built with.

This speeds the test up 6-8x on gps-raspbian.

Also incorporate's GH-31017's win32 conditional and flags.

Co-authored-by: Kumar Aditya kumaraditya303.
(cherry picked from commit 164a017e13ee96bd1ea1ae79f5ac9e25fe83994e)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
(cherry picked from commit f5ebec4d3e1199ec38b88920cfde8e460e5120dd)


Co-authored-by: Gregory P. Smith <greg@krypto.org>

Automerge-Triggered-By: GH:gpshead
2022-02-02 20:32:54 -08:00
Miss Islington (bot)
7c8d1f0238
bpo-29844: Remove obsolete paragraph from Tools/msi/README.txt (GH-29141)
(cherry picked from commit 098a33f6a60ca2df88e03024ac9d8da507cfa5c8)
2022-01-27 10:59:43 -06:00
Ned Deily
5c4d11fe75
bpo-46106: Update OpenSSL to 1.1.1m (GH-30211) (GH-30225)
Co-authored-by: Ned Deily <nad@python.org>
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2021-12-21 23:25:09 -05:00
Pablo Galindo Salgado
e5cf31d3c2
[3.9] bpo-46110: Add a recursion check to avoid stack overflow in the PEG parser (GH-30177) (#30215)
Co-authored-by: Batuhan Taskaya <isidentical@gmail.com>.
(cherry picked from commit e9898bf153d26059261ffef11f7643ae991e2a4c)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2021-12-20 17:18:13 +00:00
Christian Heimes
a9b3edb66f
[3.9] bpo-46114: Fix OpenSSL version check for 3.0.1 (GH-30170) (GH-30173)
Co-authored-by: Christian Heimes <christian@python.org>
2021-12-17 17:02:38 +01:00
Victor Stinner
93a540d74c
bpo-45866: pegen strips directory of "generated from" header (GH-29777) (GH-29792) (GH-29797)
"make regen-all" now produces the same output when run from a
directory other than the source tree: when building Python out of the
source tree.

(cherry picked from commit 253b7a0a9fef1d72a4cb87b837885576e68e917c)
(cherry picked from commit b6defde2afe656db830d6fedf74ca5f6225f5928)
2021-11-26 17:23:41 +01:00
Sam Gross
2a32dbf110
[3.9] bpo-45838: Fix incorrect line numbers in Tools/gdb/libpython.py (GH-29628)
The line number calculation in libpython.py did not properly handle
negative (signed) line table deltas.
2021-11-19 19:53:46 +01:00
Łukasz Langa
88f4ec88e2
[3.9] bpo-45494: Fix parser crash when reporting errors involving invalid continuation characters (GH-28993) (#29071)
There are two errors that this commit fixes:

* The parser was not correctly computing the offset and the string
  source for E_LINECONT errors due to the incorrect usage of strtok().
* The parser was not correctly unwinding the call stack when a tokenizer
  exception happened in rules involving optionals ('?', [...]) as we
  always make them return valid results by using the comma operator. We
  need to check first if we don't have an error before continuing..
(cherry picked from commit a106343f632a99c8ebb0136fa140cf189b4a6a57)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>

NOTE: unlike the cherry-picked original, this commit points at a crazy location
due to a bug in the tokenizer that required a big refactor in 3.10 to fix.
We are leaving as-is for 3.9.
2021-10-20 18:51:13 +02:00
Christian Clauss
da56601783
[3.9] Fix typos in the Tools directory (GH-28769) (GH-28800)
Like #28744 but for the Tools directory.

Automerge-Triggered-By: GH:pablogsal
(cherry picked from commit 682aecfdeba481c876bfc9f3796c635bd5b5df50)
2021-10-07 17:31:24 +02:00
Łukasz Langa
5482db5800
[3.9] [codemod] Fix non-matching bracket pairs (GH-28473) (GH-28512)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>.
(cherry picked from commit 8f943ca25732d548cf9f0b0393ba8d582fb93e29)

Co-authored-by: Mohamad Mansour <66031317+mohamadmansourX@users.noreply.github.com>
2021-09-22 17:32:04 +02:00
Miss Islington (bot)
052e199d8a
[3.9] Fix typos in pep384_macrocheck.py (GH-28220) (GH-28273)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
(cherry picked from commit 4338aeeb9e07607f17bbada8ebfd97e7cc7a203c)


Co-authored-by: Ikko Ashimine <eltociear@gmail.com>

Automerge-Triggered-By: GH:Fidget-Spinner
2021-09-10 08:11:46 -07:00
Łukasz Langa
7a6178a7cd
[3.9] bpo-38820: Test with OpenSSL 3.0.0 final (GH-28205) (GH-28217)
Signed-off-by: Christian Heimes <christian@python.org>.
(cherry picked from commit cc7c6801945c6a7373553b78bd899ce09681ec0a)

Co-authored-by: Christian Heimes <christian@python.org>
2021-09-08 19:01:25 +02:00
Serhiy Storchaka
e09dd8aafd
[3.9] bpo-45060: Get rid of few uses of the equality operators with None (GH-28087). (GH-28093)
(cherry picked from commit 3c65457156d87e55010507d616b4eecb7a02883d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-09-01 09:51:01 +03:00
Christian Heimes
576803d7a8
[3.9] bpo-45007: Update multissl to openssl 1.1.1l as well (GH-28044) (GH-28062)
This was missed while upgrading CI..
(cherry picked from commit d6cb5dd9e19210f5963ff8beadde7ca2fda71574)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-08-30 15:07:55 +02:00
Łukasz Langa
168879e366
[3.9] Update URLs in comments and metadata to use HTTPS (GH-27458) (GH-27480)
(cherry picked from commit be42c06bb01206209430f3ac08b72643dc7cad1c)

Co-authored-by: Noah Kantrowitz <noah@coderanger.net>
2021-07-30 16:34:04 +02:00
Christian Heimes
c92b391dce
[3.9] bpo-38820: Test with OpenSSL 3.0.0-alpha16 (GH-25942) (#25944)
Also use new make target to install FIPS provider..
(cherry picked from commit e8525567dd325527e00b3c4ce7c4ce31ff3f1a8c)

Co-authored-by: Christian Heimes <christian@python.org>
2021-07-12 17:12:38 +02:00
Miss Islington (bot)
d43e1cbcc1
Remove a redundant assignment in Tools/unittestgui/unittestgui.py (GH-21438) (#26169)
(cherry picked from commit a42d98ed91cd1f08b2e9734ca6ca136dd10dff5d)

Co-authored-by: Serhii Hidenko <shidenko97@gmail.com>
2021-05-16 17:17:55 +01:00
Miss Islington (bot)
04ce4c7736
bpo-44125: Fix "make patchcheck" on non-English locale (GH-26102)
The patch from [bpo-44074]() does not account for a possibly non-English locale and blindly greps for "HEAD branch" in a possibly localized text.

Automerge-Triggered-By: GH:pitrou
(cherry picked from commit 1aa3530314d339725519f4ad95b7dea4b00b657e)

Co-authored-by: Antoine Pitrou <antoine@python.org>
2021-05-13 11:14:23 -07:00
Miss Islington (bot)
fbd9b9939c
bpo-44074: let patchcheck infer the base branch name (GH-25991)
(cherry picked from commit 21fbbb98bac8bfe56f8b931258c36750e84f9285)

Co-authored-by: Leonardo Lai <leonardo.lai@live.com>
2021-05-10 11:58:45 -07:00
Miss Islington (bot)
3b917d1774
[3.9] bpo-38820: Old OpenSSL 3.0.0 releases are in /old/3.0/ (GH-25624) (GH-25626)
Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit 3c586ca500854476e6eff06713236faff233d035)


Co-authored-by: Christian Heimes <christian@python.org>

Automerge-Triggered-By: GH:tiran
2021-04-26 08:12:37 -07:00
Miss Islington (bot)
2178afffc0
Improve CDN purge script (GH-25251) (#25254)
(cherry picked from commit e35dd556e1adb4fc8b83e5b75ac59e428a8b5460)

Co-authored-by: Steve Dower <steve.dower@python.org>

Co-authored-by: Steve Dower <steve.dower@python.org>
2021-04-25 08:19:32 -07:00
Christian Heimes
299ae9c7a2
[3.9] bpo-43788: Generate version specific _ssl_data.h (GH-25300) (GH-25310)
(cherry picked from commit 150af7543214e1541fa582374502ac1cd70e8eb4)

Co-authored-by: Christian Heimes <christian@python.org>
2021-04-09 18:34:39 +02:00
Christian Heimes
cd82d59206
[3.9] bpo-43631: Update to OpenSSL 1.1.1k (GH-25024) (GH-25088)
Signed-off-by: Christian Heimes <christian@python.org>

Automerge-Triggered-By: GH:tiran.
(cherry picked from commit a54fc683f237d8f0b6e999a63aa9b8c0a45b7fef)

Co-authored-by: Christian Heimes <christian@python.org>
2021-03-30 01:58:06 -07:00
Miss Islington (bot)
def7dc3b71
Do not remove x bit from published directories (GH-24101)
(cherry picked from commit af4cd16479f2d55bee3db899e7679d7cde1d2ab7)

Co-authored-by: Steve Dower <steve.dower@python.org>
2021-01-04 13:17:05 -08:00
Miss Islington (bot)
3bb85672bb
closes bpo-42726: gdb libpython: InstanceProxy support for py3 (GH-23912)
On Fedora 31 gdb is using python 3.7.9, calling `proxyval` on an instance with a dictionary fails because of the `dict.iteritems` usage. This PR changes the code to be compatible with py2 and py3.

This changed seemed small enough to not need an issue and news blurb, if one is required please let me know.

Automerge-Triggered-By: GH:benjaminp
(cherry picked from commit b57ada98da0d5b0cf1ebc2c9c5502d04aa962042)

Co-authored-by: Augusto Hack <hack.augusto@gmail.com>
2020-12-24 09:37:07 -08:00
Serhiy Storchaka
87e7a14ee3
[3.9] bpo-42630: Improve error reporting in Tkinter for absent default root (GH-23781) (GH-23853)
* Tkinter functions and constructors which need a default root window
  raise now RuntimeError with descriptive message instead of obscure
  AttributeError or NameError if it is not created yet or cannot
  be created automatically.

* Add tests for all functions which use default root window.

* Fix import in the pynche script.

(cherry picked from commit 3d569fd6dccf9f582bafaca04d3535094cae393e)
2020-12-19 13:08:07 +02:00
Miss Islington (bot)
79c535796d
bpo-42613: Fix freeze.py config directory (GH-23792) (GH-23817)
Fix freeze.py tool to use the prope config and library directories.
(cherry picked from commit 1c653f17cb84d81df3a74ab0b42140d2bb68c5c4)

Co-authored-by: Victor Stinner <vstinner@python.org>

Co-authored-by: Victor Stinner <vstinner@python.org>
2020-12-17 15:29:36 +01:00
Victor Stinner
c53c3f4000
bpo-42398: Fix "make regen-all" race condition (GH-23362) (GH-23367)
Fix a race condition in "make regen-all" when make -jN option is used
to run jobs in parallel. The clinic.py script now only use atomic
write to write files. Moveover, generated files are now left
unchanged if the content does not change, to not change the file
modification time.

The "make regen-all" command runs "make clinic" and "make
regen-importlib" targets:

* "make regen-importlib" builds object files (ex: Modules/_weakref.o)
  from source files (ex: Modules/_weakref.c) and clinic files (ex:
  Modules/clinic/_weakref.c.h)
* "make clinic" always rewrites all clinic files
  (ex: Modules/clinic/_weakref.c.h)

Since there is no dependency between "clinic" and "regen-importlib"
Makefile targets, these two targets can be run in parallel. Moreover,
half of clinic.py file writes are not atomic and so there is a race
condition when "make regen-all" runs jobs in parallel using make -jN
option (which can be passed in MAKEFLAGS environment variable).

Fix clinic.py to make all file writes atomic:

* Add write_file() function to ensure that all file writes are
  atomic: write into a temporary file and then use os.replace().
* Moreover, write_file() doesn't recreate or modify the file if the
  content does not change to avoid modifying the file modification
  file.
* Update test_clinic to verify these assertions with a functional
  test.
* Remove Clinic.force attribute which was no longer used, whereas
  Clinic.verify remains useful.

(cherry picked from commit 8fba9523cf08029dc2e280d9f48fdd57ab178c9d)
2020-11-18 17:11:09 +01:00
Miss Islington (bot)
faadc52e75
bpo-40754: Adds _testinternalcapi to Windows installer for test suite (GH-23271)
(cherry picked from commit 9b6934230c35e24d8582ea8c58456fa8eab72ae2)

Co-authored-by: Steve Dower <steve.dower@python.org>
2020-11-13 14:47:27 -08:00
Miss Skeleton (bot)
e899c016ec
Enable signing of nuget.org packages and update to supported timestamp server (GH-23132)
(cherry picked from commit db6434c474f7389a98b8118ca87fca988416bf33)

Co-authored-by: Steve Dower <steve.dower@python.org>
2020-11-03 14:52:41 -08:00
Lysandros Nikolaou
cfcb952e30
[3.9] bpo-42218: Correctly handle errors in left-recursive rules (GH-23065) (GH-23066)
Left-recursive rules need to check for errors explicitly, since
even if the rule returns NULL, the parsing might continue and lead
to long-distance failures.

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
(cherry picked from commit 02cdfc93f82fecdb7eae97a868d4ee222b9875d9)

Automerge-Triggered-By: GH:lysnikolaou
2020-10-31 12:06:03 -07:00
Lysandros Nikolaou
24a7c298d4
[3.9] bpo-42123: Run the parser two times and only enable invalid rules on the second run (GH-22111) (GH-23011)
* Implement running the parser a second time for the errors messages

The first parser run is only responsible for detecting whether
there is a `SyntaxError` or not. If there isn't the AST gets returned.
Otherwise, the parser is run a second time with all the `invalid_*`
rules enabled so that all the customized error messages get produced.

(cherry picked from commit bca701403253379409dece03053dbd739c0bd059)
2020-10-28 02:14:15 +02:00
Lysandros Nikolaou
8aee019d71
[3.9] Remove git conflict lines from test_parse_directory in peg_generator (GH-23007) 2020-10-28 00:37:36 +02:00