OpenDNSSEC-enforcer  2.1.5
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 
38 static db_configuration_list_t* configuration_list = NULL;
39 static db_configuration_t* configuration = NULL;
40 static db_connection_t* connection = NULL;
41 
42 static policy_key_t* object = NULL;
43 static policy_key_list_t* object_list = NULL;
44 static db_value_t id = DB_VALUE_EMPTY;
45 static db_clause_list_t* clause_list = NULL;
46 
47 static int db_sqlite = 0;
48 static int db_mysql = 0;
49 
50 #if defined(ENFORCER_DATABASE_SQLITE3)
51 int 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)
123 int 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 
242 static 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 
255 static 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 
260 static 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 
283 static 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 
309 static void test_policy_key_create(void) {
310  CU_ASSERT_FATAL(!policy_key_create(object));
311 }
312 
313 static 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 
374 static void test_policy_key_list_store(void) {
375  CU_PASS("policy_key_free");
376 }
377 
378 static 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 
404 static 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 
425 static 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 
436 static 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 
462 static 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 
469 static void test_policy_key_delete(void) {
470  CU_ASSERT_FATAL(!policy_key_delete(object));
471 }
472 
473 static void test_policy_key_list2(void) {
474  CU_ASSERT_PTR_NULL(policy_key_list_next(object_list));
475 }
476 
477 static 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 
488 static 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 }
policy_key_list
Definition: policy_key.h:322
db_value_reset
void db_value_reset(db_value_t *value)
Definition: db_value.c:60
test_policy_key_add_suite
int test_policy_key_add_suite(void)
Definition: test_policy_key.c:509
db_value
Definition: db_value.h:48
policy_key_rfc5011
unsigned int policy_key_rfc5011(const policy_key_t *policy_key)
Definition: policy_key.c:558
policy_key_set_lifetime
int policy_key_set_lifetime(policy_key_t *policy_key, unsigned int lifetime)
Definition: policy_key.c:630
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
POLICY_KEY_ROLE_KSK
@ POLICY_KEY_ROLE_KSK
Definition: policy_key.h:42
db_connection_set_configuration_list
int db_connection_set_configuration_list(db_connection_t *connection, const db_configuration_list_t *configuration_list)
Definition: db_connection.c:54
db_configuration
Definition: db_configuration.h:41
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_set_standby
int policy_key_set_standby(policy_key_t *policy_key, unsigned int standby)
Definition: policy_key.c:662
policy_key_algorithm
unsigned int policy_key_algorithm(const policy_key_t *policy_key)
Definition: policy_key.c:510
db_configuration_list_new
db_configuration_list_t * db_configuration_list_new(void)
Definition: db_configuration.c:127
db_value_from_int32
int db_value_from_int32(db_value_t *value, db_type_int32_t from_int32)
Definition: db_value.c:479
policy_key_policy_id
const db_value_t * policy_key_policy_id(const policy_key_t *policy_key)
Definition: policy_key.c:478
db_configuration_free
void db_configuration_free(db_configuration_t *configuration)
Definition: db_configuration.c:48
db_configuration_new
db_configuration_t * db_configuration_new(void)
Definition: db_configuration.c:41
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
db_connection_setup
int db_connection_setup(db_connection_t *connection)
Definition: db_connection.c:66
db_clause_list
Definition: db_clause.h:226
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_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
db_connection_connect
int db_connection_connect(const db_connection_t *connection)
Definition: db_connection.c:88
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_standby
int policy_key_standby(const policy_key_t *policy_key)
Definition: policy_key.c:542
db_clause_list_free
void db_clause_list_free(db_clause_list_t *clause_list)
Definition: db_clause.c:209
policy_key_role
policy_key_role
Definition: policy_key.h:40
policy_key_list_free
void policy_key_list_free(policy_key_list_t *policy_key_list)
Definition: policy_key.c:1006
policy_key_set_minimize
int policy_key_set_minimize(policy_key_t *policy_key, unsigned int minimize)
Definition: policy_key.c:692
policy_key_lifetime
unsigned int policy_key_lifetime(const policy_key_t *policy_key)
Definition: policy_key.c:526
db_configuration_set_value
int db_configuration_set_value(db_configuration_t *configuration, const char *value)
Definition: db_configuration.c:89
db_connection_free
void db_connection_free(db_connection_t *connection)
Definition: db_connection.c:45
policy_key
Definition: policy_key.h:54
policy_key_set_algorithm
int policy_key_set_algorithm(policy_key_t *policy_key, unsigned int algorithm)
Definition: policy_key.c:606
POLICY_KEY_ROLE_ZSK
@ POLICY_KEY_ROLE_ZSK
Definition: policy_key.h:43
POLICY_KEY_ROLE_CSK
@ POLICY_KEY_ROLE_CSK
Definition: policy_key.h:44
policy_key_free
void policy_key_free(policy_key_t *policy_key)
Definition: policy_key.c:246
policy_key_set_role
int policy_key_set_role(policy_key_t *policy_key, policy_key_role_t role)
Definition: policy_key.c:593
db_clause_list_new
db_clause_list_t * db_clause_list_new(void)
Definition: db_clause.c:202
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
DB_VALUE_EMPTY
#define DB_VALUE_EMPTY
Definition: db_value.h:60
db_value_cmp
int db_value_cmp(const db_value_t *value_a, const db_value_t *value_b, int *result)
Definition: db_value.c:102
db_configuration_list_add
int db_configuration_list_add(db_configuration_list_t *configuration_list, db_configuration_t *configuration)
Definition: db_configuration.c:150
policy_key_minimize
unsigned int policy_key_minimize(const policy_key_t *policy_key)
Definition: policy_key.c:566
policy_key_list_new
policy_key_list_t * policy_key_list_new(const db_connection_t *connection)
Definition: policy_key.c:963
policy_key_manual_rollover
unsigned int policy_key_manual_rollover(const policy_key_t *policy_key)
Definition: policy_key.c:550
db_configuration_list
Definition: db_configuration.h:93
policy_key_role_text
const char * policy_key_role_text(const policy_key_t *policy_key)
Definition: policy_key.c:494
db_value_from_uint64
int db_value_from_uint64(db_value_t *value, db_type_uint64_t from_uint64)
Definition: db_value.c:518
policy_key_delete
int policy_key_delete(policy_key_t *policy_key)
Definition: policy_key.c:913
db_configuration_set_name
int db_configuration_set_name(db_configuration_t *configuration, const char *name)
Definition: db_configuration.c:68
policy_key_bits
unsigned int policy_key_bits(const policy_key_t *policy_key)
Definition: policy_key.c:518
db_connection_new
db_connection_t * db_connection_new(void)
Definition: db_connection.c:38
db_connection
Definition: db_connection.h:46
policy_key_new
policy_key_t * policy_key_new(const db_connection_t *connection)
Definition: policy_key.c:209
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
policy_key_create
int policy_key_create(policy_key_t *policy_key)
Definition: policy_key.c:702
policy_key_set_rfc5011
int policy_key_set_rfc5011(policy_key_t *policy_key, unsigned int rfc5011)
Definition: policy_key.c:682
db_configuration_list_free
void db_configuration_list_free(db_configuration_list_t *configuration_list)
Definition: db_configuration.c:134
policy_id
const db_value_t * policy_id(const policy_t *policy)
Definition: policy.c:805