aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2003-11-27 14:47:00 +0000
committerDavid Shaw <[email protected]>2003-11-27 14:47:00 +0000
commit5473ac9deb3a51b35d52e2dbdc53e4569e93f2c3 (patch)
treefe1931a1fead9ac42568175173830f27bc32b669
parentSolved cvs conflict (diff)
downloadgnupg-5473ac9deb3a51b35d52e2dbdc53e4569e93f2c3.tar.gz
gnupg-5473ac9deb3a51b35d52e2dbdc53e4569e93f2c3.zip
* pkclist.c (build_pk_list): Do not allow an empty PK list in interactive
mode. * getkey.c (get_seckey_byname2): Disallow use of sign+encrypt Elgamal keys.
Diffstat (limited to '')
-rw-r--r--g10/ChangeLog7
-rw-r--r--g10/getkey.c6
-rw-r--r--g10/pkclist.c3
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 )