X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=pubkeys.fl.pl;h=da1e4d40ce396e255ff685c181710b531c23f8b8;hb=564022994befb8f71b89ae015751b22c34ae3ee8;hp=ec1cba60610dcbe5edd996059c9eaac1f51faeba;hpb=ababc84b5d767f7b333a0487d9873f4817ed5cb8;p=secnet.git diff --git a/pubkeys.fl.pl b/pubkeys.fl.pl index ec1cba6..da1e4d4 100755 --- a/pubkeys.fl.pl +++ b/pubkeys.fl.pl @@ -161,7 +161,6 @@ struct pubkeyset_context { /* filled in during setup: */ struct cloc loc; /* line is runtime */ struct log_if *log; - struct hash_if *defhash; struct buffer_if *data_buf; struct peer_keyset *building; /* runtime: */ @@ -228,16 +227,10 @@ static struct pubkeyset_context c[1]; !FINAL { if (c->building->nkeys >= MAX_SIG_KEYS) DOSKIP("too many public keys"); struct sigpubkey_if *pubkey; + closure_t *cl; bool_t ok=c->scheme->loadpub(c->scheme,c->data_buf, - &pubkey,c->log,c->loc); + &pubkey,&cl,c->log,c->loc); if (!ok) break; - if (pubkey->sethash) { - if (!c->defhash) { - pubkey->dispose(pubkey->st); - DOSKIP("public key requires default hash to load"); - } - pubkey->sethash(pubkey->st,c->defhash); - } struct peer_pubkey *fill=&c->building->keys[c->building->nkeys]; memcpy(fill->id.b,c->grpid,GRPIDSZ); assert(ALGIDSZ==1); /* otherwise need htons or htonl or something */ @@ -290,11 +283,9 @@ static struct pubkeyset_context c[1]; extern struct peer_keyset * keyset_load(const char *path, struct buffer_if *data_buf, - struct log_if *log, int logcl_enoent, - struct hash_if *defhash) { + struct log_if *log, int logcl_enoent) { assert(!c->building); c->log=log; - c->defhash=defhash; c->loc.file=path; pkyyin = fopen(path, "r"); if (!pkyyin) {