summaryrefslogtreecommitdiffstats
path: root/g10/pubkey-enc.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2017-02-28 20:28:56 +0100
committerWerner Koch <wk@gnupg.org>2017-02-28 20:30:48 +0100
commite182542e90cbeff4f2ac6c8d71061356d7cdcdea (patch)
treebb6b89c7dad607f50868749daea1af29411e0f8b /g10/pubkey-enc.c
parentgpgscm: Improve parsing. (diff)
downloadgnupg2-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.c7
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));
}