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
35struct policy_key;
36struct policy_key_list;
37typedef struct policy_key policy_key_t;
39
40typedef enum policy_key_role {
47
48#include "policy_key_ext.h"
49#include "policy.h"
50
54struct policy_key {
62 unsigned int algorithm;
63 unsigned int bits;
64 unsigned int lifetime;
66 unsigned int standby;
67 unsigned int manual_rollover;
68 unsigned int rfc5011;
69 unsigned int minimize;
70};
71
77extern policy_key_t* policy_key_new(const db_connection_t* connection);
78
85
91
97
105
115extern int policy_key_cmp(const policy_key_t* policy_key_a, const policy_key_t* policy_key_b);
116
124
131
138
146
153
159extern const char* policy_key_role_text(const policy_key_t* policy_key);
160
166extern unsigned int policy_key_algorithm(const policy_key_t* policy_key);
167
173extern unsigned int policy_key_bits(const policy_key_t* policy_key);
174
180extern unsigned int policy_key_lifetime(const policy_key_t* policy_key);
181
187extern const char* policy_key_repository(const policy_key_t* policy_key);
188
195
201extern unsigned int policy_key_manual_rollover(const policy_key_t* policy_key);
202
208extern unsigned int policy_key_rfc5011(const policy_key_t* policy_key);
209
215extern unsigned int policy_key_minimize(const policy_key_t* policy_key);
216
224
232
239extern int policy_key_set_algorithm(policy_key_t* policy_key, unsigned int algorithm);
240
247extern int policy_key_set_bits(policy_key_t* policy_key, unsigned int bits);
248
255extern int policy_key_set_lifetime(policy_key_t* policy_key, unsigned int lifetime);
256
263extern int policy_key_set_repository(policy_key_t* policy_key, const char* repository_text);
264
271extern int policy_key_set_standby(policy_key_t* policy_key, unsigned int standby);
272
279extern int policy_key_set_manual_rollover(policy_key_t* policy_key, unsigned int manual_rollover);
280
287extern int policy_key_set_rfc5011(policy_key_t* policy_key, unsigned int rfc5011);
288
295extern int policy_key_set_minimize(policy_key_t* policy_key, unsigned int minimize);
296
303
311
318
334};
335
341extern policy_key_list_t* policy_key_list_new(const db_connection_t* connection);
342
349
357
363
370extern 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
433extern 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
const policy_t * policy_key_policy(const policy_key_t *policy_key)
void policy_key_reset(policy_key_t *policy_key)
Definition: policy_key.c:264
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
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
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
policy_key_t * policy_key_new(const db_connection_t *connection)
Definition: policy_key.c:209
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
const policy_key_t * policy_key_list_begin(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1322
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_copy(const policy_key_list_t *policy_key_copy)
Definition: policy_key.c:977
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
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_t * policy_key_get_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_list_t * policy_key_list_new(const db_connection_t *connection)
Definition: policy_key.c:963
const policy_key_t * policy_key_list_next(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1378
int policy_key_set_rfc5011(policy_key_t *policy_key, unsigned int rfc5011)
Definition: policy_key.c:682
policy_key_t * policy_key_new_copy(const policy_key_t *policy_key)
Definition: policy_key.c:227
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
const char * policy_key_repository(const policy_key_t *policy_key)
Definition: policy_key.c:534
enum policy_key_role policy_key_role_t
void policy_key_list_free(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1006
const char * policy_key_role_text(const policy_key_t *policy_key)
Definition: policy_key.c:494
void policy_key_free(policy_key_t *policy_key)
Definition: policy_key.c:246
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
policy_key_t * policy_key_list_get_next(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1444
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
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
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