aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2002-02-27 14:27:18 +0000
committerDavid Shaw <[email protected]>2002-02-27 14:27:18 +0000
commit8ed6d59a6c7e6dc1226ba1a086bf166b7a279043 (patch)
treef15211ac0af91177c9d2cfa2a16a330ce0c6e03f
parentTreat key lists internally as fingerprints when possible. All this is via (diff)
downloadgnupg-8ed6d59a6c7e6dc1226ba1a086bf166b7a279043.tar.gz
gnupg-8ed6d59a6c7e6dc1226ba1a086bf166b7a279043.zip
If a key isn't valid (say, because of no self-signature), allow
--always-trust to force it valid so it can be trusted.
-rw-r--r--g10/ChangeLog6
-rw-r--r--g10/getkey.c12
2 files changed, 18 insertions, 0 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index ea2c0d85b..27bbb24a2 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,9 @@
+2002-02-27 David Shaw <[email protected]>
+
+ * getkey.c (merge_selfsigs_main): If a key isn't valid (say,
+ because of no self-signature), allow --always-trust to force it
+ valid so it can be trusted.
+
2002-02-25 David Shaw <[email protected]>
* hkp.c (hkp_ask_import), hkp.h, keyserver.c (all): treat key
diff --git a/g10/getkey.c b/g10/getkey.c
index 5f12040a5..fddb67ed3 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -1301,6 +1301,18 @@ merge_selfsigs_main( KBNODE keyblock, int *r_revoked )
fixup_uidnode ( uidnode, signode, keytimestamp );
pk->is_valid = 1;
}
+
+ /* If the key isn't valid yet, and we have --always-trust set,
+ then force it valid. */
+ if(opt.always_trust && !pk->is_valid)
+ {
+ if(opt.verbose)
+ log_info(_("Invalid key %08lX made valid by --always-trust\n"),
+ (ulong)keyid_from_pk(pk,NULL));
+
+ pk->is_valid = 1;
+ }
+
if ( sigdate > uiddate )
uiddate = sigdate;