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

g10/ChangeLog
g10/sig-check.c

index e08a6dd..6cad087 100644 (file)
@@ -1,3 +1,8 @@
+2009-12-17  Werner Koch  <wk@g10code.com>
+
+       * sig-check.c (do_check_messages): Evaluate the HAS_EXPIRED flag.
+       Fixes bug#1059.
+
 2009-12-15  Werner Koch  <wk@g10code.com>
 
        * iso7816.c (do_generate_keypair): s/readonly/read_only/.
index ee7955a..b4c353c 100644 (file)
@@ -209,7 +209,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"),