OpenDNSSEC-signer  2.0.2
signconf.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 
27 #ifndef SIGNER_SIGNCONF_H
28 #define SIGNER_SIGNCONF_H
29 
30 #include <ldns/ldns.h>
31 #include <time.h>
32 
34 
35 #include "scheduler/task.h"
36 #include "status.h"
37 #include "duration.h"
38 #include "signer/keys.h"
39 #include "signer/nsec3params.h"
40 
42  /* Zone */
43  const char* name;
45  /* Signatures */
46  duration_type* sig_resign_interval;
47  duration_type* sig_refresh_interval;
48  duration_type* sig_validity_default;
49  duration_type* sig_validity_denial;
50  duration_type* sig_validity_keyset;
51  duration_type* sig_jitter;
52  duration_type* sig_inception_offset;
53  /* Denial of existence */
54  duration_type* nsec3param_ttl;
55  ldns_rr_type nsec_type;
57  uint32_t nsec3_algo;
58  uint32_t nsec3_iterations;
59  const char* nsec3_salt;
61  /* Keys */
62  duration_type* dnskey_ttl;
63  const char** dnskey_signature; /* may be NULL and must be NULL terminated */
65  /* Source of authority */
66  duration_type* soa_ttl;
67  duration_type* soa_min;
68  const char* soa_serial;
69  /* Other useful information */
70  duration_type* max_zone_ttl;
71  const char* filename;
72  time_t last_modified;
73 };
74 
81 
90 ods_status signconf_update(signconf_type** signconf, const char* scfile,
91  time_t last_modified);
92 
100 void signconf_backup(FILE* fd, signconf_type* sc, const char* version);
101 
108 ods_status signconf_check(signconf_type* signconf);
109 
118 
125 void signconf_log(signconf_type* sc, const char* name);
126 
133 
134 #endif /* SIGNER_SIGNCONF_H */
uint32_t nsec3_iterations
Definition: signconf.h:58
void signconf_cleanup(signconf_type *sc)
Definition: signconf.c:470
duration_type * sig_inception_offset
Definition: signconf.h:52
duration_type * soa_min
Definition: signconf.h:67
const char * nsec3_salt
Definition: signconf.h:59
const char * soa_serial
Definition: signconf.h:68
signconf_type * signconf_create(void)
Definition: signconf.c:47
keylist_type * keys
Definition: signconf.h:64
duration_type * soa_ttl
Definition: signconf.h:66
duration_type * sig_validity_default
Definition: signconf.h:48
duration_type * sig_validity_denial
Definition: signconf.h:49
duration_type * nsec3param_ttl
Definition: signconf.h:54
ldns_rr_type nsec_type
Definition: signconf.h:55
task_id signconf_compare_denial(signconf_type *a, signconf_type *b)
Definition: signconf.c:355
enum task_id_enum task_id
Definition: task.h:46
duration_type * sig_refresh_interval
Definition: signconf.h:47
ods_status signconf_update(signconf_type **signconf, const char *scfile, time_t last_modified)
Definition: signconf.c:154
duration_type * sig_validity_keyset
Definition: signconf.h:50
const char ** dnskey_signature
Definition: signconf.h:63
duration_type * max_zone_ttl
Definition: signconf.h:70
void signconf_backup(FILE *fd, signconf_type *sc, const char *version)
Definition: signconf.c:214
const char * name
Definition: signconf.h:43
time_t last_modified
Definition: signconf.h:72
uint32_t nsec3_algo
Definition: signconf.h:57
nsec3params_type * nsec3params
Definition: signconf.h:60
duration_type * dnskey_ttl
Definition: signconf.h:62
ods_status signconf_check(signconf_type *signconf)
Definition: signconf.c:275
duration_type * sig_jitter
Definition: signconf.h:51
duration_type * sig_resign_interval
Definition: signconf.h:46
void signconf_log(signconf_type *sc, const char *name)
Definition: signconf.c:388
const char * filename
Definition: signconf.h:71
int nsec3_optout
Definition: signconf.h:56