cpython/Modules
Ron Frederick 6401823db3
gh-138252: Add support in SSL module for getting and setting TLS signature algorithms (#138269)
The signature algorithms allowed for certificate-based client authentication or
for the server to complete the TLS handshake can be defined on a SSL context via
`ctx.set_client_sigalgs()` and `ctx.set_server_sigalgs()`.

With OpenSSL 3.4 or later, the list of available TLS algorithms can be retrieved
by `ssl.get_sigalgs()`.

With OpenSSL 3.5 or later, the selected signature algorithms can be retrieved from
SSL sockets via `socket.client_sigalg()` and `socket.server_sigalg()`.

This commit also partially amends 377b787618
by using `PyUnicode_DecodeFSDefault` instead of `PyUnicode_DecodeASCII` in
`_ssl._SSLContext.get_groups`, so that functions consistently decode strings
obtained from OpenSSL.

---------

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-09-08 08:36:12 +00:00
..
_ctypes GH-135763: AC: Use `Py_ssize_t(allow_negative=False)` (#138394) 2025-09-02 21:29:05 +01:00
_decimal gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
_hacl gh-135532: update Modules/_hacl/python_hacl_namespaces.h (#135741) 2025-06-20 11:32:38 +02:00
_io GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
_multiprocessing gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
_sqlite gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
_sre gh-138264: Fix gcc 14 compiler warnings (GH-138265) 2025-09-03 11:26:56 +03:00
_ssl gh-137583: Only lock the SSL context, not the SSL socket (GH-137588) 2025-08-10 14:47:11 +00:00
_testcapi gh-137210: Add a struct, slot & function for checking an extension's ABI (GH-137212) 2025-09-05 16:23:18 +02:00
_testinternalcapi gh-135641: Fix flaky test_capi.test_lock_two_threads test case (gh-135642) 2025-06-18 14:24:05 -04:00
_testlimitedcapi gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
_xxtestfuzz gh-111178: remove redundant casts for functions with correct signatures (#131673) 2025-04-01 17:18:11 +02:00
_zstd GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
cjkcodecs GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
clinic gh-138252: Add support in SSL module for getting and setting TLS signature algorithms (#138269) 2025-09-08 08:36:12 +00:00
expat gh-131809: Upgrade vendored expat to 2.7.1 (#132192) 2025-04-07 23:42:00 +03:00
_abc.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
_asynciomodule.c Doc: More duplicate word fixes (GH-136299) 2025-07-11 21:18:47 +03:00
_bisectmodule.c GH-135763: AC: Use `Py_ssize_t(allow_negative=False)` (#138394) 2025-09-02 21:29:05 +01:00
_bz2module.c gh-116946: Revert GC protocol for immutable empty heap types (GH-138266, GH-138288, GH-138289) (#138338) 2025-09-01 21:15:11 +05:30
_codecsmodule.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
_collectionsmodule.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_csv.c gh-137986: Fix and improve the csv functions docstrings (GH-137987) 2025-08-24 11:13:31 +03:00
_curses_panel.c gh-116946: fully implement GC protocol for _curses_panel.panel (#138333) 2025-09-03 10:17:17 +02:00
_cursesmodule.c gh-137920: Fix semantically relevant typo in curses.window.attron (#137940) 2025-08-22 10:27:02 +02:00
_datetimemodule.c gh-137210: Add a struct, slot & function for checking an extension's ABI (GH-137212) 2025-09-05 16:23:18 +02:00
_dbmmodule.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
_elementtree.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_functoolsmodule.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
_gdbmmodule.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
_hashopenssl.c GH-135763: AC: Use `Py_ssize_t(allow_negative=False)` (#138394) 2025-09-02 21:29:05 +01:00
_heapqmodule.c Fix comments for heapq.siftup_max (#135359) 2025-07-03 15:21:41 +05:30
_interpchannelsmodule.c gh-135839: Fix module_traverse and module_clear in _interpchannelsmodule (#135840) 2025-06-25 11:54:42 +03:00
_interpqueuesmodule.c GH-132775: Fix argument parsing for `_interpqueues.put()` (#137686) 2025-08-22 00:00:58 +02:00
_interpreters_common.h gh-132775: Use _PyObject_GetXIData (With Fallback) (gh-134440) 2025-05-22 06:50:06 -06:00
_interpretersmodule.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
_json.c gh-116738: Make _json module thread-safe in the free-threading (#119438) 2025-08-31 09:42:45 +05:30
_localemodule.c gh-60462: Fix locale.strxfrm() on Solaris (GH-138242) 2025-09-03 15:49:28 +03:00
_lsprof.c gh-116738: make cProfile module thread-safe (#138229) 2025-09-06 13:19:14 +05:30
_lzmamodule.c gh-116946: Revert GC protocol for immutable empty heap types (GH-138266, GH-138288, GH-138289) (#138338) 2025-09-01 21:15:11 +05:30
_math.h gh-122681: remove m_atan2()/c_atan2() helpers (#122715) 2024-08-17 13:48:16 +05:30
_opcode.c gh-135755: Move SPECIAL_ constants to a private header (GH-135922) 2025-06-25 13:03:05 +02:00
_operator.c gh-131238: Add explicit includes to pycore headers (#131257) 2025-03-17 12:32:43 +01:00
_pickle.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
_posixsubprocess.c fix comment reference from man 7 signal to man 7 signal-safety (#138554) 2025-09-06 18:40:15 +00:00
_queuemodule.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_randommodule.c gh-116946: add Py_TPFLAGS_IMMUTABLETYPE to _random.Random (#138341) 2025-09-03 09:55:53 +02:00
_remote_debugging_module.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
_scproxy.c
_ssl.c gh-138252: Add support in SSL module for getting and setting TLS signature algorithms (#138269) 2025-09-08 08:36:12 +00:00
_ssl.h
_ssl_data_35.h gh-132339: Add support for OpenSSL 3.5 (GH-137720) 2025-08-13 23:18:03 -05:00
_ssl_data_111.h gh-131423: Update OpenSSL data to 3.4.1 on Linux (#131618) 2025-04-25 10:26:58 +02:00
_ssl_data_300.h gh-127330: Update for OpenSSL 3.4 & document+improve the update process (GH-127331) 2024-11-28 13:29:27 +01:00
_ssl_data_340.h gh-131423: Update OpenSSL data to 3.4.1 on Linux (#131618) 2025-04-25 10:26:58 +02:00
_stat.c gh-108765: fix comment about macro definitions in _stat.c post GH-108854 (#136027) 2025-06-27 15:15:11 +00:00
_statisticsmodule.c
_struct.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_suggestions.c gh-131936: Strengthen check in _suggestions._generate_suggestions (#131945) 2025-03-31 19:30:29 +02:00
_sysconfig.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
_testbuffer.c gh-136300: Modify C tests to conform to PEP-737 (GH-136301) 2025-07-11 15:18:35 +02:00
_testcapi_feature_macros.inc
_testcapimodule.c gh-137210: Add a struct, slot & function for checking an extension's ABI (GH-137212) 2025-09-05 16:23:18 +02:00
_testclinic.c gh-135763: AC: Implement `allow_negative for Py_ssize_t` (#138150) 2025-09-01 22:55:22 +01:00
_testclinic_limited.c
_testimportmultiple.c
_testinternalcapi.c gh-124621: Emscripten: Add support for async input devices (GH-136822) 2025-07-19 17:14:29 +02:00
_testlimitedcapi.c gh-111495: Add PyFile tests (#129449) 2025-01-30 18:05:32 +01:00
_testmultiphase.c gh-111178: fix UBSan failures for Modules/_testmultiphase.c (#131615) 2025-03-24 10:59:30 +01:00
_testsinglephase.c gh-123880: Allow recursive import of single-phase-init modules (GH-123950) 2024-09-20 10:27:34 +02:00
_threadmodule.c gh-138004: Fix setting a thread name on OpenIndiana (GH-138017) 2025-09-02 15:26:25 +00:00
_tkinter.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
_tracemalloc.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
_typesmodule.c gh-136492: Add FrameLocalsProxyType to types (GH-136546) 2025-07-20 20:49:00 +02:00
_typingmodule.c gh-105499: Merge typing.Union and types.UnionType (#105511) 2025-03-04 11:44:19 -08:00
_uuidmodule.c gh-132710: only use stable _uuid.generate_time_safe() to deduce MAC address (#132901) 2025-05-26 10:56:31 +02:00
_weakref.c gh-120974: Make _asyncio._leave_task atomic in the free-threaded build (#122139) 2024-07-23 17:06:03 +00:00
_winapi.c gh-133711: Log Windows OEM code page in test.pythoninfo (#134840) 2025-05-28 17:41:11 +02:00
_zoneinfo.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
addrinfo.h gh-114917: add support for AI_NUMERICSERV in getaddrinfo emulation (#114918) 2025-03-18 11:26:51 +01:00
arraymodule.c GH-135763: AC: Use `Py_ssize_t(allow_negative=False)` (#138394) 2025-09-02 21:29:05 +01:00
atexitmodule.c gh-111178: remove redundant casts for functions with correct signatures (#131673) 2025-04-01 17:18:11 +02:00
binascii.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
blake2module.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
cmathmodule.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
config.c.in gh-128384: Use a context variable for warnings.catch_warnings (gh-130010) 2025-04-09 16:18:54 -07:00
errnomodule.c gh-126585: Add EHWPOISON error code (#126586) 2024-12-03 12:45:50 +00:00
faulthandler.c gh-137725: Convert faulthandler to Argument Clinic (#137726) 2025-08-16 15:16:04 +02:00
fcntlmodule.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
gc_weakref.txt GH-135552: Make the GC clear weakrefs later (GH-136189) 2025-08-07 16:32:17 -07:00
gcmodule.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
getaddrinfo.c gh-114917: Fix typo in getaddrinfo emulation (#131413) 2025-03-18 14:31:13 +01:00
getbuildinfo.c gh-100388: Change undefined __DATE__ to the Unix epoch (#100389) 2025-03-03 14:59:46 +01:00
getnameinfo.c Replace K&R function declarations with ANSI declarations (#114818) 2025-03-11 13:06:36 +01:00
getpath.c GH-131296: Avoid invalid signed char comparison in getpath.c assertion (GH-131594) 2025-04-22 14:06:30 +01:00
getpath.py gh-120037: Disable user site packages when a ._pth file is used (GH-137428) 2025-08-19 21:28:28 +01:00
getpath_noop.c
grpmodule.c gh-116738: Make grp module thread-safe (#135434) 2025-07-14 11:18:41 -07:00
hashlib.h gh-131876: Revert "gh-131876: extract _hashlib helpers into a separate directory (#136995) (#137307) 2025-08-01 10:45:40 -07:00
hmacmodule.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
itertoolsmodule.c GH-135763: AC: Use `Py_ssize_t(allow_negative=False)` (#138394) 2025-09-02 21:29:05 +01:00
ld_so_aix.in
main.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
makesetup gh-131298: eliminate HACL* static libraries for cryptographic modules (GH-132438) 2025-04-20 17:40:17 +00:00
makexp_aix
mathmodule.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
md5module.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
mmapmodule.c gh-138205: Remove the resize method on mmap object on platforms don't support it (#138276) 2025-09-06 14:10:04 +05:30
overlapped.c GH-131296: Remove unused variable from overlapped.c (GH-131590) 2025-04-16 22:44:57 +01:00
posixmodule.c gh-138401: Check arg count>=0 in os.sendfile() (#138403) 2025-09-05 09:16:55 +00:00
posixmodule.h
pwdmodule.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
pyexpat.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
readline.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
README
resource.c gh-137512: Add new constants in the resource module (GH-137513) 2025-08-19 08:52:45 +02:00
rotatingtree.c
rotatingtree.h
selectmodule.c gh-116946: add Py_TPFLAGS_IMMUTABLETYPE to select.poll and select.epoll (#138340) 2025-09-02 17:53:44 +00:00
Setup GH-132983: Build `_zstd` on Windows (#133366) 2025-05-06 00:58:47 +01:00
Setup.bootstrap.in gh-136421: Load _datetime static types during interpreter initialization (GH-136583) 2025-07-21 13:47:26 -04:00
Setup.stdlib.in gh-137210: Add a struct, slot & function for checking an extension's ABI (GH-137212) 2025-09-05 16:23:18 +02:00
sha1module.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
sha2module.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
sha3module.c GH-135763: AC: Use `Py_ssize_t(allow_negative=False)` (#138394) 2025-09-02 21:29:05 +01:00
signalmodule.c fix comment reference from man 7 signal to man 7 signal-safety (#138554) 2025-09-06 18:40:15 +00:00
socketmodule.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
socketmodule.h GH-131296: Fixes clang-cl warning on Windows in socketmodule.h (GH-131832) 2025-07-28 17:52:07 +01:00
symtablemodule.c
syslogmodule.c gh-116738: Make syslog module thread-safe (#136760) 2025-07-21 09:24:42 -07:00
termios.c GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
timemodule.c gh-134771: Fix time_clockid_converter() on Cygwin (#134772) 2025-05-29 19:35:53 +02:00
tkappinit.c
tkinter.h
unicodedata.c gh-138342: Use a common utility for visiting an object's type (GH-138343) 2025-09-01 16:20:33 +00:00
unicodedata_db.h closes gh-124016: update Unicode to 16.0.0 (#124017) 2024-09-13 07:47:04 -07:00
unicodename_db.h closes gh-124016: update Unicode to 16.0.0 (#124017) 2024-09-13 07:47:04 -07:00
winreparse.h
xxlimited.c gh-134160: Use PyModuleDef.m_free in the example module xxlimited (GH-135174) 2025-06-06 14:08:58 +00:00
xxlimited_35.c gh-111178: Fix function signatures for multiple tests (#131496) 2025-03-20 12:27:03 +01:00
xxmodule.c gh-122040: reword Modules/xxmodule.c module-level comment (#132201) 2025-04-07 08:03:03 +00:00
xxsubtype.c gh-111178: fix UBSan failures in Modules/xx*.c (GH-129797) 2025-02-25 13:02:32 +01:00
zlibmodule.c GH-135763: AC: Use `Py_ssize_t(allow_negative=False)` (#138394) 2025-09-02 21:29:05 +01:00

Source files for standard library extension modules,
and former extension modules that are now builtin modules.