gpg,gpgsm: Serialize write access to keybox/keyring to protect.
* g10/keydb.c (internal_keydb_update_keyblock): Caller should lock the resource by keydb_lock, before use of this routine. (internal_keydb_insert_keyblock): Likewise. (internal_keydb_delete_keyblock): Likewise. * g10/delkey.c (do_delete_key): Serialize the access to the resource. * g10/import.c (import_revoke_cert): Likewise. * g10/keyedit.c (quick_find_keyblock): Likewise. * g10/keygen.c (quick_find_keyblock): Likewise. * sm/delete.c (delete_one): Lock earlier to protect the resource correctly. * sm/keydb.c (do_set_flags): Rename from keydb_set_flags. (keydb_set_cert_flags): Follow the change. (keydb_update_cert): Require locked by caller. * sm/keydb.h (keydb_set_flags): Remove.
- GnuPG-bug-id: T7855
- Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>