mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpg: Fix (quick) key generation with --always-trust.
* g10/keygen.c (do_generate_keypair): Only update the ownertrust if we do have a trust database. * g10/trustdb.c (have_trustdb): New function. * g10/trustdb.h (have_trustdb): New prototype. * tests/openpgp/quick-key-manipulation.scm: Remove workaround. GnuPG-bug-id: 2695 Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
d6f0f36876
commit
4735ab96aa
@ -4791,8 +4791,9 @@ do_generate_keypair (ctrl_t ctrl, struct para_data_s *para,
|
||||
keyid_from_pk (pk, pk->main_keyid);
|
||||
register_trusted_keyid (pk->main_keyid);
|
||||
|
||||
update_ownertrust (pk, ((get_ownertrust (pk) & ~TRUST_MASK)
|
||||
| TRUST_ULTIMATE ));
|
||||
if (have_trustdb ())
|
||||
update_ownertrust (pk, ((get_ownertrust (pk) & ~TRUST_MASK)
|
||||
| TRUST_ULTIMATE ));
|
||||
|
||||
gen_standard_revoke (pk, cache_nonce);
|
||||
|
||||
|
@ -511,6 +511,16 @@ init_trustdb (int no_create)
|
||||
}
|
||||
|
||||
|
||||
/* Check whether we have a trust database, initializing it if
|
||||
necessary if the trust model is not 'always trust'. Returns true
|
||||
if we do have a usable trust database. */
|
||||
int
|
||||
have_trustdb (void)
|
||||
{
|
||||
return init_trustdb (opt.trust_model == TM_ALWAYS) == 0;
|
||||
}
|
||||
|
||||
|
||||
/****************
|
||||
* Recreate the WoT but do not ask for new ownertrusts. Special
|
||||
* feature: In batch mode and without a forced yes, this is only done
|
||||
|
@ -128,6 +128,7 @@ int setup_trustdb( int level, const char *dbname );
|
||||
void how_to_fix_the_trustdb (void);
|
||||
const char *trust_model_string (int model);
|
||||
gpg_error_t init_trustdb (int no_create);
|
||||
int have_trustdb (void);
|
||||
void tdb_check_trustdb_stale (ctrl_t ctrl);
|
||||
void sync_trustdb( void );
|
||||
|
||||
|
@ -21,10 +21,6 @@
|
||||
(load (with-path "time.scm"))
|
||||
(setup-environment)
|
||||
|
||||
;; XXX because of --always-trust, the trustdb is not created.
|
||||
;; Therefore, we redefine GPG without --always-trust.
|
||||
(define GPG `(,(tool 'gpg) --no-permission-warning))
|
||||
|
||||
(define (exact id)
|
||||
(string-append "=" id))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user