mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
* trustdb.c (clean_uids_from_key): Don't keep a valid selfsig around
when compacting a uid. There is no reason to make an attacker's job easier - this way they only have a revocation which is useless in bringing the uid back. * keydb.h, kbnode.c (undelete_kbnode): Removed. No longer needed. * import.c (chk_self_sigs): Allow a uid revocation to be enough to allow importing a particular uid (no self sig needed). This allows importing compacted uids.
This commit is contained in:
parent
ccab129be5
commit
8238e7698b
5 changed files with 24 additions and 22 deletions
13
g10/import.c
13
g10/import.c
|
@ -1346,12 +1346,13 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
|
|||
sig = n->pkt->pkt.signature;
|
||||
if( keyid[0] == sig->keyid[0] && keyid[1] == sig->keyid[1] ) {
|
||||
|
||||
/* This just caches the sigs for later use. That way we
|
||||
import a fully-cached key which speeds things up. */
|
||||
if(!opt.no_sig_cache)
|
||||
check_key_signature(keyblock,n,NULL);
|
||||
/* This just caches the sigs for later use. That way we
|
||||
import a fully-cached key which speeds things up. */
|
||||
if(!opt.no_sig_cache)
|
||||
check_key_signature(keyblock,n,NULL);
|
||||
|
||||
if( (sig->sig_class&~3) == 0x10 ) {
|
||||
if( IS_UID_SIG(sig) || IS_UID_REV(sig) )
|
||||
{
|
||||
KBNODE unode = find_prev_kbnode( keyblock, n, PKT_USER_ID );
|
||||
if( !unode )
|
||||
{
|
||||
|
@ -1381,7 +1382,7 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
|
|||
else
|
||||
unode->flag |= 1; /* mark that signature checked */
|
||||
}
|
||||
}
|
||||
}
|
||||
else if( sig->sig_class == 0x18 ) {
|
||||
/* Note that this works based solely on the timestamps
|
||||
like the rest of gpg. If the standard gets
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue