summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Brinkmann <mb@g10code.com>2004-10-22 17:57:56 +0000
committerMarcus Brinkmann <mb@g10code.com>2004-10-22 17:57:56 +0000
commitbbcda9f87f44d2c55858a176f1ae430f7d6dc255 (patch)
tree67d7dcf7d1227cbd97bc26dd6f48d3a1f58b6fe4
parente2297804cff3de9a176661d0005dc85fd1c84018 (diff)
downloadgpgme-bbcda9f87f44d2c55858a176f1ae430f7d6dc255.tar.gz
2004-10-03 Marcus Brinkmann <marcus@g10code.de>
* verify.c (parse_trust): If no reason is provided, set SIG->validity_reason to 0. (calc_sig_summary): Set GPGME_SIGSUM_CRL_TOO_OLD if appropriate.
-rw-r--r--gpgme/ChangeLog6
-rw-r--r--gpgme/verify.c10
2 files changed, 15 insertions, 1 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index 9baaf6ea..6b2539d6 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-03 Marcus Brinkmann <marcus@g10code.de>
+
+ * verify.c (parse_trust): If no reason is provided, set
+ SIG->validity_reason to 0.
+ (calc_sig_summary): Set GPGME_SIGSUM_CRL_TOO_OLD if appropriate.
+
2004-10-22 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (map_assuan_error): Return 0 if ERR is 0.
diff --git a/gpgme/verify.c b/gpgme/verify.c
index ceb84f84..80593e9d 100644
--- a/gpgme/verify.c
+++ b/gpgme/verify.c
@@ -111,7 +111,13 @@ 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))
{
@@ -461,6 +467,8 @@ parse_trust (gpgme_signature_t sig, gpgme_status_code_t code, char *args)
if (*args)
sig->validity_reason = _gpgme_map_gnupg_error (args);
+ else
+ sig->validity_reason = 0;
return 0;
}