diff options
author | Werner Koch <wk@gnupg.org> | 2017-02-28 20:28:56 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2017-02-28 20:30:48 +0100 |
commit | e182542e90cbeff4f2ac6c8d71061356d7cdcdea (patch) | |
tree | bb6b89c7dad607f50868749daea1af29411e0f8b /g10/pubkey-enc.c | |
parent | gpgscm: Improve parsing. (diff) | |
download | gnupg2-e182542e90cbeff4f2ac6c8d71061356d7cdcdea.tar.xz gnupg2-e182542e90cbeff4f2ac6c8d71061356d7cdcdea.zip |
gpg: Do not require a trustdb for decryption.
* g10/trustdb.c (init_trustdb): Add and implement arg NO_CREATE.
Change to return an error code. Change all callers to to pass False
for NO_CREATE.
(tdb_get_ownertrust): New arg NO_CREATE. Call init_trustdb to test
for a non-existing trustdb. Change all callers to to pass False for
NO_CREATE.
(tdb_get_min_ownertrust): Ditto.
* g10/trust.c (get_ownertrust_with_min): Add arg NO_CREATE. Call
init_trustdb for a quick check.
(get_ownertrust_info): Add arg NO_CREATE.
(get_ownertrust_string): Ditto.
* g10/gpgv.c (get_ownertrust_info): Adjust stub.
* g10/test-stubs.c (get_ownertrust_info): Ditto.
* g10/mainproc.c (list_node): Call get_ownertrust_info with NO_CREATE
set.
* g10/pubkey-enc.c (get_it): Ditto.
--
Fixes-commit: effa80e0b5fd8cf9e31a984afe391c2406edee8b
For details see mails on Feb 27 and 28 by dkg, gniibe, and Justus to
gnupg-devel 'test failure on git master with
decrypt-session-key.scm (and: continuous integration?)'
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'g10/pubkey-enc.c')
-rw-r--r-- | g10/pubkey-enc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/g10/pubkey-enc.c b/g10/pubkey-enc.c index 177293619..e037c120d 100644 --- a/g10/pubkey-enc.c +++ b/g10/pubkey-enc.c @@ -404,8 +404,13 @@ get_it (PKT_pubkey_enc *enc, DEK *dek, PKT_public_key *sk, u32 *keyid) hexfingerprint (pk, pkhex, sizeof pkhex); hexfingerprint (mainpk, mainpkhex, sizeof mainpkhex); + /* Note that we do not want to create a trustdb just for + * getting the ownertrust: If there is no trustdb there can't + * be ulitmately trusted key anyway and thus the ownertrust + * value is irrelevant. */ write_status_printf (STATUS_DECRYPTION_KEY, "%s %s %c", - pkhex, mainpkhex, get_ownertrust_info (mainpk)); + pkhex, mainpkhex, + get_ownertrust_info (mainpk, 1)); } |