gpg: Change --print-mds to output enabled OpenPGP algos.
authorWerner Koch <wk@gnupg.org>
Fri, 7 Feb 2014 12:43:39 +0000 (13:43 +0100)
committerWerner Koch <wk@gnupg.org>
Fri, 7 Feb 2014 12:43:39 +0000 (13:43 +0100)
* g10/gpg.c (print_mds): Use opengpg_md_test_algo.  Test also for MD5
availibility.

g10/gpg.c

index a487913..0365226 100644 (file)
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -4333,9 +4333,11 @@ print_mds( const char *fname, int algo )
     if( algo )
         gcry_md_enable (md, algo);
     else {
-       gcry_md_enable (md, GCRY_MD_MD5);
+        if (!openpgp_md_test_algo (GCRY_MD_MD5))
+          gcry_md_enable (md, GCRY_MD_MD5);
        gcry_md_enable (md, GCRY_MD_SHA1);
-       gcry_md_enable (md, GCRY_MD_RMD160);
+        if (!openpgp_md_test_algo (GCRY_MD_RMD160))
+          gcry_md_enable (md, GCRY_MD_RMD160);
         if (!openpgp_md_test_algo (GCRY_MD_SHA224))
           gcry_md_enable (md, GCRY_MD_SHA224);
         if (!openpgp_md_test_algo (GCRY_MD_SHA256))
@@ -4356,35 +4358,37 @@ print_mds( const char *fname, int algo )
             if ( algo )
                 print_hashline( md, algo, fname );
             else {
-                print_hashline( md, GCRY_MD_MD5, fname );
+                if (!openpgp_md_test_algo (GCRY_MD_MD5))
+                    print_hashline( md, GCRY_MD_MD5, fname );
                 print_hashline( md, GCRY_MD_SHA1, fname );
-                if (!gcry_md_test_algo (GCRY_MD_RMD160))
+                if (!openpgp_md_test_algo (GCRY_MD_RMD160))
                     print_hashline( md, GCRY_MD_RMD160, fname );
-                if (!gcry_md_test_algo (GCRY_MD_SHA224))
+                if (!openpgp_md_test_algo (GCRY_MD_SHA224))
                     print_hashline (md, GCRY_MD_SHA224, fname);
-                if (!gcry_md_test_algo (GCRY_MD_SHA256))
+                if (!openpgp_md_test_algo (GCRY_MD_SHA256))
                     print_hashline( md, GCRY_MD_SHA256, fname );
-                if (!gcry_md_test_algo (GCRY_MD_SHA384))
+                if (!openpgp_md_test_algo (GCRY_MD_SHA384))
                     print_hashline ( md, GCRY_MD_SHA384, fname );
-                if (!gcry_md_test_algo (GCRY_MD_SHA512))
+                if (!openpgp_md_test_algo (GCRY_MD_SHA512))
                     print_hashline ( md, GCRY_MD_SHA512, fname );
             }
         }
         else {
             if( algo )
-              print_hex(md,-algo,fname);
+               print_hex(md,-algo,fname);
             else {
-                print_hex( md, GCRY_MD_MD5, fname );
+                if (!openpgp_md_test_algo (GCRY_MD_MD5))
+                    print_hex( md, GCRY_MD_MD5, fname );
                 print_hex( md, GCRY_MD_SHA1, fname );
-                if (!gcry_md_test_algo (GCRY_MD_RMD160))
+                if (!openpgp_md_test_algo (GCRY_MD_RMD160))
                     print_hex( md, GCRY_MD_RMD160, fname );
-                if (!gcry_md_test_algo (GCRY_MD_SHA224))
+                if (!openpgp_md_test_algo (GCRY_MD_SHA224))
                     print_hex (md, GCRY_MD_SHA224, fname);
-                if (!gcry_md_test_algo (GCRY_MD_SHA256))
+                if (!openpgp_md_test_algo (GCRY_MD_SHA256))
                     print_hex( md, GCRY_MD_SHA256, fname );
-                if (!gcry_md_test_algo (GCRY_MD_SHA384))
+                if (!openpgp_md_test_algo (GCRY_MD_SHA384))
                     print_hex( md, GCRY_MD_SHA384, fname );
-                if (!gcry_md_test_algo (GCRY_MD_SHA512))
+                if (!openpgp_md_test_algo (GCRY_MD_SHA512))
                     print_hex( md, GCRY_MD_SHA512, fname );
             }
         }