OpenDNSSEC-enforcer  2.0.2
zone.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Jerry Lundström <lundstrom.jerry@gmail.com>
3  * Copyright (c) 2014 .SE (The Internet Infrastructure Foundation).
4  * Copyright (c) 2014 OpenDNSSEC AB (svb)
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
24  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  */
29 
30 #ifndef __zone_h
31 #define __zone_h
32 
33 #include "db_object.h"
34 
35 struct zone;
36 struct zone_list;
37 typedef struct zone zone_t;
38 typedef struct zone_list zone_list_t;
39 
40 #include "zone_ext.h"
41 #include "policy.h"
42 
46 struct zone {
53  char* name;
54  unsigned int signconf_needs_writing;
57  unsigned int ttl_end_ds;
58  unsigned int ttl_end_dk;
59  unsigned int ttl_end_rs;
60  unsigned int roll_ksk_now;
61  unsigned int roll_zsk_now;
62  unsigned int roll_csk_now;
67  unsigned int next_ksk_roll;
68  unsigned int next_zsk_roll;
69  unsigned int next_csk_roll;
72 };
73 
79 zone_t* zone_new(const db_connection_t* connection);
80 
87 
92 void zone_free(zone_t* zone);
93 
100 int zone_copy(zone_t* zone, const zone_t* zone_copy);
101 
108 int zone_from_result(zone_t* zone, const db_result_t* result);
109 
115 const db_value_t* zone_id(const zone_t* zone);
116 
122 const db_value_t* zone_policy_id(const zone_t* zone);
123 
131 
137 const char* zone_name(const zone_t* zone);
138 
144 unsigned int zone_signconf_needs_writing(const zone_t* zone);
145 
151 const char* zone_signconf_path(const zone_t* zone);
152 
158 int zone_next_change(const zone_t* zone);
159 
165 unsigned int zone_ttl_end_ds(const zone_t* zone);
166 
172 unsigned int zone_ttl_end_dk(const zone_t* zone);
173 
179 unsigned int zone_ttl_end_rs(const zone_t* zone);
180 
186 unsigned int zone_roll_ksk_now(const zone_t* zone);
187 
193 unsigned int zone_roll_zsk_now(const zone_t* zone);
194 
200 unsigned int zone_roll_csk_now(const zone_t* zone);
201 
207 const char* zone_input_adapter_type(const zone_t* zone);
208 
214 const char* zone_input_adapter_uri(const zone_t* zone);
215 
221 const char* zone_output_adapter_type(const zone_t* zone);
222 
228 const char* zone_output_adapter_uri(const zone_t* zone);
229 
235 unsigned int zone_next_ksk_roll(const zone_t* zone);
236 
242 unsigned int zone_next_zsk_roll(const zone_t* zone);
243 
249 unsigned int zone_next_csk_roll(const zone_t* zone);
250 
258 
265 int zone_set_name(zone_t* zone, const char* name_text);
266 
274 
281 int zone_set_signconf_path(zone_t* zone, const char* signconf_path_text);
282 
290 
297 int zone_set_ttl_end_ds(zone_t* zone, unsigned int ttl_end_ds);
298 
305 int zone_set_ttl_end_dk(zone_t* zone, unsigned int ttl_end_dk);
306 
313 int zone_set_ttl_end_rs(zone_t* zone, unsigned int ttl_end_rs);
314 
321 int zone_set_roll_ksk_now(zone_t* zone, unsigned int roll_ksk_now);
322 
329 int zone_set_roll_zsk_now(zone_t* zone, unsigned int roll_zsk_now);
330 
337 int zone_set_roll_csk_now(zone_t* zone, unsigned int roll_csk_now);
338 
345 int zone_set_input_adapter_type(zone_t* zone, const char* input_adapter_type_text);
346 
353 int zone_set_input_adapter_uri(zone_t* zone, const char* input_adapter_uri_text);
354 
361 int zone_set_output_adapter_type(zone_t* zone, const char* output_adapter_type_text);
362 
369 int zone_set_output_adapter_uri(zone_t* zone, const char* output_adapter_uri_text);
370 
377 int zone_set_next_ksk_roll(zone_t* zone, unsigned int next_ksk_roll);
378 
385 int zone_set_next_zsk_roll(zone_t* zone, unsigned int next_zsk_roll);
386 
393 int zone_set_next_csk_roll(zone_t* zone, unsigned int next_csk_roll);
394 
405 
411 int zone_create(zone_t* zone);
412 
419 int zone_get_by_id(zone_t* zone, const db_value_t* id);
420 
427 int zone_get_by_name(zone_t* zone, const char* name);
428 
435 zone_t* zone_new_get_by_name(const db_connection_t* connection, const char* name);
436 
442 int zone_update(zone_t* zone);
443 
449 int zone_delete(zone_t* zone);
450 
461 int zone_count(zone_t* zone, db_clause_list_t* clause_list, size_t* count);
462 
466 struct zone_list {
478 };
479 
485 zone_list_t* zone_list_new(const db_connection_t* connection);
486 
493 
501 
507 
514 int zone_list_copy(zone_list_t* zone_list, const zone_list_t* from_zone_list);
515 
522 
528 zone_list_t* zone_list_new_get(const db_connection_t* connection);
529 
537 
545 
553 
562 
572 
582 
590 
591 #endif
int zone_set_policy_id(zone_t *zone, const db_value_t *policy_id)
Definition: zone.c:918
zone_list_t * zone_list_new_copy(const zone_list_t *zone_copy)
Definition: zone.c:1960
const char * zone_output_adapter_type(const zone_t *zone)
Definition: zone.c:878
zone_t * zone_new_copy(const zone_t *zone)
Definition: zone.c:306
char * signconf_path
Definition: zone.h:55
int zone_next_change(const zone_t *zone)
Definition: zone.c:806
const db_value_t * zone_policy_id(const zone_t *zone)
Definition: zone.c:736
int zone_set_roll_csk_now(zone_t *zone, unsigned int roll_csk_now)
Definition: zone.c:1051
int zone_set_next_ksk_roll(zone_t *zone, unsigned int next_ksk_roll)
Definition: zone.c:1149
int zone_delete(zone_t *zone)
Definition: zone.c:1884
unsigned int ttl_end_rs
Definition: zone.h:59
int associated_fetch
Definition: zone.h:476
unsigned int zone_roll_csk_now(const zone_t *zone)
Definition: zone.c:854
void zone_list_free(zone_list_t *zone_list)
Definition: zone.c:1989
unsigned int next_zsk_roll
Definition: zone.h:68
unsigned int zone_ttl_end_ds(const zone_t *zone)
Definition: zone.c:814
int zone_set_next_change(zone_t *zone, int next_change)
Definition: zone.c:991
int next_change
Definition: zone.h:56
unsigned int zone_ttl_end_rs(const zone_t *zone)
Definition: zone.c:830
int zone_set_roll_ksk_now(zone_t *zone, unsigned int roll_ksk_now)
Definition: zone.c:1031
const zone_t * zone_list_next(zone_list_t *zone_list)
Definition: zone.c:2600
unsigned int roll_csk_now
Definition: zone.h:62
int object_list_first
Definition: zone.h:475
unsigned int zone_roll_zsk_now(const zone_t *zone)
Definition: zone.c:846
int zone_set_ttl_end_ds(zone_t *zone, unsigned int ttl_end_ds)
Definition: zone.c:1001
unsigned int signconf_needs_writing
Definition: zone.h:54
const db_result_t * result
Definition: zone.h:469
int zone_list_get_by_policy_id(zone_list_t *zone_list, const db_value_t *policy_id)
Definition: zone.c:2458
key_dependency_list_t * key_dependency_list
Definition: zone.h:71
zone_t ** object_list
Definition: zone.h:472
char * input_adapter_uri
Definition: zone.h:64
const char * zone_signconf_path(const zone_t *zone)
Definition: zone.c:798
db_result_list_t * result_list
Definition: zone.h:468
int zone_set_signconf_needs_writing(zone_t *zone, unsigned int signconf_needs_writing)
Definition: zone.c:959
zone_list_t * zone_list_new_get(const db_connection_t *connection)
Definition: zone.c:2399
unsigned int next_csk_roll
Definition: zone.h:69
unsigned int roll_ksk_now
Definition: zone.h:60
zone_t * zone_new(const db_connection_t *connection)
Definition: zone.c:287
int zone_set_input_adapter_uri(zone_t *zone, const char *input_adapter_uri_text)
Definition: zone.c:1083
unsigned int zone_signconf_needs_writing(const zone_t *zone)
Definition: zone.c:790
unsigned int zone_ttl_end_dk(const zone_t *zone)
Definition: zone.c:822
int zone_set_input_adapter_type(zone_t *zone, const char *input_adapter_type_text)
Definition: zone.c:1061
unsigned int roll_zsk_now
Definition: zone.h:61
int zone_list_object_store(zone_list_t *zone_list)
Definition: zone.c:1979
int zone_set_signconf_path(zone_t *zone, const char *signconf_path_text)
Definition: zone.c:969
db_value_t id
Definition: zone.h:48
zone_list_t * zone_list_new_get_by_policy_id(const db_connection_t *connection, const db_value_t *policy_id)
Definition: zone.c:2521
int zone_set_output_adapter_uri(zone_t *zone, const char *output_adapter_uri_text)
Definition: zone.c:1127
int zone_set_name(zone_t *zone, const char *name_text)
Definition: zone.c:937
size_t object_list_position
Definition: zone.h:474
policy_list_t * policy_id_list
Definition: zone.h:477
const policy_t * associated_policy_id
Definition: zone.h:51
db_object_t * dbo
Definition: zone.h:467
const db_value_t * zone_id(const zone_t *zone)
Definition: zone.c:728
void zone_free(zone_t *zone)
Definition: zone.c:325
zone_t * zone_list_get_next(zone_list_t *zone_list)
Definition: zone.c:2666
int object_store
Definition: zone.h:471
unsigned int zone_next_ksk_roll(const zone_t *zone)
Definition: zone.c:894
policy_t * private_policy_id
Definition: zone.h:52
size_t zone_list_size(zone_list_t *zone_list)
Definition: zone.c:2702
unsigned int ttl_end_ds
Definition: zone.h:57
unsigned int zone_next_csk_roll(const zone_t *zone)
Definition: zone.c:910
unsigned int zone_next_zsk_roll(const zone_t *zone)
Definition: zone.c:902
int zone_set_roll_zsk_now(zone_t *zone, unsigned int roll_zsk_now)
Definition: zone.c:1041
db_value_t rev
Definition: zone.h:49
key_data_list_t * key_data_list
Definition: zone.h:70
db_object_t * dbo
Definition: zone.h:47
const char * zone_input_adapter_type(const zone_t *zone)
Definition: zone.c:862
int zone_from_result(zone_t *zone, const db_result_t *result)
Definition: zone.c:662
int zone_list_get_by_clauses(zone_list_t *zone_list, const db_clause_list_t *clause_list)
Definition: zone.c:2416
int zone_list_get(zone_list_t *zone_list)
Definition: zone.c:2360
zone_t * zone
Definition: zone.h:470
int zone_get_by_name(zone_t *zone, const char *name)
Definition: zone.c:1519
char * input_adapter_type
Definition: zone.h:63
char * name
Definition: zone.h:53
const char * zone_input_adapter_uri(const zone_t *zone)
Definition: zone.c:870
zone_list_t * zone_list_new(const db_connection_t *connection)
Definition: zone.c:1946
unsigned int ttl_end_dk
Definition: zone.h:58
zone_t * zone_new_get_by_name(const db_connection_t *connection, const char *name)
Definition: zone.c:1569
db_value_t policy_id
Definition: zone.h:50
int zone_set_output_adapter_type(zone_t *zone, const char *output_adapter_type_text)
Definition: zone.c:1105
size_t object_list_size
Definition: zone.h:473
Definition: policy.h:60
int zone_get_by_id(zone_t *zone, const db_value_t *id)
Definition: zone.c:1466
Definition: zone.h:46
unsigned int next_ksk_roll
Definition: zone.h:67
const zone_t * zone_list_begin(zone_list_t *zone_list)
Definition: zone.c:2544
int zone_list_copy(zone_list_t *zone_list, const zone_list_t *from_zone_list)
Definition: zone.c:2017
const char * zone_name(const zone_t *zone)
Definition: zone.c:782
int zone_set_next_zsk_roll(zone_t *zone, unsigned int next_zsk_roll)
Definition: zone.c:1159
char * output_adapter_type
Definition: zone.h:65
int zone_create(zone_t *zone)
Definition: zone.c:1206
int zone_set_ttl_end_dk(zone_t *zone, unsigned int ttl_end_dk)
Definition: zone.c:1011
unsigned int zone_roll_ksk_now(const zone_t *zone)
Definition: zone.c:838
int zone_copy(zone_t *zone, const zone_t *zone_copy)
Definition: zone.c:365
int zone_set_ttl_end_rs(zone_t *zone, unsigned int ttl_end_rs)
Definition: zone.c:1021
int zone_count(zone_t *zone, db_clause_list_t *clause_list, size_t *count)
Definition: zone.c:1930
const char * zone_output_adapter_uri(const zone_t *zone)
Definition: zone.c:886
db_clause_t * zone_policy_id_clause(db_clause_list_t *clause_list, const db_value_t *policy_id)
Definition: zone.c:1179
int zone_update(zone_t *zone)
Definition: zone.c:1589
int zone_set_next_csk_roll(zone_t *zone, unsigned int next_csk_roll)
Definition: zone.c:1169
policy_t * zone_get_policy(const zone_t *zone)
Definition: zone.c:744
char * output_adapter_uri
Definition: zone.h:66