aboutsummaryrefslogtreecommitdiffstats
path: root/kbx/backend-kbx.c
diff options
context:
space:
mode:
Diffstat (limited to 'kbx/backend-kbx.c')
-rw-r--r--kbx/backend-kbx.c28
1 files changed, 8 insertions, 20 deletions
diff --git a/kbx/backend-kbx.c b/kbx/backend-kbx.c
index d8dafe0e5..ff4f56773 100644
--- a/kbx/backend-kbx.c
+++ b/kbx/backend-kbx.c
@@ -271,15 +271,15 @@ be_kbx_search (ctrl_t ctrl, backend_handle_t backend_hd, db_request_t request,
void *buffer;
size_t buflen;
enum pubkey_types pubkey_type;
- unsigned char blobid[20];
+ unsigned char ubid[UBID_LEN];
- err = keybox_get_data (part->kbx_hd, &buffer, &buflen, &pubkey_type);
+ err = keybox_get_data (part->kbx_hd, &buffer, &buflen,
+ &pubkey_type, ubid);
if (err)
goto leave;
- gcry_md_hash_buffer (GCRY_MD_SHA1, blobid, buffer, buflen);
- err = be_return_pubkey (ctrl, buffer, buflen, pubkey_type, blobid);
+ err = be_return_pubkey (ctrl, buffer, buflen, pubkey_type, ubid);
if (!err)
- be_cache_pubkey (ctrl, blobid, buffer, buflen, pubkey_type);
+ be_cache_pubkey (ctrl, ubid, buffer, buflen, pubkey_type);
xfree (buffer);
}
@@ -295,8 +295,7 @@ be_kbx_search (ctrl_t ctrl, backend_handle_t backend_hd, db_request_t request,
* operation starts right after that UBID. */
gpg_error_t
be_kbx_seek (ctrl_t ctrl, backend_handle_t backend_hd,
- db_request_t request, const unsigned char *ubid,
- const unsigned char *fpr, unsigned int fprlen)
+ db_request_t request, const unsigned char *ubid)
{
gpg_error_t err;
db_request_part_t part;
@@ -310,19 +309,8 @@ be_kbx_seek (ctrl_t ctrl, backend_handle_t backend_hd,
log_assert (request);
memset (&desc, 0, sizeof desc);
- if (ubid)
- {
- desc.mode = KEYDB_SEARCH_MODE_FPR;
- memcpy (desc.u.ubid, ubid, 20);
- }
- else
- {
- if (fprlen > sizeof desc.u.fpr)
- return gpg_error (GPG_ERR_TOO_LARGE);
- desc.mode = KEYDB_SEARCH_MODE_FPR;
- memcpy (desc.u.fpr, fpr, fprlen);
- desc.fprlen = fprlen;
- }
+ desc.mode = KEYDB_SEARCH_MODE_UBID;
+ memcpy (desc.u.ubid, ubid, UBID_LEN);
/* Find the specific request part or allocate it. */
err = be_find_request_part (backend_hd, request, &part);