mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
Changes to --min-cert-level should cause a trustdb rebuild (issue 1366)
* g10/gpgv.c, g10/trustdb.c (read_trust_options): Add min_cert_level * g10/trustdb.c (check_trustdb_stale): Request a rebuild if pending_check_trustdb is true (set when we detect a trustdb parameter has changed). * g10/keylist.c (public_key_list): Use 'l' in the "tru" with-colons listing for min_cert_level not matching. * g10/tdbio.c (tdbio_update_version_record, create_version_record, tdbio_db_matches_options, tdbio_dump_record, tdbio_read_record, tdbio_write_record): Add a byte for min_cert_level in the tdbio version record.
This commit is contained in:
parent
e97e2ced6c
commit
deee8147aa
6 changed files with 34 additions and 18 deletions
18
g10/tdbio.c
18
g10/tdbio.c
|
@ -1,5 +1,5 @@
|
|||
/* tdbio.c - trust databse I/O operations
|
||||
* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
/* tdbio.c - trust database I/O operations
|
||||
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2012 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GnuPG.
|
||||
*
|
||||
|
@ -445,6 +445,7 @@ tdbio_update_version_record (void)
|
|||
rec.r.ver.completes = opt.completes_needed;
|
||||
rec.r.ver.cert_depth = opt.max_cert_depth;
|
||||
rec.r.ver.trust_model = opt.trust_model;
|
||||
rec.r.ver.min_cert_level = opt.min_cert_level;
|
||||
rc=tdbio_write_record(&rec);
|
||||
}
|
||||
|
||||
|
@ -467,6 +468,7 @@ create_version_record (void)
|
|||
rec.r.ver.trust_model = opt.trust_model;
|
||||
else
|
||||
rec.r.ver.trust_model = TM_PGP;
|
||||
rec.r.ver.min_cert_level = opt.min_cert_level;
|
||||
rec.rectype = RECTYPE_VER;
|
||||
rec.recnum = 0;
|
||||
rc = tdbio_write_record( &rec );
|
||||
|
@ -713,7 +715,8 @@ tdbio_db_matches_options()
|
|||
yes_no = vr.r.ver.marginals == opt.marginals_needed
|
||||
&& vr.r.ver.completes == opt.completes_needed
|
||||
&& vr.r.ver.cert_depth == opt.max_cert_depth
|
||||
&& vr.r.ver.trust_model == opt.trust_model;
|
||||
&& vr.r.ver.trust_model == opt.trust_model
|
||||
&& vr.r.ver.min_cert_level == opt.min_cert_level;
|
||||
}
|
||||
|
||||
return yes_no;
|
||||
|
@ -1143,13 +1146,14 @@ tdbio_dump_record( TRUSTREC *rec, FILE *fp )
|
|||
case 0: fprintf(fp, "blank\n");
|
||||
break;
|
||||
case RECTYPE_VER: fprintf(fp,
|
||||
"version, td=%lu, f=%lu, m/c/d=%d/%d/%d tm=%d nc=%lu (%s)\n",
|
||||
"version, td=%lu, f=%lu, m/c/d=%d/%d/%d tm=%d mcl=%d nc=%lu (%s)\n",
|
||||
rec->r.ver.trusthashtbl,
|
||||
rec->r.ver.firstfree,
|
||||
rec->r.ver.marginals,
|
||||
rec->r.ver.completes,
|
||||
rec->r.ver.cert_depth,
|
||||
rec->r.ver.trust_model,
|
||||
rec->r.ver.min_cert_level,
|
||||
rec->r.ver.nextcheck,
|
||||
strtimestamp(rec->r.ver.nextcheck)
|
||||
);
|
||||
|
@ -1245,7 +1249,8 @@ tdbio_read_record( ulong recnum, TRUSTREC *rec, int expected )
|
|||
rec->r.ver.completes = *p++;
|
||||
rec->r.ver.cert_depth = *p++;
|
||||
rec->r.ver.trust_model = *p++;
|
||||
p += 3;
|
||||
rec->r.ver.min_cert_level = *p++;
|
||||
p += 2;
|
||||
rec->r.ver.created = buftoulong(p); p += 4;
|
||||
rec->r.ver.nextcheck = buftoulong(p); p += 4;
|
||||
p += 4;
|
||||
|
@ -1332,7 +1337,8 @@ tdbio_write_record( TRUSTREC *rec )
|
|||
*p++ = rec->r.ver.completes;
|
||||
*p++ = rec->r.ver.cert_depth;
|
||||
*p++ = rec->r.ver.trust_model;
|
||||
p += 3;
|
||||
*p++ = rec->r.ver.min_cert_level;
|
||||
p += 2;
|
||||
ulongtobuf(p, rec->r.ver.created); p += 4;
|
||||
ulongtobuf(p, rec->r.ver.nextcheck); p += 4;
|
||||
p += 4;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue