Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ jobs:
# Keep 1.1.1w in our list despite it being upstream EOL and otherwise
# unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
# supported by important vendors such as AWS-LC.
openssl_ver: [1.1.1w, 3.0.17, 3.2.5, 3.3.4, 3.4.2, 3.5.2]
openssl_ver: [1.1.1w, 3.0.18, 3.2.6, 3.3.5, 3.4.3, 3.5.4]
# See Tools/ssl/make_ssl_data.py for notes on adding a new version
env:
OPENSSL_VER: ${{ matrix.openssl_ver }}
Expand Down Expand Up @@ -438,7 +438,7 @@ jobs:
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
env:
OPENSSL_VER: 3.0.16
OPENSSL_VER: 3.0.18
PYTHONSTRICTEXTENSIONBUILD: 1
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -558,7 +558,7 @@ jobs:
matrix:
os: [ubuntu-24.04]
env:
OPENSSL_VER: 3.0.16
OPENSSL_VER: 3.0.18
PYTHONSTRICTEXTENSIONBUILD: 1
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
runs-on: ${{ inputs.os }}
timeout-minutes: 60
env:
OPENSSL_VER: 3.0.15
OPENSSL_VER: 3.0.18
PYTHONSTRICTEXTENSIONBUILD: 1
TERM: linux
steps:
Expand Down
8 changes: 7 additions & 1 deletion Android/android.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,10 +184,16 @@ def make_build_python(context):
run(["make", "-j", str(os.cpu_count())])


# To create new builds of these dependencies, usually all that's necessary is to
# push a tag to the cpython-android-source-deps repository, and GitHub Actions
# will do the rest.
#
# If you're a member of the Python core team, and you'd like to be able to push
# these tags yourself, please contact Malcolm Smith or Russell Keith-Magee.
def unpack_deps(host, prefix_dir):
os.chdir(prefix_dir)
deps_url = "https://github.com/beeware/cpython-android-source-deps/releases/download"
for name_ver in ["bzip2-1.0.8-3", "libffi-3.4.4-3", "openssl-3.0.15-4",
for name_ver in ["bzip2-1.0.8-3", "libffi-3.4.4-3", "openssl-3.0.18-0",
"sqlite-3.50.4-0", "xz-5.4.6-1", "zstd-1.5.7-1"]:
filename = f"{name_ver}-{host}.tar.gz"
download(f"{deps_url}/{name_ver}/{filename}")
Expand Down
9 changes: 8 additions & 1 deletion Apple/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -312,11 +312,18 @@ def unpack_deps(
On iOS, as a safety mechanism, any dynamic libraries will be purged from
the unpacked dependencies.
"""
# To create new builds of these dependencies, usually all that's necessary
# is to push a tag to the cpython-apple-source-deps repository, and GitHub
# Actions will do the rest.
#
# If you're a member of the Python core team, and you'd like to be able to
# push these tags yourself, please contact Malcolm Smith or Russell
# Keith-Magee.
deps_url = "https://github.com/beeware/cpython-apple-source-deps/releases/download"
for name_ver in [
"BZip2-1.0.8-2",
"libFFI-3.4.7-2",
"OpenSSL-3.0.17-1",
"OpenSSL-3.0.18-1",
"XZ-5.6.4-2",
"mpdecimal-4.0.0-2",
"zstd-1.5.7-1",
Expand Down
2 changes: 1 addition & 1 deletion Doc/using/configure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Features and minimum versions required to build CPython:

* Support for threads.

* OpenSSL 1.1.1 is the minimum version and OpenSSL 3.0.16 is the recommended
* OpenSSL 1.1.1 is the minimum version and OpenSSL 3.0.18 is the recommended
minimum version for the :mod:`ssl` and :mod:`hashlib` extension modules.

* SQLite 3.15.2 for the :mod:`sqlite3` extension module.
Expand Down
2 changes: 1 addition & 1 deletion Makefile.pre.in
Original file line number Diff line number Diff line change
Expand Up @@ -3132,7 +3132,7 @@ JIT_DEPS = \
jit_stencils.h @JIT_STENCILS_H@: $(JIT_DEPS)
@REGEN_JIT_COMMAND@

Python/jit.o: $(srcdir)/Python/jit.c jit_stencils.h @JIT_STENCILS_H@
Python/jit.o: $(srcdir)/Python/jit.c @JIT_STENCILS_H@
$(CC) -c $(PY_CORE_CFLAGS) -o $@ $<

.PHONY: regen-jit
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Updated bundled version of OpenSSL to 3.0.18.
8 changes: 4 additions & 4 deletions Misc/externals.spdx.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,21 +70,21 @@
"checksums": [
{
"algorithm": "SHA256",
"checksumValue": "6bb739ecddbd2cfb6d255eb5898437a9b5739277dee931338d3275bac5d96ba2"
"checksumValue": "9b07560b6c1afa666bd78b8d3aa5c83fdda02149afdf048596d5b0e0dac1ee55"
}
],
"downloadLocation": "https://github.com/python/cpython-source-deps/archive/refs/tags/openssl-3.0.16.tar.gz",
"downloadLocation": "https://github.com/python/cpython-source-deps/archive/refs/tags/openssl-3.0.18.tar.gz",
"externalRefs": [
{
"referenceCategory": "SECURITY",
"referenceLocator": "cpe:2.3:a:openssl:openssl:3.0.16:*:*:*:*:*:*:*",
"referenceLocator": "cpe:2.3:a:openssl:openssl:3.0.18:*:*:*:*:*:*:*",
"referenceType": "cpe23Type"
}
],
"licenseConcluded": "NOASSERTION",
"name": "openssl",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "3.0.16"
"versionInfo": "3.0.18"
},
{
"SPDXID": "SPDXRef-PACKAGE-sqlite",
Expand Down
9 changes: 7 additions & 2 deletions Modules/_ssl_data_35.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* File generated by Tools/ssl/make_ssl_data.py */
/* Generated on 2025-08-13T16:42:33.155822+00:00 */
/* Generated from Git commit openssl-3.5.2-0-g0893a6235 */
/* Generated on 2025-10-04T17:49:19.148321+00:00 */
/* Generated from Git commit openssl-3.5.4-0-gc1eeb9406 */

/* generated from args.lib2errnum */
static struct py_ssl_library_code library_codes[] = {
Expand Down Expand Up @@ -5338,6 +5338,11 @@ static struct py_ssl_error_code error_codes[] = {
#else
{"FIPS_MODULE_ENTERING_ERROR_STATE", 57, 224},
#endif
#ifdef PROV_R_FIPS_MODULE_IMPORT_PCT_ERROR
{"FIPS_MODULE_IMPORT_PCT_ERROR", ERR_LIB_PROV, PROV_R_FIPS_MODULE_IMPORT_PCT_ERROR},
#else
{"FIPS_MODULE_IMPORT_PCT_ERROR", 57, 253},
#endif
#ifdef PROV_R_FIPS_MODULE_IN_ERROR_STATE
{"FIPS_MODULE_IN_ERROR_STATE", ERR_LIB_PROV, PROV_R_FIPS_MODULE_IN_ERROR_STATE},
#else
Expand Down
4 changes: 2 additions & 2 deletions PCbuild/get_externals.bat
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ echo.Fetching external libraries...
set libraries=
set libraries=%libraries% bzip2-1.0.8
if NOT "%IncludeLibffiSrc%"=="false" set libraries=%libraries% libffi-3.4.4
if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-3.0.16
if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-3.0.18
set libraries=%libraries% mpdecimal-4.0.0
set libraries=%libraries% sqlite-3.50.4.0
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.15.0
Expand All @@ -79,7 +79,7 @@ echo.Fetching external binaries...

set binaries=
if NOT "%IncludeLibffi%"=="false" set binaries=%binaries% libffi-3.4.4
if NOT "%IncludeSSL%"=="false" set binaries=%binaries% openssl-bin-3.0.16.2
if NOT "%IncludeSSL%"=="false" set binaries=%binaries% openssl-bin-3.0.18
if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.15.0
if NOT "%IncludeSSLSrc%"=="false" set binaries=%binaries% nasm-2.11.06
if NOT "%IncludeLLVM%"=="false" set binaries=%binaries% llvm-19.1.7.0
Expand Down
4 changes: 2 additions & 2 deletions PCbuild/python.props
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,8 @@
<libffiOutDir Condition="$(libffiOutDir) == ''">$(libffiDir)$(ArchName)\</libffiOutDir>
<libffiIncludeDir Condition="$(libffiIncludeDir) == ''">$(libffiOutDir)include</libffiIncludeDir>
<mpdecimalDir Condition="$(mpdecimalDir) == ''">$(ExternalsDir)\mpdecimal-4.0.0\</mpdecimalDir>
<opensslDir Condition="$(opensslDir) == ''">$(ExternalsDir)openssl-3.0.16\</opensslDir>
<opensslOutDir Condition="$(opensslOutDir) == ''">$(ExternalsDir)openssl-bin-3.0.16.2\$(ArchName)\</opensslOutDir>
<opensslDir Condition="$(opensslDir) == ''">$(ExternalsDir)openssl-3.0.18\</opensslDir>
<opensslOutDir Condition="$(opensslOutDir) == ''">$(ExternalsDir)openssl-bin-3.0.18\$(ArchName)\</opensslOutDir>
<opensslIncludeDir Condition="$(opensslIncludeDir) == ''">$(opensslOutDir)include</opensslIncludeDir>
<nasmDir Condition="$(nasmDir) == ''">$(ExternalsDir)\nasm-2.11.06\</nasmDir>
<zlibDir Condition="$(zlibDir) == ''">$(ExternalsDir)\zlib-1.3.1\</zlibDir>
Expand Down
10 changes: 5 additions & 5 deletions Tools/ssl/multissltests.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@
]

OPENSSL_RECENT_VERSIONS = [
"3.0.16",
"3.2.5",
"3.3.4",
"3.4.2",
"3.5.2",
"3.0.18",
"3.2.6",
"3.3.5",
"3.4.3",
"3.5.4",
# See make_ssl_data.py for notes on adding a new version.
]

Expand Down
54 changes: 29 additions & 25 deletions configure

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

50 changes: 25 additions & 25 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2787,13 +2787,11 @@ AS_VAR_IF([jit_flags],
[AS_VAR_APPEND([CFLAGS_NODIST], [" $jit_flags"])
AS_VAR_SET([REGEN_JIT_COMMAND],
["\$(PYTHON_FOR_REGEN) \$(srcdir)/Tools/jit/build.py ${ARCH_TRIPLES:-$host} --output-dir . --pyconfig-dir . --cflags=\"$CFLAGS_JIT\""])
AS_VAR_SET([JIT_STENCILS_H], ["jit_stencils.h"])
AS_VAR_IF([Py_DEBUG],
[true],
[AS_VAR_APPEND([REGEN_JIT_COMMAND], [" --debug"])],
[])])
AC_SUBST([REGEN_JIT_COMMAND])
AC_SUBST([JIT_STENCILS_H])
AC_MSG_RESULT([$tier2_flags $jit_flags])

if test "$disable_gil" = "yes" -a "$enable_experimental_jit" != "no"; then
Expand Down Expand Up @@ -8175,29 +8173,31 @@ PY_STDLIB_MOD([xxlimited_35], [test "$TEST_MODULES" = yes], [test "$ac_cv_func_d

# Determine JIT stencils header files based on target platform
JIT_STENCILS_H=""
case "$host" in
aarch64-apple-darwin*)
JIT_STENCILS_H="jit_stencils-aarch64-apple-darwin.h"
;;
x86_64-apple-darwin*)
JIT_STENCILS_H="jit_stencils-x86_64-apple-darwin.h"
;;
aarch64-pc-windows-msvc)
JIT_STENCILS_H="jit_stencils-aarch64-pc-windows-msvc.h"
;;
i686-pc-windows-msvc)
JIT_STENCILS_H="jit_stencils-i686-pc-windows-msvc.h"
;;
x86_64-pc-windows-msvc)
JIT_STENCILS_H="jit_stencils-x86_64-pc-windows-msvc.h"
;;
aarch64-*-linux-gnu)
JIT_STENCILS_H="jit_stencils-$host.h"
;;
x86_64-*-linux-gnu)
JIT_STENCILS_H="jit_stencils-$host.h"
;;
esac
AS_VAR_IF([enable_experimental_jit], [no],
[],
[case "$host" in
aarch64-apple-darwin*)
JIT_STENCILS_H="jit_stencils-aarch64-apple-darwin.h"
;;
x86_64-apple-darwin*)
JIT_STENCILS_H="jit_stencils-x86_64-apple-darwin.h"
;;
aarch64-pc-windows-msvc)
JIT_STENCILS_H="jit_stencils-aarch64-pc-windows-msvc.h"
;;
i686-pc-windows-msvc)
JIT_STENCILS_H="jit_stencils-i686-pc-windows-msvc.h"
;;
x86_64-pc-windows-msvc)
JIT_STENCILS_H="jit_stencils-x86_64-pc-windows-msvc.h"
;;
aarch64-*-linux-gnu)
JIT_STENCILS_H="jit_stencils-$host.h"
;;
x86_64-*-linux-gnu)
JIT_STENCILS_H="jit_stencils-$host.h"
;;
esac])

AC_SUBST([JIT_STENCILS_H])

Expand Down
Loading