openssl/doc/internal/man3
Matt Caswell 59a783d05a Fix a race in ossl_provider_add_to_store()
If two threads both attempt to load the same provider at the same time,
they will first both check to see if the provider already exists. If it
doesn't then they will both then create new provider objects and call the
init function. However only one of the threads will be successful in adding
the provider to the store. For the "losing" thread we should still return
"success", but we should deinitialise and free the no longer required
provider object, and return the object that exists in the store.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15854)
2021-06-24 14:48:15 +01:00
..
cms_add1_signing_cert.pod Fix L<xxx(1)> links to be L<openssl-xxx(1)> 2019-11-10 18:58:50 +01:00
evp_generic_fetch.pod Update copyright year 2021-04-08 13:04:41 +01:00
evp_keymgmt_newdata.pod Add public API for gettables and settables for keymanagement, signatures and key exchange. 2020-08-12 11:59:43 +10:00
evp_keymgmt_util_export_to_provider.pod Add EVP_PKEY_todata() and EVP_PKEY_export() functions. 2021-04-15 18:42:04 +02:00
evp_md_get_number.pod doc: remove empty section 2021-06-08 18:55:32 +10:00
evp_pkey_export_to_provider.pod Update copyright year 2021-03-11 13:27:36 +00:00
evp_pkey_get1_ED25519.pod Hide ECX_KEY again 2020-09-25 12:12:22 +10:00
OPENSSL_SA.pod Update copyright year 2021-05-20 14:22:33 +01:00
OPTIONS.pod doc: document the various get_cipher functions in the commands lib. 2021-06-16 18:32:30 +10:00
ossl_algorithm_do_all.pod Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
ossl_cmp_asn1_octet_string_set1.pod cmp_util.c: Add OPENSSL_CTX parameter to ossl_cmp_build_cert_chain(), improve its doc 2020-08-21 09:04:12 +02:00
ossl_cmp_certreq_new.pod Streamline the CMP request session API, adding the generalized OSSL_CMP_exec_certreq() 2020-07-30 09:38:08 +02:00
ossl_cmp_ctx_set1_caPubs.pod Certificate Management Protocol (CMP, RFC 4210) extension to OpenSSL 2019-09-27 10:53:11 +01:00
ossl_cmp_hdr_init.pod Update CMP header file references in internal CMP documentation 2020-08-21 09:04:10 +02:00
ossl_cmp_mock_srv_new.pod Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
ossl_cmp_msg_check_update.pod Move part of OSSL_CMP_validate_msg() to ossl_cmp_msg_check_update() 2020-06-13 15:13:21 +02:00
ossl_cmp_msg_create.pod Update CMP header file references in internal CMP documentation 2020-08-21 09:04:10 +02:00
ossl_cmp_msg_protect.pod Update copyright year 2021-04-22 14:38:44 +01:00
ossl_cmp_pkisi_get_status.pod Use in CMP+CRMF libctx and propq param added to sign/verify/HMAC/decrypt 2020-08-21 09:04:13 +02:00
ossl_cmp_print_log.pod Update copyright year 2020-04-23 13:55:52 +01:00
ossl_cmp_X509_STORE_add1_certs.pod Introduce X509_add_cert[s] simplifying various additions to cert lists 2020-08-12 13:54:37 +02:00
OSSL_DEPRECATED.pod Simplify and clarify doc/internal/man7/deprecation.pod 2020-11-01 05:57:42 +01:00
ossl_DER_w_begin_sequence.pod der: _ossl prefix DER functions 2020-10-01 11:25:12 +10:00
ossl_DER_w_bn.pod der: _ossl prefix DER functions 2020-10-01 11:25:12 +10:00
ossl_DER_w_precompiled.pod der: _ossl prefix DER functions 2020-10-01 11:25:12 +10:00
ossl_ends_with_dirsep.pod Add ossl_is_absolute_path function to detect absolute paths 2020-11-11 16:06:30 +01:00
ossl_global_properties_no_mirrored.pod Documentation updates for mirroring of global properties 2021-05-20 09:35:41 +01:00
ossl_init_thread_deregister.pod Fix some typos 2019-12-11 19:04:01 +01:00
ossl_lib_ctx_get_data.pod Update copyright year 2021-05-20 14:22:33 +01:00
ossl_method_construct.pod Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
OSSL_METHOD_STORE.pod Update copyright year 2021-04-08 13:04:41 +01:00
ossl_namemap_new.pod Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
ossl_provider_add_conf_module.pod
ossl_provider_new.pod Fix a race in ossl_provider_add_to_store() 2021-06-24 14:48:15 +01:00
ossl_punycode_decode.pod Update copyright year 2020-10-15 14:10:06 +01:00
ossl_rand_get_entropy.pod doc: Documentation changes for moving the entropy source out of the fips provider 2020-11-20 08:24:21 +10:00
ossl_random_add_conf_module.pod Add a "random" configuration section. 2020-09-23 15:28:29 +10:00
ossl_rsa_get0_all_params.pod Update copyright year 2020-10-15 14:10:06 +01:00
x509v3_cache_extensions.pod Update copyright year 2021-01-28 13:54:57 +01:00