diff -up openssl-1.0.2a/apps/version.c.version-add-engines openssl-1.0.2a/apps/version.c --- openssl-1.0.2a/apps/version.c.version-add-engines 2015-04-09 18:16:42.345756005 +0200 +++ openssl-1.0.2a/apps/version.c 2015-04-09 18:16:36.573622667 +0200 @@ -131,6 +131,7 @@ #ifndef OPENSSL_NO_BF # include #endif +#include #undef PROG #define PROG version_main @@ -140,7 +141,8 @@ int MAIN(int, char **); int MAIN(int argc, char **argv) { int i, ret = 0; - int cflags = 0, version = 0, date = 0, options = 0, platform = 0, dir = 0; + int cflags = 0, version = 0, date = 0, options = 0, platform = 0, dir = + 0, engines = 0; apps_startup(); @@ -164,7 +166,7 @@ int MAIN(int argc, char **argv) else if (strcmp(argv[i], "-d") == 0) dir = 1; else if (strcmp(argv[i], "-a") == 0) - date = version = cflags = options = platform = dir = 1; + date = version = cflags = options = platform = dir = engines = 1; else { BIO_printf(bio_err, "usage:version -[avbofpd]\n"); ret = 1; @@ -208,6 +210,16 @@ int MAIN(int argc, char **argv) printf("%s\n", SSLeay_version(SSLEAY_CFLAGS)); if (dir) printf("%s\n", SSLeay_version(SSLEAY_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"); + } end: apps_shutdown(); OPENSSL_EXIT(ret);