cpython/Modules
Gregory P. Smith 9d1c4d69db
bpo-38256: Fix binascii.crc32() when inputs are 4+GiB (GH-32000)
When compiled with `USE_ZLIB_CRC32` defined (`configure` sets this on POSIX systems), `binascii.crc32(...)` failed to compute the correct value when the input data was >= 4GiB. Because the zlib crc32 API is limited to a 32-bit length.

This lines it up with the `zlib.crc32(...)` implementation that doesn't have that flaw.

**Performance:** This also adopts the same GIL releasing for larger inputs logic that `zlib.crc32` has, and causes the Windows build to always use zlib's crc32 instead of our slow C code as zlib is a required build dependency on Windows.
2022-03-20 12:28:15 -07:00
..
_blake2 Remove trailing spaces (GH-31695) 2022-03-05 17:47:00 +02:00
_ctypes bpo-46920: Remove code that has no explainer why it was disabled (GH-31814) 2022-03-14 17:02:32 +01:00
_decimal bpo-46361: Fix "small" `int` caching (GH-30583) 2022-01-16 16:06:37 +00:00
_io bpo-25415: Remove confusing sentence from IOBase docstrings (PR-31631) 2022-03-04 12:35:52 -05:00
_multiprocessing bpo-45847: Fix _multiprocessing on platforms without sem_open (GH-29833) 2021-11-29 10:36:10 +01:00
_sha3 bpo-46670: Fix #ifdef in sha3module.c (GH-31180) 2022-02-07 16:22:24 +01:00
_sqlite bpo-44859: Raise more accurate exceptions in `sqlite3` (GH-27695) 2022-03-16 22:58:25 -07:00
_ssl bpo-43908: Mark ssl, hash, and hmac types as immutable (GH-25792) 2021-05-02 09:47:45 +02:00
_xxtestfuzz bpo-29505: Add fuzzer for ast.literal_eval (GH-28777) 2021-10-06 16:22:09 -07:00
cjkcodecs bpo-46541: Remove usage of _Py_IDENTIFIER from multibytecodec (GH-31475) 2022-03-01 23:35:43 +09:00
clinic bpo-38256: Fix binascii.crc32() when inputs are 4+GiB (GH-32000) 2022-03-20 12:28:15 -07:00
expat bpo-46932: Update bundled libexpat to 2.4.7 (GH-31736) 2022-03-07 21:46:18 +00:00
README
Setup bpo-45847: Port _scproxy to PY_STDLIB_MOD (GH-29644) 2021-11-20 10:18:48 +01:00
Setup.bootstrap.in bpo-46933: Make pwd module optional (GH-31700) 2022-03-07 13:36:47 +01:00
Setup.stdlib.in bpo-40280: Allow to compile _testcapi as builtin module (GH-30559) 2022-01-12 20:27:37 +01:00
_abc.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
_asynciomodule.c bpo-47057: Use FASTCALL convention for FutureIter.throw() (GH-31973) 2022-03-19 14:01:46 +02:00
_bisectmodule.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
_bz2module.c bpo-43908: Make heap types converted during 3.10 alpha immutable (GH-26351) 2021-06-17 11:06:09 +01:00
_codecsmodule.c bpo-45467: Fix IncrementalDecoder and StreamReader in the "raw-unicode-escape" codec (GH-28944) 2021-10-14 20:04:19 +03:00
_collectionsmodule.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
_contextvarsmodule.c bpo-1635741: _contextvars uses PyModule_AddType() (GH-23147) 2020-11-04 16:33:55 +01:00
_cryptmodule.c closes bpo-44751: Move crypt.h include from public header to _cryptmodule (GH-27394) 2021-07-27 15:58:12 -07:00
_csv.c bpo-46541: Remove unnecessary Py_VISIT (GH-31608) 2022-02-28 08:06:58 +01:00
_curses_panel.c bpo-43916: Add Py_TPFLAGS_DISALLOW_INSTANTIATION type flag (GH-25721) 2021-04-30 12:46:15 +02:00
_cursesmodule.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
_datetimemodule.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
_dbmmodule.c bpo-46541: Remove usage of _Py_IDENTIFIER from dbms modules (GH-31358) 2022-02-16 18:57:28 +09:00
_elementtree.c Remove an old, elementtree-specific leak detector (GH-31811) 2022-03-11 09:47:42 -05:00
_functoolsmodule.c bpo-46613: Add PyType_GetModuleByDef to the public API (GH-31081) 2022-02-11 17:22:11 +01:00
_gdbmmodule.c bpo-46541: Remove usage of _Py_IDENTIFIER from dbms modules (GH-31358) 2022-02-16 18:57:28 +09:00
_hashopenssl.c bpo-40479: Fix undefined behavior in Modules/_hashopenssl.c (GH-31153) 2022-02-06 23:40:54 -08:00
_heapqmodule.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
_json.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
_localemodule.c bpo-42519: Replace PyMem_MALLOC() with PyMem_Malloc() (GH-23586) 2020-12-01 09:56:42 +01:00
_lsprof.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
_lzmamodule.c bpo-46541: Remove usage of _Py_IDENTIFIER from lzma module (GH-31683) 2022-03-05 01:38:56 +09:00
_math.h bpo-45548: Remove _math.c workarounds for pre-C99 libm (GH-29179) 2021-10-25 01:25:27 -07:00
_opcode.c bpo-46072: Add --with-pystats configure option to simplify gathering of VM stats (GH-30116) 2021-12-15 15:32:32 +00:00
_operator.c bpo-44953: Add vectorcall for itemgetter and attrgetter instances (GH-27828) 2022-02-10 16:57:47 -05:00
_pickle.c bpo-46906: Add PyFloat_Pack8() to the C API (GH-31657) 2022-03-12 00:10:02 +01:00
_posixsubprocess.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
_queuemodule.c bpo-46613: Add PyType_GetModuleByDef to the public API (GH-31081) 2022-02-11 17:22:11 +01:00
_randommodule.c bpo-46613: Add PyType_GetModuleByDef to the public API (GH-31081) 2022-02-11 17:22:11 +01:00
_scproxy.c bpo-1635741: port scproxy to multi-phase init (GH-22164) 2020-09-09 12:28:48 +09:00
_sre.c Fix typos in the Modules directory (GH-28761) 2021-10-07 01:34:42 -07:00
_ssl.c bpo-46541: remove usage of _Py_IDENTIFIER from _ssl module (GH-31599) 2022-03-02 00:38:21 +09:00
_ssl.h bpo-46541: remove usage of _Py_IDENTIFIER from _ssl module (GH-31599) 2022-03-02 00:38:21 +09:00
_ssl_data.h closes bpo-40266, closes bpo-39953: Use numeric lib code if compiling against old OpenSSL. (GH-19506) 2020-04-13 22:11:40 -05:00
_ssl_data_111.h bpo-43788: Generate version specific _ssl_data.h (GH-25300) 2021-04-09 08:02:00 -07:00
_ssl_data_300.h bpo-43788: Generate version specific _ssl_data.h (GH-25300) 2021-04-09 08:02:00 -07:00
_stat.c bpo-40677: Define IO_REPARSE_TAG_APPEXECLINK explicitly (GH-20206) 2020-05-19 13:22:16 +01:00
_statisticsmodule.c bpo-40268: Remove unused structmember.h includes (GH-19530) 2020-04-15 02:35:41 +02:00
_struct.c bpo-46906: Add PyFloat_Pack8() to the C API (GH-31657) 2022-03-12 00:10:02 +01:00
_testbuffer.c bpo-42519: Replace PyObject_MALLOC() with PyObject_Malloc() (GH-23587) 2020-12-01 10:37:39 +01:00
_testcapimodule.c bpo-46906: Add PyFloat_Pack8() to the C API (GH-31657) 2022-03-12 00:10:02 +01:00
_testimportmultiple.c
_testinternalcapi.c bpo-29882: Fix portability bug introduced in GH-30774 (#30794) 2022-01-23 09:59:34 +00:00
_testmultiphase.c bpo-46613: Add PyType_GetModuleByDef to the public API (GH-31081) 2022-02-11 17:22:11 +01:00
_threadmodule.c bpo-46613: Add PyType_GetModuleByDef to the public API (GH-31081) 2022-02-11 17:22:11 +01:00
_tkinter.c bpo-46996: Remove support of Tcl/Tk < 8.5.12 (GH-31839) 2022-03-17 13:05:52 +02:00
_tracemalloc.c bpo-46836: Rename InterpreterFrame to _PyInterpreterFrame (GH-31583) 2022-02-25 16:22:00 +01:00
_typingmodule.c bpo-44353: Implement typing.NewType __call__ method in C (#27262) 2021-07-22 23:06:54 +02:00
_uuidmodule.c bpo-45847: Port _uuid to PY_STDLIB_MOD (GH-29741) 2021-11-24 10:20:37 +01:00
_weakref.c bpo-46937: convert remaining functions to AC in _weakref (GH-31705) 2022-03-07 18:57:45 +09:00
_winapi.c Update URLs in comments and metadata to use HTTPS (GH-27458) 2021-07-30 15:54:46 +02:00
_xxsubinterpretersmodule.c bpo-46836: Rename InterpreterFrame to _PyInterpreterFrame (GH-31583) 2022-02-25 16:22:00 +01:00
_zoneinfo.c bpo-46383: Fix signature of zoneinfo module_free function (GH-30607) 2022-01-15 09:52:19 +01:00
addrinfo.h replace PY_LONG_LONG with long long 2016-09-06 10:46:49 -07:00
arraymodule.c bpo-46906: Add PyFloat_Pack8() to the C API (GH-31657) 2022-03-12 00:10:02 +01:00
atexitmodule.c bpo-46025: Fix a crash in the atexit module for auto-unregistering functions (GH-30002) 2021-12-09 13:53:44 +00:00
audioop.c bpo-46670: Test if a macro is defined, not its value (GH-31178) 2022-02-07 01:46:51 +01:00
binascii.c bpo-38256: Fix binascii.crc32() when inputs are 4+GiB (GH-32000) 2022-03-20 12:28:15 -07:00
cmathmodule.c bpo-46656: Remove Py_NO_NAN macro (GH-31160) 2022-02-25 01:32:57 +01:00
config.c.in Add tests for the C tokenizer and expose it as a private module (GH-27924) 2021-08-24 17:50:05 +01:00
errnomodule.c bpo-42971: Add errno.EQFULL (macOS) (GH-24419) 2021-08-06 23:35:13 +02:00
faulthandler.c bpo-46968: Check for 'sys/auxv.h' in the configure script (GH-31961) 2022-03-18 05:03:22 -07:00
fcntlmodule.c bpo-46016: fcntl module add FreeBSD's F_DUP2FD_CLOEXEC flag support (GH-29993) 2021-12-08 23:28:51 +01:00
gc_weakref.txt Fix typos in the Modules directory (GH-28761) 2021-10-07 01:34:42 -07:00
gcmodule.c bpo-40170: PyType_SUPPORTS_WEAKREFS() becomes a regular function (GH-30938) 2022-01-27 03:00:55 +01:00
getaddrinfo.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
getbuildinfo.c bpo-45532: Replace 'default' with 'main' as default in sys.version (GH-29100) 2021-10-21 02:09:03 +09:00
getnameinfo.c
getpath.c bpo-46362: Ensure ntpath.abspath() uses the Windows API correctly (GH-30571) 2022-01-13 23:35:42 +00:00
getpath.py bpo-45582: Don't fail if ENV_PATH is None in getpath.py (GH-31699) 2022-03-06 20:49:27 +01:00
getpath_noop.c bpo-45582: Port getpath[p].c to Python (GH-29041) 2021-12-03 00:08:42 +00:00
grpmodule.c bpo-1635741: Port grp and pwd to multiphase initialization (GH-23360) 2020-11-18 23:47:32 -08:00
hashlib.h hashlib: Fix old message about unicode objects. (GH-28653) 2021-10-01 14:38:49 +02:00
itertoolsmodule.c bpo-46728: fix docstring of combinations_with_replacement for consistency (GH-31293) 2022-02-15 09:02:21 +09:00
ld_so_aix.in Issue #10656: Fix out-of-tree building on AIX 2016-11-20 07:56:37 +00:00
main.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
makesetup bpo-46023: Skip build if module is marked as DISABLED (GH-30100) 2021-12-14 15:42:46 +01:00
makexp_aix bpo-42087: Remove support for AIX 5.3 and below (GH-22830) 2020-11-16 16:16:10 +01:00
mathmodule.c bpo-46656: Remove Py_NO_NAN macro (GH-31160) 2022-02-25 01:32:57 +01:00
md5module.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
mmapmodule.c bpo-46848: Move _PyBytes_Find() to internal C API (GH-31642) 2022-03-02 14:15:26 +01:00
nismodule.c bpo-45434: pyport.h no longer includes <stdlib.h> (GH-28914) 2021-10-13 19:25:53 +02:00
ossaudiodev.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
overlapped.c bpo-47003: Cleanup _overlapped module (GH-31848) 2022-03-13 23:28:45 +02:00
posixmodule.c bpo-46968: Add os.sysconf_names['SC_MINSIGSTKSZ'] (GH-31824) 2022-03-11 23:01:40 +01:00
posixmodule.h bpo-41498: Fix build on platforms without sigset_t (GH-29770) 2021-11-25 12:28:41 +01:00
pwdmodule.c bpo-46670: Remove unused macros in the Modules directory (GH-31194) 2022-02-07 16:21:31 +01:00
pyexpat.c bpo-46541: Remove usage of _Py_IDENTIFIER from pyexpat (GH-31468) 2022-02-21 23:46:52 +09:00
readline.c bpo-45434: pyport.h no longer includes <stdlib.h> (GH-28914) 2021-10-13 19:25:53 +02:00
resource.c bpo-40280: Address more test failures on Emscripten (GH-31050) 2022-02-05 20:52:01 +01:00
rotatingtree.c
rotatingtree.h bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
selectmodule.c bpo-40280: select: Use NULL for empty fdset (GH-31865) 2022-03-14 14:40:28 +01:00
sha1module.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
sha256module.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
sha512module.c bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157) 2021-10-22 15:36:28 +02:00
signalmodule.c bpo-23325: Fix SIG_IGN and SIG_DFL int comparison in signal module (GH-31759) 2022-03-08 10:22:32 -08:00
socketmodule.c bpo-46030: socket module add couple of FreeBSD constants. (GH-30018) 2022-03-17 22:40:00 +02:00
socketmodule.h bpo-40280: Disable AF_UNIX, AF_PACKET, SO_REUSE* on Emscripten (#31829) 2022-03-11 23:25:14 +01:00
spwdmodule.c bpo-1635741: Port spwd to multiphase initialization (GH-23390) 2020-11-19 10:54:03 +01:00
sre.h bpo-39943: Add the const qualifier to pointers on non-mutable PyUnicode data. (GH-19345) 2020-04-11 10:48:40 +03:00
sre_constants.h bpo-31690: Allow the inline flags "a", "L", and "u" to be used as group flags for RE. (#3885) 2017-10-24 23:31:42 +03:00
sre_lib.h bpo-46920: Remove code that has explainers why it was disabled (GH-31813) 2022-03-14 17:04:22 +01:00
symtablemodule.c bpo-42725: Render annotations effectless on symbol table with PEP 563 (GH-25583) 2021-05-03 10:43:00 +03:00
syslogmodule.c Fix typos in the Modules directory (GH-28761) 2021-10-07 01:34:42 -07:00
termios.c Remove trailing spaces. (GH-28706) 2021-10-03 16:58:14 +03:00
testcapi_long.h
timemodule.c bpo-40280: Detect presence of time.tzset and thread_time clock (GH-31898) 2022-03-15 21:55:35 +01:00
tkappinit.c
tkinter.h
unicodedata.c bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized global objects. (gh-30928) 2022-02-08 13:39:07 -07:00
unicodedata_db.h closes bpo-45190: Update Unicode data to version 14.0.0. (GH-28336) 2021-09-14 11:00:38 -07:00
unicodename_db.h closes bpo-45190: Update Unicode data to version 14.0.0. (GH-28336) 2021-09-14 11:00:38 -07:00
winreparse.h bpo-31512: Add non-elevated symlink support for Windows (GH-3652) 2019-04-09 11:19:46 -07:00
xxlimited.c bpo-45459: Add Py_buffer to limited API (GH-29991) 2022-02-02 07:03:10 -08:00
xxlimited_35.c bpo-42972: Fully implement GC protocol for xxlimited (GH-26451) 2021-05-31 09:51:19 +02:00
xxmodule.c bpo-42519: Replace PyObject_MALLOC() with PyObject_Malloc() (GH-23587) 2020-12-01 10:37:39 +01:00
xxsubtype.c bpo-46315: Add ifdef HAVE_ feature checks for WASI compatibility (GH-30507) 2022-01-13 09:46:04 +01:00
zlibmodule.c bpo-38256: Fix binascii.crc32() when inputs are 4+GiB (GH-32000) 2022-03-20 12:28:15 -07:00

README

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