Lines Matching refs:dgbl

76 static EVP_RAND_CTX *rand_get0_primary(OSSL_LIB_CTX *ctx, RAND_GLOBAL *dgbl);
77 static EVP_RAND_CTX *rand_get0_public(OSSL_LIB_CTX *ctx, RAND_GLOBAL *dgbl);
78 static EVP_RAND_CTX *rand_get0_private(OSSL_LIB_CTX *ctx, RAND_GLOBAL *dgbl);
104 static int set_random_provider_name(RAND_GLOBAL *dgbl, const char *name) in set_random_provider_name() argument
106 if (dgbl->random_provider_name != NULL in set_random_provider_name()
107 && OPENSSL_strcasecmp(dgbl->random_provider_name, name) == 0) in set_random_provider_name()
110 OPENSSL_free(dgbl->random_provider_name); in set_random_provider_name()
111 dgbl->random_provider_name = OPENSSL_strdup(name); in set_random_provider_name()
112 return dgbl->random_provider_name != NULL; in set_random_provider_name()
420 RAND_GLOBAL *dgbl; in RAND_priv_bytes_ex() local
437 dgbl = rand_get_global(ctx); in RAND_priv_bytes_ex()
438 if (dgbl == NULL) in RAND_priv_bytes_ex()
441 if (dgbl->random_provider != NULL) in RAND_priv_bytes_ex()
442 return ossl_provider_random_bytes(dgbl->random_provider, in RAND_priv_bytes_ex()
446 rand = rand_get0_private(ctx, dgbl); in RAND_priv_bytes_ex()
463 RAND_GLOBAL *dgbl; in RAND_bytes_ex() local
480 dgbl = rand_get_global(ctx); in RAND_bytes_ex()
481 if (dgbl == NULL) in RAND_bytes_ex()
484 if (dgbl->random_provider != NULL) in RAND_bytes_ex()
485 return ossl_provider_random_bytes(dgbl->random_provider, in RAND_bytes_ex()
490 rand = rand_get0_public(ctx, dgbl); in RAND_bytes_ex()
510 RAND_GLOBAL *dgbl = OPENSSL_zalloc(sizeof(*dgbl)); in ossl_rand_ctx_new() local
512 if (dgbl == NULL) in ossl_rand_ctx_new()
523 dgbl->random_provider_name = OPENSSL_strdup(random_provider_fips_name); in ossl_rand_ctx_new()
524 if (dgbl->random_provider_name == NULL) in ossl_rand_ctx_new()
528 dgbl->lock = CRYPTO_THREAD_lock_new(); in ossl_rand_ctx_new()
529 if (dgbl->lock == NULL) in ossl_rand_ctx_new()
532 return dgbl; in ossl_rand_ctx_new()
535 CRYPTO_THREAD_lock_free(dgbl->lock); in ossl_rand_ctx_new()
538 OPENSSL_free(dgbl->random_provider_name); in ossl_rand_ctx_new()
540 OPENSSL_free(dgbl); in ossl_rand_ctx_new()
546 RAND_GLOBAL *dgbl = vdgbl; in ossl_rand_ctx_free() local
548 if (dgbl == NULL) in ossl_rand_ctx_free()
551 CRYPTO_THREAD_lock_free(dgbl->lock); in ossl_rand_ctx_free()
552 EVP_RAND_CTX_free(dgbl->primary); in ossl_rand_ctx_free()
553 EVP_RAND_CTX_free(dgbl->seed); in ossl_rand_ctx_free()
555 OPENSSL_free(dgbl->random_provider_name); in ossl_rand_ctx_free()
557 OPENSSL_free(dgbl->rng_name); in ossl_rand_ctx_free()
558 OPENSSL_free(dgbl->rng_cipher); in ossl_rand_ctx_free()
559 OPENSSL_free(dgbl->rng_digest); in ossl_rand_ctx_free()
560 OPENSSL_free(dgbl->rng_propq); in ossl_rand_ctx_free()
561 OPENSSL_free(dgbl->seed_name); in ossl_rand_ctx_free()
562 OPENSSL_free(dgbl->seed_propq); in ossl_rand_ctx_free()
564 OPENSSL_free(dgbl); in ossl_rand_ctx_free()
570 RAND_GLOBAL *dgbl = rand_get_global(ctx); in rand_delete_thread_state() local
573 if (dgbl == NULL) in rand_delete_thread_state()
593 RAND_GLOBAL *dgbl = rand_get_global(libctx); in rand_new_seed() local
595 if (dgbl == NULL) in rand_new_seed()
597 propq = dgbl->seed_propq; in rand_new_seed()
598 name = dgbl->seed_name != NULL ? dgbl->seed_name in rand_new_seed()
630 RAND_GLOBAL *dgbl = rand_get_global(ctx); in ossl_rand_get0_seed_noncreating() local
633 if (dgbl == NULL) in ossl_rand_get0_seed_noncreating()
636 if (!CRYPTO_THREAD_read_lock(dgbl->lock)) in ossl_rand_get0_seed_noncreating()
638 ret = dgbl->seed; in ossl_rand_get0_seed_noncreating()
639 CRYPTO_THREAD_unlock(dgbl->lock); in ossl_rand_get0_seed_noncreating()
649 RAND_GLOBAL *dgbl = rand_get_global(libctx); in rand_new_drbg() local
657 if (dgbl == NULL) in rand_new_drbg()
659 name = dgbl->rng_name != NULL ? dgbl->rng_name : "CTR-DRBG"; in rand_new_drbg()
660 rand = EVP_RAND_fetch(libctx, name, dgbl->rng_propq); in rand_new_drbg()
675 cipher = dgbl->rng_cipher != NULL ? dgbl->rng_cipher : "AES-256-CTR"; in rand_new_drbg()
679 if (dgbl->rng_digest != NULL in rand_new_drbg()
682 dgbl->rng_digest, 0); in rand_new_drbg()
686 if (dgbl->rng_propq != NULL) in rand_new_drbg()
688 dgbl->rng_propq, 0); in rand_new_drbg()
738 static EVP_RAND_CTX *rand_get0_primary(OSSL_LIB_CTX *ctx, RAND_GLOBAL *dgbl) in rand_get0_primary() argument
742 if (dgbl == NULL) in rand_get0_primary()
745 if (!CRYPTO_THREAD_read_lock(dgbl->lock)) in rand_get0_primary()
748 ret = dgbl->primary; in rand_get0_primary()
749 seed = dgbl->seed; in rand_get0_primary()
750 CRYPTO_THREAD_unlock(dgbl->lock); in rand_get0_primary()
787 if (!CRYPTO_THREAD_write_lock(dgbl->lock)) in rand_get0_primary()
790 primary = dgbl->primary; in rand_get0_primary()
792 CRYPTO_THREAD_unlock(dgbl->lock); in rand_get0_primary()
798 dgbl->seed = newseed; in rand_get0_primary()
799 dgbl->primary = ret; in rand_get0_primary()
800 CRYPTO_THREAD_unlock(dgbl->lock); in rand_get0_primary()
812 RAND_GLOBAL *dgbl = rand_get_global(ctx); in RAND_get0_primary() local
814 return dgbl == NULL ? NULL : rand_get0_primary(ctx, dgbl); in RAND_get0_primary()
817 static EVP_RAND_CTX *rand_get0_public(OSSL_LIB_CTX *ctx, RAND_GLOBAL *dgbl) in rand_get0_public() argument
827 if (dgbl == NULL) in rand_get0_public()
832 primary = rand_get0_primary(origctx, dgbl); in rand_get0_public()
859 RAND_GLOBAL *dgbl = rand_get_global(ctx); in RAND_get0_public() local
861 return dgbl == NULL ? NULL : rand_get0_public(ctx, dgbl); in RAND_get0_public()
864 static EVP_RAND_CTX *rand_get0_private(OSSL_LIB_CTX *ctx, RAND_GLOBAL *dgbl) in rand_get0_private() argument
875 primary = rand_get0_primary(origctx, dgbl); in rand_get0_private()
902 RAND_GLOBAL *dgbl = rand_get_global(ctx); in RAND_get0_private() local
904 return dgbl == NULL ? NULL : rand_get0_private(ctx, dgbl); in RAND_get0_private()
910 RAND_GLOBAL *dgbl = rand_get_global(ctx); in ossl_rand_get0_private_noncreating() local
912 if (dgbl == NULL) in ossl_rand_get0_private_noncreating()
921 RAND_GLOBAL *dgbl = rand_get_global(ctx); in RAND_set0_public() local
925 if (dgbl == NULL) in RAND_set0_public()
935 RAND_GLOBAL *dgbl = rand_get_global(ctx); in RAND_set0_private() local
939 if (dgbl == NULL) in RAND_set0_private()
970 RAND_GLOBAL *dgbl = rand_get_global(libctx); in random_conf_init() local
983 if (dgbl == NULL) in random_conf_init()
989 if (!random_set_string(&dgbl->rng_name, cval->value)) in random_conf_init()
992 if (!random_set_string(&dgbl->rng_cipher, cval->value)) in random_conf_init()
995 if (!random_set_string(&dgbl->rng_digest, cval->value)) in random_conf_init()
998 if (!random_set_string(&dgbl->rng_propq, cval->value)) in random_conf_init()
1001 if (!random_set_string(&dgbl->seed_name, cval->value)) in random_conf_init()
1004 if (!random_set_string(&dgbl->seed_propq, cval->value)) in random_conf_init()
1028 } else if (!set_random_provider_name(dgbl, cval->value)) in random_conf_init()
1056 RAND_GLOBAL *dgbl = rand_get_global(ctx); in RAND_set_DRBG_type() local
1058 if (dgbl == NULL) in RAND_set_DRBG_type()
1060 if (dgbl->primary != NULL) { in RAND_set_DRBG_type()
1064 return random_set_string(&dgbl->rng_name, drbg) in RAND_set_DRBG_type()
1065 && random_set_string(&dgbl->rng_propq, propq) in RAND_set_DRBG_type()
1066 && random_set_string(&dgbl->rng_cipher, cipher) in RAND_set_DRBG_type()
1067 && random_set_string(&dgbl->rng_digest, digest); in RAND_set_DRBG_type()
1073 RAND_GLOBAL *dgbl = rand_get_global(ctx); in RAND_set_seed_source_type() local
1075 if (dgbl == NULL) in RAND_set_seed_source_type()
1077 if (dgbl->seed != NULL) { in RAND_set_seed_source_type()
1081 return random_set_string(&dgbl->seed_name, seed) in RAND_set_seed_source_type()
1082 && random_set_string(&dgbl->seed_propq, propq); in RAND_set_seed_source_type()
1087 RAND_GLOBAL *dgbl = rand_get_global(ctx); in RAND_set1_random_provider() local
1089 if (dgbl == NULL) in RAND_set1_random_provider()
1093 OPENSSL_free(dgbl->random_provider_name); in RAND_set1_random_provider()
1094 dgbl->random_provider_name = NULL; in RAND_set1_random_provider()
1095 dgbl->random_provider = NULL; in RAND_set1_random_provider()
1099 if (dgbl->random_provider == prov) in RAND_set1_random_provider()
1102 if (!set_random_provider_name(dgbl, OSSL_PROVIDER_get0_name(prov))) in RAND_set1_random_provider()
1105 dgbl->random_provider = prov; in RAND_set1_random_provider()
1116 RAND_GLOBAL *dgbl = rand_get_global(ctx); in ossl_rand_check_random_provider_on_load() local
1118 if (dgbl == NULL) in ossl_rand_check_random_provider_on_load()
1122 if (dgbl->random_provider_name == NULL || dgbl->random_provider != NULL) in ossl_rand_check_random_provider_on_load()
1126 if (strcmp(dgbl->random_provider_name, OSSL_PROVIDER_get0_name(prov)) != 0) in ossl_rand_check_random_provider_on_load()
1129 dgbl->random_provider = prov; in ossl_rand_check_random_provider_on_load()
1140 RAND_GLOBAL *dgbl = rand_get_global(ctx); in ossl_rand_check_random_provider_on_unload() local
1142 if (dgbl == NULL) in ossl_rand_check_random_provider_on_unload()
1145 if (dgbl->random_provider == prov) in ossl_rand_check_random_provider_on_unload()
1146 dgbl->random_provider = NULL; in ossl_rand_check_random_provider_on_unload()