* verify.c (gpgsm_verify): Fixed for changes API of gcry_md_info.
authorWerner Koch <wk@gnupg.org>
Tue, 18 Nov 2003 17:29:51 +0000 (17:29 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 18 Nov 2003 17:29:51 +0000 (17:29 +0000)
* certchain.c (unknown_criticals): Fixed an error code test.

sm/ChangeLog
sm/certchain.c
sm/verify.c

index 24f71fb..4b6e579 100644 (file)
@@ -1,3 +1,9 @@
+2003-11-18  Werner Koch  <wk@gnupg.org>
+
+       * verify.c (gpgsm_verify): Fixed for changes API of gcry_md_info.
+
+       * certchain.c (unknown_criticals): Fixed an error code test.
+
 2003-11-12  Werner Koch  <wk@gnupg.org>
 
        Adjusted for API changes in Libksba.
index a25e082..50e9102 100644 (file)
@@ -61,7 +61,7 @@ unknown_criticals (KsbaCert cert)
           rc = gpg_error (GPG_ERR_UNSUPPORTED_CERT);
         }
     }
-  if (err && err != -1)
+  if (err && gpg_err_code (err) != GPG_ERR_EOF)
     rc = err;
 
   return rc;
index 201fc7b..e6e08c0 100644 (file)
@@ -286,11 +286,16 @@ gpgsm_verify (CTRL ctrl, int in_fd, int data_fd, FILE *out_fp)
                                          &msgdigest, &msgdigestlen);
       if (!err)
         {
+          size_t is_enabled;
+
           algoid = ksba_cms_get_digest_algo (cms, signer);
           algo = gcry_md_map_name (algoid);
           if (DBG_X509)
             log_debug ("signer %d - digest algo: %d\n", signer, algo);
-          if ( !gcry_md_info (data_md, GCRYCTL_IS_ALGO_ENABLED, &algo, NULL) )
+          is_enabled = sizeof algo;
+          if ( gcry_md_info (data_md, GCRYCTL_IS_ALGO_ENABLED,
+                             &algo, &is_enabled)
+               || !is_enabled)
             {
               log_error ("digest algo %d has not been enabled\n", algo);
               goto next_signer;