diff options
-rw-r--r-- | crypto/core_fetch.c | 14 | ||||
-rw-r--r-- | crypto/encode_decode/decoder_meth.c | 22 | ||||
-rw-r--r-- | crypto/encode_decode/encoder_meth.c | 22 | ||||
-rw-r--r-- | crypto/evp/evp_fetch.c | 23 | ||||
-rw-r--r-- | crypto/store/store_meth.c | 22 | ||||
-rw-r--r-- | include/internal/core.h | 7 |
6 files changed, 48 insertions, 62 deletions
diff --git a/crypto/core_fetch.c b/crypto/core_fetch.c index fade75f4c9..d315599ce6 100644 --- a/crypto/core_fetch.c +++ b/crypto/core_fetch.c @@ -84,8 +84,7 @@ static void ossl_method_construct_this(OSSL_PROVIDER *provider, if (data->force_store || !no_store) { /* If we haven't been told not to store, add to the global store */ - data->mcm->put(data->libctx, NULL, method, provider, - data->operation_id, algo->algorithm_names, + data->mcm->put(NULL, method, provider, algo->algorithm_names, algo->property_definition, data->mcm_data); } else { /* @@ -97,8 +96,7 @@ static void ossl_method_construct_this(OSSL_PROVIDER *provider, if ((data->store = data->mcm->get_tmp_store(data->mcm_data)) == NULL) return; - data->mcm->put(data->libctx, data->store, method, provider, - data->operation_id, algo->algorithm_names, + data->mcm->put(data->store, method, provider, algo->algorithm_names, algo->property_definition, data->mcm_data); } @@ -112,12 +110,10 @@ void *ossl_method_construct(OSSL_LIB_CTX *libctx, int operation_id, { void *method = NULL; - if ((method = mcm->get(libctx, NULL, mcm_data)) == NULL) { + if ((method = mcm->get(NULL, mcm_data)) == NULL) { struct construct_data_st cbdata; - cbdata.libctx = libctx; cbdata.store = NULL; - cbdata.operation_id = operation_id; cbdata.force_store = force_store; cbdata.mcm = mcm; cbdata.mcm_data = mcm_data; @@ -129,11 +125,11 @@ void *ossl_method_construct(OSSL_LIB_CTX *libctx, int operation_id, /* If there is a temporary store, try there first */ if (cbdata.store != NULL) - method = mcm->get(libctx, cbdata.store, mcm_data); + method = mcm->get(cbdata.store, mcm_data); /* If no method was found yet, try the global store */ if (method == NULL) - method = mcm->get(libctx, NULL, mcm_data); + method = mcm->get(NULL, mcm_data); } return method; diff --git a/crypto/encode_decode/decoder_meth.c b/crypto/encode_decode/decoder_meth.c index 0ec886bb29..097605cfdc 100644 --- a/crypto/encode_decode/decoder_meth.c +++ b/crypto/encode_decode/decoder_meth.c @@ -87,7 +87,6 @@ static const OSSL_LIB_CTX_METHOD decoder_store_method = { /* Data to be passed through ossl_method_construct() */ struct decoder_data_st { OSSL_LIB_CTX *libctx; - OSSL_METHOD_CONSTRUCT_METHOD *mcm; int id; /* For get_decoder_from_store() */ const char *names; /* For get_decoder_from_store() */ const char *propquery; /* For get_decoder_from_store() */ @@ -126,21 +125,20 @@ static OSSL_METHOD_STORE *get_decoder_store(OSSL_LIB_CTX *libctx) } /* Get decoder methods from a store, or put one in */ -static void *get_decoder_from_store(OSSL_LIB_CTX *libctx, void *store, - void *data) +static void *get_decoder_from_store(void *store, void *data) { struct decoder_data_st *methdata = data; void *method = NULL; int id; if ((id = methdata->id) == 0) { - OSSL_NAMEMAP *namemap = ossl_namemap_stored(libctx); + OSSL_NAMEMAP *namemap = ossl_namemap_stored(methdata->libctx); id = ossl_namemap_name2num(namemap, methdata->names); } if (store == NULL - && (store = get_decoder_store(libctx)) == NULL) + && (store = get_decoder_store(methdata->libctx)) == NULL) return NULL; if (!ossl_method_store_fetch(store, id, methdata->propquery, &method)) @@ -148,19 +146,20 @@ static void *get_decoder_from_store(OSSL_LIB_CTX *libctx, void *store, return method; } -static int put_decoder_in_store(OSSL_LIB_CTX *libctx, void *store, - void *method, const OSSL_PROVIDER *prov, - int operation_id, const char *names, - const char *propdef, void *unused) +static int put_decoder_in_store(void *store, void *method, + const OSSL_PROVIDER *prov, + const char *names, const char *propdef, + void *data) { + struct decoder_data_st *methdata = data; OSSL_NAMEMAP *namemap; int id; - if ((namemap = ossl_namemap_stored(libctx)) == NULL + if ((namemap = ossl_namemap_stored(methdata->libctx)) == NULL || (id = ossl_namemap_name2num(namemap, names)) == 0) return 0; - if (store == NULL && (store = get_decoder_store(libctx)) == NULL) + if (store == NULL && (store = get_decoder_store(methdata->libctx)) == NULL) return 0; return ossl_method_store_add(store, prov, id, propdef, method, @@ -350,7 +349,6 @@ inner_ossl_decoder_fetch(struct decoder_data_st *methdata, int id, destruct_decoder }; - methdata->mcm = &mcm; methdata->id = id; methdata->names = name; methdata->propquery = properties; diff --git a/crypto/encode_decode/encoder_meth.c b/crypto/encode_decode/encoder_meth.c index 9c17b3637e..823def8843 100644 --- a/crypto/encode_decode/encoder_meth.c +++ b/crypto/encode_decode/encoder_meth.c @@ -87,7 +87,6 @@ static const OSSL_LIB_CTX_METHOD encoder_store_method = { /* Data to be passed through ossl_method_construct() */ struct encoder_data_st { OSSL_LIB_CTX *libctx; - OSSL_METHOD_CONSTRUCT_METHOD *mcm; int id; /* For get_encoder_from_store() */ const char *names; /* For get_encoder_from_store() */ const char *propquery; /* For get_encoder_from_store() */ @@ -126,21 +125,20 @@ static OSSL_METHOD_STORE *get_encoder_store(OSSL_LIB_CTX *libctx) } /* Get encoder methods from a store, or put one in */ -static void *get_encoder_from_store(OSSL_LIB_CTX *libctx, void *store, - void *data) +static void *get_encoder_from_store(void *store, void *data) { struct encoder_data_st *methdata = data; void *method = NULL; int id; if ((id = methdata->id) == 0) { - OSSL_NAMEMAP *namemap = ossl_namemap_stored(libctx); + OSSL_NAMEMAP *namemap = ossl_namemap_stored(methdata->libctx); id = ossl_namemap_name2num(namemap, methdata->names); } if (store == NULL - && (store = get_encoder_store(libctx)) == NULL) + && (store = get_encoder_store(methdata->libctx)) == NULL) return NULL; if (!ossl_method_store_fetch(store, id, methdata->propquery, &method)) @@ -148,19 +146,20 @@ static void *get_encoder_from_store(OSSL_LIB_CTX *libctx, void *store, return method; } -static int put_encoder_in_store(OSSL_LIB_CTX *libctx, void *store, - void *method, const OSSL_PROVIDER *prov, - int operation_id, const char *names, - const char *propdef, void *unused) +static int put_encoder_in_store(void *store, void *method, + const OSSL_PROVIDER *prov, + const char *names, const char *propdef, + void *data) { + struct encoder_data_st *methdata = data; OSSL_NAMEMAP *namemap; int id; - if ((namemap = ossl_namemap_stored(libctx)) == NULL + if ((namemap = ossl_namemap_stored(methdata->libctx)) == NULL || (id = ossl_namemap_name2num(namemap, names)) == 0) return 0; - if (store == NULL && (store = get_encoder_store(libctx)) == NULL) + if (store == NULL && (store = get_encoder_store(methdata->libctx)) == NULL) return 0; return ossl_method_store_add(store, prov, id, propdef, method, @@ -360,7 +359,6 @@ inner_ossl_encoder_fetch(struct encoder_data_st *methdata, int id, destruct_encoder }; - methdata->mcm = &mcm; methdata->id = id; methdata->names = name; methdata->propquery = properties; diff --git a/crypto/evp/evp_fetch.c b/crypto/evp/evp_fetch.c index 2ad9bf7dca..3067928030 100644 --- a/crypto/evp/evp_fetch.c +++ b/crypto/evp/evp_fetch.c @@ -44,7 +44,6 @@ static const OSSL_LIB_CTX_METHOD evp_method_store_method = { /* Data to be passed through ossl_method_construct() */ struct evp_method_data_st { OSSL_LIB_CTX *libctx; - OSSL_METHOD_CONSTRUCT_METHOD *mcm; int operation_id; /* For get_evp_method_from_store() */ int name_id; /* For get_evp_method_from_store() */ const char *names; /* For get_evp_method_from_store() */ @@ -116,8 +115,7 @@ static uint32_t evp_method_id(int name_id, unsigned int operation_id) | (operation_id & METHOD_ID_OPERATION_MASK)); } -static void *get_evp_method_from_store(OSSL_LIB_CTX *libctx, void *store, - void *data) +static void *get_evp_method_from_store(void *store, void *data) { struct evp_method_data_st *methdata = data; void *method = NULL; @@ -130,7 +128,7 @@ static void *get_evp_method_from_store(OSSL_LIB_CTX *libctx, void *store, * as the name or name id are passed via methdata. */ if ((name_id = methdata->name_id) == 0 && methdata->names != NULL) { - OSSL_NAMEMAP *namemap = ossl_namemap_stored(libctx); + OSSL_NAMEMAP *namemap = ossl_namemap_stored(methdata->libctx); const char *names = methdata->names; const char *q = strchr(names, NAME_SEPARATOR); size_t l = (q == NULL ? strlen(names) : (size_t)(q - names)); @@ -145,7 +143,7 @@ static void *get_evp_method_from_store(OSSL_LIB_CTX *libctx, void *store, return NULL; if (store == NULL - && (store = get_evp_method_store(libctx)) == NULL) + && (store = get_evp_method_store(methdata->libctx)) == NULL) return NULL; if (!ossl_method_store_fetch(store, meth_id, methdata->propquery, @@ -154,10 +152,10 @@ static void *get_evp_method_from_store(OSSL_LIB_CTX *libctx, void *store, return method; } -static int put_evp_method_in_store(OSSL_LIB_CTX *libctx, void *store, - void *method, const OSSL_PROVIDER *prov, - int operation_id, const char *names, - const char *propdef, void *data) +static int put_evp_method_in_store(void *store, void *method, + const OSSL_PROVIDER *prov, + const char *names, const char *propdef, + void *data) { struct evp_method_data_st *methdata = data; OSSL_NAMEMAP *namemap; @@ -177,13 +175,13 @@ static int put_evp_method_in_store(OSSL_LIB_CTX *libctx, void *store, l = (q == NULL ? strlen(names) : (size_t)(q - names)); } - if ((namemap = ossl_namemap_stored(libctx)) == NULL + if ((namemap = ossl_namemap_stored(methdata->libctx)) == NULL || (name_id = ossl_namemap_name2num_n(namemap, names, l)) == 0 - || (meth_id = evp_method_id(name_id, operation_id)) == 0) + || (meth_id = evp_method_id(name_id, methdata->operation_id)) == 0) return 0; if (store == NULL - && (store = get_evp_method_store(libctx)) == NULL) + && (store = get_evp_method_store(methdata->libctx)) == NULL) return 0; return ossl_method_store_add(store, prov, meth_id, propdef, method, @@ -308,7 +306,6 @@ inner_evp_generic_fetch(struct evp_method_data_st *methdata, int operation_id, destruct_evp_method }; - methdata->mcm = &mcm; methdata->operation_id = operation_id; methdata->name_id = name_id; methdata->names = name; diff --git a/crypto/store/store_meth.c b/crypto/store/store_meth.c index 720b70c0e0..e316f4f139 100644 --- a/crypto/store/store_meth.c +++ b/crypto/store/store_meth.c @@ -90,7 +90,6 @@ static const OSSL_LIB_CTX_METHOD loader_store_method = { /* Data to be passed through ossl_method_construct() */ struct loader_data_st { OSSL_LIB_CTX *libctx; - OSSL_METHOD_CONSTRUCT_METHOD *mcm; int scheme_id; /* For get_loader_from_store() */ const char *scheme; /* For get_loader_from_store() */ const char *propquery; /* For get_loader_from_store() */ @@ -129,21 +128,20 @@ static OSSL_METHOD_STORE *get_loader_store(OSSL_LIB_CTX *libctx) } /* Get loader methods from a store, or put one in */ -static void *get_loader_from_store(OSSL_LIB_CTX *libctx, void *store, - void *data) +static void *get_loader_from_store(void *store, void *data) { struct loader_data_st *methdata = data; void *method = NULL; int id; if ((id = methdata->scheme_id) == 0) { - OSSL_NAMEMAP *namemap = ossl_namemap_stored(libctx); + OSSL_NAMEMAP *namemap = ossl_namemap_stored(methdata->libctx); id = ossl_namemap_name2num(namemap, methdata->scheme); } if (store == NULL - && (store = get_loader_store(libctx)) == NULL) + && (store = get_loader_store(methdata->libctx)) == NULL) return NULL; if (!ossl_method_store_fetch(store, id, methdata->propquery, &method)) @@ -151,19 +149,20 @@ static void *get_loader_from_store(OSSL_LIB_CTX *libctx, void *store, return method; } -static int put_loader_in_store(OSSL_LIB_CTX *libctx, void *store, - void *method, const OSSL_PROVIDER *prov, - int operation_id, const char *scheme, - const char *propdef, void *unused) +static int put_loader_in_store(void *store, void *method, + const OSSL_PROVIDER *prov, + const char *scheme, const char *propdef, + void *data) { + struct loader_data_st *methdata = data; OSSL_NAMEMAP *namemap; int id; - if ((namemap = ossl_namemap_stored(libctx)) == NULL + if ((namemap = ossl_namemap_stored(methdata->libctx)) == NULL || (id = ossl_namemap_name2num(namemap, scheme)) == 0) return 0; - if (store == NULL && (store = get_loader_store(libctx)) == NULL) + if (store == NULL && (store = get_loader_store(methdata->libctx)) == NULL) return 0; return ossl_method_store_add(store, prov, id, propdef, method, @@ -318,7 +317,6 @@ inner_loader_fetch(struct loader_data_st *methdata, int id, destruct_loader }; - methdata->mcm = &mcm; methdata->scheme_id = id; methdata->scheme = scheme; methdata->propquery = properties; diff --git a/include/internal/core.h b/include/internal/core.h index d8395a2c92..035b726894 100644 --- a/include/internal/core.h +++ b/include/internal/core.h @@ -31,11 +31,10 @@ typedef struct ossl_method_construct_method_st { /* Get a temporary store */ void *(*get_tmp_store)(void *data); /* Get an already existing method from a store */ - void *(*get)(OSSL_LIB_CTX *libctx, void *store, void *data); + void *(*get)(void *store, void *data); /* Store a method in a store */ - int (*put)(OSSL_LIB_CTX *libctx, void *store, void *method, - const OSSL_PROVIDER *prov, int operation_id, const char *name, - const char *propdef, void *data); + int (*put)(void *store, void *method, const OSSL_PROVIDER *prov, + const char *name, const char *propdef, void *data); /* Construct a new method */ void *(*construct)(const OSSL_ALGORITHM *algodef, OSSL_PROVIDER *prov, void *data); |