aboutsummaryrefslogtreecommitdiffstats
path: root/g10/tdbio.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2021-11-13 19:34:06 +0000
committerWerner Koch <[email protected]>2021-11-13 19:34:06 +0000
commit99ef78aa0ca7e48ceba400e1a43f8185cf9bbf71 (patch)
treeb20761fcffe080bbea90194ffd36d0f9c8403f23 /g10/tdbio.c
parentkeyboxd: New option --steal-socket. (diff)
downloadgnupg-99ef78aa0ca7e48ceba400e1a43f8185cf9bbf71.tar.gz
gnupg-99ef78aa0ca7e48ceba400e1a43f8185cf9bbf71.zip
gpg: Remove stale ultimately trusted keys from the trustdb.
* g10/tdbdump.c (export_ownertrust): Skip records marked with the option --trusted-key. (import_ownertrust): Clear the trusted-key flag. * g10/tdbio.h (struct trust_record): Add field flags. * g10/tdbio.c (tdbio_dump_record): Improve output. (tdbio_read_record, tdbio_write_record): Handle flags. * g10/trustdb.c (verify_own_keys): Clear stale trusted-keys and set the flag for new --trusted-keys. (tdb_update_ownertrust): Add arg as_trusted_key. Update callers. -- GnuPG-bug-id: 5685 Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/tdbio.c')
-rw-r--r--g10/tdbio.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/g10/tdbio.c b/g10/tdbio.c
index f49f4435e..a6ce5ce00 100644
--- a/g10/tdbio.c
+++ b/g10/tdbio.c
@@ -1486,16 +1486,19 @@ tdbio_dump_record (TRUSTREC *rec, estream_t fp)
es_fprintf (fp, "trust ");
for (i=0; i < 20; i++)
es_fprintf (fp, "%02X", rec->r.trust.fingerprint[i]);
- es_fprintf (fp, ", ot=%d, d=%d, vl=%lu\n", rec->r.trust.ownertrust,
- rec->r.trust.depth, rec->r.trust.validlist);
+ es_fprintf (fp, ", ot=%d, d=%d, vl=%lu, mo=%d, f=%02x\n",
+ rec->r.trust.ownertrust,
+ rec->r.trust.depth, rec->r.trust.validlist,
+ rec->r.trust.min_ownertrust, rec->r.trust.flags);
break;
case RECTYPE_VALID:
es_fprintf (fp, "valid ");
for (i=0; i < 20; i++)
es_fprintf(fp, "%02X", rec->r.valid.namehash[i]);
- es_fprintf (fp, ", v=%d, next=%lu\n", rec->r.valid.validity,
- rec->r.valid.next);
+ es_fprintf (fp, ", v=%d, next=%lu, f=%d, m=%d\n",
+ rec->r.valid.validity, rec->r.valid.next,
+ rec->r.valid.full_count, rec->r.valid.marginal_count);
break;
default:
@@ -1631,7 +1634,7 @@ tdbio_read_record (ulong recnum, TRUSTREC *rec, int expected)
rec->r.trust.ownertrust = *p++;
rec->r.trust.depth = *p++;
rec->r.trust.min_ownertrust = *p++;
- p++;
+ rec->r.trust.flags = *p++;
rec->r.trust.validlist = buf32_to_ulong(p);
break;
@@ -1726,7 +1729,7 @@ tdbio_write_record (ctrl_t ctrl, TRUSTREC *rec)
*p++ = rec->r.trust.ownertrust;
*p++ = rec->r.trust.depth;
*p++ = rec->r.trust.min_ownertrust;
- p++;
+ *p++ = rec->r.trust.flags;
ulongtobuf( p, rec->r.trust.validlist); p += 4;
break;