* more details.
*
* You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 51
- * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef __ONAK_CONF_H_
#define __ONAK_CONF_H_
-#include "keydb.h"
+#include <stdbool.h>
+#include <stdint.h>
+
+#include "ll.h"
/**
* @brief Backend database configuration.
/** Pointer to the initialisation function for our loaded DB backend */
struct onak_dbctx *(*dbinit)(struct onak_db_config *, bool);
- /** Should we verify signature hashes match? */
- bool check_sighash;
+ /** What policies should we use for cleaning keys? */
+ uint64_t clean_policies;
+
+ /*
+ * Options used by the email handling script.
+ * None of the C code uses this information, but we should be able
+ * to parse it.
+ */
+ /** Location of the onak binary, so the mail script can find it. */
+ char *bin_dir;
+ /** Where incoming mail gets queue, one file per mail. */
+ char *mail_dir;
};
/**
*/
void readconfig(const char *configfile);
+/**
+ * @brief write the onak config.
+ * @param configfile the config file to write to.
+ *
+ * Write out the config file. If config file is NULL write it to STDOUT.
+ */
+void writeconfig(const char *configfile);
+
/**
* @brief clean up the config when we're shutting down.
*/
void cleanupconfig(void);
+
+/**
+ * @brief Find a specified backend configuration by name.
+ */
+struct onak_db_config *find_db_backend_config(struct ll *backends, char *name);
+
#endif /* __ONAK_CONF_H_ */