aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2009-02-09 11:09:57 +0000
committerWerner Koch <[email protected]>2009-02-09 11:09:57 +0000
commit02890eedd8d5dec863f17933d9879382d407278f (patch)
tree9cf7ca9ebce8e238a3e62675e6725582fb440de6
parentChange default gpgsm cipher back to 3DES. (diff)
downloadgnupg-02890eedd8d5dec863f17933d9879382d407278f.tar.gz
gnupg-02890eedd8d5dec863f17933d9879382d407278f.zip
Fix bug#998.
Diffstat (limited to '')
-rw-r--r--g10/ChangeLog6
-rw-r--r--g10/keyedit.c11
-rw-r--r--g10/keylist.c17
-rw-r--r--sm/gpgsm.c4
4 files changed, 35 insertions, 3 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index f7d7a62ee..b103050ce 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-09 Werner Koch <[email protected]>
+
+ * keylist.c (print_capabilities): Take care of cert-only keys.
+ Fixes bug#998.
+ * keyedit.c (show_key_with_all_names_colon): Print the capabilities.
+
2009-01-26 Werner Koch <[email protected]>
* card-util.c (card_status): Detect a Geldkarte.
diff --git a/g10/keyedit.c b/g10/keyedit.c
index fd9f23b20..b0d59f66a 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -2522,6 +2522,17 @@ show_key_with_all_names_colon (KBNODE keyblock)
&& !(opt.fast_list_mode || opt.no_expensive_trust_checks ))
putchar(get_ownertrust_info (pk));
putchar(':');
+ putchar (':');
+ putchar (':');
+ /* Print capabilities. */
+ if ( (pk->pubkey_usage & PUBKEY_USAGE_ENC) )
+ putchar ('e');
+ if ( (pk->pubkey_usage & PUBKEY_USAGE_SIG) )
+ putchar ('s');
+ if ( (pk->pubkey_usage & PUBKEY_USAGE_CERT) )
+ putchar ('c');
+ if ( (pk->pubkey_usage & PUBKEY_USAGE_AUTH) )
+ putchar ('a');
putchar('\n');
print_fingerprint (pk, NULL, 0);
diff --git a/g10/keylist.c b/g10/keylist.c
index c4f5d2696..4a76ee065 100644
--- a/g10/keylist.c
+++ b/g10/keylist.c
@@ -594,6 +594,7 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock)
if(pk || (sk && sk->protect.s2k.mode!=1001))
{
unsigned int use = pk? pk->pubkey_usage : sk->pubkey_usage;
+ int c_printed = 0;
if ( use & PUBKEY_USAGE_ENC )
putchar ('e');
@@ -602,9 +603,19 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock)
{
putchar ('s');
if( pk? pk->is_primary : sk->is_primary )
- putchar ('c');
+ {
+ putchar ('c');
+ /* The PUBKEY_USAGE_CERT flag was introduced later and
+ we used to always print 'c' for a primary key. To
+ avoid any regression here we better track whether we
+ printed 'c' already. */
+ c_printed = 1;
+ }
}
+ if ( (use & PUBKEY_USAGE_CERT) && !c_printed )
+ putchar ('c');
+
if ( (use & PUBKEY_USAGE_AUTH) )
putchar ('a');
}
@@ -630,6 +641,8 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock)
if(pk->is_primary)
cert = 1;
}
+ if ( pk->pubkey_usage & PUBKEY_USAGE_CERT )
+ cert = 1;
if ( (pk->pubkey_usage & PUBKEY_USAGE_AUTH) )
auth = 1;
}
@@ -647,6 +660,8 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock)
if(sk->is_primary)
cert = 1;
}
+ if ( (sk->pubkey_usage & PUBKEY_USAGE_CERT) )
+ cert = 1;
if ( (sk->pubkey_usage & PUBKEY_USAGE_AUTH) )
auth = 1;
}
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index dd9788b79..94826ce79 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -893,7 +893,7 @@ main ( int argc, char **argv)
/* Note: If you change this default cipher algorithm , please
remember to update the Gpgconflist entry as well. */
- opt.def_cipher_algoid = "AES"; /*des-EDE3-CBC*/
+ opt.def_cipher_algoid = "3DES"; /*des-EDE3-CBC*/
opt.homedir = default_homedir ();
@@ -1607,7 +1607,7 @@ main ( int argc, char **argv)
#ifndef HAVE_W32_SYSTEM
printf ("prefer-system-dirmngr:%lu:\n", GC_OPT_FLAG_NONE);
#endif
- printf ("cipher-algo:%lu:\"AES:\n", GC_OPT_FLAG_DEFAULT);
+ printf ("cipher-algo:%lu:\"3DES:\n", GC_OPT_FLAG_DEFAULT);
printf ("p12-charset:%lu:\n", GC_OPT_FLAG_DEFAULT);
printf ("default-key:%lu:\n", GC_OPT_FLAG_DEFAULT);
printf ("encrypt-to:%lu:\n", GC_OPT_FLAG_DEFAULT);