From e4f5b9b4c2446c0c766bda018ef7e6d1d669985f Mon Sep 17 00:00:00 2001 From: David Shaw Date: Mon, 7 Oct 2002 22:19:11 +0000 Subject: [PATCH] * import.c (import_keys_internal): Missed one s/inp/inp2/. * keylist.c (print_capabilities): Properly indicate per-key capabilities of sign&encrypt primary keys that have secret-parts-missing (i.e. no capabilities at all) * mainproc.c (symkey_decrypt_sesskey): Fix compiler warning. --- g10/import.c | 2 +- g10/keylist.c | 19 ++++++++++++------- g10/mainproc.c | 3 ++- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/g10/import.c b/g10/import.c index 30ac913e2..1fa22d174 100644 --- a/g10/import.c +++ b/g10/import.c @@ -196,7 +196,7 @@ import_keys_internal( IOBUF inp, char **fnames, int nnames, IOBUF inp2 = iobuf_open(fname); if( !fname ) fname = "[stdin]"; - if( !inp ) + if( !inp2 ) log_error(_("can't open `%s': %s\n"), fname, strerror(errno) ); else { rc = import( inp2, fname, stats, options ); diff --git a/g10/keylist.c b/g10/keylist.c index 90a8d9d86..a1a0e4c13 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -300,16 +300,21 @@ print_key_data( PKT_public_key *pk, u32 *keyid ) static void print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock) { - unsigned int use = pk? pk->pubkey_usage : sk->pubkey_usage; + if(pk || (sk && sk->protect.s2k.mode!=1001)) + { + unsigned int use = pk? pk->pubkey_usage : sk->pubkey_usage; - if ( use & PUBKEY_USAGE_ENC ) { + if ( use & PUBKEY_USAGE_ENC ) putchar ('e'); + + if ( use & PUBKEY_USAGE_SIG ) + { + putchar ('s'); + if( pk? pk->is_primary : sk->is_primary ) + putchar ('c'); + } } - if ( (use & PUBKEY_USAGE_SIG) && !(sk?(sk->protect.s2k.mode==1001):0) ) { - putchar ('s'); - if( pk? pk->is_primary : sk->is_primary ) - putchar ('c'); - } + if ( keyblock ) { /* figure our the usable capabilities */ KBNODE k; int enc=0, sign=0, cert=0; diff --git a/g10/mainproc.c b/g10/mainproc.c index 896120e86..f9be17600 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -245,7 +245,8 @@ symkey_decrypt_sesskey( DEK *dek, byte *sesskey, size_t slen ) int n; if ( slen < 17 || slen > 33 ) { - log_error ( _("weird size for an encrypted session key (%d)\n"), slen); + log_error ( _("weird size for an encrypted session key (%d)\n"), + (int)slen); return; } hd = cipher_open( dek->algo, CIPHER_MODE_CFB, 1 );