[openssl] master update

matthias.st.pierre at ncp-e.com matthias.st.pierre at ncp-e.com
Fri Mar 8 23:33:33 UTC 2019


The branch master has been updated
       via  ebb7823e14596ad07fdc7d2ed0a267815f545927 (commit)
      from  0fc4d00a00e5d25ce202e69414432a07c9e74502 (commit)


- Log -----------------------------------------------------------------
commit ebb7823e14596ad07fdc7d2ed0a267815f545927
Author: Tomas Mraz <tmraz at fedoraproject.org>
Date:   Thu Mar 7 15:28:30 2019 +0100

    Print all loaded engines with openssl list -engines
    
    Reviewed-by: Richard Levitte <levitte at openssl.org>
    Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre at ncp-e.com>
    (Merged from https://github.com/openssl/openssl/pull/8434)

-----------------------------------------------------------------------

Summary of changes:
 apps/openssl.c    | 26 ++++++++++++++++++++++++--
 doc/man1/list.pod |  5 +++++
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/apps/openssl.c b/apps/openssl.c
index 854f943..1acae24 100644
--- a/apps/openssl.c
+++ b/apps/openssl.c
@@ -54,6 +54,7 @@ static int do_cmd(LHASH_OF(FUNCTION) *prog, int argc, char *argv[]);
 static void list_pkey(void);
 static void list_pkey_meth(void);
 static void list_type(FUNC_TYPE ft, int one);
+static void list_engines(void);
 static void list_disabled(void);
 char *default_config_file = NULL;
 
@@ -523,8 +524,8 @@ typedef enum HELPLIST_CHOICE {
     OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_ONE,
     OPT_COMMANDS, OPT_DIGEST_COMMANDS, OPT_MAC_ALGORITHMS, OPT_OPTIONS,
     OPT_DIGEST_ALGORITHMS, OPT_CIPHER_COMMANDS, OPT_CIPHER_ALGORITHMS,
-    OPT_PK_ALGORITHMS, OPT_PK_METHOD, OPT_DISABLED, OPT_MISSING_HELP,
-    OPT_OBJECTS
+    OPT_PK_ALGORITHMS, OPT_PK_METHOD, OPT_ENGINES, OPT_DISABLED,
+    OPT_MISSING_HELP, OPT_OBJECTS
 } HELPLIST_CHOICE;
 
 const OPTIONS list_options[] = {
@@ -544,6 +545,8 @@ const OPTIONS list_options[] = {
      "List of public key algorithms"},
     {"public-key-methods", OPT_PK_METHOD, '-',
      "List of public key methods"},
+    {"engines", OPT_ENGINES, '-',
+     "List of loaded engines"},
     {"disabled", OPT_DISABLED, '-',
      "List of disabled features"},
     {"missing-help", OPT_MISSING_HELP, '-',
@@ -599,6 +602,9 @@ opthelp:
         case OPT_PK_METHOD:
             list_pkey_meth();
             break;
+        case OPT_ENGINES:
+            list_engines();
+            break;
         case OPT_DISABLED:
             list_disabled();
             break;
@@ -837,6 +843,22 @@ static int SortFnByName(const void *_f1, const void *_f2)
     return strcmp(f1->name, f2->name);
 }
 
+static void list_engines(void)
+{
+#ifndef OPENSSL_NO_ENGINES
+    ENGINE *e;
+
+    BIO_puts(bio_out, "Engines:\n");
+    e = ENGINE_get_first();
+    while (e) {
+        BIO_printf(bio_out, "%s\n", ENGINE_get_id(e));
+        e = ENGINE_get_next(e);
+    }
+#else
+    BIO_puts(bio_out, "Engine support is disabled.\n");
+#endif
+}
+
 static void list_disabled(void)
 {
     BIO_puts(bio_out, "Disabled algorithms:\n");
diff --git a/doc/man1/list.pod b/doc/man1/list.pod
index b1a147b..901a266 100644
--- a/doc/man1/list.pod
+++ b/doc/man1/list.pod
@@ -18,6 +18,7 @@ B<openssl list>
 [B<-cipher-algorithms>]
 [B<-public-key-algorithms>]
 [B<-public-key-methods>]
+[B<-engines>]
 [B<-disabled>]
 
 =head1 DESCRIPTION
@@ -80,6 +81,10 @@ a block of multiple lines, all but the first are indented.
 Display a list of public key method OIDs: this also includes public key methods
 without an associated ASN.1 method, for example, KDF algorithms.
 
+=item B<-engines>
+
+Display a list of loaded engines.
+
 =item B<-disabled>
 
 Display a list of disabled features, those that were compiled out


More information about the openssl-commits mailing list