From: Richard Levitte Date: Tue, 9 Apr 2019 12:33:29 +0000 (+0200) Subject: Add the possibility to display and use MODULESDIR X-Git-Tag: openssl-3.0.0-alpha1~2137 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=47ca8338358b01ef429a3801ce6173f7a0791674;hp=71ef78d71f638c7de893c635ee9b0fd16247c762 Add the possibility to display and use MODULESDIR This adds the flag OPENSSL_MODULES_DIR for OpenSSL_version(), and the flag '-m' for 'openssl version'. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/8709) --- diff --git a/apps/version.c b/apps/version.c index f9d280c723..279aeff2ff 100644 --- a/apps/version.c +++ b/apps/version.c @@ -33,7 +33,7 @@ typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, - OPT_B, OPT_D, OPT_E, OPT_F, OPT_O, OPT_P, OPT_V, OPT_A, OPT_R + OPT_B, OPT_D, OPT_E, OPT_M, OPT_F, OPT_O, OPT_P, OPT_V, OPT_A, OPT_R } OPTION_CHOICE; const OPTIONS version_options[] = { @@ -42,6 +42,7 @@ const OPTIONS version_options[] = { {"b", OPT_B, '-', "Show build date"}, {"d", OPT_D, '-', "Show configuration directory"}, {"e", OPT_E, '-', "Show engines directory"}, + {"m", OPT_M, '-', "Show modules directory"}, {"f", OPT_F, '-', "Show compiler flags used"}, {"o", OPT_O, '-', "Show some internal datatype options"}, {"p", OPT_P, '-', "Show target build platform"}, @@ -64,7 +65,7 @@ int version_main(int argc, char **argv) { int ret = 1, dirty = 0, seed = 0; int cflags = 0, version = 0, date = 0, options = 0, platform = 0, dir = 0; - int engdir = 0; + int engdir = 0, moddir = 0; char *prog; OPTION_CHOICE o; @@ -89,6 +90,9 @@ opthelp: case OPT_E: dirty = engdir = 1; break; + case OPT_M: + dirty = moddir = 1; + break; case OPT_F: dirty = cflags = 1; break; @@ -105,7 +109,8 @@ opthelp: dirty = version = 1; break; case OPT_A: - seed = options = cflags = version = date = platform = dir = engdir + seed = options = cflags = version = date = platform + = dir = engdir = moddir = 1; break; } @@ -155,6 +160,8 @@ opthelp: printf("%s\n", OpenSSL_version(OPENSSL_DIR)); if (engdir) printf("%s\n", OpenSSL_version(OPENSSL_ENGINES_DIR)); + if (moddir) + printf("%s\n", OpenSSL_version(OPENSSL_MODULES_DIR)); if (seed) { printf("Seeding source:"); #ifdef OPENSSL_RAND_SEED_RTDSC diff --git a/crypto/cversion.c b/crypto/cversion.c index db25fd668a..aef84e9c60 100644 --- a/crypto/cversion.c +++ b/crypto/cversion.c @@ -69,6 +69,12 @@ const char *OpenSSL_version(int t) return "ENGINESDIR: \"" ENGINESDIR "\""; #else return "ENGINESDIR: N/A"; +#endif + case OPENSSL_MODULES_DIR: +#ifdef MODULESDIR + return "MODULESDIR: \"" MODULESDIR "\""; +#else + return "MODULESDIR: N/A"; #endif } return "not available"; diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h index deb369eedb..80786c8461 100644 --- a/include/openssl/crypto.h +++ b/include/openssl/crypto.h @@ -163,6 +163,7 @@ const char *OpenSSL_version(int type); # define OPENSSL_ENGINES_DIR 5 # define OPENSSL_VERSION_STRING 6 # define OPENSSL_FULL_VERSION_STRING 7 +# define OPENSSL_MODULES_DIR 8 int OPENSSL_issetugid(void);