diff options
Diffstat (limited to 'g10/trustdb.c')
-rw-r--r-- | g10/trustdb.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/g10/trustdb.c b/g10/trustdb.c index 6d11cdc27..c72dc2059 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -1625,8 +1625,9 @@ clean_sigs_from_uid(KBNODE keyblock,KBNODE uidnode,int noisy) otherwise, it's invalid */ if(noisy) - log_info("removing signature issued by key %s: %s\n", + log_info("removing signature from %s on uid \"%s\": %s\n", keystr(node->pkt->pkt.signature->keyid), + uidnode->pkt->pkt.user_id->name, node->flag&(1<<9)?"superceded":"invalid"); delete_kbnode(node); @@ -1655,10 +1656,12 @@ clean_uids_from_key(KBNODE keyblock,int noisy) { int delete_until_next=0,deleted=0; KBNODE node,signode=NULL; - u32 sigdate=0; + u32 keyid[2],sigdate=0; assert(keyblock->pkt->pkttype==PKT_PUBLIC_KEY); + keyid_from_pk(keyblock->pkt->pkt.public_key,keyid); + merge_keys_and_selfsig(keyblock); for(node=keyblock->next; @@ -1713,6 +1716,7 @@ clean_uids_from_key(KBNODE keyblock,int noisy) /* This isn't actually slow - the key signature validation is cached from merge_keys_and_selfsig() */ if(IS_UID_SIG(sig) && sig->timestamp>sigdate + && keyid[0]==sig->keyid[0] && keyid[1]==sig->keyid[1] && check_key_signature(keyblock,node,NULL)==0) { sigdate=sig->timestamp; |