* information regarding copyright ownership.
*/
+#include <stdbool.h>
#include <stdio.h>
#include <openssl/opensslv.h>
#include <openssl/evp.h>
-#include <isc/md.h>
-
static thread_local bool initialized = false;
static thread_local EVP_MD_CTX *mdctx = NULL;
static thread_local EVP_MD_CTX *basectx = NULL;
+static thread_local EVP_MD *md = NULL;
int
isc_iterated_hash(unsigned char *out, const unsigned int hashalg,
INSIST(basectx != NULL);
mdctx = EVP_MD_CTX_new();
INSIST(mdctx != NULL);
+ md = EVP_MD_fetch(NULL, "SHA1", NULL);
+ INSIST(md != NULL);
- RUNTIME_CHECK(EVP_DigestInit_ex(basectx, ISC_MD_SHA1, NULL) == 1);
+ RUNTIME_CHECK(EVP_DigestInit_ex(basectx, md, NULL) == 1);
initialized = true;
}
REQUIRE(basectx != NULL);
EVP_MD_CTX_free(basectx);
basectx = NULL;
+ EVP_MD_free(md);
+ md = NULL;
initialized = false;
}