From: Richard Levitte Date: Thu, 23 Jul 2020 21:06:27 +0000 (+0200) Subject: STORE: Deprecate legacy / ENGINE functions X-Git-Tag: openssl-3.0.0-alpha7~403 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a1447076beee138cab1cc4b277aae189defffdf4;p=thirdparty%2Fopenssl.git STORE: Deprecate legacy / ENGINE functions Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/12587) --- diff --git a/crypto/init.c b/crypto/init.c index 34dd724bc5d..fec178c389a 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -412,8 +412,11 @@ void OPENSSL_cleanup(void) OSSL_TRACE(INIT, "OPENSSL_cleanup: engine_cleanup_int()\n"); engine_cleanup_int(); #endif + +#ifndef OPENSSL_NO_DEPRECATED_3_0 OSSL_TRACE(INIT, "OPENSSL_cleanup: ossl_store_cleanup_int()\n"); ossl_store_cleanup_int(); +#endif OSSL_TRACE(INIT, "OPENSSL_cleanup: openssl_ctx_default_deinit()\n"); openssl_ctx_default_deinit(); diff --git a/crypto/pem/pem_pkey.c b/crypto/pem/pem_pkey.c index 8aee82ea80b..8b9bfe101ed 100644 --- a/crypto/pem/pem_pkey.c +++ b/crypto/pem/pem_pkey.c @@ -7,6 +7,9 @@ * https://www.openssl.org/source/license.html */ +/* We need to use some STORE deprecated APIs */ +#define OPENSSL_SUPPRESS_DEPRECATED + #include #include "internal/cryptlib.h" #include @@ -58,11 +61,13 @@ static EVP_PKEY *pem_read_bio_key(BIO *bp, EVP_PKEY **x, NULL, NULL)) == NULL) goto err; #ifndef OPENSSL_NO_SECURE_HEAP - if (try_secure) { +# ifndef OPENSSL_NO_DEPRECATED_3_0 + if (try_secure) { int on = 1; if (!OSSL_STORE_ctrl(ctx, OSSL_STORE_C_USE_SECMEM, &on)) goto err; } +# endif #endif while (!OSSL_STORE_eof(ctx) diff --git a/crypto/store/build.info b/crypto/store/build.info index bd19237ba49..43d9e544a01 100644 --- a/crypto/store/build.info +++ b/crypto/store/build.info @@ -1,4 +1,7 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=\ - store_err.c store_lib.c store_result.c store_strings.c store_meth.c \ - store_init.c store_register.c + store_err.c store_lib.c store_result.c store_strings.c store_meth.c + +IF[{- !$disabled{'deprecated-3.0'} -}] + SOURCE[../../libcrypto]=store_init.c store_register.c +ENDIF diff --git a/crypto/store/store_lib.c b/crypto/store/store_lib.c index 1c718c589e1..978cb75af8d 100644 --- a/crypto/store/store_lib.c +++ b/crypto/store/store_lib.c @@ -11,6 +11,9 @@ #include #include +/* We need to use some STORE deprecated APIs */ +#define OPENSSL_SUPPRESS_DEPRECATED + #include "e_os.h" #include @@ -80,6 +83,7 @@ OSSL_STORE_open_with_libctx(const char *uri, */ for (i = 0; loader_ctx == NULL && i < schemes_n; i++) { OSSL_TRACE1(STORE, "Looking up scheme %s\n", schemes[i]); +#ifndef OPENSSL_NO_DEPRECATED_3_0 if ((loader = ossl_store_get0_loader_int(schemes[i])) != NULL) { if (loader->open_with_libctx != NULL) loader_ctx = loader->open_with_libctx(loader, uri, libctx, propq, @@ -87,6 +91,7 @@ OSSL_STORE_open_with_libctx(const char *uri, else loader_ctx = loader->open(loader, uri, ui_method, ui_data); } +#endif if (loader == NULL && (fetched_loader = OSSL_STORE_LOADER_fetch(schemes[i], libctx, propq)) != NULL) { @@ -186,6 +191,7 @@ OSSL_STORE_CTX *OSSL_STORE_open(const char *uri, post_process, post_process_data); } +#ifndef OPENSSL_NO_DEPRECATED_3_0 int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, ...) { va_list args; @@ -229,6 +235,7 @@ int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd, va_list args) */ return 1; } +#endif int OSSL_STORE_expect(OSSL_STORE_CTX *ctx, int expected_type) { @@ -333,12 +340,14 @@ int OSSL_STORE_find(OSSL_STORE_CTX *ctx, const OSSL_STORE_SEARCH *search) OPENSSL_free(name_der); BN_free(number); } else { +#ifndef OPENSSL_NO_DEPRECATED_3_0 /* legacy loader section */ if (ctx->loader->find == NULL) { ERR_raise(ERR_LIB_OSSL_STORE, OSSL_STORE_R_UNSUPPORTED_OPERATION); return 0; } ret = ctx->loader->find(ctx->loader_ctx, search); +#endif } return ret; @@ -382,10 +391,12 @@ OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx) } v = load_data.v; } +#ifndef OPENSSL_NO_DEPRECATED_3_0 if (ctx->fetched_loader == NULL) v = ctx->loader->load(ctx->loader_ctx, ctx->pwdata._.ui_method.ui_method, ctx->pwdata._.ui_method.ui_method_data); +#endif } if (ctx->post_process != NULL && v != NULL) { @@ -424,8 +435,10 @@ int OSSL_STORE_error(OSSL_STORE_CTX *ctx) if (ctx->fetched_loader != NULL) ret = ctx->error_flag; +#ifndef OPENSSL_NO_DEPRECATED_3_0 if (ctx->fetched_loader == NULL) ret = ctx->loader->error(ctx->loader_ctx); +#endif return ret; } @@ -435,8 +448,10 @@ int OSSL_STORE_eof(OSSL_STORE_CTX *ctx) if (ctx->fetched_loader != NULL) ret = ctx->loader->p_eof(ctx->loader_ctx); +#ifndef OPENSSL_NO_DEPRECATED_3_0 if (ctx->fetched_loader == NULL) ret = ctx->loader->eof(ctx->loader_ctx); +#endif return ret; } @@ -450,8 +465,10 @@ static int ossl_store_close_it(OSSL_STORE_CTX *ctx) if (ctx->fetched_loader != NULL) ret = ctx->loader->p_close(ctx->loader_ctx); +#ifndef OPENSSL_NO_DEPRECATED_3_0 if (ctx->fetched_loader == NULL) ret = ctx->loader->close(ctx->loader_ctx); +#endif sk_OSSL_STORE_INFO_pop_free(ctx->cached_info, OSSL_STORE_INFO_free); OSSL_STORE_LOADER_free(ctx->fetched_loader); @@ -769,6 +786,7 @@ int OSSL_STORE_supports_search(OSSL_STORE_CTX *ctx, int search_type) break; } } +#ifndef OPENSSL_NO_DEPRECATED_3_0 if (ctx->fetched_loader == NULL) { OSSL_STORE_SEARCH tmp_search; @@ -777,6 +795,7 @@ int OSSL_STORE_supports_search(OSSL_STORE_CTX *ctx, int search_type) tmp_search.search_type = search_type; ret = ctx->loader->find(NULL, &tmp_search); } +#endif return ret; } @@ -907,9 +926,11 @@ OSSL_STORE_CTX *OSSL_STORE_attach(BIO *bp, const char *scheme, scheme = "file"; OSSL_TRACE1(STORE, "Looking up scheme %s\n", scheme); +#ifndef OPENSSL_NO_DEPRECATED_3_0 if ((loader = ossl_store_get0_loader_int(scheme)) != NULL) loader_ctx = loader->attach(loader, bp, libctx, propq, ui_method, ui_data); +#endif if (loader == NULL && (fetched_loader = OSSL_STORE_LOADER_fetch(scheme, libctx, propq)) != NULL) { diff --git a/crypto/store/store_local.h b/crypto/store/store_local.h index cdd9f164b41..ef9815fa696 100644 --- a/crypto/store/store_local.h +++ b/crypto/store/store_local.h @@ -80,6 +80,7 @@ OSSL_STORE_LOADER *ossl_store_unregister_loader_int(const char *scheme); /* loader stuff */ struct ossl_store_loader_st { +#ifndef OPENSSL_NO_DEPRECATED_3_0 /* Legacy stuff */ const char *scheme; ENGINE *engine; @@ -93,6 +94,7 @@ struct ossl_store_loader_st { OSSL_STORE_error_fn error; OSSL_STORE_close_fn close; OSSL_STORE_open_with_libctx_fn open_with_libctx; +#endif /* Provider stuff */ OSSL_PROVIDER *prov; @@ -116,6 +118,11 @@ DEFINE_LHASH_OF(OSSL_STORE_LOADER); const OSSL_STORE_LOADER *ossl_store_get0_loader_int(const char *scheme); void ossl_store_destroy_loaders_int(void); +#ifdef OPENSSL_NO_DEPRECATED_3_0 +/* struct ossl_store_loader_ctx_st is defined differently by each loader */ +typedef struct ossl_store_loader_ctx_st OSSL_STORE_LOADER_CTX; +#endif + /*- * OSSL_STORE_CTX stuff * --------------------- diff --git a/doc/man3/OSSL_STORE_LOADER.pod b/doc/man3/OSSL_STORE_LOADER.pod index 4e25f79f9eb..12e3748c47c 100644 --- a/doc/man3/OSSL_STORE_LOADER.pod +++ b/doc/man3/OSSL_STORE_LOADER.pod @@ -52,8 +52,9 @@ unregister STORE loaders for different URI schemes void (*fn)(const char *name, void *data), void *data); -Legacy functions, still present to support Bs provided -by B: +Deprecated since OpenSSL 3.0, can be hidden entirely by defining +B with a suitable version value, see +L: OSSL_STORE_LOADER *OSSL_STORE_LOADER_new(ENGINE *e, const char *scheme); const ENGINE *OSSL_STORE_LOADER_get0_engine(const OSSL_STORE_LOADER @@ -146,11 +147,11 @@ I as arguments. OSSL_STORE_LOADER_names_do_all() traverses all names for the given I, and calls I with each name and I. -=head2 Legacy Types and Functions +=head2 Legacy Types and Functions (deprecated) These functions help applications and engines to create loaders for -schemes they support. These are all discouraged in favour of provider -implementations, see L. +schemes they support. These are all deprecated and discouraged in favour of +provider implementations, see L. B is a type template, to be defined by each loader using C. @@ -366,7 +367,7 @@ OSSL_STORE_LOADER_set_eof(), OSSL_STORE_LOADER_set_close(), OSSL_STORE_LOADER_free(), OSSL_STORE_register_loader(), OSSL_STORE_unregister_loader(), OSSL_STORE_open_fn(), OSSL_STORE_ctrl_fn(), OSSL_STORE_load_fn(), OSSL_STORE_eof_fn() and OSSL_STORE_close_fn() -were added in OpenSSL 1.1.1. +were added in OpenSSL 1.1.1, and became deprecated in OpenSSL 3.0. =head1 COPYRIGHT diff --git a/doc/man3/OSSL_STORE_SEARCH.pod b/doc/man3/OSSL_STORE_SEARCH.pod index 7dc84227f9b..82ff05f9ef3 100644 --- a/doc/man3/OSSL_STORE_SEARCH.pod +++ b/doc/man3/OSSL_STORE_SEARCH.pod @@ -139,27 +139,27 @@ OSSL_STORE_SEARCH_by_name(), OSSL_STORE_SEARCH_by_issuer_serial(), OSSL_STORE_SEARCH_by_key_fingerprint(), and OSSL_STORE_SEARCH_by_alias() -return a B pointer on success, or B on failure. +return a B pointer on success, or NULL on failure. OSSL_STORE_SEARCH_get_type() returns the criterion type of the given B. There is no error value. OSSL_STORE_SEARCH_get0_name() returns a B pointer on success, -or B when the given B was of a different type. +or NULL when the given B was of a different type. OSSL_STORE_SEARCH_get0_serial() returns a B pointer on success, -or B when the given B was of a different type. +or NULL when the given B was of a different type. OSSL_STORE_SEARCH_get0_bytes() returns a B pointer and -sets B<*length> to the strings length on success, or B when the given +sets I<*length> to the strings length on success, or NULL when the given B was of a different type. OSSL_STORE_SEARCH_get0_string() returns a B pointer on success, -or B when the given B was of a different type. +or NULL when the given B was of a different type. OSSL_STORE_SEARCH_get0_digest() returns a B pointer. -B is a valid value and means that the store loader default will +NULL is a valid value and means that the store loader default will be used when applicable. =head1 SEE ALSO diff --git a/doc/man3/OSSL_STORE_open.pod b/doc/man3/OSSL_STORE_open.pod index 0f7bf9c0d3d..4269dea20a6 100644 --- a/doc/man3/OSSL_STORE_open.pod +++ b/doc/man3/OSSL_STORE_open.pod @@ -27,18 +27,23 @@ OSSL_STORE_error, OSSL_STORE_close const UI_METHOD *ui_method, void *ui_data, OSSL_STORE_post_process_info_fn post_process, void *post_process_data); - int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, ... /* args */); + OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx); int OSSL_STORE_eof(OSSL_STORE_CTX *ctx); int OSSL_STORE_error(OSSL_STORE_CTX *ctx); int OSSL_STORE_close(OSSL_STORE_CTX *ctx); +Deprecated since OpenSSL 3.0, can be hidden entirely by defining +B with a suitable version value, see +L: + + int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, ... /* args */); + =head1 DESCRIPTION These functions help the application to fetch supported objects (see L for information on which those are) -from a given URI (see L for more information on -the supported URI schemes). +from a given URI. The general method to do so is to "open" the URI using OSSL_STORE_open(), read each available and supported object using OSSL_STORE_load() as long as OSSL_STORE_eof() hasn't been reached, and finish it off with OSSL_STORE_close(). @@ -110,12 +115,6 @@ by OSSL_STORE_open() and frees all other information that was stored in the B, as well as the B itself. If I is NULL it does nothing. -=head1 SUPPORTED SCHEMES - -The basic supported scheme is B. -Any other scheme can be added dynamically, using -OSSL_STORE_register_loader(). - =head1 NOTES A string without a scheme prefix (that is, a non-URI string) is @@ -171,6 +170,8 @@ was introduced in OpenSSL 1.1.1h. OSSL_STORE_open_with_libctx() was added in OpenSSL 3.0. +OSSL_STORE_ctrl() and OSSL_STORE_vctrl() were deprecated in OpenSSL 3.0. + =head1 COPYRIGHT Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. diff --git a/include/openssl/store.h b/include/openssl/store.h index b2201cacaad..8fc035c2e34 100644 --- a/include/openssl/store.h +++ b/include/openssl/store.h @@ -69,8 +69,12 @@ OSSL_STORE_open_with_libctx(const char *uri, * determine which loader is used), except for common commands (see below). * Each command takes different arguments. */ -int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, ... /* args */); -int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd, va_list args); +DEPRECATEDIN_3_0(int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, + ... /* args */)) +DEPRECATEDIN_3_0(int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd, + va_list args)) + +# ifndef OPENSSL_NO_DEPRECATED_3_0 /* * Common ctrl commands that different loaders may choose to support. @@ -80,6 +84,8 @@ int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd, va_list args); /* Where custom commands start */ # define OSSL_STORE_C_CUSTOM_START 100 +# endif + /* * Read one data item (a key, a cert, a CRL) that is supported by the OSSL_STORE * functionality, given a context. @@ -271,6 +277,8 @@ void OSSL_STORE_LOADER_names_do_all(const OSSL_STORE_LOADER *loader, * scheme. */ +# ifndef OPENSSL_NO_DEPRECATED_3_0 + /* struct ossl_store_loader_ctx_st is defined differently by each loader */ typedef struct ossl_store_loader_ctx_st OSSL_STORE_LOADER_CTX; typedef OSSL_STORE_LOADER_CTX *(*OSSL_STORE_open_fn) @@ -297,42 +305,58 @@ typedef int (*OSSL_STORE_eof_fn)(OSSL_STORE_LOADER_CTX *ctx); typedef int (*OSSL_STORE_error_fn)(OSSL_STORE_LOADER_CTX *ctx); typedef int (*OSSL_STORE_close_fn)(OSSL_STORE_LOADER_CTX *ctx); -OSSL_STORE_LOADER *OSSL_STORE_LOADER_new(ENGINE *e, const char *scheme); -int OSSL_STORE_LOADER_set_open(OSSL_STORE_LOADER *loader, - OSSL_STORE_open_fn open_function); -int OSSL_STORE_LOADER_set_open_with_libctx - (OSSL_STORE_LOADER *loader, - OSSL_STORE_open_with_libctx_fn open_with_libctx_function); -int OSSL_STORE_LOADER_set_attach(OSSL_STORE_LOADER *loader, - OSSL_STORE_attach_fn attach_function); -int OSSL_STORE_LOADER_set_ctrl(OSSL_STORE_LOADER *loader, - OSSL_STORE_ctrl_fn ctrl_function); -int OSSL_STORE_LOADER_set_expect(OSSL_STORE_LOADER *loader, - OSSL_STORE_expect_fn expect_function); -int OSSL_STORE_LOADER_set_find(OSSL_STORE_LOADER *loader, - OSSL_STORE_find_fn find_function); -int OSSL_STORE_LOADER_set_load(OSSL_STORE_LOADER *loader, - OSSL_STORE_load_fn load_function); -int OSSL_STORE_LOADER_set_eof(OSSL_STORE_LOADER *loader, - OSSL_STORE_eof_fn eof_function); -int OSSL_STORE_LOADER_set_error(OSSL_STORE_LOADER *loader, - OSSL_STORE_error_fn error_function); -int OSSL_STORE_LOADER_set_close(OSSL_STORE_LOADER *loader, - OSSL_STORE_close_fn close_function); - -const ENGINE *OSSL_STORE_LOADER_get0_engine(const OSSL_STORE_LOADER *loader); -const char * OSSL_STORE_LOADER_get0_scheme(const OSSL_STORE_LOADER *loader); - -int OSSL_STORE_register_loader(OSSL_STORE_LOADER *loader); -OSSL_STORE_LOADER *OSSL_STORE_unregister_loader(const char *scheme); +# endif + +DEPRECATEDIN_3_0(OSSL_STORE_LOADER *OSSL_STORE_LOADER_new + (ENGINE *e, const char *scheme)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_open + (OSSL_STORE_LOADER *loader, + OSSL_STORE_open_fn open_function)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_open_with_libctx + (OSSL_STORE_LOADER *loader, + OSSL_STORE_open_with_libctx_fn open_with_libctx_function)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_attach + (OSSL_STORE_LOADER *loader, + OSSL_STORE_attach_fn attach_function)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_ctrl + (OSSL_STORE_LOADER *loader, + OSSL_STORE_ctrl_fn ctrl_function)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_expect + (OSSL_STORE_LOADER *loader, + OSSL_STORE_expect_fn expect_function)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_find + (OSSL_STORE_LOADER *loader, + OSSL_STORE_find_fn find_function)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_load + (OSSL_STORE_LOADER *loader, + OSSL_STORE_load_fn load_function)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_eof + (OSSL_STORE_LOADER *loader, + OSSL_STORE_eof_fn eof_function)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_error + (OSSL_STORE_LOADER *loader, + OSSL_STORE_error_fn error_function)) +DEPRECATEDIN_3_0(int OSSL_STORE_LOADER_set_close + (OSSL_STORE_LOADER *loader, + OSSL_STORE_close_fn close_function)) + +DEPRECATEDIN_3_0(const ENGINE *OSSL_STORE_LOADER_get0_engine + (const OSSL_STORE_LOADER *loader)) +DEPRECATEDIN_3_0(const char * OSSL_STORE_LOADER_get0_scheme + (const OSSL_STORE_LOADER *loader)) + +DEPRECATEDIN_3_0(int OSSL_STORE_register_loader(OSSL_STORE_LOADER *loader)) +DEPRECATEDIN_3_0(OSSL_STORE_LOADER *OSSL_STORE_unregister_loader + (const char *scheme)) /*- * Functions to list STORE loaders * ------------------------------- */ -int OSSL_STORE_do_all_loaders(void (*do_function) (const OSSL_STORE_LOADER - *loader, void *do_arg), - void *do_arg); +DEPRECATEDIN_3_0(int OSSL_STORE_do_all_loaders + (void (*do_function)(const OSSL_STORE_LOADER *loader, + void *do_arg), + void *do_arg)) # ifdef __cplusplus } diff --git a/util/libcrypto.num b/util/libcrypto.num index a12d5272677..d5e7ab423ed 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4154,18 +4154,18 @@ ERR_load_strings_const 4242 3_0_0 EXIST::FUNCTION: ASN1_TIME_to_tm 4243 3_0_0 EXIST::FUNCTION: ASN1_TIME_set_string_X509 4244 3_0_0 EXIST::FUNCTION: OCSP_resp_get1_id 4245 3_0_0 EXIST::FUNCTION:OCSP -OSSL_STORE_register_loader 4246 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_set_error 4247 3_0_0 EXIST::FUNCTION: +OSSL_STORE_register_loader 4246 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 +OSSL_STORE_LOADER_set_error 4247 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_INFO_get0_PKEY 4248 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_get_type 4249 3_0_0 EXIST::FUNCTION: ERR_load_OSSL_STORE_strings 4250 3_0_0 EXIST::FUNCTION: OSSL_STORE_LOADER_free 4251 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_get1_PKEY 4252 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_free 4253 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_set_eof 4255 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_new 4256 3_0_0 EXIST::FUNCTION: +OSSL_STORE_LOADER_set_eof 4255 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 +OSSL_STORE_LOADER_new 4256 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_INFO_get0_CERT 4257 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_set_close 4258 3_0_0 EXIST::FUNCTION: +OSSL_STORE_LOADER_set_close 4258 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_INFO_new_PARAMS 4259 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_new_PKEY 4260 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_get1_PARAMS 4261 3_0_0 EXIST::FUNCTION: @@ -4175,26 +4175,26 @@ OSSL_STORE_INFO_get1_CERT 4264 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_get0_PARAMS 4265 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_type_string 4266 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_get1_NAME 4267 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_set_load 4268 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_get0_scheme 4269 3_0_0 EXIST::FUNCTION: +OSSL_STORE_LOADER_set_load 4268 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 +OSSL_STORE_LOADER_get0_scheme 4269 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_open 4270 3_0_0 EXIST::FUNCTION: OSSL_STORE_close 4271 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_new_CERT 4272 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_get0_CRL 4273 3_0_0 EXIST::FUNCTION: OSSL_STORE_load 4274 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_get0_NAME 4275 3_0_0 EXIST::FUNCTION: -OSSL_STORE_unregister_loader 4276 3_0_0 EXIST::FUNCTION: +OSSL_STORE_unregister_loader 4276 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_INFO_new_CRL 4277 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_new_NAME 4278 3_0_0 EXIST::FUNCTION: OSSL_STORE_eof 4279 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_set_open 4280 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_set_ctrl 4281 3_0_0 EXIST::FUNCTION: -OSSL_STORE_ctrl 4282 3_0_0 EXIST::FUNCTION: +OSSL_STORE_LOADER_set_open 4280 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 +OSSL_STORE_LOADER_set_ctrl 4281 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 +OSSL_STORE_ctrl 4282 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_INFO_get0_NAME_description 4283 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_set0_NAME_description 4284 3_0_0 EXIST::FUNCTION: OSSL_STORE_INFO_get1_NAME_description 4285 3_0_0 EXIST::FUNCTION: -OSSL_STORE_do_all_loaders 4286 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_get0_engine 4287 3_0_0 EXIST::FUNCTION: +OSSL_STORE_do_all_loaders 4286 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 +OSSL_STORE_LOADER_get0_engine 4287 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OPENSSL_fork_prepare 4288 3_0_0 EXIST:UNIX:FUNCTION: OPENSSL_fork_parent 4289 3_0_0 EXIST:UNIX:FUNCTION: OPENSSL_fork_child 4290 3_0_0 EXIST:UNIX:FUNCTION: @@ -4333,10 +4333,10 @@ EVP_sha512_256 4428 3_0_0 EXIST::FUNCTION: EVP_sha512_224 4429 3_0_0 EXIST::FUNCTION: OCSP_basic_sign_ctx 4430 3_0_0 EXIST::FUNCTION:OCSP RAND_DRBG_bytes 4431 3_0_0 NOEXIST::FUNCTION: -OSSL_STORE_vctrl 4433 3_0_0 EXIST::FUNCTION: +OSSL_STORE_vctrl 4433 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_SEARCH_by_alias 4434 3_0_0 EXIST::FUNCTION: BIO_bind 4435 3_0_0 EXIST::FUNCTION:SOCK -OSSL_STORE_LOADER_set_expect 4436 3_0_0 EXIST::FUNCTION: +OSSL_STORE_LOADER_set_expect 4436 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_expect 4437 3_0_0 EXIST::FUNCTION: OSSL_STORE_SEARCH_by_key_fingerprint 4438 3_0_0 EXIST::FUNCTION: OSSL_STORE_SEARCH_get0_serial 4439 3_0_0 EXIST::FUNCTION: @@ -4349,7 +4349,7 @@ OSSL_STORE_SEARCH_get0_string 4445 3_0_0 EXIST::FUNCTION: OSSL_STORE_SEARCH_by_issuer_serial 4446 3_0_0 EXIST::FUNCTION: OSSL_STORE_SEARCH_get0_name 4447 3_0_0 EXIST::FUNCTION: X509_get0_authority_key_id 4448 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_set_find 4449 3_0_0 EXIST::FUNCTION: +OSSL_STORE_LOADER_set_find 4449 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_SEARCH_free 4450 3_0_0 EXIST::FUNCTION: OSSL_STORE_SEARCH_get0_digest 4451 3_0_0 EXIST::FUNCTION: RAND_DRBG_set_reseed_defaults 4452 3_0_0 NOEXIST::FUNCTION: @@ -5126,7 +5126,7 @@ OSSL_PARAM_construct_time_t ? 3_0_0 EXIST::FUNCTION: OSSL_PARAM_get_time_t ? 3_0_0 EXIST::FUNCTION: OSSL_PARAM_set_time_t ? 3_0_0 EXIST::FUNCTION: OSSL_STORE_attach ? 3_0_0 EXIST::FUNCTION: -OSSL_STORE_LOADER_set_attach ? 3_0_0 EXIST::FUNCTION: +OSSL_STORE_LOADER_set_attach ? 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen ? 3_0_0 EXIST::FUNCTION:RSA EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md ? 3_0_0 EXIST::FUNCTION:RSA EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md_name ? 3_0_0 EXIST::FUNCTION:RSA @@ -5272,7 +5272,7 @@ PEM_read_bio_PUBKEY_ex ? 3_0_0 EXIST::FUNCTION: PEM_read_PUBKEY_ex ? 3_0_0 EXIST::FUNCTION:STDIO PEM_read_bio_Parameters_ex ? 3_0_0 EXIST::FUNCTION: EC_GROUP_new_from_params ? 3_0_0 EXIST::FUNCTION:EC -OSSL_STORE_LOADER_set_open_with_libctx ? 3_0_0 EXIST::FUNCTION: +OSSL_STORE_LOADER_set_open_with_libctx ? 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 OSSL_STORE_LOADER_fetch ? 3_0_0 EXIST::FUNCTION: OSSL_STORE_LOADER_up_ref ? 3_0_0 EXIST::FUNCTION: OSSL_STORE_LOADER_provider ? 3_0_0 EXIST::FUNCTION: