X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=pubkeys.fl.pl;h=da1e4d40ce396e255ff685c181710b531c23f8b8;hb=147b444d6faa9a621e33d653b7a72c29724203c3;hp=43df2e16593cff2bfeda6ae9cec81cbd2d2c71bf;hpb=0f8f332557cf678d4f895e3ec7b60fbf0adaeee7;p=secnet.git diff --git a/pubkeys.fl.pl b/pubkeys.fl.pl index 43df2e1..da1e4d4 100755 --- a/pubkeys.fl.pl +++ b/pubkeys.fl.pl @@ -227,16 +227,16 @@ 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; - memcpy(c->building->keys[c->building->nkeys].id.b, - c->grpid, - GRPIDSZ); + 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 */ - c->building->keys[c->building->nkeys].id.b[GRPIDSZ]= - c->scheme->algid; - c->building->keys[c->building->nkeys++].pubkey=pubkey; + fill->id.b[GRPIDSZ]=c->scheme->algid; + fill->pubkey=pubkey; + c->building->nkeys++; !} !KEYWORD serial @@ -311,10 +311,6 @@ keyset_load(const char *path, struct buffer_if *data_buf, int r=pkyylex(); if (r) goto err_bad; - if (!c->had_serial) { - slilog(LI,M_ERR,"missing serial number in %s",path); - goto err_bad; - } if (!c->building->nkeys) { slilog(LI,M_ERR,"no useable keys in %s",path); goto err_bad;