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