From 5f7720e693817130c99b8cd0ea2375a55cf3dc2c Mon Sep 17 00:00:00 2001 From: David Shaw Date: Thu, 17 Mar 2005 23:52:38 +0000 Subject: [PATCH] * getkey.c (get_seckey_byname2): If no explicit default key is set, don't pick a disabled default. Noted by David Crick. --- g10/ChangeLog | 3 +++ g10/getkey.c | 14 ++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/g10/ChangeLog b/g10/ChangeLog index 6e71ade07..c8fcdc300 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,5 +1,8 @@ 2005-03-17 David Shaw + * getkey.c (get_seckey_byname2): If no explicit default key is + set, don't pick a disabled default. Noted by David Crick. + * Makefile.am: Calculate GNUPG_LIBEXECDIR directly. Do not redefine $libexecdir. diff --git a/g10/getkey.c b/g10/getkey.c index 789b540a1..25da9bac9 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -1,6 +1,6 @@ /* getkey.c - Get a key from the database - * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, - * 2004, 2005 Free Software Foundation, Inc. + * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, + * 2005 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -1059,14 +1059,20 @@ get_seckey_byname2( GETKEY_CTX *retctx, KBNODE *retblock ) { STRLIST namelist = NULL; - int rc; + int rc,include_unusable=1; + + /* If we have no name, try to use the default secret key. If we + have no default, we'll use the first usable one. */ if( !name && opt.def_secret_key && *opt.def_secret_key ) add_to_strlist( &namelist, opt.def_secret_key ); else if(name) add_to_strlist( &namelist, name ); + else + include_unusable=0; - rc = key_byname( retctx, namelist, NULL, sk, 1, 1, retblock, NULL ); + rc = key_byname( retctx, namelist, NULL, sk, 1, include_unusable, + retblock, NULL ); free_strlist( namelist );