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
_io bpo-25415: Remove confusing sentence from IOBase docstrings (PR-31631) 2022-03-04 12:35:52 -05:00
_multiprocessing
_sha3
_sqlite bpo-44859: Raise more accurate exceptions in sqlite3 (GH-27695) 2022-03-16 22:58:25 -07:00
_ssl
_xxtestfuzz
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
_abc.c
_asynciomodule.c bpo-47057: Use FASTCALL convention for FutureIter.throw() (GH-31973) 2022-03-19 14:01:46 +02:00
_bisectmodule.c
_bz2module.c
_codecsmodule.c
_collectionsmodule.c
_contextvarsmodule.c
_cryptmodule.c
_csv.c bpo-46541: Remove unnecessary Py_VISIT (GH-31608) 2022-02-28 08:06:58 +01:00
_curses_panel.c
_cursesmodule.c
_datetimemodule.c
_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
_gdbmmodule.c bpo-46541: Remove usage of _Py_IDENTIFIER from dbms modules (GH-31358) 2022-02-16 18:57:28 +09:00
_hashopenssl.c
_heapqmodule.c
_json.c
_localemodule.c
_lsprof.c
_lzmamodule.c bpo-46541: Remove usage of _Py_IDENTIFIER from lzma module (GH-31683) 2022-03-05 01:38:56 +09:00
_math.h
_opcode.c
_operator.c
_pickle.c bpo-46906: Add PyFloat_Pack8() to the C API (GH-31657) 2022-03-12 00:10:02 +01:00
_posixsubprocess.c
_queuemodule.c
_randommodule.c
_scproxy.c
_sre.c
_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
_ssl_data_111.h
_ssl_data_300.h
_stat.c
_statisticsmodule.c
_struct.c bpo-46906: Add PyFloat_Pack8() to the C API (GH-31657) 2022-03-12 00:10:02 +01:00
_testbuffer.c
_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
_testmultiphase.c
_threadmodule.c
_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
_uuidmodule.c
_weakref.c bpo-46937: convert remaining functions to AC in _weakref (GH-31705) 2022-03-07 18:57:45 +09:00
_winapi.c
_xxsubinterpretersmodule.c bpo-46836: Rename InterpreterFrame to _PyInterpreterFrame (GH-31583) 2022-02-25 16:22:00 +01:00
_zoneinfo.c
addrinfo.h
arraymodule.c bpo-46906: Add PyFloat_Pack8() to the C API (GH-31657) 2022-03-12 00:10:02 +01:00
atexitmodule.c
audioop.c
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
errnomodule.c
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
gc_weakref.txt
gcmodule.c
getaddrinfo.c
getbuildinfo.c
getnameinfo.c
getpath.c
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
grpmodule.c
hashlib.h
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
main.c
makesetup
makexp_aix
mathmodule.c bpo-46656: Remove Py_NO_NAN macro (GH-31160) 2022-02-25 01:32:57 +01:00
md5module.c
mmapmodule.c bpo-46848: Move _PyBytes_Find() to internal C API (GH-31642) 2022-03-02 14:15:26 +01:00
nismodule.c
ossaudiodev.c
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
pwdmodule.c
pyexpat.c bpo-46541: Remove usage of _Py_IDENTIFIER from pyexpat (GH-31468) 2022-02-21 23:46:52 +09:00
readline.c
README
resource.c
rotatingtree.c
rotatingtree.h
selectmodule.c bpo-40280: select: Use NULL for empty fdset (GH-31865) 2022-03-14 14:40:28 +01:00
Setup
Setup.bootstrap.in bpo-46933: Make pwd module optional (GH-31700) 2022-03-07 13:36:47 +01:00
Setup.stdlib.in
sha1module.c
sha256module.c
sha512module.c
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
sre.h
sre_constants.h
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
syslogmodule.c
termios.c
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
unicodedata_db.h
unicodename_db.h
winreparse.h
xxlimited.c
xxlimited_35.c
xxmodule.c
xxsubtype.c
zlibmodule.c bpo-38256: Fix binascii.crc32() when inputs are 4+GiB (GH-32000) 2022-03-20 12:28:15 -07:00

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