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