mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Fix adding the list of ultimate trusted keys.
* g10/keygen.c (do_generate_keypair): Remove another call to update_ownertrust. * g10/trust.c (update_ownertrust): Add call to tdb_update_utk. * g10/trustdb.c (tdb_update_utk): New. * g10/trustdb.h (tdb_update_utk): New. -- GnuPG-bug-id: 5742 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
b66854ac93
commit
4aeeaa65ad
4 changed files with 48 additions and 2 deletions
|
@ -308,6 +308,49 @@ add_utk (u32 *kid)
|
|||
}
|
||||
|
||||
|
||||
/* Add/remove KID to/from the list of ultimately trusted keys. */
|
||||
void
|
||||
tdb_update_utk (u32 *kid, int add)
|
||||
{
|
||||
struct key_item *k, *k_prev;
|
||||
|
||||
k_prev = NULL;
|
||||
for (k = utk_list; k; k = k->next)
|
||||
if (k->kid[0] == kid[0] && k->kid[1] == kid[1])
|
||||
break;
|
||||
else
|
||||
k_prev = k;
|
||||
|
||||
if (add)
|
||||
{
|
||||
if (!k)
|
||||
{
|
||||
k = new_key_item ();
|
||||
k->kid[0] = kid[0];
|
||||
k->kid[1] = kid[1];
|
||||
k->ownertrust = TRUST_ULTIMATE;
|
||||
k->next = utk_list;
|
||||
utk_list = k;
|
||||
if ( opt.verbose > 1 )
|
||||
log_info(_("key %s: accepted as trusted key\n"), keystr(kid));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (k)
|
||||
{
|
||||
if (k_prev)
|
||||
k_prev->next = k->next;
|
||||
else
|
||||
utk_list = NULL;
|
||||
|
||||
xfree (k->trust_regexp);
|
||||
xfree (k);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/****************
|
||||
* Verify that all our secret keys are usable and put them into the utk_list.
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue