diff --git a/g10/ChangeLog b/g10/ChangeLog index c5e9e14f4..53e4c8130 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,8 @@ +2002-10-01 David Shaw + + * import.c (import_one): Make sure that a newly imported key + starts with a clean ownertrust. + 2002-10-01 Werner Koch * getkey.c (get_pubkey_direct): New. diff --git a/g10/import.c b/g10/import.c index 269bb93c0..f54f8d850 100644 --- a/g10/import.c +++ b/g10/import.c @@ -665,7 +665,15 @@ import_one( const char *fname, KBNODE keyblock, log_error (_("error writing keyring `%s': %s\n"), keydb_get_resource_name (hd), g10_errstr(rc)); else - revalidation_mark (); + { + /* This should not be possible since we delete the + ownertrust when a key is deleted, but it can happen if + the keyring and trustdb are out of sync. It can also + be made to happen with the trusted-key command. */ + + clear_ownertrust (pk); + revalidation_mark (); + } keydb_release (hd); /* we are ready */