}
if (db4_fetch_key_id(dbctx, keyid, &publickey, true) == 0) {
- db4_endtrans(dbctx);
+ if (!intrans) {
+ db4_endtrans(dbctx);
+ }
return 1;
}
publickey = NULL;
if (!deadlock) {
+ key.data = fingerprint.fp;
+ key.size = fingerprint.length;
+
+ keydb_fp(privctx, &fingerprint)->del(keydb_fp(privctx,
+ &fingerprint),
+ privctx->txn,
+ &key,
+ 0); /* flags */
+
+ /* Delete old style 64 bit keyid */
key.data = &keyid;
key.size = sizeof(keyid);