--- a/Modules/_hashopenssl.c.orig +++ b/Modules/_hashopenssl.c @@ -44,7 +44,9 @@ #define MUNCH_SIZE INT_MAX +#ifdef NID_id_scrypt #define PY_OPENSSL_HAS_SCRYPT 1 +#endif #if defined(NID_sha3_224) && defined(NID_sha3_256) && defined(NID_sha3_384) && defined(NID_sha3_512) #define PY_OPENSSL_HAS_SHA3 1 #endif @@ -922,11 +924,15 @@ py_evp_fromname(PyObject *module, const char *digestname, PyObject *data_obj, goto exit; } +#ifndef EVP_MD_FLAG_XOF + type = get_hashlib_state(module)->EVPtype; +#else if ((EVP_MD_flags(digest) & EVP_MD_FLAG_XOF) == EVP_MD_FLAG_XOF) { type = get_hashlib_state(module)->EVPXOFtype; } else { type = get_hashlib_state(module)->EVPtype; } +#endif self = newEVPobject(type); if (self == NULL) {