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