Add OSSL_STORE_LOADER_description()

Fixes #14514

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14656)
This commit is contained in:
Richard Levitte 2021-03-16 14:30:59 +01:00
parent 1010884e0a
commit b638dad970
4 changed files with 16 additions and 0 deletions

View File

@ -402,6 +402,11 @@ int OSSL_STORE_LOADER_number(const OSSL_STORE_LOADER *loader)
return loader->scheme_id;
}
const char *OSSL_STORE_LOADER_description(const OSSL_STORE_LOADER *loader)
{
return loader->description;
}
int OSSL_STORE_LOADER_is_a(const OSSL_STORE_LOADER *loader, const char *name)
{
if (loader->prov != NULL) {

View File

@ -10,6 +10,7 @@ OSSL_STORE_LOADER_provider,
OSSL_STORE_LOADER_properties,
OSSL_STORE_LOADER_is_a,
OSSL_STORE_LOADER_number,
OSSL_STORE_LOADER_description,
OSSL_STORE_LOADER_do_all_provided,
OSSL_STORE_LOADER_names_do_all,
OSSL_STORE_LOADER_CTX, OSSL_STORE_LOADER_new,
@ -42,6 +43,7 @@ unregister STORE loaders for different URI schemes
loader);
const char *OSSL_STORE_LOADER_properties(const OSSL_STORE_LOADER *loader);
int OSSL_STORE_LOADER_number(const OSSL_STORE_LOADER *loader);
const char *OSSL_STORE_LOADER_description(const OSSL_STORE_LOADER *loader);
int OSSL_STORE_LOADER_is_a(const OSSL_STORE_LOADER *loader,
const char *scheme);
void OSSL_STORE_LOADER_do_all_provided(OSSL_LIB_CTX *libctx,
@ -139,6 +141,10 @@ of an algorithm that's identifiable with I<scheme>.
OSSL_STORE_LOADER_number() returns the internal dynamic number assigned
to the given I<loader>.
OSSL_STORE_LOADER_description() returns a description of the I<loader>, meant
for display and human consumption. The description is at the discretion of the
I<loader> implementation.
OSSL_STORE_LOADER_do_all_provided() traverses all store implementations
by all activated providers in the library context I<libctx>, and for each
of the implementations, calls I<fn> with the implementation method and
@ -328,6 +334,9 @@ otherwise 0.
OSSL_STORE_LOADER_number() returns an integer.
OSSL_STORE_LOADER_description() returns a pointer to a decription, or NULL if
there isn't one.
The functions with the types B<OSSL_STORE_open_fn>,
B<OSSL_STORE_open_ex_fn>, B<OSSL_STORE_ctrl_fn>,
B<OSSL_STORE_expect_fn>, B<OSSL_STORE_load_fn>, B<OSSL_STORE_eof_fn>

View File

@ -260,6 +260,7 @@ const OSSL_PROVIDER *OSSL_STORE_LOADER_provider(const OSSL_STORE_LOADER *
loader);
const char *OSSL_STORE_LOADER_properties(const OSSL_STORE_LOADER *loader);
int OSSL_STORE_LOADER_number(const OSSL_STORE_LOADER *loader);
const char *OSSL_STORE_LOADER_description(const OSSL_STORE_LOADER *loader);
int OSSL_STORE_LOADER_is_a(const OSSL_STORE_LOADER *loader,
const char *scheme);
void OSSL_STORE_LOADER_do_all_provided(OSSL_LIB_CTX *libctx,

View File

@ -5335,3 +5335,4 @@ RSA_PSS_PARAMS_dup ? 3_0_0 EXIST::FUNCTION:
EVP_PKEY_derive_set_peer_ex ? 3_0_0 EXIST::FUNCTION:
OSSL_DECODER_description ? 3_0_0 EXIST::FUNCTION:
OSSL_ENCODER_description ? 3_0_0 EXIST::FUNCTION:
OSSL_STORE_LOADER_description ? 3_0_0 EXIST::FUNCTION: