diff --git a/g10/ChangeLog b/g10/ChangeLog index a15682902..bb95f812a 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,8 @@ +2006-06-28 David Shaw + + * pkclist.c (algo_available): Automatically enable DSA2 mode when + handling a key that clearly isn't DSA1 (i.e. q!=160). + 2006-06-28 Werner Koch * app-openpgp.c (do_writekey): Fixed computation of memmove diff --git a/g10/pkclist.c b/g10/pkclist.c index 7f3285bf9..763368b6a 100644 --- a/g10/pkclist.c +++ b/g10/pkclist.c @@ -1212,12 +1212,12 @@ algo_available( preftype_t preftype, int algo, void *hint ) { if(hint) { - if(opt.flags.dsa2) + if((*(int *)hint)!=20 || opt.flags.dsa2) { - /* If --enable-dsa2 is set, then we'll accept a hash - that is larger than we need. If --enable-dsa2 is not - set, then we won't accept any hash that isn't exactly - the right size. */ + /* If --enable-dsa2 is set or the hash isn't 160 bits + (which implies DSA2), then we'll accept a hash that + is larger than we need. Otherwise we won't accept + any hash that isn't exactly the right size. */ if((*(int *)hint) > md_digest_length(algo)) return 0; }