diff options
Diffstat (limited to '')
-rw-r--r-- | g10/ChangeLog | 7 | ||||
-rw-r--r-- | g10/getkey.c | 6 | ||||
-rw-r--r-- | g10/pkclist.c | 3 |
3 files changed, 12 insertions, 4 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index 8e74aaa8f..df26e0730 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,10 +1,13 @@ 2003-11-27 David Shaw <[email protected]> + * pkclist.c (build_pk_list): Do not allow an empty PK list in + interactive mode. + * keygen.c (ask_algo): Remove ability to generate Elgamal sign+encrypt keys. - * getkey.c (merge_selfsigs_main, merge_selfsigs_subkey): Disallow - use of sign+encrypt Elgamal keys. + * getkey.c (merge_selfsigs_main, merge_selfsigs_subkey, + get_seckey_byname2): Disallow use of sign+encrypt Elgamal keys. 2003-11-20 David Shaw <[email protected]> diff --git a/g10/getkey.c b/g10/getkey.c index d1be8e51e..477ba9e34 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -1055,7 +1055,11 @@ get_seckey_byname2( GETKEY_CTX *retctx, ctx.items[0].mode = KEYDB_SEARCH_MODE_FIRST; rc = lookup( &ctx, &kb, 1 ); if (!rc && sk ) - sk_from_block ( &ctx, sk, kb ); + { + sk_from_block ( &ctx, sk, kb ); + if(sk->pubkey_algo==PUBKEY_ALGO_ELGAMAL) + rc=G10ERR_UNU_SECKEY; + } release_kbnode ( kb ); get_seckey_end( &ctx ); } diff --git a/g10/pkclist.c b/g10/pkclist.c index e289acb35..7a9ac8137 100644 --- a/g10/pkclist.c +++ b/g10/pkclist.c @@ -880,7 +880,8 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned use ) char *answer=NULL; STRLIST backlog=NULL; - any_recipients = 1; + if(pk_list) + any_recipients = 1; def_rec = default_recipient(); have_def_rec = !!def_rec; if( !have_def_rec ) |