Blob Blame Raw
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 <openssl/blowfish.h>
 #endif
+#include <openssl/engine.h>
 
 #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);