OpenDNSSEC-enforcer  2.1.10
policy_key.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 __policy_key_h
31 #define __policy_key_h
32 
33 #include "db_object.h"
34 
35 struct policy_key;
36 struct policy_key_list;
37 typedef struct policy_key policy_key_t;
38 typedef struct policy_key_list policy_key_list_t;
39 
40 typedef enum policy_key_role {
46 extern const db_enum_t policy_key_enum_set_role[];
47 
48 #include "policy_key_ext.h"
49 #include "policy.h"
50 
54 struct policy_key {
62  unsigned int algorithm;
63  unsigned int bits;
64  unsigned int lifetime;
65  char* repository;
66  unsigned int standby;
67  unsigned int manual_rollover;
68  unsigned int rfc5011;
69  unsigned int minimize;
70 };
71 
77 extern policy_key_t* policy_key_new(const db_connection_t* connection);
78 
85 
91 
97 
105 
115 extern int policy_key_cmp(const policy_key_t* policy_key_a, const policy_key_t* policy_key_b);
116 
123 extern int policy_key_from_result(policy_key_t* policy_key, const db_result_t* result);
124 
131 
138 
146 
153 
159 extern const char* policy_key_role_text(const policy_key_t* policy_key);
160 
166 extern unsigned int policy_key_algorithm(const policy_key_t* policy_key);
167 
173 extern unsigned int policy_key_bits(const policy_key_t* policy_key);
174 
180 extern unsigned int policy_key_lifetime(const policy_key_t* policy_key);
181 
187 extern const char* policy_key_repository(const policy_key_t* policy_key);
188 
194 extern int policy_key_standby(const policy_key_t* policy_key);
195 
201 extern unsigned int policy_key_manual_rollover(const policy_key_t* policy_key);
202 
208 extern unsigned int policy_key_rfc5011(const policy_key_t* policy_key);
209 
215 extern unsigned int policy_key_minimize(const policy_key_t* policy_key);
216 
224 
232 
239 extern int policy_key_set_algorithm(policy_key_t* policy_key, unsigned int algorithm);
240 
247 extern int policy_key_set_bits(policy_key_t* policy_key, unsigned int bits);
248 
255 extern int policy_key_set_lifetime(policy_key_t* policy_key, unsigned int lifetime);
256 
263 extern int policy_key_set_repository(policy_key_t* policy_key, const char* repository_text);
264 
271 extern int policy_key_set_standby(policy_key_t* policy_key, unsigned int standby);
272 
279 extern int policy_key_set_manual_rollover(policy_key_t* policy_key, unsigned int manual_rollover);
280 
287 extern int policy_key_set_rfc5011(policy_key_t* policy_key, unsigned int rfc5011);
288 
295 extern int policy_key_set_minimize(policy_key_t* policy_key, unsigned int minimize);
296 
303 
311 
318 
334 };
335 
341 extern policy_key_list_t* policy_key_list_new(const db_connection_t* connection);
342 
349 
357 
363 
370 extern int policy_key_list_copy(policy_key_list_t* policy_key_list, const policy_key_list_t* from_policy_key_list);
371 
379 
387 
395 
404 
414 
424 
432 
433 extern policy_key_t * policy_key_new_get_by_policyid_and_role (const db_connection_t* connection, const db_value_t* policyid, const policy_key_role_t role);
434 
436 #endif
const db_value_t * policy_id(const policy_t *policy)
Definition: policy.c:805
int policy_key_set_minimize(policy_key_t *policy_key, unsigned int minimize)
Definition: policy_key.c:692
size_t policy_key_list_size(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1480
policy_t * policy_key_get_policy(const policy_key_t *policy_key)
void policy_key_reset(policy_key_t *policy_key)
Definition: policy_key.c:264
policy_key_list_t * policy_key_list_new_copy(const policy_key_list_t *policy_key_copy)
Definition: policy_key.c:977
int policy_key_set_role(policy_key_t *policy_key, policy_key_role_t role)
Definition: policy_key.c:593
int policy_key_set_standby(policy_key_t *policy_key, unsigned int standby)
Definition: policy_key.c:662
int policy_key_list_object_store(policy_key_list_t *policy_key_list)
Definition: policy_key.c:996
const db_enum_t policy_key_enum_set_role[]
Definition: policy_key.c:36
int policy_key_set_bits(policy_key_t *policy_key, unsigned int bits)
Definition: policy_key.c:620
const policy_key_t * policy_key_list_begin(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1322
policy_key_t * policy_key_new_copy(const policy_key_t *policy_key)
Definition: policy_key.c:227
policy_key_t * policy_key_new_get_by_policyid_and_role(const db_connection_t *connection, const db_value_t *policyid, const policy_key_role_t role)
Definition: policy_key.c:1562
unsigned int policy_key_minimize(const policy_key_t *policy_key)
Definition: policy_key.c:566
const policy_t * policy_key_policy(const policy_key_t *policy_key)
const db_value_t * policy_key_policy_id(const policy_key_t *policy_key)
Definition: policy_key.c:478
policy_key_role
Definition: policy_key.h:40
@ POLICY_KEY_ROLE_KSK
Definition: policy_key.h:42
@ POLICY_KEY_ROLE_CSK
Definition: policy_key.h:44
@ POLICY_KEY_ROLE_ZSK
Definition: policy_key.h:43
@ POLICY_KEY_ROLE_INVALID
Definition: policy_key.h:41
unsigned int policy_key_lifetime(const policy_key_t *policy_key)
Definition: policy_key.c:526
int policy_key_set_manual_rollover(policy_key_t *policy_key, unsigned int manual_rollover)
Definition: policy_key.c:672
int policy_key_get_by_policyid_and_role(policy_key_t *policy_key, const db_value_t *policyid, const policy_key_role_t role)
Definition: policy_key.c:1498
unsigned int policy_key_manual_rollover(const policy_key_t *policy_key)
Definition: policy_key.c:550
policy_key_list_t * policy_key_list_new(const db_connection_t *connection)
Definition: policy_key.c:963
policy_key_t * policy_key_list_get_next(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1444
int policy_key_copy(policy_key_t *policy_key, const policy_key_t *policy_key_copy)
Definition: policy_key.c:289
int policy_key_cmp(const policy_key_t *policy_key_a, const policy_key_t *policy_key_b)
Definition: policy_key.c:359
int policy_key_delete(policy_key_t *policy_key)
Definition: policy_key.c:913
int policy_key_set_rfc5011(policy_key_t *policy_key, unsigned int rfc5011)
Definition: policy_key.c:682
int policy_key_set_algorithm(policy_key_t *policy_key, unsigned int algorithm)
Definition: policy_key.c:606
int policy_key_get_by_id(policy_key_t *policy_key, const db_value_t *id)
Definition: policy_key.c:860
int policy_key_set_lifetime(policy_key_t *policy_key, unsigned int lifetime)
Definition: policy_key.c:630
enum policy_key_role policy_key_role_t
const policy_key_t * policy_key_list_next(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1378
const char * policy_key_repository(const policy_key_t *policy_key)
Definition: policy_key.c:534
void policy_key_list_free(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1006
void policy_key_free(policy_key_t *policy_key)
Definition: policy_key.c:246
const char * policy_key_role_text(const policy_key_t *policy_key)
Definition: policy_key.c:494
int policy_key_list_copy(policy_key_list_t *policy_key_list, const policy_key_list_t *from_policy_key_list)
Definition: policy_key.c:1034
int policy_key_set_policy_id(policy_key_t *policy_key, const db_value_t *policy_id)
Definition: policy_key.c:574
int policy_key_from_result(policy_key_t *policy_key, const db_result_t *result)
Definition: policy_key.c:426
unsigned int policy_key_algorithm(const policy_key_t *policy_key)
Definition: policy_key.c:510
int policy_key_set_repository(policy_key_t *policy_key, const char *repository_text)
Definition: policy_key.c:640
policy_key_t * policy_key_new(const db_connection_t *connection)
Definition: policy_key.c:209
int policy_key_list_get_by_clauses(policy_key_list_t *policy_key_list, const db_clause_list_t *clause_list)
Definition: policy_key.c:1194
int policy_key_create(policy_key_t *policy_key)
Definition: policy_key.c:702
unsigned int policy_key_rfc5011(const policy_key_t *policy_key)
Definition: policy_key.c:558
unsigned int policy_key_bits(const policy_key_t *policy_key)
Definition: policy_key.c:518
policy_key_list_t * policy_key_list_new_get_by_policy_id(const db_connection_t *connection, const db_value_t *policy_id)
Definition: policy_key.c:1299
int policy_key_standby(const policy_key_t *policy_key)
Definition: policy_key.c:542
int policy_key_list_get_by_policy_id(policy_key_list_t *policy_key_list, const db_value_t *policy_id)
Definition: policy_key.c:1236
policy_key_t ** object_list
Definition: policy_key.h:328
policy_key_t * policy_key
Definition: policy_key.h:326
db_result_list_t * result_list
Definition: policy_key.h:324
size_t object_list_position
Definition: policy_key.h:330
size_t object_list_size
Definition: policy_key.h:329
policy_list_t * policy_id_list
Definition: policy_key.h:333
db_object_t * dbo
Definition: policy_key.h:323
const db_result_t * result
Definition: policy_key.h:325
unsigned int standby
Definition: policy_key.h:66
const policy_t * associated_policy_id
Definition: policy_key.h:59
db_value_t policy_id
Definition: policy_key.h:58
unsigned int rfc5011
Definition: policy_key.h:68
policy_key_role_t role
Definition: policy_key.h:61
db_value_t rev
Definition: policy_key.h:57
policy_t * private_policy_id
Definition: policy_key.h:60
unsigned int minimize
Definition: policy_key.h:69
db_value_t id
Definition: policy_key.h:56
unsigned int bits
Definition: policy_key.h:63
unsigned int lifetime
Definition: policy_key.h:64
db_object_t * dbo
Definition: policy_key.h:55
unsigned int algorithm
Definition: policy_key.h:62
char * repository
Definition: policy_key.h:65
unsigned int manual_rollover
Definition: policy_key.h:67
Definition: policy.h:60