struct pathprefix_template path;
struct ent *ents;
struct buffer_if databuf;
- struct hash_if *defhash;
};
static bool_t uncached_load_file(
const struct sigscheme_info *scheme,
const char *path,
struct buffer_if *databuf,
- struct hash_if *defhash,
struct sigprivkey_if **sigpriv_r,
closure_t **closure_r,
struct log_if *log);
bool_t ok=uncached_load_file(scheme,
path,
&st->databuf,
- st->defhash,
&sigpriv,
&cl,
log);
const struct sigscheme_info *scheme,
const char *path,
struct buffer_if *databuf,
- struct hash_if *defhash,
struct sigprivkey_if **sigpriv_r,
closure_t **closure_r,
struct log_if *log)
ok=scheme->loadpriv(scheme, databuf, &sigpriv, closure_r, log, loc);
if (!ok) goto error_out; /* loadpriv will have logged */
- if (sigpriv->sethash) {
- if (!defhash) {
- slilog(log,M_ERR,
- "private key %s requires `hash' config key to load",
- path);
- goto error_out;
- }
- sigpriv->sethash(sigpriv->st,defhash);
- }
*sigpriv_r=sigpriv;
out:
st->ents=0;
st->path.buffer=0;
st->used=st->alloc=0;
- st->defhash=0;
item=list_elem(args,0);
if (!item || item->type!=t_dict)
const char *path=dict_read_string(dict,"privkeys",True,"privcache",loc);
pathprefix_template_init(&st->path,path,KEYIDSZ*2);
- st->defhash=find_cl_if(dict,"hash",CL_HASH,False,"site",loc);
-
return new_closure(&st->cl);
}
buffer_new(&databuf,DEFAULT_MAXPRIV_BYTES);
BUF_ALLOC(&databuf,"load-private data buf");
- struct hash_if *defhash=
- find_cl_if(context,"hash",CL_HASH,False,"load-private",loc);
-
struct cfgfile_log log;
cfgfile_log_init(&log,loc,"load-private");
struct sigprivkey_if *sigpriv;
closure_t *cl;
bool_t ok=
- uncached_load_file(sch,path,&databuf,defhash,&sigpriv,&cl,&log.log);
+ uncached_load_file(sch,path,&databuf,&sigpriv,&cl,&log.log);
if (!ok) cfgfatal(loc,"load-private","private key loading failed");
BUF_FREE(&databuf);