Gregory P. Smith
2e5d8a90aa
gh-99108: Release the GIL around hashlib built-in computation ( #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.
2023-05-23 00:06:41 +00:00
Eric Snow
a9c6e0618f
gh-99113: Add Py_MOD_PER_INTERPRETER_GIL_SUPPORTED (gh-104205)
...
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).
2023-05-05 21:11:27 +00:00
Erlend E. Aasland
568fc0dee4
gh-101476: Use _PyType_GetModuleState where applicable ( #102188 )
2023-02-24 21:16:29 +01:00
Jonathan Protzenko
fcadc7e405
gh-99108: Import MD5 and SHA1 from HACL* ( #102089 )
...
Replaces our fallback non-OpenSSL MD5 and SHA1 implementations with those from HACL* as we've already done with SHA2.
2023-02-22 13:18:43 -08:00
Christian Heimes
03e9f5dc75
bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157)
...
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>
2021-10-22 15:36:28 +02:00
Victor Stinner
bbe7497c5a
bpo-45434: Remove pystrhex.h header file (GH-28923)
...
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
2021-10-13 15:22:35 +02:00
Erlend Egeberg Aasland
6ef5ba391d
bpo-42972: Fully support GC for hashlib heap types (GH-26374)
2021-05-27 09:48:19 +02:00
Christian Heimes
91554e4c5c
bpo-43908: Mark ssl, hash, and hmac types as immutable (GH-25792)
...
Signed-off-by: Christian Heimes <christian@python.org>
2021-05-02 09:47:45 +02:00
Victor Stinner
665c7746fc
bpo-43916: _md5.md5 uses Py_TPFLAGS_DISALLOW_INSTANTIATION (GH-25753)
...
The following types use Py_TPFLAGS_DISALLOW_INSTANTIATION flag:
* _md5.md5
* _sha1.sha1
* _sha256.sha224
* _sha256.sha256
* _sha512.sha384
* _sha512.sha512
2021-04-30 18:40:30 +02:00
Erlend Egeberg Aasland
5ec7d53558
bpo-43204: Fix LibTomCrypt URL in md5module.c and sha*module.c comments (GH-24507)
...
Automerge-Triggered-By: GH:tiran
2021-02-12 02:34:11 -08:00
Victor Stinner
32bd68c839
bpo-42519: Replace PyObject_MALLOC() with PyObject_Malloc() (GH-23587)
...
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()
2020-12-01 10:37:39 +01:00
Jakub Jelen
d5d0521270
md5module: Fix doc strings variable names (GH-22722)
2020-10-20 18:10:43 +09:00
Mohamed Koubaa
63f102fe07
bpo-1635741: Port _sha1, _sha512, _md5 to multiphase init (GH-21818)
...
Port the _sha1, _sha512, and _md5 extension modules
to multi-phase initialization API (PEP 489).
2020-09-06 12:09:51 +02:00
Erlend Egeberg Aasland
6ed578f6db
bpo-40865: Remove unused insint() macro from hash modules (GH-20627)
...
Automerge-Triggered-By: @tiran
2020-06-04 13:08:42 -07:00
Andy Lester
597ebed748
closes bpo-39621: Make buf arg to md5_compress be const. (GH-18497)
2020-02-12 20:53:01 -08:00
Victor Stinner
d2ec81a8c9
bpo-39573: Add Py_SET_TYPE() function (GH-18394)
...
Add Py_SET_TYPE() function to set the type of an object.
2020-02-07 09:17:07 +01:00
Christian Heimes
7cad53e6b0
bpo-9216: Add usedforsecurity to hashlib constructors (GH-16044)
...
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
2019-09-12 19:30:00 -05:00
Jeroen Demeyer
530f506ac9
bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464)
...
Automatically replace
tp_print -> tp_vectorcall_offset
tp_compare -> tp_as_async
tp_reserved -> tp_as_async
2019-05-30 19:13:39 -07:00
Srinivas Thatiparthy (శ్రీనివాస్ తాటిపర్తి)
f192aeb95a
bpo-20216: Correct docstrings of digest() methods in hashlib. (GH-9873)
2018-10-19 20:42:53 +03:00
Peter Eisentraut
0e0bc4e221
Fix misleading mentions of tp_size in comments (GH-9093)
...
Many type object initializations labeled a field "tp_size" in the
comment, but the name of that field is tp_basicsize.
2018-09-10 09:46:08 -07:00
Leo Arias
c3d9508ff2
bpo-32746: Fix multiple typos (GH-5144)
...
Fix typos found by codespell in docs, docstrings, and comments.
2018-02-03 19:36:10 -05:00
Serhiy Storchaka
228b12edcc
Issue #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
...
possible. Patch is writen with Coccinelle.
2017-01-23 09:47:21 +02:00
Benjamin Peterson
af580dff4a
replace PY_LONG_LONG with long long
2016-09-06 10:46:49 -07:00
Serhiy Storchaka
1a2b24f02d
Issue #27332 : Fixed the type of the first argument of module-level functions
...
generated by Argument Clinic. Patch by Petr Viktorin.
2016-07-07 17:35:15 +03:00
Gregory P. Smith
4dff6f6fa6
Issue9951: update _hashopenssl and md5module to use _Py_strhex().
...
Also update _posixsubprocess to use Py_hexdigits instead of its own constant.
2015-04-25 23:42:38 +00:00
Christian Heimes
29fbd21d73
Remove redundant check fro md5module.
...
CID 1294331 (#1 of 1): Identical code for different branches (IDENTICAL_BRANCHES)
2015-04-16 17:29:11 +02:00
Serhiy Storchaka
1009bf18b3
Issue #23501 : Argumen Clinic now generates code into separate files by default.
2015-04-03 23:53:51 +03:00
Martin v. Löwis
501b13c622
Issue #20173 : Convert sha1, sha256, sha512 and md5 to ArgumentClinic.
...
Patch by Vajrasky Kok.
2014-07-27 14:20:23 +02:00
Christian Heimes
327dd732ce
Issue #18742 : Expose the internal hash type object for ABCs.
2013-10-22 15:05:23 +02:00
Christian Heimes
37d5cebb48
Change the builtin hash algorithms' names to lower case names
...
as promised by hashlib's documentation.
2013-08-15 18:31:48 +02:00
Victor Stinner
640c35ce13
Reuse Py_MIN and Py_MAX macros: remove duplicate MIN/MAX macros
...
multiprocessing.h: remove unused MIN and MAX macros
2013-06-04 23:14:37 +02:00
Christian Heimes
75e923fcf2
Issue #16847 : Fixed improper use of _PyUnicode_CheckConsistency() in
...
non-pydebug builds. Several extension modules now compile cleanly when
assert()s are enabled in standard builds (-DDEBUG flag).
2013-01-03 09:22:41 +01:00
Christian Heimes
f402e922f3
Issue #16847 : Fixed improper use of _PyUnicode_CheckConsistency() in
...
non-pydebug builds. Several extension modules now compile cleanly when
assert()s are enabled in standard builds (-DDEBUG flag).
2013-01-03 09:21:55 +01:00
Victor Stinner
56cb12542d
Issue #9566 : Explicit downcast to fix compiler warnings on Win64
2012-10-31 00:33:57 +01:00
doko@ubuntu.com
c2b4673ffe
md5_{init,process,done}: make static
2012-06-21 17:26:06 +02:00
Victor Stinner
8f825060f1
Check newly created consistency using _PyUnicode_CheckConsistency(str, 1)
...
* In debug mode, fill the string data with invalid characters
* Simplify also reference counting in PyCodec_BackslashReplaceErrors()
and PyCodec_XMLCharRefReplaceError()
2012-04-27 13:55:39 +02:00
Victor Stinner
f5cff56a1b
Issue #13088 : Add shared Py_hexdigits constant to format a number into base 16
2011-10-14 02:13:11 +02:00
Martin v. Löwis
d63a3b8beb
Implement PEP 393.
2011-09-28 07:41:54 +02:00
Victor Stinner
081fe46ff9
Issue #9566 : cast unsigned int to Py_ssize_t in md5 and sha1 modules
...
Fix a compiler warning on Windows 64 bits.
2011-07-08 01:10:28 +02:00
Victor Stinner
0fcab4a3ed
Issue #9566 : use Py_ssize_t instead of int
2011-01-04 12:59:15 +00:00
Antoine Pitrou
f95a1b3c53
Recorded merge of revisions 81029 via svnmerge from
...
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.
........
2010-05-09 15:52:27 +00:00
Hirokazu Yamamoto
8404749e4b
Fixed memory leak on failure. This is related to issue5403 but won't crash on py3k.
2009-03-03 07:49:01 +00:00
Gregory P. Smith
365a1864fd
Fixes Issue #3745 : Fix hashlib to always reject unicode and non
...
buffer-api supporting objects as input no matter how it was compiled
(built in implementations or external openssl library).
2009-02-12 07:35:29 +00:00
Mark Dickinson
e94c679df0
Issue #1717 : rename tp_compare to tp_reserved. I'll change the
...
type of tp_compare in a separate commit, for ease of reversion
should things go wrong.
2009-02-02 20:36:42 +00:00
Martin v. Löwis
7b9cb2579c
Use s* to receive data. Fixes #3552 .
2008-08-14 15:52:23 +00:00
Martin v. Löwis
3447bee9cc
Fix module initialization glitches.
2008-06-11 05:37:58 +00:00
Martin v. Löwis
1a21451b1d
Implement PEP 3121: new module initialization and finalization API.
2008-06-11 05:26:20 +00:00
Christian Heimes
72b710a596
Renamed PyString to PyBytes
2008-05-26 13:28:38 +00:00
Christian Heimes
90aa7646af
#1629 : Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT.
2007-12-19 02:45:37 +00:00
Christian Heimes
217cfd1c86
Cleanup: Replaced most PyInt_ aliases with PyLong_ and disabled the aliases in intobject.h
2007-12-02 14:31:20 +00:00