summaryrefslogtreecommitdiffstats
path: root/include/internal/property.h
diff options
context:
space:
mode:
authorPauli <paul.dale@oracle.com>2020-06-12 10:34:46 +1000
committerPauli <paul.dale@oracle.com>2020-06-23 21:44:47 +1000
commitf9e504e8b1d4da4b8c9c16ee4c11e9815a800422 (patch)
treea53b2ee1974b87cdc17f3367338ef4f8abead154 /include/internal/property.h
parent1b495200436b57309ca958a7a72affaf75171c1a (diff)
property: Move global default properties to the library context.
Fixes a problem where global properties don't work with a NULL query. Specifying an algorithm with a NULL query ignores the default properties. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12123)
Diffstat (limited to 'include/internal/property.h')
-rw-r--r--include/internal/property.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/include/internal/property.h b/include/internal/property.h
index 2b2332b237..d8ff3582eb 100644
--- a/include/internal/property.h
+++ b/include/internal/property.h
@@ -42,13 +42,10 @@ int ossl_method_store_add(OSSL_METHOD_STORE *store, const OSSL_PROVIDER *prov,
int ossl_method_store_remove(OSSL_METHOD_STORE *store, int nid,
const void *method);
int ossl_method_store_fetch(OSSL_METHOD_STORE *store, int nid,
- const char *prop_query, void **result);
-int ossl_method_store_set_global_properties(OSSL_METHOD_STORE *store,
- const char *prop_query);
-int ossl_method_store_merge_global_properties(OSSL_METHOD_STORE *store,
- const char *prop_query);
-int ossl_method_store_global_property_is_enabled(OSSL_METHOD_STORE *store,
- const char *prop_name);
+ const char *prop_query, void **method);
+
+/* Get the global properties associate with the specified library context */
+OSSL_PROPERTY_LIST **ossl_ctx_global_properties(OPENSSL_CTX *ctx);
/* property query cache functions */
int ossl_method_store_cache_get(OSSL_METHOD_STORE *store, int nid,
@@ -57,4 +54,10 @@ int ossl_method_store_cache_set(OSSL_METHOD_STORE *store, int nid,
const char *prop_query, void *result,
int (*method_up_ref)(void *),
void (*method_destruct)(void *));
+void ossl_method_store_flush_cache(OSSL_METHOD_STORE *store);
+
+/* Merge two property queries together */
+OSSL_PROPERTY_LIST *ossl_property_merge(const OSSL_PROPERTY_LIST *a,
+ const OSSL_PROPERTY_LIST *b);
+
#endif