diff options
author | Werner Koch <[email protected]> | 2016-06-23 17:22:13 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-06-23 18:01:15 +0000 |
commit | 09c6f7135150efbbeb459d4ae0189a81e9d180f8 (patch) | |
tree | ed52ffe7eaf2879c65b21d7960a4560b80f22cb6 | |
parent | common: Fix possible small memory leak in b64dec.c. (diff) | |
download | gnupg-09c6f7135150efbbeb459d4ae0189a81e9d180f8.tar.gz gnupg-09c6f7135150efbbeb459d4ae0189a81e9d180f8.zip |
gpg: Do not print the validity after key generation.
* g10/keylist.c (struct keylist_context): Add field NO_VALIDITY.
(list_keyblock_print): Take care of it.
(list_keyblock_direct): Add arg NO_VALIDITY.
* g10/keygen.c (do_generate_keypair): Merge keyblock and print w/o
validity.
--
It will always be ultimate and by not printing it we avoid a lot of
garbage output due to the trustdb re-calculation.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | g10/keygen.c | 6 | ||||
-rw-r--r-- | g10/keylist.c | 14 | ||||
-rw-r--r-- | g10/main.h | 2 |
3 files changed, 16 insertions, 6 deletions
diff --git a/g10/keygen.c b/g10/keygen.c index 74fd37052..b7c8e83ac 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -4340,11 +4340,15 @@ do_generate_keypair (ctrl_t ctrl, struct para_data_s *para, gen_standard_revoke (pk, cache_nonce); + /* Get rid of the first empty packet. */ + commit_kbnode (&pub_root); + if (!opt.batch) { tty_printf (_("public and secret key created and signed.\n") ); tty_printf ("\n"); - list_keyblock_direct (ctrl, pub_root, 0, 1, 1); + merge_keys_and_selfsig (pub_root); + list_keyblock_direct (ctrl, pub_root, 0, 1, 1, 1); } diff --git a/g10/keylist.c b/g10/keylist.c index 0ac763d65..e595fe3b2 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -59,6 +59,7 @@ struct keylist_context int inv_sigs; /* Counter used if CHECK_SIGS is set. */ int no_key; /* Counter used if CHECK_SIGS is set. */ int oth_err; /* Counter used if CHECK_SIGS is set. */ + int no_validity; /* Do not show validity. */ }; @@ -1052,7 +1053,8 @@ list_keyblock_print (ctrl_t ctrl, kbnode_t keyblock, int secret, int fpr, secret = 2; /* Key not found. */ } - check_trustdb_stale (ctrl); + if (!listctx->no_validity) + check_trustdb_stale (ctrl); /* Print the "pub" line and in KF_NONE mode the fingerprint. */ print_key_line (es_stdout, pk, secret); @@ -1090,7 +1092,8 @@ list_keyblock_print (ctrl_t ctrl, kbnode_t keyblock, int secret, int fpr, dump_attribs (uid, pk); if ((uid->is_revoked || uid->is_expired) - || (opt.list_options & LIST_SHOW_UID_VALIDITY)) + || ((opt.list_options & LIST_SHOW_UID_VALIDITY) + && !listctx->no_validity)) { const char *validity; @@ -1755,14 +1758,17 @@ list_keyblock (ctrl_t ctrl, } -/* Public function used by keygen to list a keyblock. */ +/* Public function used by keygen to list a keyblock. If NO_VALIDITY + * is set the validity of a key is never shown. */ void list_keyblock_direct (ctrl_t ctrl, - kbnode_t keyblock, int secret, int has_secret, int fpr) + kbnode_t keyblock, int secret, int has_secret, int fpr, + int no_validity) { struct keylist_context listctx; memset (&listctx, 0, sizeof (listctx)); + listctx.no_validity = !!no_validity; list_keyblock (ctrl, keyblock, secret, has_secret, fpr, &listctx); keylist_context_release (&listctx); } diff --git a/g10/main.h b/g10/main.h index 7b716ffd6..e6f20700a 100644 --- a/g10/main.h +++ b/g10/main.h @@ -415,7 +415,7 @@ void secret_key_list (ctrl_t ctrl, strlist_t list ); void print_subpackets_colon(PKT_signature *sig); void reorder_keyblock (KBNODE keyblock); void list_keyblock_direct (ctrl_t ctrl, kbnode_t keyblock, int secret, - int has_secret, int fpr); + int has_secret, int fpr, int no_validity); void print_fingerprint (estream_t fp, PKT_public_key *pk, int mode); void print_revokers (estream_t fp, PKT_public_key *pk); void show_policy_url(PKT_signature *sig,int indent,int mode); |