X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/981bf1273304e1bc6604ea22b6ab4bd9ae07974b..78660a58940d42126106e9c8e26243e3c4412d49:/key-misc.c diff --git a/key-misc.c b/key-misc.c index a502293..54fdc89 100644 --- a/key-misc.c +++ b/key-misc.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: key-misc.c,v 1.4 2004/04/08 01:02:49 mdw Exp $ + * $Id$ * * Simple key management * @@ -27,24 +27,6 @@ * MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: key-misc.c,v $ - * Revision 1.4 2004/04/08 01:02:49 mdw - * key-binary.c - * - * Revision 1.3 2001/06/22 19:39:12 mdw - * New interface to find out whether a key has expired. Also, a bug fix - * to @key_bytag@ so that it finds expired keys correctly. - * - * Revision 1.2 2000/02/12 18:21:02 mdw - * Overhaul of key management (again). - * - * Revision 1.1 1999/12/22 15:47:48 mdw - * Major key-management revision. - * - */ - /*----- Header files ------------------------------------------------------*/ #include @@ -389,13 +371,15 @@ int key_fingerprint(key *k, ghash *h, const key_filter *kf) dstr d = DSTR_INIT; int rc = 0; key_attr *a, **v; - size_t n, i, len; - octet b[2]; + size_t n, i; sym_iter ai; if (!key_encode(&k->k, &d, kf)) goto done; rc = 1; + GH_HASHSTR(h, "catacomb-key-fingerprint:"); + GH_HASHU32(h, k->id); + GH_HASHSTR8(h, k->type); GH_HASH(h, d.buf, d.len); for (n = 0, sym_mkiter(&ai, &k->a); (a = sym_next(&ai)) != 0; n++); if (n) { @@ -403,14 +387,9 @@ int key_fingerprint(key *k, ghash *h, const key_filter *kf) for (i = 0, sym_mkiter(&ai, &k->a); (a = sym_next(&ai)) != 0; i++) v[i] = a; qsort(v, n, sizeof(*v), abyname); - len = strlen(k->type); STORE8(b, len); - GH_HASH(h, b, 1); GH_HASH(h, k->type, len); for (i = 0; i < n; i++) { - a = v[i]; - len = strlen(SYM_NAME(a)); STORE8(b, len); - GH_HASH(h, b, 1); GH_HASH(h, SYM_NAME(a), len); - len = strlen(a->p); STORE16(b, len); - GH_HASH(h, b, 2); GH_HASH(h, a->p, len); + GH_HASHSTR8(h, SYM_NAME(v[i])); + GH_HASHSTR16(h, v[i]->p); } xfree(v); }