Add functions to return FIPS module version.
diff --git a/CHANGES b/CHANGES index 246c1fe..4ba53d3 100644 --- a/CHANGES +++ b/CHANGES
@@ -4,6 +4,10 @@ Changes between 1.0.1 and 1.1.0 [xx XXX xxxx] + *) Add functions FIPS_module_version() and FIPS_module_version_text() + to return numberical and string versions of the FIPS module number. + [Steve Henson] + *) Rename FIPS_mode_set and FIPS_mode to FIPS_module_mode_set and FIPS_module_mode. FIPS_mode and FIPS_mode_set will be implmeneted outside the validated module in the FIPS capable OpenSSL.
diff --git a/fips/fips.c b/fips/fips.c index 09accac..ef9c0bd 100644 --- a/fips/fips.c +++ b/fips/fips.c
@@ -365,6 +365,16 @@ return FIPS_signature; } +unsigned long FIPS_module_version(void) + { + return FIPS_MODULE_VERSION_NUMBER; + } + +const char *FIPS_module_version_text(void) + { + return FIPS_MODULE_VERSION_TEXT; + } + #if 0 /* The purpose of this is to ensure the error code exists and the function * name is to keep the error checking script quiet
diff --git a/fips/fips.h b/fips/fips.h index 3b67941..c8a766e 100644 --- a/fips/fips.h +++ b/fips/fips.h
@@ -78,6 +78,9 @@ struct CMAC_CTX_st; struct hmac_ctx_st; +unsigned long FIPS_module_version(void); +const char *FIPS_module_version_text(void); + int FIPS_module_mode_set(int onoff); int FIPS_module_mode(void); const void *FIPS_rand_check(void);
diff --git a/fips/fips_locl.h b/fips/fips_locl.h index 1b29176..df3863f 100644 --- a/fips/fips_locl.h +++ b/fips/fips_locl.h
@@ -67,6 +67,9 @@ int fips_post_corrupt(int id, int subid, void *ex); int fips_post_status(void); +#define FIPS_MODULE_VERSION_NUMBER 0x20000000L +#define FIPS_MODULE_VERSION_TEXT "FIPS 2.0-dev unvalidated test module xx XXX xxxx" + #ifdef __cplusplus } #endif
diff --git a/fips/fips_test_suite.c b/fips/fips_test_suite.c index 5290cb2..bfd34c1 100644 --- a/fips/fips_test_suite.c +++ b/fips/fips_test_suite.c
@@ -874,7 +874,9 @@ FIPS_post_set_callback(post_cb); - printf("\tFIPS-mode test application\n\n"); + printf("\tFIPS-mode test application\n"); + + printf("\t%s\n\n", FIPS_module_version_text()); if (argv[1]) { /* Corrupted KAT tests */