extern list_t *new_closure(closure_t *cl);
extern void add_closure(dict_t *dict, cstring_t name, apply_fn apply);
extern void *find_cl_if(dict_t *dict, cstring_t name, uint32_t type,
- bool_t fail_if_invalid, cstring_t desc,
+ bool_t required, cstring_t desc,
struct cloc loc);
extern item_t *dict_find_item(dict_t *dict, cstring_t key, bool_t required,
cstring_t desc, struct cloc loc);
typedef bool_t sigscheme_loadpriv(const struct sigscheme_info *algo,
struct buffer_if *privkeydata,
struct sigprivkey_if **sigpriv_r,
+ closure_t **closure_r,
struct log_if *log, struct cloc loc);
/* Ideally, check whether privkeydata contains data for any algorithm.
* That avoids security problems if a key file is misidentified (which
cfl->facility=facility;
}
+void log_early_init(void);
+
/* SITE interface */
/* Pretty much a placeholder; allows starting and stopping of processing,
hash_final_fn *final;
};
+extern struct hash_if *const sha1_hash_if; /* for where this is hardcoded */
+
/* BUFFER interface */
struct buffer_if {