OpenDNSSEC-enforcer 2.1.13
key_state.h File Reference
#include "db_object.h"
#include "key_state_ext.h"
#include "key_data.h"

Go to the source code of this file.

Data Structures

struct  key_state
struct  key_state_list

Typedefs

typedef struct key_state key_state_t
typedef struct key_state_list key_state_list_t
typedef enum key_state_type key_state_type_t
typedef enum key_state_state key_state_state_t

Enumerations

enum  key_state_type {
  KEY_STATE_TYPE_INVALID = -1 , KEY_STATE_TYPE_DS = 0 , KEY_STATE_TYPE_RRSIG = 1 , KEY_STATE_TYPE_DNSKEY = 2 ,
  KEY_STATE_TYPE_RRSIGDNSKEY = 3
}
enum  key_state_state {
  KEY_STATE_STATE_INVALID = -1 , KEY_STATE_STATE_HIDDEN = 0 , KEY_STATE_STATE_RUMOURED = 1 , KEY_STATE_STATE_OMNIPRESENT = 2 ,
  KEY_STATE_STATE_UNRETENTIVE = 3 , KEY_STATE_STATE_NA = 4
}

Functions

key_state_tkey_state_new (const db_connection_t *connection)
key_state_tkey_state_new_copy (const key_state_t *key_state)
void key_state_free (key_state_t *key_state)
int key_state_copy (key_state_t *key_state, const key_state_t *key_state_copy)
int key_state_from_result (key_state_t *key_state, const db_result_t *result)
const db_value_tkey_state_key_data_id (const key_state_t *key_state)
key_state_type_t key_state_type (const key_state_t *key_state)
const char * key_state_type_text (const key_state_t *key_state)
key_state_state_t key_state_state (const key_state_t *key_state)
const char * key_state_state_text (const key_state_t *key_state)
unsigned int key_state_last_change (const key_state_t *key_state)
unsigned int key_state_minimize (const key_state_t *key_state)
unsigned int key_state_ttl (const key_state_t *key_state)
int key_state_set_key_data_id (key_state_t *key_state, const db_value_t *key_data_id)
int key_state_set_type (key_state_t *key_state, key_state_type_t type)
int key_state_set_state (key_state_t *key_state, key_state_state_t state)
int key_state_set_last_change (key_state_t *key_state, unsigned int last_change)
int key_state_set_minimize (key_state_t *key_state, unsigned int minimize)
int key_state_set_ttl (key_state_t *key_state, unsigned int ttl)
db_clause_tkey_state_key_data_id_clause (db_clause_list_t *clause_list, const db_value_t *key_data_id)
int key_state_create (key_state_t *key_state)
int key_state_get_by_id (key_state_t *key_state, const db_value_t *id)
int key_state_update (key_state_t *key_state)
int key_state_delete (const key_state_t *key_state)
key_state_list_tkey_state_list_new (const db_connection_t *connection)
key_state_list_tkey_state_list_new_copy (const key_state_list_t *key_state_copy)
int key_state_list_object_store (key_state_list_t *key_state_list)
void key_state_list_free (key_state_list_t *key_state_list)
int key_state_list_copy (key_state_list_t *key_state_list, const key_state_list_t *from_key_state_list)
int key_state_list_get_by_clauses (key_state_list_t *key_state_list, const db_clause_list_t *clause_list)
int key_state_list_get_by_key_data_id (key_state_list_t *key_state_list, const db_value_t *key_data_id)
key_state_list_tkey_state_list_new_get_by_key_data_id (const db_connection_t *connection, const db_value_t *key_data_id)
const key_state_tkey_state_list_begin (key_state_list_t *key_state_list)
key_state_tkey_state_list_get_begin (key_state_list_t *key_state_list)
const key_state_tkey_state_list_next (key_state_list_t *key_state_list)
key_state_tkey_state_list_get_next (key_state_list_t *key_state_list)

Variables

const db_enum_t key_state_enum_set_type []
const db_enum_t key_state_enum_set_state []

Typedef Documentation

◆ key_state_list_t

Definition at line 38 of file key_state.h.

◆ key_state_state_t

◆ key_state_t

typedef struct key_state key_state_t

Definition at line 37 of file key_state.h.

◆ key_state_type_t

Enumeration Type Documentation

◆ key_state_state

Enumerator
KEY_STATE_STATE_INVALID 
KEY_STATE_STATE_HIDDEN 
KEY_STATE_STATE_RUMOURED 
KEY_STATE_STATE_OMNIPRESENT 
KEY_STATE_STATE_UNRETENTIVE 
KEY_STATE_STATE_NA 

Definition at line 49 of file key_state.h.

◆ key_state_type

Enumerator
KEY_STATE_TYPE_INVALID 
KEY_STATE_TYPE_DS 
KEY_STATE_TYPE_RRSIG 
KEY_STATE_TYPE_DNSKEY 
KEY_STATE_TYPE_RRSIGDNSKEY 

Definition at line 40 of file key_state.h.

Function Documentation

◆ key_state_copy()

int key_state_copy ( key_state_t * key_state,
const key_state_t * key_state_copy )
extern

◆ key_state_create()

◆ key_state_delete()

int key_state_delete ( const key_state_t * key_state)
extern

◆ key_state_free()

◆ key_state_from_result()

◆ key_state_get_by_id()

int key_state_get_by_id ( key_state_t * key_state,
const db_value_t * id )
extern

◆ key_state_key_data_id()

const db_value_t * key_state_key_data_id ( const key_state_t * key_state)
extern

Get the key_data_id of a key state object.

Parameters
[in]key_statea key_state_t pointer.
Returns
a db_value_t pointer or NULL on error.

Definition at line 337 of file key_state.c.

References key_state::key_data_id.

◆ key_state_key_data_id_clause()

db_clause_t * key_state_key_data_id_clause ( db_clause_list_t * clause_list,
const db_value_t * key_data_id )
extern

Create a clause for key_data_id of a key state object and add it to a database clause list. The clause operator is set to DB_CLAUSE_OPERATOR_AND and the clause type is set to DB_CLAUSE_EQUAL, if you want to change these you can do it with the returned db_clause_t pointer.

Parameters
[in]clause_listdb_clause_list_t pointer.
[in]key_data_ida db_value_t pointer.
Returns
a db_clause_t pointer to the added clause or NULL on error.

Definition at line 492 of file key_state.c.

References DB_CLAUSE_EQUAL, db_clause_free(), db_clause_get_value(), db_clause_list_add(), db_clause_new(), DB_CLAUSE_OPERATOR_AND, db_clause_set_field(), db_clause_set_operator(), db_clause_set_type(), db_value_copy(), db_value_not_empty(), and key_data_id().

Referenced by key_data_retrieve_key_state_list().

◆ key_state_last_change()

unsigned int key_state_last_change ( const key_state_t * key_state)
extern

Get the last_change of a key state object. Undefined behavior if key_state is NULL.

Parameters
[in]key_statea key_state_t pointer.
Returns
an unsigned integer.

Definition at line 393 of file key_state.c.

References key_state::last_change.

◆ key_state_list_begin()

const key_state_t * key_state_list_begin ( key_state_list_t * key_state_list)
extern

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

Parameters
[in]key_state_lista key_state_list_t pointer.
Returns
a key_state_t pointer or NULL on error or if there are no key state objects in the key state object list.

Definition at line 1240 of file key_state.c.

References db_object_connection(), db_result_list_begin(), db_result_list_size(), key_state_list::dbo, key_state_list::key_state, key_state_from_result(), key_state_new(), key_state_list::object_list, key_state_list::object_list_position, key_state_list::object_list_size, key_state_list::object_store, and key_state_list::result_list.

Referenced by key_state_list_get_begin().

◆ key_state_list_copy()

int key_state_list_copy ( key_state_list_t * key_state_list,
const key_state_list_t * from_key_state_list )
extern

◆ key_state_list_free()

◆ key_state_list_get_begin()

key_state_t * key_state_list_get_begin ( key_state_list_t * key_state_list)
extern

Get the first key state object in a key state object list and reset the position of the list. The caller will be given ownership of this object and is responsible for freeing it.

Parameters
[in]key_state_lista key_state_list_t pointer.
Returns
a key_state_t pointer or NULL on error or if there are no key state objects in the key state object list.

Definition at line 1296 of file key_state.c.

References db_object_connection(), db_result_list_begin(), key_state_list::dbo, key_state_copy(), key_state_free(), key_state_from_result(), key_state_list_begin(), key_state_new(), key_state_list::object_store, and key_state_list::result_list.

◆ key_state_list_get_by_clauses()

int key_state_list_get_by_clauses ( key_state_list_t * key_state_list,
const db_clause_list_t * clause_list )
extern

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

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

Definition at line 1112 of file key_state.c.

References key_state_list::associated_fetch, DB_ERROR_UNKNOWN, db_object_read(), DB_OK, db_result_list_fetch_all(), db_result_list_free(), key_state_list::dbo, key_state_free(), key_state_list::object_list, key_state_list::object_list_first, key_state_list::object_list_size, and key_state_list::result_list.

Referenced by key_data_retrieve_key_state_list().

◆ key_state_list_get_by_key_data_id()

◆ key_state_list_get_next()

key_state_t * key_state_list_get_next ( key_state_list_t * key_state_list)
extern

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

Parameters
[in]key_state_lista key_state_list_t pointer.
Returns
a key_state_t pointer or NULL on error or if there are no more key state objects in the key state object list.

Definition at line 1398 of file key_state.c.

References db_object_connection(), db_result_list_next(), key_state_list::dbo, key_state_copy(), key_state_free(), key_state_from_result(), key_state_list_next(), key_state_new(), key_state_list::object_store, and key_state_list::result_list.

Referenced by zonelist_import().

◆ key_state_list_new()

key_state_list_t * key_state_list_new ( const db_connection_t * connection)
extern

Create a new key state object list.

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

Definition at line 881 of file key_state.c.

References key_state_list::dbo.

Referenced by key_data_retrieve_key_state_list(), key_state_list_new_copy(), and key_state_list_new_get_by_key_data_id().

◆ key_state_list_new_copy()

key_state_list_t * key_state_list_new_copy ( const key_state_list_t * key_state_copy)
extern

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

Parameters
[in]key_state_lista key_state_list_t pointer.
Returns
a key_state_list_t pointer or NULL on error.

Definition at line 895 of file key_state.c.

References db_object_connection(), key_state_list::dbo, key_state_list_copy(), key_state_list_free(), and key_state_list_new().

Referenced by key_data_copy().

◆ key_state_list_new_get_by_key_data_id()

key_state_list_t * key_state_list_new_get_by_key_data_id ( const db_connection_t * connection,
const db_value_t * key_data_id )
extern

Get a new list of key state objects from the database by a key_data_id specified in key_data_id.

Parameters
[in]connectiona db_connection_t pointer.
[in]key_data_ida db_value_t pointer.
Returns
a key_state_list_t pointer or NULL on error.

Definition at line 1217 of file key_state.c.

References db_value_not_empty(), key_data_id(), key_state_list_free(), key_state_list_get_by_key_data_id(), and key_state_list_new().

Referenced by zonelist_import().

◆ key_state_list_next()

const key_state_t * key_state_list_next ( key_state_list_t * key_state_list)
extern

Get the next key state object in a key state 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]key_state_lista key_state_list_t pointer.
Returns
a key_state_t pointer or NULL on error or if there are no more key state objects in the key state object list.

Definition at line 1332 of file key_state.c.

References db_object_connection(), db_result_list_next(), db_result_list_size(), key_state_list::dbo, key_state_list::key_state, key_state_from_result(), key_state_new(), key_state_list::object_list, key_state_list::object_list_first, key_state_list::object_list_position, key_state_list::object_list_size, key_state_list::object_store, and key_state_list::result_list.

Referenced by key_state_list_get_next().

◆ key_state_list_object_store()

int key_state_list_object_store ( key_state_list_t * key_state_list)
extern

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]key_state_lista key_state_list_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 914 of file key_state.c.

References DB_ERROR_UNKNOWN, DB_OK, and key_state_list::object_store.

Referenced by key_data_retrieve_key_state_list().

◆ key_state_minimize()

unsigned int key_state_minimize ( const key_state_t * key_state)
extern

Get the minimize of a key state object. Undefined behavior if key_state is NULL.

Parameters
[in]key_statea key_state_t pointer.
Returns
an unsigned integer.

Definition at line 401 of file key_state.c.

References key_state::minimize.

◆ key_state_new()

key_state_t * key_state_new ( const db_connection_t * connection)
extern

◆ key_state_new_copy()

key_state_t * key_state_new_copy ( const key_state_t * key_state)
extern

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

Parameters
[in]key_statea key_state_t pointer.
Returns
a key_state_t pointer or NULL on error.

Definition at line 195 of file key_state.c.

References db_object_connection(), key_state::dbo, key_state_copy(), key_state_free(), and key_state_new().

Referenced by key_data_get_cached_dnskey(), key_data_get_cached_ds(), key_data_get_cached_rrsig(), key_data_get_cached_rrsigdnskey(), and key_state_list_copy().

◆ key_state_set_key_data_id()

int key_state_set_key_data_id ( key_state_t * key_state,
const db_value_t * key_data_id )
extern

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

Parameters
[in]key_statea key_state_t pointer.
[in]key_data_ida db_value_t pointer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 417 of file key_state.c.

References DB_ERROR_UNKNOWN, DB_OK, db_value_copy(), db_value_not_empty(), db_value_reset(), key_data_id(), and key_state::key_data_id.

Referenced by perform_keystate_import().

◆ key_state_set_last_change()

int key_state_set_last_change ( key_state_t * key_state,
unsigned int last_change )
extern

Set the last_change of a key state object.

Parameters
[in]key_statea key_state_t pointer.
[in]last_changean unsigned integer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 462 of file key_state.c.

References DB_ERROR_UNKNOWN, DB_OK, and key_state::last_change.

Referenced by perform_keystate_import().

◆ key_state_set_minimize()

int key_state_set_minimize ( key_state_t * key_state,
unsigned int minimize )
extern

Set the minimize of a key state object.

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

Definition at line 472 of file key_state.c.

References DB_ERROR_UNKNOWN, DB_OK, and key_state::minimize.

Referenced by perform_keystate_import().

◆ key_state_set_state()

int key_state_set_state ( key_state_t * key_state,
key_state_state_t state )
extern

Set the state of a key state object.

Parameters
[in]key_statea key_state_t pointer.
[in]statea key_state_state_t.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 449 of file key_state.c.

References DB_ERROR_UNKNOWN, DB_OK, KEY_STATE_STATE_INVALID, and key_state::state.

Referenced by perform_keystate_import().

◆ key_state_set_ttl()

int key_state_set_ttl ( key_state_t * key_state,
unsigned int ttl )
extern

Set the ttl of a key state object.

Parameters
[in]key_statea key_state_t pointer.
[in]ttlan unsigned integer.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 482 of file key_state.c.

References DB_ERROR_UNKNOWN, DB_OK, and key_state::ttl.

Referenced by perform_keystate_import().

◆ key_state_set_type()

int key_state_set_type ( key_state_t * key_state,
key_state_type_t type )
extern

Set the type of a key state object.

Parameters
[in]key_statea key_state_t pointer.
[in]typea key_state_type_t.
Returns
DB_ERROR_* on failure, otherwise DB_OK.

Definition at line 436 of file key_state.c.

References DB_ERROR_UNKNOWN, DB_OK, KEY_STATE_TYPE_INVALID, and key_state::type.

Referenced by perform_keystate_import().

◆ key_state_state()

key_state_state_t key_state_state ( const key_state_t * key_state)
extern

Get the state of a key state object.

Parameters
[in]key_statea key_state_t pointer.
Returns
a key_state_state_t which may be KEY_STATE_STATE_INVALID on error or if no state has been set.

Definition at line 369 of file key_state.c.

References KEY_STATE_STATE_INVALID, and key_state::state.

◆ key_state_state_text()

const char * key_state_state_text ( const key_state_t * key_state)
extern

Get the state as text of a key state object.

Parameters
[in]key_statea key_state_t pointer.
Returns
a character pointer or NULL on error or if no state has been set.

Definition at line 377 of file key_state.c.

References key_state_enum_set_state, and key_state::state.

◆ key_state_ttl()

unsigned int key_state_ttl ( const key_state_t * key_state)
extern

Get the ttl of a key state object. Undefined behavior if key_state is NULL.

Parameters
[in]key_statea key_state_t pointer.
Returns
an unsigned integer.

Definition at line 409 of file key_state.c.

References key_state::ttl.

◆ key_state_type()

key_state_type_t key_state_type ( const key_state_t * key_state)
extern

Get the type of a key state object.

Parameters
[in]key_statea key_state_t pointer.
Returns
a key_state_type_t which may be KEY_STATE_TYPE_INVALID on error or if no type has been set.

Definition at line 345 of file key_state.c.

References KEY_STATE_TYPE_INVALID, and key_state::type.

◆ key_state_type_text()

const char * key_state_type_text ( const key_state_t * key_state)
extern

Get the type as text of a key state object.

Parameters
[in]key_statea key_state_t pointer.
Returns
a character pointer or NULL on error or if no type has been set.

Definition at line 353 of file key_state.c.

References key_state_enum_set_type, and key_state::type.

Referenced by zonelist_import().

◆ key_state_update()

Variable Documentation

◆ key_state_enum_set_state

const db_enum_t key_state_enum_set_state[]
extern

◆ key_state_enum_set_type

const db_enum_t key_state_enum_set_type[]
extern