From 54a11729fb71ba06e318fe229d0a230686ed4dc8 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 7 Feb 2014 13:43:39 +0100 Subject: gpg: Change --print-mds to output enabled OpenPGP algos. * g10/gpg.c (print_mds): Use opengpg_md_test_algo. Test also for MD5 availibility. --- g10/gpg.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/g10/gpg.c b/g10/gpg.c index a48791343..03652268a 100644 --- 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 ); } } -- cgit v1.2.3