OpenDNSSEC-enforcer  2.1.7
Data Structures | Typedefs | Enumerations | Functions | Variables
policy_key.h File Reference
#include "db_object.h"
#include "policy_key_ext.h"
#include "policy.h"

Go to the source code of this file.

Data Structures

struct  policy_key
 
struct  policy_key_list
 

Typedefs

typedef struct policy_key policy_key_t
 
typedef struct policy_key_list policy_key_list_t
 
typedef enum policy_key_role policy_key_role_t
 

Enumerations

enum  policy_key_role { POLICY_KEY_ROLE_INVALID = -1, POLICY_KEY_ROLE_KSK = 1, POLICY_KEY_ROLE_ZSK = 2, POLICY_KEY_ROLE_CSK = 3 }
 

Functions

policy_key_tpolicy_key_new (const db_connection_t *connection)
 
policy_key_tpolicy_key_new_copy (const policy_key_t *policy_key)
 
void policy_key_free (policy_key_t *policy_key)
 
void policy_key_reset (policy_key_t *policy_key)
 
int policy_key_copy (policy_key_t *policy_key, const policy_key_t *policy_key_copy)
 
int policy_key_cmp (const policy_key_t *policy_key_a, const policy_key_t *policy_key_b)
 
int policy_key_from_result (policy_key_t *policy_key, const db_result_t *result)
 
const db_value_tpolicy_key_policy_id (const policy_key_t *policy_key)
 
const policy_tpolicy_key_policy (const policy_key_t *policy_key)
 
policy_tpolicy_key_get_policy (const policy_key_t *policy_key)
 
policy_key_role_t policy_key_role (const policy_key_t *policy_key)
 
const char * policy_key_role_text (const policy_key_t *policy_key)
 
unsigned int policy_key_algorithm (const policy_key_t *policy_key)
 
unsigned int policy_key_bits (const policy_key_t *policy_key)
 
unsigned int policy_key_lifetime (const policy_key_t *policy_key)
 
const char * policy_key_repository (const policy_key_t *policy_key)
 
int policy_key_standby (const policy_key_t *policy_key)
 
unsigned int policy_key_manual_rollover (const policy_key_t *policy_key)
 
unsigned int policy_key_rfc5011 (const policy_key_t *policy_key)
 
unsigned int policy_key_minimize (const policy_key_t *policy_key)
 
int policy_key_set_policy_id (policy_key_t *policy_key, const db_value_t *policy_id)
 
int policy_key_set_role (policy_key_t *policy_key, policy_key_role_t role)
 
int policy_key_set_algorithm (policy_key_t *policy_key, unsigned int algorithm)
 
int policy_key_set_bits (policy_key_t *policy_key, unsigned int bits)
 
int policy_key_set_lifetime (policy_key_t *policy_key, unsigned int lifetime)
 
int policy_key_set_repository (policy_key_t *policy_key, const char *repository_text)
 
int policy_key_set_standby (policy_key_t *policy_key, unsigned int standby)
 
int policy_key_set_manual_rollover (policy_key_t *policy_key, unsigned int manual_rollover)
 
int policy_key_set_rfc5011 (policy_key_t *policy_key, unsigned int rfc5011)
 
int policy_key_set_minimize (policy_key_t *policy_key, unsigned int minimize)
 
int policy_key_create (policy_key_t *policy_key)
 
int policy_key_get_by_id (policy_key_t *policy_key, const db_value_t *id)
 
int policy_key_delete (policy_key_t *policy_key)
 
policy_key_list_tpolicy_key_list_new (const db_connection_t *connection)
 
policy_key_list_tpolicy_key_list_new_copy (const policy_key_list_t *policy_key_copy)
 
int policy_key_list_object_store (policy_key_list_t *policy_key_list)
 
void policy_key_list_free (policy_key_list_t *policy_key_list)
 
int policy_key_list_copy (policy_key_list_t *policy_key_list, const policy_key_list_t *from_policy_key_list)
 
int policy_key_list_get_by_clauses (policy_key_list_t *policy_key_list, const db_clause_list_t *clause_list)
 
int policy_key_list_get_by_policy_id (policy_key_list_t *policy_key_list, const db_value_t *policy_id)
 
policy_key_list_tpolicy_key_list_new_get_by_policy_id (const db_connection_t *connection, const db_value_t *policy_id)
 
const policy_key_tpolicy_key_list_begin (policy_key_list_t *policy_key_list)
 
const policy_key_tpolicy_key_list_next (policy_key_list_t *policy_key_list)
 
policy_key_tpolicy_key_list_get_next (policy_key_list_t *policy_key_list)
 
size_t policy_key_list_size (policy_key_list_t *policy_key_list)
 
policy_key_tpolicy_key_new_get_by_policyid_and_role (const db_connection_t *connection, const db_value_t *policyid, const policy_key_role_t 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)
 

Variables

const db_enum_t policy_key_enum_set_role []
 

Typedef Documentation

◆ policy_key_list_t

Definition at line 1 of file policy_key.h.

◆ policy_key_role_t

◆ policy_key_t

typedef struct policy_key policy_key_t

Definition at line 1 of file policy_key.h.

Enumeration Type Documentation

◆ policy_key_role

Enumerator
POLICY_KEY_ROLE_INVALID 
POLICY_KEY_ROLE_KSK 
POLICY_KEY_ROLE_ZSK 
POLICY_KEY_ROLE_CSK 

Definition at line 40 of file policy_key.h.

Function Documentation

◆ policy_key_algorithm()

unsigned int policy_key_algorithm ( const policy_key_t policy_key)

Get the algorithm of a policy key object. Undefined behavior if policy_key is NULL.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
an unsigned integer.

Definition at line 510 of file policy_key.c.

References policy_key::algorithm.

◆ policy_key_bits()

unsigned int policy_key_bits ( const policy_key_t policy_key)

Get the bits of a policy key object. Undefined behavior if policy_key is NULL.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
an unsigned integer.

Definition at line 518 of file policy_key.c.

References policy_key::bits.

◆ policy_key_cmp()

int policy_key_cmp ( const policy_key_t policy_key_a,
const policy_key_t policy_key_b 
)

Compare two policy key objects and return less than, equal to, or greater than zero if A is found, respectively, to be less than, to match, or be greater than B.

Parameters
[in]policy_key_aa policy_key_t pointer.
[in]policy_key_ba policy_key_t pointer.
Returns
less than, equal to, or greater than zero if A is found, respectively, to be less than, to match, or be greater than B.

Definition at line 359 of file policy_key.c.

References policy_key::algorithm, policy_key::bits, db_value_cmp(), policy_key::lifetime, policy_key::manual_rollover, policy_key::minimize, policy_key::policy_id, policy_key::repository, policy_key::rfc5011, policy_key::role, and policy_key::standby.

◆ policy_key_copy()

int policy_key_copy ( policy_key_t policy_key,
const policy_key_t policy_key_copy 
)

◆ policy_key_create()

int policy_key_create ( policy_key_t policy_key)

Create a policy key object in the database.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 702 of file policy_key.c.

◆ policy_key_delete()

int policy_key_delete ( policy_key_t policy_key)

Delete a policy key object from the database.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 913 of file policy_key.c.

◆ policy_key_free()

void policy_key_free ( policy_key_t policy_key)

Delete a policy key object, this does not delete it from the database.

Parameters
[in]policy_keya policy_key_t pointer.

Definition at line 246 of file policy_key.c.

References db_object_free(), db_value_reset(), policy_key::dbo, policy_key::id, policy_free(), policy_key::policy_id, policy_key::private_policy_id, policy_key::repository, and policy_key::rev.

Referenced by policy_key_list_copy(), policy_key_list_free(), and policy_key_new_copy().

◆ policy_key_from_result()

int policy_key_from_result ( policy_key_t policy_key,
const db_result_t result 
)

Set the content of a policy key object based on a database result.

Parameters
[in]policy_keya policy_key_t pointer.
[in]resulta db_result_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 426 of file policy_key.c.

◆ policy_key_get_by_id()

int policy_key_get_by_id ( policy_key_t policy_key,
const db_value_t id 
)

Get a policy key object from the database by a id specified in id.

Parameters
[in]policy_keya policy_key_t pointer.
[in]ida db_value_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 860 of file policy_key.c.

◆ 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 at line 1498 of file policy_key.c.

◆ policy_key_get_policy()

policy_t* policy_key_get_policy ( const policy_key_t policy_key)

Get the policy_id object related to a policy key object. The caller will be given ownership of this object and is responsible for freeing it.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
a policy_t pointer or NULL on error or if no object could be found.

◆ policy_key_lifetime()

unsigned int policy_key_lifetime ( const policy_key_t policy_key)

Get the lifetime of a policy key object. Undefined behavior if policy_key is NULL.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
an unsigned integer.

Definition at line 526 of file policy_key.c.

References policy_key::lifetime.

◆ policy_key_list_begin()

const policy_key_t* policy_key_list_begin ( policy_key_list_t policy_key_list)

Get the first policy key object in a policy key object list and reset the position of the list.

Parameters
[in]policy_key_lista policy_key_list_t pointer.
Returns
a policy_key_t pointer or NULL on error or if there are no policy key objects in the policy key object list.

Definition at line 1322 of file policy_key.c.

◆ 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 
)

◆ policy_key_list_free()

void policy_key_list_free ( policy_key_list_t policy_key_list)

◆ 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 
)

Get policy key objects from the database by a clause list.

Parameters
[in]policy_key_lista policy_key_list_t pointer.
[in]clause_lista db_clause_list_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 1194 of file policy_key.c.

◆ 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 
)

Get policy key objects from the database by a policy_id specified in policy_id.

Parameters
[in]policy_key_lista policy_key_list_t pointer.
[in]policy_ida db_value_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 1236 of file policy_key.c.

◆ policy_key_list_get_next()

policy_key_t* policy_key_list_get_next ( policy_key_list_t policy_key_list)

Get the next policy key object in a policy key object list. The caller will be given ownership of this object and is responsible for freeing it.

Parameters
[in]policy_key_lista policy_key_list_t pointer.
Returns
a policy_key_t pointer or NULL on error or if there are no more policy key objects in the policy key object list.

Definition at line 1444 of file policy_key.c.

◆ policy_key_list_new()

policy_key_list_t* policy_key_list_new ( const db_connection_t connection)

Create a new policy key object list.

Parameters
[in]connectiona db_connection_t pointer.
Returns
a policy_key_list_t pointer or NULL on error.

Definition at line 963 of file policy_key.c.

Referenced by policy_key_list_new_copy().

◆ policy_key_list_new_copy()

policy_key_list_t* policy_key_list_new_copy ( const policy_key_list_t policy_key_copy)

Create a new policy key object list that is a copy of another.

Parameters
[in]policy_key_lista policy_key_list_t pointer.
Returns
a policy_key_list_t pointer or NULL on error.

Definition at line 977 of file policy_key.c.

References db_object_connection(), policy_key_list::dbo, policy_key_list_copy(), policy_key_list_free(), and policy_key_list_new().

Referenced by policy_copy().

◆ 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 
)

Get a new list of policy key objects from the database by a policy_id specified in policy_id.

Parameters
[in]connectiona db_connection_t pointer.
[in]policy_ida db_value_t pointer.
Returns
a policy_key_list_t pointer or NULL on error.

Definition at line 1299 of file policy_key.c.

Referenced by policy_get_policy_keys().

◆ policy_key_list_next()

const policy_key_t* policy_key_list_next ( policy_key_list_t policy_key_list)

Get the next policy key object in a policy key object list. Ownership of this object is retained within the list and the object is only valid until the next call to this function.

Parameters
[in]policy_key_lista policy_key_list_t pointer.
Returns
a policy_key_t pointer or NULL on error or if there are no more policy key objects in the policy key object list.

Definition at line 1378 of file policy_key.c.

◆ policy_key_list_object_store()

int policy_key_list_object_store ( policy_key_list_t policy_key_list)

Specify that objects should be stored within the list as they are fetch, this is optimal if the list is to be iterated over more then once.

Parameters
[in]policy_key_lista policy_key_list_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 996 of file policy_key.c.

References DB_ERROR_UNKNOWN, DB_OK, and policy_key_list::object_store.

◆ policy_key_list_size()

size_t policy_key_list_size ( policy_key_list_t policy_key_list)

Get the size of a policy key object list.

Parameters
[in]policy_key_lista policy_key_list_t pointer.
Returns
a size_t with the size of the list or zero on error, if the list is empty or if the backend does not support returning the size.

Definition at line 1480 of file policy_key.c.

References db_result_list_size(), policy_key_list::object_list, policy_key_list::object_list_size, policy_key_list::object_store, and policy_key_list::result_list.

◆ policy_key_manual_rollover()

unsigned int policy_key_manual_rollover ( const policy_key_t policy_key)

Get the manual_rollover of a policy key object. Undefined behavior if policy_key is NULL.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
an unsigned integer.

Definition at line 550 of file policy_key.c.

References policy_key::manual_rollover.

◆ policy_key_minimize()

unsigned int policy_key_minimize ( const policy_key_t policy_key)

Get the minimize of a policy key object. Undefined behavior if policy_key is NULL.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
an unsigned integer.

Definition at line 566 of file policy_key.c.

References policy_key::minimize.

◆ policy_key_new()

policy_key_t* policy_key_new ( const db_connection_t connection)

Create a new policy key object.

Parameters
[in]connectiona db_connection_t pointer.
Returns
a policy_key_t pointer or NULL on error.

Definition at line 209 of file policy_key.c.

Referenced by policy_key_new_copy().

◆ policy_key_new_copy()

policy_key_t* policy_key_new_copy ( const policy_key_t policy_key)

Create a new policy key object that is a copy of another policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
a policy_key_t pointer or NULL on error.

Definition at line 227 of file policy_key.c.

References db_object_connection(), policy_key::dbo, policy_key_copy(), policy_key_free(), and policy_key_new().

Referenced by policy_key_list_copy().

◆ 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 at line 1562 of file policy_key.c.

◆ policy_key_policy()

const policy_t* policy_key_policy ( const policy_key_t policy_key)

Get the policy_id object related to a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
a policy_t pointer or NULL on error or if no object could be found.

◆ policy_key_policy_id()

const db_value_t* policy_key_policy_id ( const policy_key_t policy_key)

Get the policy_id of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
a db_value_t pointer or NULL on error.

Definition at line 478 of file policy_key.c.

References policy_key::policy_id.

◆ policy_key_repository()

const char* policy_key_repository ( const policy_key_t policy_key)

Get the repository of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
a character pointer or NULL on error or if no repository has been set.

Definition at line 534 of file policy_key.c.

References policy_key::repository.

◆ policy_key_reset()

void policy_key_reset ( policy_key_t policy_key)

◆ policy_key_rfc5011()

unsigned int policy_key_rfc5011 ( const policy_key_t policy_key)

Get the rfc5011 of a policy key object. Undefined behavior if policy_key is NULL.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
an unsigned integer.

Definition at line 558 of file policy_key.c.

References policy_key::rfc5011.

◆ policy_key_role()

Get the role of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
a policy_key_role_t which may be POLICY_KEY_ROLE_INVALID on error or if no role has been set.

Definition at line 486 of file policy_key.c.

References POLICY_KEY_ROLE_INVALID, and policy_key::role.

◆ policy_key_role_text()

const char* policy_key_role_text ( const policy_key_t policy_key)

Get the role as text of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
a character pointer or NULL on error or if no role has been set.

Definition at line 494 of file policy_key.c.

◆ policy_key_set_algorithm()

int policy_key_set_algorithm ( policy_key_t policy_key,
unsigned int  algorithm 
)

Set the algorithm of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
[in]algorithman unsigned integer with a maximum value of 255.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 606 of file policy_key.c.

References policy_key::algorithm, DB_ERROR_UNKNOWN, and DB_OK.

Referenced by policy_key_create_from_xml().

◆ policy_key_set_bits()

int policy_key_set_bits ( policy_key_t policy_key,
unsigned int  bits 
)

Set the bits of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
[in]bitsan unsigned integer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 620 of file policy_key.c.

References policy_key::bits, DB_ERROR_UNKNOWN, and DB_OK.

Referenced by policy_key_create_from_xml().

◆ policy_key_set_lifetime()

int policy_key_set_lifetime ( policy_key_t policy_key,
unsigned int  lifetime 
)

Set the lifetime of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
[in]lifetimean unsigned integer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 630 of file policy_key.c.

References DB_ERROR_UNKNOWN, DB_OK, and policy_key::lifetime.

Referenced by policy_key_create_from_xml().

◆ policy_key_set_manual_rollover()

int policy_key_set_manual_rollover ( policy_key_t policy_key,
unsigned int  manual_rollover 
)

Set the manual_rollover of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
[in]manual_rolloveran unsigned integer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 672 of file policy_key.c.

References DB_ERROR_UNKNOWN, DB_OK, and policy_key::manual_rollover.

Referenced by policy_key_create_from_xml().

◆ policy_key_set_minimize()

int policy_key_set_minimize ( policy_key_t policy_key,
unsigned int  minimize 
)

Set the minimize of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
[in]minimizean unsigned integer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 692 of file policy_key.c.

References DB_ERROR_UNKNOWN, DB_OK, and policy_key::minimize.

Referenced by policy_key_create_from_xml().

◆ policy_key_set_policy_id()

int policy_key_set_policy_id ( policy_key_t policy_key,
const db_value_t policy_id 
)

Set the policy_id of a policy key object. If this fails the original value may have been lost.

Parameters
[in]policy_keya policy_key_t pointer.
[in]policy_ida db_value_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 574 of file policy_key.c.

References DB_ERROR_UNKNOWN, DB_OK, db_value_copy(), db_value_not_empty(), db_value_reset(), policy_key::policy_id, and policy_id().

◆ policy_key_set_repository()

int policy_key_set_repository ( policy_key_t policy_key,
const char *  repository_text 
)

Set the repository of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
[in]repository_texta character pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 640 of file policy_key.c.

References DB_ERROR_UNKNOWN, DB_OK, and policy_key::repository.

Referenced by policy_key_create_from_xml().

◆ policy_key_set_rfc5011()

int policy_key_set_rfc5011 ( policy_key_t policy_key,
unsigned int  rfc5011 
)

Set the rfc5011 of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
[in]rfc5011an unsigned integer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 682 of file policy_key.c.

References DB_ERROR_UNKNOWN, DB_OK, and policy_key::rfc5011.

Referenced by policy_key_create_from_xml().

◆ policy_key_set_role()

int policy_key_set_role ( policy_key_t policy_key,
policy_key_role_t  role 
)

Set the role of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
[in]rolea policy_key_role_t.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 593 of file policy_key.c.

References DB_ERROR_UNKNOWN, DB_OK, POLICY_KEY_ROLE_INVALID, and policy_key::role.

Referenced by policy_key_create_from_xml().

◆ policy_key_set_standby()

int policy_key_set_standby ( policy_key_t policy_key,
unsigned int  standby 
)

Set the standby of a policy key object.

Parameters
[in]policy_keya policy_key_t pointer.
[in]standbyan unsigned integer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 662 of file policy_key.c.

References DB_ERROR_UNKNOWN, DB_OK, and policy_key::standby.

Referenced by policy_key_create_from_xml().

◆ policy_key_standby()

int policy_key_standby ( const policy_key_t policy_key)

Get the standby of a policy key object. Undefined behavior if policy_key is NULL.

Parameters
[in]policy_keya policy_key_t pointer.
Returns
an integer.

Definition at line 542 of file policy_key.c.

References policy_key::standby.

Variable Documentation

◆ policy_key_enum_set_role

const db_enum_t policy_key_enum_set_role[]

Definition at line 36 of file policy_key.c.