diff options
author | Werner Koch <[email protected]> | 2021-11-13 19:34:06 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2021-11-13 19:34:06 +0000 |
commit | 99ef78aa0ca7e48ceba400e1a43f8185cf9bbf71 (patch) | |
tree | b20761fcffe080bbea90194ffd36d0f9c8403f23 /g10/tdbio.c | |
parent | keyboxd: New option --steal-socket. (diff) | |
download | gnupg-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.c | 15 |
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; |