diff -up openssl-1.1.0-pre5/apps/version.c.version-add-engines openssl-1.1.0-pre5/apps/version.c --- openssl-1.1.0-pre5/apps/version.c.version-add-engines 2016-07-18 15:25:52.694531409 +0200 +++ openssl-1.1.0-pre5/apps/version.c 2016-07-18 15:32:53.943062181 +0200 @@ -153,7 +153,7 @@ int version_main(int argc, char **argv) { int ret = 1, dirty = 0; int cflags = 0, version = 0, date = 0, options = 0, platform = 0, dir = 0; - int engdir = 0; + int engdir = 0, engines = 0; char *prog; OPTION_CHOICE o; @@ -190,7 +190,7 @@ int version_main(int argc, char **argv) dirty = version = 1; break; case OPT_A: - cflags = version = date = platform = dir = engdir = 1; + cflags = version = date = platform = dir = engdir = engines = 1; break; } } @@ -235,6 +235,16 @@ int version_main(int argc, char **argv) printf("%s\n", OpenSSL_version(OPENSSL_DIR)); if (engdir) printf("%s\n", OpenSSL_version(OPENSSL_ENGINES_DIR)); + if (engines) { + ENGINE *e; + printf("engines: "); + e = ENGINE_get_first(); + while (e) { + printf("%s ", ENGINE_get_id(e)); + e = ENGINE_get_next(e); + } + printf("\n"); + } ret = 0; end: return (ret);