OpenDNSSEC-enforcer  2.1.7
cfg.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2009 NLNet Labs. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
17  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
19  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
21  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
23  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  *
25  */
26 
32 #ifndef DAEMON_CONFIG_H
33 #define DAEMON_CONFIG_H
34 
35 #include "config.h"
36 #include "status.h"
37 
38 #include <stdio.h>
39 #include <time.h>
40 
41 #include "libhsm.h"
42 
43 typedef enum {
48 
55  const char* cfg_filename;
56  const char* policy_filename;
57  const char* zonelist_filename;
58  const char* zonefetch_filename;
59  const char* log_filename;
60  const char* pid_filename;
63  const char* clisock_filename;
64  const char* working_dir;
65  const char* username;
66  const char* group;
67  const char* chroot;
68  const char* datastore; /* Datastore/SQLite or Datastore/MySQL/Database */
69  const char* db_host; /* Datastore/MySQL/Host */
70  const char* db_username; /* Datastore/MySQL/Username */
71  const char* db_password; /* Datastore/MySQL/Password */
75  int verbosity;
76  int db_port; /* Datastore/MySQL/Host/@Port */
79  hsm_repository_t* repositories;
81 };
82 
91 engineconfig_type* engine_config(const char* cfgfile,
92  int cmdline_verbosity, engineconfig_type* oldcfg);
93 
100 ods_status engine_config_check(engineconfig_type* config);
101 
108 void engine_config_print(FILE* out, engineconfig_type* config);
109 
116 
117 #endif /* DAEMON_CONFIG_H */
engineconfig_database_type_t
Definition: cfg.h:43
@ ENFORCER_DATABASE_TYPE_MYSQL
Definition: cfg.h:46
@ ENFORCER_DATABASE_TYPE_SQLITE
Definition: cfg.h:45
@ ENFORCER_DATABASE_TYPE_NONE
Definition: cfg.h:44
engineconfig_type * engine_config(const char *cfgfile, int cmdline_verbosity, engineconfig_type *oldcfg)
Definition: cfg.c:59
void engine_config_cleanup(engineconfig_type *config)
Definition: cfg.c:278
void engine_config_print(FILE *out, engineconfig_type *config)
Definition: cfg.c:189
ods_status engine_config_check(engineconfig_type *config)
Definition: cfg.c:155
const char * chroot
Definition: cfg.h:67
time_t rollover_notification
Definition: cfg.h:78
const char * policy_filename
Definition: cfg.h:56
const char * datastore
Definition: cfg.h:68
const char * cfg_filename
Definition: cfg.h:55
const char * zonefetch_filename
Definition: cfg.h:58
const char * db_password
Definition: cfg.h:71
const char * delegation_signer_submit_command
Definition: cfg.h:61
const char * group
Definition: cfg.h:66
engineconfig_database_type_t db_type
Definition: cfg.h:80
const char * delegation_signer_retract_command
Definition: cfg.h:62
const char * clisock_filename
Definition: cfg.h:63
const char * working_dir
Definition: cfg.h:64
hsm_repository_t * repositories
Definition: cfg.h:79
int num_worker_threads
Definition: cfg.h:73
int use_syslog
Definition: cfg.h:72
const char * pid_filename
Definition: cfg.h:60
time_t automatic_keygen_duration
Definition: cfg.h:77
const char * zonelist_filename
Definition: cfg.h:57
const char * log_filename
Definition: cfg.h:59
int manual_keygen
Definition: cfg.h:74
const char * db_username
Definition: cfg.h:70
const char * db_host
Definition: cfg.h:69
const char * username
Definition: cfg.h:65