/* 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: */
!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 */
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) {