Jonathan Protzenko
872e212378
gh-99108: Refresh HACL*; update modules accordingly; fix namespacing (GH-117237)
...
Pulls in a new update from https://github.com/hacl-star/hacl-star and fixes our C "namespacing" done by `Modules/_hacl/refresh.sh`.
2024-03-26 00:35:26 +00:00
Tomas R
a6465605c1
gh-111916: Make hashlib related modules thread-safe without the GIL ( #111981 )
...
Always use an individual lock on hash objects when in free-threaded builds.
Fixes #111916
2023-11-15 23:53:38 +00:00
Serhiy Storchaka
329e4a1a3f
gh-86493: Modernize modules initialization code (GH-106858)
...
Use PyModule_Add() or PyModule_AddObjectRef() instead of soft deprecated
PyModule_AddObject().
2023-07-25 14:34:49 +03:00
chgnrdv
13b5d79090
Fix missing/incomplete NULL checks in multiple source files ( #104564 )
...
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
2023-05-23 14:01:17 -06:00
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
Christian Clauss
dd02a696e5
Fix typos in the Modules directory (GH-28761)
2021-10-07 01:34:42 -07: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
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
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
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
8cb6569fe1
Implements issue #9951 : Adds a hex() method to bytes, bytearray, & memoryview.
...
Also updates a few internal implementations of the same thing to use the
new built-in code.
Contributed by Arnon Yaari.
2015-04-25 23:22:26 +00: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
Christian Heimes
d49a371e91
Issue #18599 : Fix name attribute of _sha1.sha1() object. It now returns
...
'SHA1' instead of 'SHA'.
Add more tests for hashlib and hash object attributes
2013-07-30 15:35:54 +02:00
Christian Heimes
4fec4314cf
Issue #18599 : Fix name attribute of _sha1.sha1() object. It now returns
...
'SHA1' instead of 'SHA'.
2013-07-30 15:32:57 +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
Benjamin Peterson
48a2e7c357
merge 3.3
2013-04-15 21:38:33 -04:00
Benjamin Peterson
51ce29c530
remove pointless code ( closes #17738 )
2013-04-15 21:38:25 -04: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
1e5be8cfb5
sha1_{init,process,done}: make static
2012-06-21 17:05:50 +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
Brett Cannon
f079c57c35
Rename some macros in the sha1 module to no longer conflict with termios.h.
2010-07-23 15:43:14 +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