bpo-40791: Use CRYPTO_memcmp() for compare_digest (#20456)

hashlib.compare_digest uses OpenSSL's CRYPTO_memcmp() function
when OpenSSL is available.

Note: The _operator module is a builtin module. I don't want to add
libcrypto dependency to libpython. Therefore I duplicated the wrapper
function and added a copy to _hashopenssl.c.
This commit is contained in:
Christian Heimes 2020-05-27 21:50:06 +02:00 committed by GitHub
parent 210a137396
commit db5aed931f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 221 additions and 37 deletions

View file

@ -785,6 +785,8 @@ _operator_length_hint_impl(PyObject *module, PyObject *obj,
return PyObject_LengthHint(obj, default_value);
}
/* NOTE: Keep in sync with _hashopenssl.c implementation. */
/*[clinic input]
_operator._compare_digest = _operator.eq