Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openssl/openssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPauli <paul.dale@oracle.com>2019-11-11 04:17:32 +0300
committerPauli <paul.dale@oracle.com>2019-11-18 11:51:26 +0300
commitbdbf2df2e685ae653f3c683ce2f734eb0c0888e0 (patch)
tree832a32165746bb33f8be34f196525031ac3a93bf /include/internal
parentf75abcc0f073b1c3e2d81df3fcde8fe45dd1e61f (diff)
Properties: make query cache reference count aware.
The property query cache was not reference count aware and this could cause problems if the property store removes an algorithm while it is being returned from an asynchronous query. This change makes the cache reference count aware and avoids disappearing algorithms. A side effect of this change is that the reference counts are now owned by the cache and store. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10408)
Diffstat (limited to 'include/internal')
-rw-r--r--include/internal/property.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/internal/property.h b/include/internal/property.h
index a3a4a62be6..7ffd588073 100644
--- a/include/internal/property.h
+++ b/include/internal/property.h
@@ -36,5 +36,7 @@ int ossl_method_store_set_global_properties(OSSL_METHOD_STORE *store,
int ossl_method_store_cache_get(OSSL_METHOD_STORE *store, int nid,
const char *prop_query, void **result);
int ossl_method_store_cache_set(OSSL_METHOD_STORE *store, int nid,
- const char *prop_query, void *result);
+ const char *prop_query, void *result,
+ int (*method_up_ref)(void *),
+ void (*method_destruct)(void *));
#endif