summaryrefslogtreecommitdiffstats
path: root/Modules/md5module.c
Commit message (Collapse)AuthorAgeFilesLines
* [3.12] gh-99108: Release the GIL around hashlib built-in computation ↵Miss Islington (bot)2023-05-231-3/+34
| | | | | | | | | | | | | | (GH-104675) (#104776) gh-99108: Release the GIL around hashlib built-in computation (GH-104675) This matches the GIL releasing behavior of our existing `_hashopenssl` module, extending it to the HACL* built-ins. Includes adding comments to better describe the ENTER/LEAVE macros purpose and explain the lock strategy in both existing and new code. (cherry picked from commit 2e5d8a90aa633ff0bebc9b2b8e21eea389937b19) Co-authored-by: Gregory P. Smith [Google] <greg@krypto.org>
* gh-99113: Add Py_MOD_PER_INTERPRETER_GIL_SUPPORTED (gh-104205)Eric Snow2023-05-051-0/+1
| | | Here we are doing no more than adding the value for Py_mod_multiple_interpreters and using it for stdlib modules. We will start checking for it in gh-104206 (once PyInterpreterState.ceval.own_gil is added in gh-104204).
* gh-101476: Use _PyType_GetModuleState where applicable (#102188)Erlend E. Aasland2023-02-241-1/+2
|
* gh-99108: Import MD5 and SHA1 from HACL* (#102089)Jonathan Protzenko2023-02-221-283/+21
| | | Replaces our fallback non-OpenSSL MD5 and SHA1 implementations with those from HACL* as we've already done with SHA2.
* bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157)Christian Heimes2021-10-221-0/+3
| | | | | | | | | | | | | | setup.py no longer defines Py_BUILD_CORE_MODULE. Instead every module defines the macro before #include "Python.h" unless Py_BUILD_CORE_BUILTIN is already defined. Py_BUILD_CORE_BUILTIN is defined for every module that is built by Modules/Setup. The PR also simplifies Modules/Setup. Makefile and makesetup already define Py_BUILD_CORE_BUILTIN and include Modules/internal for us. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-45434: Remove pystrhex.h header file (GH-28923)Victor Stinner2021-10-131-1/+1
| | | | | | | | | | | | | | | Move Include/pystrhex.h to Include/internal/pycore_strhex.h. The header file only contains private functions. The following C extensions are now built with Py_BUILD_CORE_MODULE macro defined to get access to the internal C API: * _blake2 * _hashopenssl * _md5 * _sha1 * _sha3 * _ssl * binascii
* bpo-42972: Fully support GC for hashlib heap types (GH-26374)Erlend Egeberg Aasland2021-05-271-3/+14
|
* bpo-43908: Mark ssl, hash, and hmac types as immutable (GH-25792)Christian Heimes2021-05-021-1/+1
| | | Signed-off-by: Christian Heimes <christian@python.org>
* bpo-43916: _md5.md5 uses Py_TPFLAGS_DISALLOW_INSTANTIATION (GH-25753)Victor Stinner2021-04-301-1/+1
| | | | | | | | | | The following types use Py_TPFLAGS_DISALLOW_INSTANTIATION flag: * _md5.md5 * _sha1.sha1 * _sha256.sha224 * _sha256.sha256 * _sha512.sha384 * _sha512.sha512
* bpo-43204: Fix LibTomCrypt URL in md5module.c and sha*module.c comments ↵Erlend Egeberg Aasland2021-02-121-1/+1
| | | | | (GH-24507) Automerge-Triggered-By: GH:tiran
* bpo-42519: Replace PyObject_MALLOC() with PyObject_Malloc() (GH-23587)Victor Stinner2020-12-011-1/+1
| | | | | | | | | No longer use deprecated aliases to functions: * Replace PyObject_MALLOC() with PyObject_Malloc() * Replace PyObject_REALLOC() with PyObject_Realloc() * Replace PyObject_FREE() with PyObject_Free() * Replace PyObject_Del() with PyObject_Free() * Replace PyObject_DEL() with PyObject_Free()
* md5module: Fix doc strings variable names (GH-22722)Jakub Jelen2020-10-201-3/+3
|
* bpo-1635741: Port _sha1, _sha512, _md5 to multiphase init (GH-21818)Mohamed Koubaa2020-09-061-65/+89
| | | | Port the _sha1, _sha512, and _md5 extension modules to multi-phase initialization API (PEP 489).
* bpo-40865: Remove unused insint() macro from hash modules (GH-20627)Erlend Egeberg Aasland2020-06-041-3/+0
| | | Automerge-Triggered-By: @tiran
* closes bpo-39621: Make buf arg to md5_compress be const. (GH-18497)Andy Lester2020-02-131-2/+2
|
* bpo-39573: Add Py_SET_TYPE() function (GH-18394)Victor Stinner2020-02-071-3/+5
| | | Add Py_SET_TYPE() function to set the type of an object.
* bpo-9216: Add usedforsecurity to hashlib constructors (GH-16044)Christian Heimes2019-09-131-2/+4
| | | | | The usedforsecurity keyword only argument added to the hash constructors is useful for FIPS builds and similar restrictive environment with non-technical requirements that legacy algorithms be forbidden by their implementations without being explicitly annotated as not being used for any security related purposes. Linux distros with FIPS support benefit from this being standard rather than making up their own way(s) to do it. Contributed and Signed-off-by: Christian Heimes christian@python.org
* bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async ↵Jeroen Demeyer2019-05-311-2/+2
| | | | | | | | | (GH-13464) Automatically replace tp_print -> tp_vectorcall_offset tp_compare -> tp_as_async tp_reserved -> tp_as_async
* bpo-20216: Correct docstrings of digest() methods in hashlib. (GH-9873)Srinivas Thatiparthy (శ్రీనివాస్ తాటిపర్తి)2018-10-191-2/+2
|
* Fix misleading mentions of tp_size in comments (GH-9093)Peter Eisentraut2018-09-101-1/+1
| | | | Many type object initializations labeled a field "tp_size" in the comment, but the name of that field is tp_basicsize.
* bpo-32746: Fix multiple typos (GH-5144)Leo Arias2018-02-041-1/+1
| | | Fix typos found by codespell in docs, docstrings, and comments.
* Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE whereverSerhiy Storchaka2017-01-231-2/+1
| | | | possible. Patch is writen with Coccinelle.
* replace PY_LONG_LONG with long longBenjamin Peterson2016-09-061-1/+1
|
* Issue #27332: Fixed the type of the first argument of module-level functionsSerhiy Storchaka2016-07-071-2/+2
| | | | generated by Argument Clinic. Patch by Petr Viktorin.
* Issue9951: update _hashopenssl and md5module to use _Py_strhex().Gregory P. Smith2015-04-251-21/+2
| | | | Also update _posixsubprocess to use Py_hexdigits instead of its own constant.
* Remove redundant check fro md5module.Christian Heimes2015-04-161-7/+2
| | | | CID 1294331 (#1 of 1): Identical code for different branches (IDENTICAL_BRANCHES)
* Issue #23501: Argumen Clinic now generates code into separate files by default.Serhiy Storchaka2015-04-031-97/+6
|
* Issue #20173: Convert sha1, sha256, sha512 and md5 to ArgumentClinic.Martin v. Löwis2014-07-271-32/+144
| | | | Patch by Vajrasky Kok.
* Issue #18742: Expose the internal hash type object for ABCs.Christian Heimes2013-10-221-1/+10
|
* Change the builtin hash algorithms' names to lower case namesChristian Heimes2013-08-151-1/+1
| | | | as promised by hashlib's documentation.
* Reuse Py_MIN and Py_MAX macros: remove duplicate MIN/MAX macrosVictor Stinner2013-06-041-5/+1
| | | | multiprocessing.h: remove unused MIN and MAX macros
* Issue #16847: Fixed improper use of _PyUnicode_CheckConsistency() inChristian Heimes2013-01-031-0/+2
|\ | | | | | | | | non-pydebug builds. Several extension modules now compile cleanly when assert()s are enabled in standard builds (-DDEBUG flag).
| * Issue #16847: Fixed improper use of _PyUnicode_CheckConsistency() inChristian Heimes2013-01-031-0/+2
| | | | | | | | | | non-pydebug builds. Several extension modules now compile cleanly when assert()s are enabled in standard builds (-DDEBUG flag).
* | Issue #9566: Explicit downcast to fix compiler warnings on Win64Victor Stinner2012-10-301-1/+1
|/
* md5_{init,process,done}: make staticdoko@ubuntu.com2012-06-211-4/+6
|
* Check newly created consistency using _PyUnicode_CheckConsistency(str, 1)Victor Stinner2012-04-271-0/+1
| | | | | | * In debug mode, fill the string data with invalid characters * Simplify also reference counting in PyCodec_BackslashReplaceErrors() and PyCodec_XMLCharRefReplaceError()
* Issue #13088: Add shared Py_hexdigits constant to format a number into base 16Victor Stinner2011-10-141-5/+3
|
* Implement PEP 393.Martin v. Löwis2011-09-281-7/+3
|
* Issue #9566: cast unsigned int to Py_ssize_t in md5 and sha1 modulesVictor Stinner2011-07-071-1/+1
| | | | Fix a compiler warning on Windows 64 bits.
* Issue #9566: use Py_ssize_t instead of intVictor Stinner2011-01-041-2/+2
|
* Recorded merge of revisions 81029 via svnmerge fromAntoine Pitrou2010-05-091-36/+36
| | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines Untabify C files. Will watch buildbots. ........
* Fixed memory leak on failure. This is related to issue5403 but won't crash ↵Hirokazu Yamamoto2009-03-031-2/+7
| | | | on py3k.
* Fixes Issue #3745: Fix hashlib to always reject unicode and nonGregory P. Smith2009-02-121-5/+12
| | | | | buffer-api supporting objects as input no matter how it was compiled (built in implementations or external openssl library).
* Issue #1717: rename tp_compare to tp_reserved. I'll change theMark Dickinson2009-02-021-1/+1
| | | | | type of tp_compare in a separate commit, for ease of reversion should things go wrong.
* Use s* to receive data. Fixes #3552.Martin v. Löwis2008-08-141-11/+13
|
* Fix module initialization glitches.Martin v. Löwis2008-06-111-1/+1
|
* Implement PEP 3121: new module initialization and finalization API.Martin v. Löwis2008-06-111-7/+16
|
* Renamed PyString to PyBytesChristian Heimes2008-05-261-1/+1
|
* #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT.Christian Heimes2007-12-191-2/+2
|
* Cleanup: Replaced most PyInt_ aliases with PyLong_ and disabled the aliases ↵Christian Heimes2007-12-021-2/+2
| | | | in intobject.h