summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDmitry Belyavskiy <beldmit@gmail.com>2023-08-28 13:37:33 +0200
committerDmitry Belyavskiy <beldmit@gmail.com>2023-09-15 10:18:36 +0200
commit0a8807b4a838ec6e6a84b2a28781e821ede90480 (patch)
tree32094d09c9778459d19367181bfcca71a0248cf0 /include
parent00f2efccf5b9671a7af2b12571068258e9c255a5 (diff)
Store: API for deletion
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21901)
Diffstat (limited to 'include')
-rw-r--r--include/openssl/core_dispatch.h4
-rw-r--r--include/openssl/store.h8
2 files changed, 12 insertions, 0 deletions
diff --git a/include/openssl/core_dispatch.h b/include/openssl/core_dispatch.h
index 7c48bd7f86..9631626ae3 100644
--- a/include/openssl/core_dispatch.h
+++ b/include/openssl/core_dispatch.h
@@ -936,6 +936,7 @@ OSSL_CORE_MAKE_FUNC(int, decoder_export_object,
#define OSSL_FUNC_STORE_EOF 6
#define OSSL_FUNC_STORE_CLOSE 7
#define OSSL_FUNC_STORE_EXPORT_OBJECT 8
+#define OSSL_FUNC_STORE_DELETE 9
OSSL_CORE_MAKE_FUNC(void *, store_open, (void *provctx, const char *uri))
OSSL_CORE_MAKE_FUNC(void *, store_attach, (void *provctx, OSSL_CORE_BIO *in))
OSSL_CORE_MAKE_FUNC(const OSSL_PARAM *, store_settable_ctx_params,
@@ -951,6 +952,9 @@ OSSL_CORE_MAKE_FUNC(int, store_close, (void *loaderctx))
OSSL_CORE_MAKE_FUNC(int, store_export_object,
(void *loaderctx, const void *objref, size_t objref_sz,
OSSL_CALLBACK *export_cb, void *export_cbarg))
+OSSL_CORE_MAKE_FUNC(int, store_delete,
+ (void *provctx, const char *uri, const OSSL_PARAM params[],
+ OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg))
# ifdef __cplusplus
}
diff --git a/include/openssl/store.h b/include/openssl/store.h
index dafb16fd90..46fb4d40f0 100644
--- a/include/openssl/store.h
+++ b/include/openssl/store.h
@@ -99,6 +99,14 @@ OSSL_DEPRECATEDIN_3_0 int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd,
OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx);
/*
+ * Deletes the object in the store by URI.
+ * Returns 1 on success, 0 otherwise.
+ */
+int OSSL_STORE_delete(const char *uri, OSSL_LIB_CTX *libctx, const char *propq,
+ const UI_METHOD *ui_method, void *ui_data,
+ const OSSL_PARAM params[]);
+
+/*
* Check if end of data (end of file) is reached
* Returns 1 on end, 0 otherwise.
*/