summaryrefslogtreecommitdiffstats
path: root/providers/baseprov.c
diff options
context:
space:
mode:
authorPauli <paul.dale@oracle.com>2020-09-07 11:58:03 +1000
committerPauli <paul.dale@oracle.com>2020-09-12 16:46:20 +1000
commiteab7b4240dc87e27d8b12b5af23d3cf20dd06f55 (patch)
tree6cf21b1522dd15ab0b961d5c4a0250d2bc354b09 /providers/baseprov.c
parent5e8cd0a4f48f06df2542e7c74dcbb4310bce7c4c (diff)
provider: add an 'is_running' call to all providers.
It can be accessed (read only) via the status parameter. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12801)
Diffstat (limited to 'providers/baseprov.c')
-rw-r--r--providers/baseprov.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/providers/baseprov.c b/providers/baseprov.c
index e9502f68cd..0904e46333 100644
--- a/providers/baseprov.c
+++ b/providers/baseprov.c
@@ -38,6 +38,7 @@ static const OSSL_PARAM base_param_types[] = {
OSSL_PARAM_DEFN(OSSL_PROV_PARAM_NAME, OSSL_PARAM_UTF8_PTR, NULL, 0),
OSSL_PARAM_DEFN(OSSL_PROV_PARAM_VERSION, OSSL_PARAM_UTF8_PTR, NULL, 0),
OSSL_PARAM_DEFN(OSSL_PROV_PARAM_BUILDINFO, OSSL_PARAM_UTF8_PTR, NULL, 0),
+ OSSL_PARAM_DEFN(OSSL_PROV_PARAM_STATUS, OSSL_PARAM_INTEGER, NULL, 0),
OSSL_PARAM_END
};
@@ -60,6 +61,9 @@ static int base_get_params(void *provctx, OSSL_PARAM params[])
p = OSSL_PARAM_locate(params, OSSL_PROV_PARAM_BUILDINFO);
if (p != NULL && !OSSL_PARAM_set_utf8_ptr(p, OPENSSL_FULL_VERSION_STR))
return 0;
+ p = OSSL_PARAM_locate(params, OSSL_PROV_PARAM_STATUS);
+ if (p != NULL && !OSSL_PARAM_set_int(p, ossl_prov_is_running()))
+ return 0;
return 1;
}