(calc_sig_summary): Set the key revoked bit.
authorWerner Koch <wk@gnupg.org>
Thu, 21 Apr 2005 07:12:18 +0000 (07:12 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 21 Apr 2005 07:12:18 +0000 (07:12 +0000)
gpgme/ChangeLog
gpgme/gpgme.h
gpgme/verify.c

index a5aa3a3594fcbf077ed910979122c5566172a749..ac759a05224d709e41d83ec9829f9272a0b485d0 100644 (file)
@@ -1,3 +1,7 @@
+2005-04-21  Werner Koch  <wk@g10code.com>
+
+       * verify.c (calc_sig_summary): Set the key revoked bit.
+
 2004-12-11  Marcus Brinkmann  <marcus@g10code.de>
 
        * util.h [HAVE_CONFIG_H && HAVE_TTYNAME_R] (ttyname_r): Define
index c3d7e90961b221f81500aa607fe169a462dc5375..88d7603a538931a7c229de4ec07746c2610aa26b 100644 (file)
@@ -75,7 +75,7 @@ extern "C" {
    AM_PATH_GPGME macro) check that this header matches the installed
    library.  Warning: Do not edit the next line.  configure will do
    that for you!  */
-#define GPGME_VERSION "1.0.2"
+#define GPGME_VERSION "1.0.3-cvs"
 
 \f
 /* Some opaque data types used by GPGME.  */
index 7e5fd601d78b73d3b5195f48431d396cf842d40c..b2e0fcc487b338c346e7963289f6e03ce7fedfc2 100644 (file)
@@ -94,7 +94,8 @@ static void
 calc_sig_summary (gpgme_signature_t sig)
 {
   unsigned long sum = 0;
-
+  
+  /* Calculate the red/green flag.  */
   if (sig->validity == GPGME_VALIDITY_FULL
       || sig->validity == GPGME_VALIDITY_ULTIMATE)
     {
@@ -113,11 +114,6 @@ calc_sig_summary (gpgme_signature_t sig)
   else if (gpg_err_code (sig->status) == GPG_ERR_BAD_SIGNATURE)
     sum |= GPGME_SIGSUM_RED;
 
-  if (sig->validity == GPGME_VALIDITY_UNKNOWN)
-    {
-      if (gpg_err_code (sig->validity_reason) == GPG_ERR_CRL_TOO_OLD)
-       sum |= GPGME_SIGSUM_CRL_TOO_OLD;
-    }
 
   /* FIXME: handle the case when key and message are expired. */
   switch (gpg_err_code (sig->status))
@@ -143,6 +139,23 @@ calc_sig_summary (gpgme_signature_t sig)
       break;
     }
   
+  /* Now look at the certain reason codes.  */
+  switch (gpg_err_code (sig->validity_reason))
+    {
+    case GPG_ERR_CRL_TOO_OLD:
+      if (sig->validity == GPGME_VALIDITY_UNKNOWN)
+        sum |= GPGME_SIGSUM_CRL_TOO_OLD;
+      break;
+        
+    case GPG_ERR_CERT_REVOKED:
+      sum |= GPGME_SIGSUM_KEY_REVOKED;
+      break;
+
+    default:
+      break;
+    }
+
+  /* Check other flags. */
   if (sig->wrong_key_usage)
     sum |= GPGME_SIGSUM_BAD_POLICY;