aboutsummaryrefslogtreecommitdiffstats
path: root/sm/keydb.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2001-12-18 17:37:48 +0000
committerWerner Koch <[email protected]>2001-12-18 17:37:48 +0000
commit56172ce393437be1434d5af11f775c85ed72c1b0 (patch)
tree73821dd5f67e3f6c7a911d75676aea7041bd6e7a /sm/keydb.c
parent* gpgsm.c (main): Renamed the default key database to "keyring.kbx". (diff)
downloadgnupg-56172ce393437be1434d5af11f775c85ed72c1b0.tar.gz
gnupg-56172ce393437be1434d5af11f775c85ed72c1b0.zip
Changes to be used with the new libksba interface.
libgcrypt-1.1.5 is required (cvs or tarball)
Diffstat (limited to 'sm/keydb.c')
-rw-r--r--sm/keydb.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sm/keydb.c b/sm/keydb.c
index d8d0ad7e3..b80f42642 100644
--- a/sm/keydb.c
+++ b/sm/keydb.c
@@ -834,14 +834,19 @@ keydb_search_issuer (KEYDB_HANDLE hd, const char *issuer)
int
keydb_search_issuer_sn (KEYDB_HANDLE hd,
- const char *issuer, const unsigned char *serial)
+ const char *issuer, KsbaConstSexp serial)
{
KEYDB_SEARCH_DESC desc;
int rc;
+ const unsigned char *s;
memset (&desc, 0, sizeof desc);
desc.mode = KEYDB_SEARCH_MODE_ISSUER_SN;
- desc.sn = serial;
+ for (s=serial,desc.snlen = 0; digitp (s); s++)
+ desc.snlen = 10*desc.snlen + atoi_1 (s);
+ if (*s !=':')
+ return GNUPG_Invalid_Value;
+ desc.sn = s+1;
desc.u.name = issuer;
rc = keydb_search (hd, &desc, 1);
return rc;
@@ -975,7 +980,7 @@ classify_user_id (const char *name,
return 0; /* invalid digit in serial number*/
}
desc->sn = s;
- desc->sn_is_string = 1;
+ desc->snlen = -1;
if (!*si)
mode = KEYDB_SEARCH_MODE_SN;
else