gnupg/g10 (ChangeLog getkey.c)

cvs user dshaw cvs at cvs.gnupg.org
Sun Jun 12 22:19:54 CEST 2005


    Date: Sunday, June 12, 2005 @ 22:42:04
  Author: dshaw
    Path: /cvs/gnupg/gnupg/g10

Modified: ChangeLog getkey.c

* getkey.c (merge_selfsigs_main, merge_selfsigs_subkey): Make sure
that even after keys may be merged together, we only have one chosen
selfsig.


-----------+
 ChangeLog |    6 ++++++
 getkey.c  |   19 ++++++++++++-------
 2 files changed, 18 insertions(+), 7 deletions(-)


Index: gnupg/g10/ChangeLog
diff -u gnupg/g10/ChangeLog:1.755 gnupg/g10/ChangeLog:1.756
--- gnupg/g10/ChangeLog:1.755	Fri Jun 10 05:15:25 2005
+++ gnupg/g10/ChangeLog	Sun Jun 12 22:42:04 2005
@@ -1,3 +1,9 @@
+2005-06-12  David Shaw  <dshaw at jabberwocky.com>
+
+	* getkey.c (merge_selfsigs_main, merge_selfsigs_subkey): Make sure
+	that even after keys may be merged together, we only have one
+	chosen selfsig.
+
 2005-06-09  David Shaw  <dshaw at jabberwocky.com>
 
 	* options.h, import.c (parse_import_options, delete_inv_parts):
Index: gnupg/g10/getkey.c
diff -u gnupg/g10/getkey.c:1.128 gnupg/g10/getkey.c:1.129
--- gnupg/g10/getkey.c:1.128	Wed Jun  8 15:12:57 2005
+++ gnupg/g10/getkey.c	Sun Jun 12 22:42:04 2005
@@ -1650,7 +1650,8 @@
                 if ( check_key_signature( keyblock, k, NULL ) )
                     ; /* signature did not verify */
                 else if ( (IS_UID_SIG (sig) || IS_UID_REV (sig))
-                          && sig->timestamp >= sigdate ) {
+                          && sig->timestamp >= sigdate )
+		  {
                     /* Note: we allow to invalidate cert revocations
                      * by a newer signature.  An attacker can't use this
                      * because a key should be revoced with a key revocation.
@@ -1662,9 +1663,10 @@
 
 		    sigdate = sig->timestamp;
 		    signode = k;
+		    signode->pkt->pkt.signature->flags.chosen_selfsig=0;
 		    if( sig->version > sigversion )
 		      sigversion = sig->version;
-                }
+		  }
             }
         }
     }
@@ -1941,14 +1943,17 @@
                      * figure out other information like the old expiration
                      * time */
                 }
-                else if ( IS_SUBKEY_SIG (sig) && sig->timestamp >= sigdate ) {
+                else if ( IS_SUBKEY_SIG (sig) && sig->timestamp >= sigdate )
+		  {
 		    if(sig->flags.expired)
-                        ; /* signature has expired - ignore it */
-                    else {
+		      ; /* signature has expired - ignore it */
+                    else
+		      {
                         sigdate = sig->timestamp;
                         signode = k;
-                    }
-                }
+			signode->pkt->pkt.signature->flags.chosen_selfsig=0;
+		      }
+		  }
             }
         }
     }




More information about the Gnupg-commits mailing list