diff --git a/g10/ChangeLog b/g10/ChangeLog index af238dc56..f9b189cd3 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,9 @@ +2005-11-02 David Shaw + + * trustdb.c (clean_sigs_from_uid): Include sigs from unavailable + keys in the sigs that are cleaned. Suggested by Dirk Traulsen and + many others. + 2005-11-01 David Shaw * import.c (import_one): Do collapse_uids() before we do any diff --git a/g10/trustdb.c b/g10/trustdb.c index f2e109621..ae0a6cc1c 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -1616,19 +1616,25 @@ clean_sigs_from_uid(KBNODE keyblock,KBNODE uidnode,int noisy) continue; /* ... and sigs from unavailable keys. */ - if(node->flag & (1<<12)) + /* disabled for now since more people seem to want sigs from + unavailable keys removed altogether. */ + /* + if(node->flag & (1<<12)) continue; + */ /* Everything else we delete */ - /* if 9 or 10 is set, but we get this far, it's superceded, - otherwise, it's invalid */ + /* At this point, if 12 is set, the signing key was unavailable. + If 9 or 10 is set, it's superceded. Otherwise, it's + invalid. */ if(noisy) - log_info("removing signature from %s on uid \"%s\": %s\n", + log_info("removing signature from key %s on user ID \"%s\": %s\n", keystr(node->pkt->pkt.signature->keyid), uidnode->pkt->pkt.user_id->name, - node->flag&(1<<9)?"superceded":"invalid"); + node->flag&(1<<12)?"key unavailable": + node->flag&(1<<9)?"signature superceded":"invalid signature"); delete_kbnode(node); deleted++;