diff options
| author | Werner Koch <[email protected]> | 2005-04-21 07:13:41 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2005-04-21 07:13:41 +0000 | 
| commit | 826736608a8695809f9d2ece9508c0a6a2cd2036 (patch) | |
| tree | 30c45218ad48959e3295bebc67b799854806a580 | |
| parent | 2005-04-14 Marcus Brinkmann <[email protected]> (diff) | |
| download | gpgme-826736608a8695809f9d2ece9508c0a6a2cd2036.tar.gz gpgme-826736608a8695809f9d2ece9508c0a6a2cd2036.zip | |
(calc_sig_summary): Set the key revoked bit.
Diffstat (limited to '')
| -rw-r--r-- | gpgme/ChangeLog | 6 | ||||
| -rw-r--r-- | gpgme/verify.c | 25 | 
2 files changed, 24 insertions, 7 deletions
| diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index ba448ef7..0a4a9ae2 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. +  2005-04-14  Marcus Brinkmann  <[email protected]>  	* wait-global.c (gpgme_wait): Use LI->ctx when checking a context @@ -4676,7 +4680,7 @@  	* data.c (gpgme_data_rewind): Allow to rewind data_type_none. - Copyright 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright 2001, 2002, 2003, 2004, 2005 g10 Code GmbH   This file is free software; as a special exception the author gives   unlimited permission to copy and/or distribute it, with or without 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; | 
