OpenDNSSEC-enforcer 2.1.12
test_policy_key.c
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#include "CUnit/Basic.h"
31
32#include "../db_configuration.h"
33#include "../db_connection.h"
34#include "../policy_key.h"
35
36#include <string.h>
37
38static db_configuration_list_t* configuration_list = NULL;
39static db_configuration_t* configuration = NULL;
40static db_connection_t* connection = NULL;
41
42static policy_key_t* object = NULL;
43static policy_key_list_t* object_list = NULL;
44static db_value_t id = DB_VALUE_EMPTY;
45static db_clause_list_t* clause_list = NULL;
46
47static int db_sqlite = 0;
48static int db_mysql = 0;
49
50#if defined(ENFORCER_DATABASE_SQLITE3)
51int test_policy_key_init_suite_sqlite(void) {
52 if (configuration_list) {
53 return 1;
54 }
55 if (configuration) {
56 return 1;
57 }
58 if (connection) {
59 return 1;
60 }
61
62 /*
63 * Setup the configuration for the connection
64 */
65 if (!(configuration_list = db_configuration_list_new())) {
66 return 1;
67 }
68 if (!(configuration = db_configuration_new())
69 || db_configuration_set_name(configuration, "backend")
70 || db_configuration_set_value(configuration, "sqlite")
71 || db_configuration_list_add(configuration_list, configuration))
72 {
73 db_configuration_free(configuration);
74 configuration = NULL;
75 db_configuration_list_free(configuration_list);
76 configuration_list = NULL;
77 return 1;
78 }
79 configuration = NULL;
80 if (!(configuration = db_configuration_new())
81 || db_configuration_set_name(configuration, "file")
82 || db_configuration_set_value(configuration, "test.db")
83 || db_configuration_list_add(configuration_list, configuration))
84 {
85 db_configuration_free(configuration);
86 configuration = NULL;
87 db_configuration_list_free(configuration_list);
88 configuration_list = NULL;
89 return 1;
90 }
91 configuration = NULL;
92
93 /*
94 * Connect to the database
95 */
96 if (!(connection = db_connection_new())
97 || db_connection_set_configuration_list(connection, configuration_list))
98 {
99 db_connection_free(connection);
100 connection = NULL;
101 db_configuration_list_free(configuration_list);
102 configuration_list = NULL;
103 return 1;
104 }
105 configuration_list = NULL;
106
107 if (db_connection_setup(connection)
108 || db_connection_connect(connection))
109 {
110 db_connection_free(connection);
111 connection = NULL;
112 return 1;
113 }
114
115 db_sqlite = 1;
116 db_mysql = 0;
117
118 return 0;
119}
120#endif
121
122#if defined(ENFORCER_DATABASE_MYSQL)
123int test_policy_key_init_suite_mysql(void) {
124 if (configuration_list) {
125 return 1;
126 }
127 if (configuration) {
128 return 1;
129 }
130 if (connection) {
131 return 1;
132 }
133
134 /*
135 * Setup the configuration for the connection
136 */
137 if (!(configuration_list = db_configuration_list_new())) {
138 return 1;
139 }
140 if (!(configuration = db_configuration_new())
141 || db_configuration_set_name(configuration, "backend")
142 || db_configuration_set_value(configuration, "mysql")
143 || db_configuration_list_add(configuration_list, configuration))
144 {
145 db_configuration_free(configuration);
146 configuration = NULL;
147 db_configuration_list_free(configuration_list);
148 configuration_list = NULL;
149 return 1;
150 }
151 configuration = NULL;
152 if (!(configuration = db_configuration_new())
153 || db_configuration_set_name(configuration, "host")
154 || db_configuration_set_value(configuration, ENFORCER_DB_HOST)
155 || db_configuration_list_add(configuration_list, configuration))
156 {
157 db_configuration_free(configuration);
158 configuration = NULL;
159 db_configuration_list_free(configuration_list);
160 configuration_list = NULL;
161 return 1;
162 }
163 configuration = NULL;
164 if (!(configuration = db_configuration_new())
165 || db_configuration_set_name(configuration, "port")
166 || db_configuration_set_value(configuration, ENFORCER_DB_PORT_TEXT)
167 || db_configuration_list_add(configuration_list, configuration))
168 {
169 db_configuration_free(configuration);
170 configuration = NULL;
171 db_configuration_list_free(configuration_list);
172 configuration_list = NULL;
173 return 1;
174 }
175 configuration = NULL;
176 if (!(configuration = db_configuration_new())
177 || db_configuration_set_name(configuration, "user")
178 || db_configuration_set_value(configuration, ENFORCER_DB_USERNAME)
179 || db_configuration_list_add(configuration_list, configuration))
180 {
181 db_configuration_free(configuration);
182 configuration = NULL;
183 db_configuration_list_free(configuration_list);
184 configuration_list = NULL;
185 return 1;
186 }
187 configuration = NULL;
188 if (!(configuration = db_configuration_new())
189 || db_configuration_set_name(configuration, "pass")
190 || db_configuration_set_value(configuration, ENFORCER_DB_PASSWORD)
191 || db_configuration_list_add(configuration_list, configuration))
192 {
193 db_configuration_free(configuration);
194 configuration = NULL;
195 db_configuration_list_free(configuration_list);
196 configuration_list = NULL;
197 return 1;
198 }
199 configuration = NULL;
200 if (!(configuration = db_configuration_new())
201 || db_configuration_set_name(configuration, "db")
202 || db_configuration_set_value(configuration, ENFORCER_DB_DATABASE)
203 || db_configuration_list_add(configuration_list, configuration))
204 {
205 db_configuration_free(configuration);
206 configuration = NULL;
207 db_configuration_list_free(configuration_list);
208 configuration_list = NULL;
209 return 1;
210 }
211 configuration = NULL;
212
213 /*
214 * Connect to the database
215 */
216 if (!(connection = db_connection_new())
217 || db_connection_set_configuration_list(connection, configuration_list))
218 {
219 db_connection_free(connection);
220 connection = NULL;
221 db_configuration_list_free(configuration_list);
222 configuration_list = NULL;
223 return 1;
224 }
225 configuration_list = NULL;
226
227 if (db_connection_setup(connection)
228 || db_connection_connect(connection))
229 {
230 db_connection_free(connection);
231 connection = NULL;
232 return 1;
233 }
234
235 db_sqlite = 0;
236 db_mysql = 1;
237
238 return 0;
239}
240#endif
241
242static int test_policy_key_clean_suite(void) {
243 db_connection_free(connection);
244 connection = NULL;
245 db_configuration_free(configuration);
246 configuration = NULL;
247 db_configuration_list_free(configuration_list);
248 configuration_list = NULL;
249 db_value_reset(&id);
250 db_clause_list_free(clause_list);
251 clause_list = NULL;
252 return 0;
253}
254
255static void test_policy_key_new(void) {
256 CU_ASSERT_PTR_NOT_NULL_FATAL((object = policy_key_new(connection)));
257 CU_ASSERT_PTR_NOT_NULL_FATAL((object_list = policy_key_list_new(connection)));
258}
259
260static void test_policy_key_set(void) {
262 if (db_sqlite) {
263 CU_ASSERT(!db_value_from_int32(&policy_id, 1));
264 }
265 if (db_mysql) {
266 CU_ASSERT(!db_value_from_uint64(&policy_id, 1));
267 }
268 CU_ASSERT(!policy_key_set_policy_id(object, &policy_id));
269 CU_ASSERT(!policy_key_set_role(object, POLICY_KEY_ROLE_KSK));
270 CU_ASSERT(!policy_key_set_role(object, POLICY_KEY_ROLE_ZSK));
271 CU_ASSERT(!policy_key_set_role(object, POLICY_KEY_ROLE_CSK));
272 CU_ASSERT(!policy_key_set_algorithm(object, 1));
273 CU_ASSERT(!policy_key_set_bits(object, 1));
274 CU_ASSERT(!policy_key_set_lifetime(object, 1));
275 CU_ASSERT(!policy_key_set_repository(object, "repository 1"));
276 CU_ASSERT(!policy_key_set_standby(object, 1));
277 CU_ASSERT(!policy_key_set_manual_rollover(object, 1));
278 CU_ASSERT(!policy_key_set_rfc5011(object, 1));
279 CU_ASSERT(!policy_key_set_minimize(object, 1));
281}
282
283static void test_policy_key_get(void) {
284 int ret;
286 if (db_sqlite) {
287 CU_ASSERT(!db_value_from_int32(&policy_id, 1));
288 }
289 if (db_mysql) {
290 CU_ASSERT(!db_value_from_uint64(&policy_id, 1));
291 }
292 CU_ASSERT(!db_value_cmp(policy_key_policy_id(object), &policy_id, &ret));
293 CU_ASSERT(!ret);
294 CU_ASSERT(policy_key_role(object) == POLICY_KEY_ROLE_CSK);
295 CU_ASSERT_PTR_NOT_NULL_FATAL(policy_key_role_text(object));
296 CU_ASSERT(!strcmp(policy_key_role_text(object), "CSK"));
297 CU_ASSERT(policy_key_algorithm(object) == 1);
298 CU_ASSERT(policy_key_bits(object) == 1);
299 CU_ASSERT(policy_key_lifetime(object) == 1);
300 CU_ASSERT_PTR_NOT_NULL_FATAL(policy_key_repository(object));
301 CU_ASSERT(!strcmp(policy_key_repository(object), "repository 1"));
302 CU_ASSERT(policy_key_standby(object) == 1);
303 CU_ASSERT(policy_key_manual_rollover(object) == 1);
304 CU_ASSERT(policy_key_rfc5011(object) == 1);
305 CU_ASSERT(policy_key_minimize(object) == 1);
307}
308
309static void test_policy_key_create(void) {
310 CU_ASSERT_FATAL(!policy_key_create(object));
311}
312
313static void test_policy_key_clauses(void) {
314 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
315 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
316 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
317 clause_list = NULL;
318
319 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
320 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
321 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
322 db_clause_list_free(clause_list);
323 clause_list = NULL;
324
325 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
326 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
327 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
328 db_clause_list_free(clause_list);
329 clause_list = NULL;
330
331 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
332 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
333 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
334 db_clause_list_free(clause_list);
335 clause_list = NULL;
336
337 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
338 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
339 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
340 db_clause_list_free(clause_list);
341 clause_list = NULL;
342
343 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
344 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
345 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
346 db_clause_list_free(clause_list);
347 clause_list = NULL;
348
349 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
350 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
351 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
352 db_clause_list_free(clause_list);
353 clause_list = NULL;
354
355 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
356 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
357 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
358 db_clause_list_free(clause_list);
359 clause_list = NULL;
360
361 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
362 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
363 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
364 db_clause_list_free(clause_list);
365 clause_list = NULL;
366
367 CU_ASSERT_PTR_NOT_NULL_FATAL((clause_list = db_clause_list_new()));
368 CU_ASSERT(!policy_key_list_get_by_clauses(object_list, clause_list));
369 CU_ASSERT_PTR_NOT_NULL(policy_key_list_next(object_list));
370 db_clause_list_free(clause_list);
371 clause_list = NULL;
372}
373
374static void test_policy_key_list_store(void) {
375 CU_PASS("policy_key_free");
376}
377
378static void test_policy_key_verify(void) {
379 int ret;
381 if (db_sqlite) {
382 CU_ASSERT(!db_value_from_int32(&policy_id, 1));
383 }
384 if (db_mysql) {
385 CU_ASSERT(!db_value_from_uint64(&policy_id, 1));
386 }
387 CU_ASSERT(!db_value_cmp(policy_key_policy_id(object), &policy_id, &ret));
388 CU_ASSERT(!ret);
389 CU_ASSERT(policy_key_role(object) == POLICY_KEY_ROLE_CSK);
390 CU_ASSERT_PTR_NOT_NULL_FATAL(policy_key_role_text(object));
391 CU_ASSERT(!strcmp(policy_key_role_text(object), "CSK"));
392 CU_ASSERT(policy_key_algorithm(object) == 1);
393 CU_ASSERT(policy_key_bits(object) == 1);
394 CU_ASSERT(policy_key_lifetime(object) == 1);
395 CU_ASSERT_PTR_NOT_NULL_FATAL(policy_key_repository(object));
396 CU_ASSERT(!strcmp(policy_key_repository(object), "repository 1"));
397 CU_ASSERT(policy_key_standby(object) == 1);
398 CU_ASSERT(policy_key_manual_rollover(object) == 1);
399 CU_ASSERT(policy_key_rfc5011(object) == 1);
400 CU_ASSERT(policy_key_minimize(object) == 1);
402}
403
404static void test_policy_key_change(void) {
406 if (db_sqlite) {
407 CU_ASSERT(!db_value_from_int32(&policy_id, 1));
408 }
409 if (db_mysql) {
410 CU_ASSERT(!db_value_from_uint64(&policy_id, 1));
411 }
412 CU_ASSERT(!policy_key_set_policy_id(object, &policy_id));
413 CU_ASSERT(!policy_key_set_role(object, POLICY_KEY_ROLE_KSK));
414 CU_ASSERT(!policy_key_set_algorithm(object, 2));
415 CU_ASSERT(!policy_key_set_bits(object, 2));
416 CU_ASSERT(!policy_key_set_lifetime(object, 2));
417 CU_ASSERT(!policy_key_set_repository(object, "repository 2"));
418 CU_ASSERT(!policy_key_set_standby(object, 2));
419 CU_ASSERT(!policy_key_set_manual_rollover(object, 2));
420 CU_ASSERT(!policy_key_set_rfc5011(object, 2));
421 CU_ASSERT(!policy_key_set_minimize(object, 2));
423}
424
425static void test_policy_key_read2(void) {
427 if (db_sqlite) {
428 CU_ASSERT(!db_value_from_int32(&policy_id, 1));
429 }
430 if (db_mysql) {
431 CU_ASSERT(!db_value_from_uint64(&policy_id, 1));
432 }
433 CU_ASSERT_FATAL(!policy_key_get_by_id(object, &policy_id));
434}
435
436static void test_policy_key_verify2(void) {
437 int ret;
439 if (db_sqlite) {
440 CU_ASSERT(!db_value_from_int32(&policy_id, 1));
441 }
442 if (db_mysql) {
443 CU_ASSERT(!db_value_from_uint64(&policy_id, 1));
444 }
445 CU_ASSERT(!db_value_cmp(policy_key_policy_id(object), &policy_id, &ret));
446 CU_ASSERT(!ret);
447 CU_ASSERT(policy_key_role(object) == POLICY_KEY_ROLE_KSK);
448 CU_ASSERT_PTR_NOT_NULL_FATAL(policy_key_role_text(object));
449 CU_ASSERT(!strcmp(policy_key_role_text(object), "KSK"));
450 CU_ASSERT(policy_key_algorithm(object) == 2);
451 CU_ASSERT(policy_key_bits(object) == 2);
452 CU_ASSERT(policy_key_lifetime(object) == 2);
453 CU_ASSERT_PTR_NOT_NULL_FATAL(policy_key_repository(object));
454 CU_ASSERT(!strcmp(policy_key_repository(object), "repository 2"));
455 CU_ASSERT(policy_key_standby(object) == 2);
456 CU_ASSERT(policy_key_manual_rollover(object) == 2);
457 CU_ASSERT(policy_key_rfc5011(object) == 2);
458 CU_ASSERT(policy_key_minimize(object) == 2);
460}
461
462static void test_policy_key_cmp(void) {
463 policy_key_t* local_object;
464
465 CU_ASSERT_PTR_NOT_NULL_FATAL((local_object = policy_key_new(connection)));
466 CU_ASSERT(policy_key_cmp(object, local_object));
467}
468
469static void test_policy_key_delete(void) {
470 CU_ASSERT_FATAL(!policy_key_delete(object));
471}
472
473static void test_policy_key_list2(void) {
474 CU_ASSERT_PTR_NULL(policy_key_list_next(object_list));
475}
476
477static void test_policy_key_end(void) {
478 if (object) {
479 policy_key_free(object);
480 CU_PASS("policy_key_free");
481 }
482 if (object_list) {
483 policy_key_list_free(object_list);
484 CU_PASS("policy_key_list_free");
485 }
486}
487
488static int test_policy_key_add_tests(CU_pSuite pSuite) {
489 if (!CU_add_test(pSuite, "new object", test_policy_key_new)
490 || !CU_add_test(pSuite, "set fields", test_policy_key_set)
491 || !CU_add_test(pSuite, "get fields", test_policy_key_get)
492 || !CU_add_test(pSuite, "create object", test_policy_key_create)
493 || !CU_add_test(pSuite, "object clauses", test_policy_key_clauses)
494 || !CU_add_test(pSuite, "list objects (store)", test_policy_key_list_store)
495 || !CU_add_test(pSuite, "verify fields", test_policy_key_verify)
496 || !CU_add_test(pSuite, "change object", test_policy_key_change)
497 || !CU_add_test(pSuite, "verify fields after update", test_policy_key_verify2)
498 || !CU_add_test(pSuite, "compare objects", test_policy_key_cmp)
499 || !CU_add_test(pSuite, "reread object by id", test_policy_key_read2)
500 || !CU_add_test(pSuite, "delete object", test_policy_key_delete)
501 || !CU_add_test(pSuite, "list objects to verify delete", test_policy_key_list2)
502 || !CU_add_test(pSuite, "end test", test_policy_key_end))
503 {
504 return CU_get_error();
505 }
506 return 0;
507}
508
510 CU_pSuite pSuite = NULL;
511 int ret;
512
513#if defined(ENFORCER_DATABASE_SQLITE3)
514 pSuite = CU_add_suite("Test of policy key (SQLite)", test_policy_key_init_suite_sqlite, test_policy_key_clean_suite);
515 if (!pSuite) {
516 return CU_get_error();
517 }
518 ret = test_policy_key_add_tests(pSuite);
519 if (ret) {
520 return ret;
521 }
522#endif
523#if defined(ENFORCER_DATABASE_MYSQL)
524 pSuite = CU_add_suite("Test of policy key (MySQL)", test_policy_key_init_suite_mysql, test_policy_key_clean_suite);
525 if (!pSuite) {
526 return CU_get_error();
527 }
528 ret = test_policy_key_add_tests(pSuite);
529 if (ret) {
530 return ret;
531 }
532#endif
533 return 0;
534}
db_clause_list_t * db_clause_list_new(void)
Definition: db_clause.c:202
void db_clause_list_free(db_clause_list_t *clause_list)
Definition: db_clause.c:209
db_configuration_t * db_configuration_new(void)
db_configuration_list_t * db_configuration_list_new(void)
void db_configuration_free(db_configuration_t *configuration)
int db_configuration_set_name(db_configuration_t *configuration, const char *name)
int db_configuration_list_add(db_configuration_list_t *configuration_list, db_configuration_t *configuration)
int db_configuration_set_value(db_configuration_t *configuration, const char *value)
void db_configuration_list_free(db_configuration_list_t *configuration_list)
int db_connection_connect(const db_connection_t *connection)
Definition: db_connection.c:88
db_connection_t * db_connection_new(void)
Definition: db_connection.c:38
int db_connection_setup(db_connection_t *connection)
Definition: db_connection.c:66
void db_connection_free(db_connection_t *connection)
Definition: db_connection.c:45
int db_connection_set_configuration_list(db_connection_t *connection, const db_configuration_list_t *configuration_list)
Definition: db_connection.c:54
int db_value_from_int32(db_value_t *value, db_type_int32_t from_int32)
Definition: db_value.c:479
int db_value_cmp(const db_value_t *value_a, const db_value_t *value_b, int *result)
Definition: db_value.c:102
void db_value_reset(db_value_t *value)
Definition: db_value.c:60
int db_value_from_uint64(db_value_t *value, db_type_uint64_t from_uint64)
Definition: db_value.c:518
#define DB_VALUE_EMPTY
Definition: db_value.h:60
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
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_set_bits(policy_key_t *policy_key, unsigned int bits)
Definition: policy_key.c:620
unsigned int policy_key_minimize(const policy_key_t *policy_key)
Definition: policy_key.c:566
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
unsigned int policy_key_manual_rollover(const policy_key_t *policy_key)
Definition: policy_key.c:550
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
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
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
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_set_policy_id(policy_key_t *policy_key, const db_value_t *policy_id)
Definition: policy_key.c:574
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
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
int test_policy_key_add_suite(void)