summaryrefslogtreecommitdiffstats
path: root/Modules/sha512module.c
Commit message (Collapse)AuthorAgeFilesLines
* gh-99108: Refactor _sha256 & _sha512 into _sha2. (#101924)Gregory P. Smith2023-02-161-456/+0
| | | | | | | | | This merges their code. They're backed by the same single HACL* static library, having them be a single module simplifies maintenance. This should unbreak the wasm enscripten builds that currently fail due to linking in --whole-archive mode and the HACL* library appearing twice. Long unnoticed error fixed: _sha512.SHA384Type was doubly assigned and was actually SHA512Type. Nobody depends on those internal names. Also rename LIBHACL_ make vars to LIBHACL_SHA2_ in preperation for other future HACL things.
* gh-99108: Import SHA2-384/512 from HACL* (#101707)Jonathan Protzenko2023-02-141-402/+39
| | | | | | Replace the builtin hashlib implementations of SHA2-384 and SHA2-512 originally from LibTomCrypt with formally verified, side-channel resistant code from the [HACL*](https://github.com/hacl-star/hacl-star/) project. The builtins remain a fallback only used when OpenSSL does not provide them.
* 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-5/+20
|
* bpo-43908: Mark ssl, hash, and hmac types as immutable (GH-25792)Christian Heimes2021-05-021-2/+2
| | | Signed-off-by: Christian Heimes <christian@python.org>
* bpo-43916: _md5.md5 uses Py_TPFLAGS_DISALLOW_INSTANTIATION (GH-25753)Victor Stinner2021-04-301-2/+2
| | | | | | | | | | The following types use Py_TPFLAGS_DISALLOW_INSTANTIATION flag: * _md5.md5 * _sha1.sha1 * _sha256.sha224 * _sha256.sha256 * _sha512.sha384 * _sha512.sha512
* bpo-43210: Fix byteswap comment in sha512.module.c (GH-24518)Erlend Egeberg Aasland2021-02-141-1/+1
|
* 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()
* bpo-1635741: Port _sha1, _sha512, _md5 to multiphase init (GH-21818)Mohamed Koubaa2020-09-061-107/+128
| | | | Port the _sha1, _sha512, and _md5 extension modules to multi-phase initialization API (PEP 489).
* bpo-29882: Add _Py_popcount32() function (GH-20518)Victor Stinner2020-06-081-1/+1
| | | | | | * Rename pycore_byteswap.h to pycore_bitutils.h. * Move popcount_digit() to pycore_bitutils.h as _Py_popcount32(). * _Py_popcount32() uses GCC and clang builtin function if available. * Add unit tests to _Py_popcount32().
* bpo-40865: Remove unused insint() macro from hash modules (GH-20627)Erlend Egeberg Aasland2020-06-041-3/+0
| | | Automerge-Triggered-By: @tiran
* bpo-40302: Add pycore_byteswap.h header file (GH-19552)Victor Stinner2020-04-171-22/+5
| | | | | | | | | | | | | | Add a new internal pycore_byteswap.h header file with the following functions: * _Py_bswap16() * _Py_bswap32() * _Py_bswap64() Use these functions in _ctypes, sha256 and sha512 modules, and also use in the UTF-32 encoder. sha256, sha512 and _ctypes modules are now built with the internal C API.
* bpo-40268: Remove unused structmember.h includes (GH-19530)Victor Stinner2020-04-151-1/+1
| | | | | | If only offsetof() is needed: include stddef.h instead. When structmember.h is used, add a comment explaining that PyMemberDef is used.
* bpo-39573: Clean up modules and headers to use Py_IS_TYPE() function (GH-18521)Dong-hee Na2020-02-171-1/+1
|
* bpo-39573: Add Py_SET_TYPE() function (GH-18394)Victor Stinner2020-02-071-5/+8
| | | Add Py_SET_TYPE() function to set the type of an object.
* bpo-39573: Use Py_TYPE() macro in Modules directory (GH-18393)Victor Stinner2020-02-071-1/+1
| | | Replace direct access to PyObject.ob_type with Py_TYPE().
* bpo-9216: Add usedforsecurity to hashlib constructors (GH-16044)Christian Heimes2019-09-131-4/+8
| | | | | 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-4/+4
| | | | | | | | | (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-2/+2
| | | | Many type object initializations labeled a field "tp_size" in the comment, but the name of that field is tp_basicsize.
* Removed redundant Argument Clinic directives.Serhiy Storchaka2017-02-041-9/+0
|
* 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.
* stop using Py_LL and Py_ULLBenjamin Peterson2016-09-191-83/+83
|
* replace PY_LONG_LONG with long longBenjamin Peterson2016-09-061-8/+4
|
* Issue #27332: Fixed the type of the first argument of module-level functionsSerhiy Storchaka2016-07-071-4/+4
| | | | generated by Argument Clinic. Patch by Petr Viktorin.
* Issue #27076: Doc, comment and tests spelling fixesMartin Panter2016-05-261-1/+1
| | | | Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
* Implements issue #9951: Adds a hex() method to bytes, bytearray, & memoryview.Gregory P. Smith2015-04-251-21/+2
| | | | | | | Also updates a few internal implementations of the same thing to use the new built-in code. Contributed by Arnon Yaari.
* Issue #23501: Argumen Clinic now generates code into separate files by default.Serhiy Storchaka2015-04-031-153/+10
|
* Issue #20173: Convert sha1, sha256, sha512 and md5 to ArgumentClinic.Martin v. Löwis2014-07-271-47/+221
| | | | Patch by Vajrasky Kok.
* Issue #18742: Expose the internal hash type object for ABCs.Christian Heimes2013-10-221-1/+12
|
* Change the builtin hash algorithms' names to lower case namesChristian Heimes2013-08-151-2/+2
| | | | as promised by hashlib's documentation.
* Fix compiler warnings: explicit cast to int in sha256/sha512 modulesVictor Stinner2013-05-071-2/+2
|
* 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 #16166: Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unifiedChristian Heimes2012-10-171-16/+6
|/ | | | endianess detection and handling.
* 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: use Py_ssize_t instead of intVictor Stinner2011-01-041-2/+2
|
* Recorded merge of revisions 81029 via svnmerge fromAntoine Pitrou2010-05-091-73/+73
| | | | | | | | | | 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. ........
* remove old undocumented compat interfaces in hashlib and pwd #5881Benjamin Peterson2009-05-041-3/+0
|
* Fixed memory leak on failure. This is related to issue5403 but won't crash ↵Hirokazu Yamamoto2009-03-031-2/+12
| | | | on py3k.
* Fixes Issue #3745: Fix hashlib to always reject unicode and nonGregory P. Smith2009-02-121-16/+30
| | | | | 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-2/+2
| | | | | type of tp_compare in a separate commit, for ease of reversion should things go wrong.
* Implement PEP 3121: new module initialization and finalization API.Martin v. Löwis2008-06-111-8/+17
|
* 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-1/+1
| | | | in intobject.h