gpg: Always initialize the trust db when generating keys.
authorJustus Winter <justus@g10code.com>
Thu, 2 Mar 2017 15:25:20 +0000 (16:25 +0100)
committerJustus Winter <justus@g10code.com>
Thu, 2 Mar 2017 15:25:20 +0000 (16:25 +0100)
* 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 <justus@g10code.com>
g10/gpg.c
g10/keygen.c

index 5a880fd..654dcb9 100644 (file)
--- 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.  */
index f044257..201ebaa 100644 (file)
@@ -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);