The branch master has been updated
       via  0d1f7ae3c928486120b682a6ce6efcaeb36229d6 (commit)
      from  3bed01a09071fb289484dfd265f0a8a991537282 (commit)


- Log -----------------------------------------------------------------
commit 0d1f7ae3c928486120b682a6ce6efcaeb36229d6
Author: Pauli <paul.d...@oracle.com>
Date:   Thu Nov 1 14:25:20 2018 +1000

    openssl list -mac-algorithms support.
    
    Reviewed-by: Richard Levitte <levi...@openssl.org>
    Reviewed-by: Tim Hudson <t...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/7541)

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

Summary of changes:
 apps/openssl.c    | 21 ++++++++++++++++++++-
 doc/man1/list.pod |  8 ++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/apps/openssl.c b/apps/openssl.c
index 3d6b276..67b75e4 100644
--- a/apps/openssl.c
+++ b/apps/openssl.c
@@ -297,6 +297,20 @@ static void list_md_fn(const EVP_MD *m,
     }
 }
 
+static void list_mac_fn(const EVP_MAC *m,
+                        const char *from, const char *to, void *arg)
+{
+    if (m != NULL) {
+        BIO_printf(arg, "%s\n", EVP_MAC_name(m));
+    } else {
+        if (from == NULL)
+            from = "<undefined>";
+        if (to == NULL)
+            to = "<undefined>";
+        BIO_printf(arg, "%s => %s\n", from, to);
+    }
+}
+
 static void list_missing_help(void)
 {
     const FUNCTION *fp;
@@ -396,7 +410,7 @@ static void list_options_for_command(const char *command)
 /* Unified enum for help and list commands. */
 typedef enum HELPLIST_CHOICE {
     OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_ONE,
-    OPT_COMMANDS, OPT_DIGEST_COMMANDS, OPT_OPTIONS,
+    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
@@ -410,6 +424,8 @@ const OPTIONS list_options[] = {
      "List of message digest commands"},
     {"digest-algorithms", OPT_DIGEST_ALGORITHMS, '-',
      "List of message digest algorithms"},
+    {"mac-algorithms", OPT_MAC_ALGORITHMS, '-',
+     "List of message authentication code algorithms"},
     {"cipher-commands", OPT_CIPHER_COMMANDS, '-', "List of cipher commands"},
     {"cipher-algorithms", OPT_CIPHER_ALGORITHMS, '-',
      "List of cipher algorithms"},
@@ -457,6 +473,9 @@ opthelp:
         case OPT_DIGEST_ALGORITHMS:
             EVP_MD_do_all_sorted(list_md_fn, bio_out);
             break;
+        case OPT_MAC_ALGORITHMS:
+            EVP_MAC_do_all_sorted(list_mac_fn, bio_out);
+            break;
         case OPT_CIPHER_COMMANDS:
             list_type(FT_cipher, one);
             break;
diff --git a/doc/man1/list.pod b/doc/man1/list.pod
index f2fd06b..eeb099b 100644
--- a/doc/man1/list.pod
+++ b/doc/man1/list.pod
@@ -13,6 +13,7 @@ B<openssl list>
 [B<-commands>]
 [B<-digest-commands>]
 [B<-digest-algorithms>]
+[B<-mac-algorithms>]
 [B<-cipher-commands>]
 [B<-cipher-algorithms>]
 [B<-public-key-algorithms>]
@@ -53,6 +54,13 @@ If a line is of the form
   foo => bar
 then B<foo> is an alias for the official algorithm name, B<bar>.
 
+=item B<-mac-algorithms>
+
+Display a list of message authentication code algorithms.
+If a line is of the form
+  foo => bar
+then B<foo> is an alias for the official algorithm name, B<bar>.
+
 =item B<-cipher-commands>
 
 Display a list of cipher commands, which are typically used as input
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to