From 0c4d0620d327e8a2069532a5519afefe867a47d6 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Thu, 2 Mar 2017 16:25:20 +0100 Subject: [PATCH] gpg: Always initialize the trust db when generating keys. * g10/gpg.c (main): Always initialize the trust db when generating keys. * g10/keygen.c (do_generate_keypair): We can now assume that there is a trust db. -- It is important to mark keys we create as ultimately trusted. Fixes-commit: 4735ab96aa5577d40ba7b3f72d863057198cc6a7 GnuPG-bug-id: 2695 Signed-off-by: Justus Winter --- g10/gpg.c | 5 +++++ g10/keygen.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/g10/gpg.c b/g10/gpg.c index 5a880fd53..654dcb99b 100644 --- a/g10/gpg.c +++ b/g10/gpg.c @@ -3949,6 +3949,11 @@ main (int argc, char **argv) case aListTrustDB: rc = setup_trustdb (argc? 1:0, trustdb_name); break; + case aKeygen: + case aFullKeygen: + case aQuickKeygen: + rc = setup_trustdb (1, trustdb_name); + break; default: /* If we are using TM_ALWAYS, we do not need to create the trustdb. */ diff --git a/g10/keygen.c b/g10/keygen.c index f044257ed..201ebaa42 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -4791,9 +4791,8 @@ do_generate_keypair (ctrl_t ctrl, struct para_data_s *para, keyid_from_pk (pk, pk->main_keyid); register_trusted_keyid (pk->main_keyid); - if (have_trustdb ()) - update_ownertrust (pk, ((get_ownertrust (pk) & ~TRUST_MASK) - | TRUST_ULTIMATE )); + update_ownertrust (pk, ((get_ownertrust (pk) & ~TRUST_MASK) + | TRUST_ULTIMATE )); gen_standard_revoke (pk, cache_nonce);