rand seed: include lock and unlock functions.
authorPauli <paul.dale@oracle.com>
Wed, 9 Dec 2020 09:39:27 +0000 (19:39 +1000)
committerPauli <paul.dale@oracle.com>
Wed, 9 Dec 2020 11:46:38 +0000 (21:46 +1000)
This satisfies EVP's RAND layer.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13640)

providers/implementations/rands/seed_src.c

index 7080e95fbf263efc6bb66fe71bafdaff73d56f77..95574abd8a9c310f0ee165bc4d4daf6762ca3f81 100644 (file)
@@ -32,6 +32,8 @@ static OSSL_FUNC_rand_gettable_ctx_params_fn seed_src_gettable_ctx_params;
 static OSSL_FUNC_rand_get_ctx_params_fn seed_src_get_ctx_params;
 static OSSL_FUNC_rand_verify_zeroization_fn seed_src_verify_zeroization;
 static OSSL_FUNC_rand_enable_locking_fn seed_src_enable_locking;
+static OSSL_FUNC_rand_lock_fn seed_src_lock;
+static OSSL_FUNC_rand_unlock_fn seed_src_unlock;
 
 typedef struct {
     void *provctx;
@@ -173,6 +175,15 @@ static int seed_src_enable_locking(ossl_unused void *vseed)
     return 1;
 }
 
+int seed_src_lock(ossl_unused void *vctx)
+{
+    return 1;
+}
+
+void seed_src_unlock(ossl_unused void *vctx)
+{
+}
+
 const OSSL_DISPATCH ossl_seed_src_functions[] = {
     { OSSL_FUNC_RAND_NEWCTX, (void(*)(void))seed_src_new },
     { OSSL_FUNC_RAND_FREECTX, (void(*)(void))seed_src_free },
@@ -183,6 +194,8 @@ const OSSL_DISPATCH ossl_seed_src_functions[] = {
     { OSSL_FUNC_RAND_GENERATE, (void(*)(void))seed_src_generate },
     { OSSL_FUNC_RAND_RESEED, (void(*)(void))seed_src_reseed },
     { OSSL_FUNC_RAND_ENABLE_LOCKING, (void(*)(void))seed_src_enable_locking },
+    { OSSL_FUNC_RAND_LOCK, (void(*)(void))seed_src_lock },
+    { OSSL_FUNC_RAND_UNLOCK, (void(*)(void))seed_src_unlock },
     { OSSL_FUNC_RAND_GETTABLE_CTX_PARAMS,
       (void(*)(void))seed_src_gettable_ctx_params },
     { OSSL_FUNC_RAND_GET_CTX_PARAMS, (void(*)(void))seed_src_get_ctx_params },