chiark / gitweb /
sha1: Provide sha1_hash_if
[secnet.git] / secnet.h
index c1397966b83d447abad4fb0288639030b68d0631..ffe8360053d20fa9774e11eb03575b4f570ec24a 100644 (file)
--- a/secnet.h
+++ b/secnet.h
@@ -418,6 +418,7 @@ typedef bool_t sigscheme_loadpub(const struct sigscheme_info *algo,
 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
@@ -640,6 +641,24 @@ FORMAT(printf,3,4);
 extern void vslilog_part(struct log_if *lf, int class, const char *message,
                         va_list) FORMAT(printf,3,0);
 
+void cfgfile_log__vmsg(void *sst, int class, const char *message, va_list);
+struct cfgfile_log {
+    struct log_if log;
+    /* private fields */
+    struct cloc loc;
+    const char *facility;
+};
+static inline void cfgfile_log_init(struct cfgfile_log *cfl,
+                                   struct cloc loc, const char *facility)
+{
+    cfl->log.st=cfl;
+    cfl->log.vlogfn=cfgfile_log__vmsg;
+    cfl->loc=loc;
+    cfl->facility=facility;
+}
+
+void log_early_init(void);
+
 /* SITE interface */
 
 /* Pretty much a placeholder; allows starting and stopping of processing,
@@ -767,6 +786,8 @@ struct hash_if {
     hash_final_fn *final;
 };
 
+extern struct hash_if *const sha1_hash_if; /* for where this is hardcoded */
+
 /* BUFFER interface */
 
 struct buffer_if {