Fix bug#1059 (missing status line signature verification done with a
authorWerner Koch <wk@gnupg.org>
Thu, 17 Dec 2009 17:55:43 +0000 (17:55 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 17 Dec 2009 17:55:43 +0000 (17:55 +0000)
subkey while on the main key has expired).

g10/ChangeLog
g10/sig-check.c

index e0db8d0..38d6eee 100644 (file)
@@ -1,5 +1,8 @@
 2009-12-17  Werner Koch  <wk@g10code.com>
 
+       * sig-check.c (do_check_messages): Evaluate the HAS_EXPIRED flag.
+       Fixes bug#1059.
+
        * gpg.c: Add new option --faked-system-time.
 
 2009-12-15  Werner Koch  <wk@g10code.com>
index c415703..1feac38 100644 (file)
@@ -229,7 +229,11 @@ do_check_messages( PKT_public_key *pk, PKT_signature *sig,
          return G10ERR_TIME_CONFLICT;
       }
 
-    if( pk->expiredate && pk->expiredate < cur_time ) {
+    /* Check whether the key has expired.  We check the has_expired
+       flag which is set after a full evaluation of the key (getkey.c)
+       as well as a simple compare to the current time in case the
+       merge has for whatever reasons not been done.  */
+    if( pk->has_expired || (pk->expiredate && pk->expiredate < cur_time)) {
         char buf[11];
         if (opt.verbose)
          log_info(_("NOTE: signature key %s expired %s\n"),