diff --git a/g10/ChangeLog b/g10/ChangeLog index cf00a1e6b..ba1a49479 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,9 @@ +2004-01-21 David Shaw + + * getkey.c (merge_selfsigs): If a subkey is already revoked by the + owner, don't allow a designated revokation of the whole key to + override this. We're still revoked either way, of course. + 2004-01-20 David Shaw * g10.c (list_config): Add "version" tag for --list-config. diff --git a/g10/getkey.c b/g10/getkey.c index cc9b4eb09..9b5bc8d55 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -1972,7 +1972,7 @@ merge_selfsigs( KBNODE keyblock ) PKT_public_key *pk = k->pkt->pkt.public_key; if(!main_pk->is_valid) pk->is_valid = 0; - if(revoked) + if(revoked && !pk->is_revoked) pk->is_revoked = revoked; if(main_pk->has_expired) pk->has_expired = main_pk->has_expired;