aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2005-04-21 07:12:18 +0000
committerWerner Koch <[email protected]>2005-04-21 07:12:18 +0000
commitafc34f239cada34ca31d96873c49eb8f94a2664d (patch)
tree1e57e4ac987212a14227c9d21e3cf2856501b152
parent(struct assuan_io): Renamed elements READ and (diff)
downloadgpgme-afc34f239cada34ca31d96873c49eb8f94a2664d.tar.gz
gpgme-afc34f239cada34ca31d96873c49eb8f94a2664d.zip
(calc_sig_summary): Set the key revoked bit.
-rw-r--r--gpgme/ChangeLog4
-rw-r--r--gpgme/gpgme.h2
-rw-r--r--gpgme/verify.c25
3 files changed, 24 insertions, 7 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index a5aa3a35..ac759a05 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,7 @@
+2005-04-21 Werner Koch <[email protected]>
+
+ * verify.c (calc_sig_summary): Set the key revoked bit.
+
2004-12-11 Marcus Brinkmann <[email protected]>
* util.h [HAVE_CONFIG_H && HAVE_TTYNAME_R] (ttyname_r): Define
diff --git a/gpgme/gpgme.h b/gpgme/gpgme.h
index c3d7e909..88d7603a 100644
--- a/gpgme/gpgme.h
+++ b/gpgme/gpgme.h
@@ -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"
/* Some opaque data types used by GPGME. */
diff --git a/gpgme/verify.c b/gpgme/verify.c
index 7e5fd601..b2e0fcc4 100644
--- a/gpgme/verify.c
+++ b/gpgme/verify.c
@@ -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;