summaryrefslogtreecommitdiffstats
path: root/providers/nullprov.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/nullprov.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/nullprov.c')
-rw-r--r--providers/nullprov.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/providers/nullprov.c b/providers/nullprov.c
index bdad5f15e6..537c90b78f 100644
--- a/providers/nullprov.c
+++ b/providers/nullprov.c
@@ -14,6 +14,7 @@
#include <openssl/core_names.h>
#include <openssl/params.h>
#include "prov/implementations.h"
+#include "prov/providercommon.h"
OSSL_provider_init_fn ossl_null_provider_init;
@@ -22,6 +23,7 @@ static const OSSL_ITEM null_param_types[] = {
{ OSSL_PARAM_UTF8_PTR, OSSL_PROV_PARAM_NAME },
{ OSSL_PARAM_UTF8_PTR, OSSL_PROV_PARAM_VERSION },
{ OSSL_PARAM_UTF8_PTR, OSSL_PROV_PARAM_BUILDINFO },
+ { OSSL_PARAM_INTEGER, OSSL_PROV_PARAM_STATUS },
{ 0, NULL }
};
@@ -30,7 +32,7 @@ static const OSSL_ITEM *null_gettable_params(const OSSL_PROVIDER *prov)
return null_param_types;
}
-static int null_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[])
+static int null_get_params(const OSSL_PROVIDER *provctx, OSSL_PARAM params[])
{
OSSL_PARAM *p;
@@ -43,7 +45,9 @@ static int null_get_params(const OSSL_PROVIDER *prov, 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;
}