Contains autotrust definitions. More...
Data Structures | |
struct | autr_ta |
Autotrust metadata for one trust anchor key. More... | |
struct | autr_point_data |
Autotrust metadata for a trust point. More... | |
struct | autr_global_data |
Autotrust global metadata. More... | |
Enumerations | |
enum | autr_state_type { AUTR_STATE_START = 0 , AUTR_STATE_ADDPEND = 1 , AUTR_STATE_VALID = 2 , AUTR_STATE_MISSING = 3 , AUTR_STATE_REVOKED = 4 , AUTR_STATE_REMOVED = 5 } |
Autotrust anchor states. | |
Functions | |
struct autr_global_data * | autr_global_create (void) |
Create new global 5011 data structure. More... | |
void | autr_global_delete (struct autr_global_data *global) |
Delete global 5011 data structure. More... | |
size_t | autr_get_num_anchors (struct val_anchors *anchors) |
See if autotrust anchors are configured and how many. More... | |
time_t | autr_probe_timer (struct module_env *env) |
Process probe timer. More... | |
int | probetree_cmp (const void *x, const void *y) |
probe tree compare function | |
int | autr_read_file (struct val_anchors *anchors, const char *nm) |
Read autotrust file. More... | |
void | autr_write_file (struct module_env *env, struct trust_anchor *tp) |
Write autotrust file. More... | |
void | autr_point_delete (struct trust_anchor *tp) |
Delete autr anchor, deletes the autr data but does not do unlinking from trees, caller does that. More... | |
int | autr_process_prime (struct module_env *env, struct val_env *ve, struct trust_anchor *tp, struct ub_packed_rrset_key *dnskey_rrset, struct module_qstate *qstate) |
Perform autotrust processing. More... | |
void | autr_debug_print (struct val_anchors *anchors) |
Debug printout of rfc5011 tracked anchors. More... | |
void | probe_answer_cb (void *arg, int rcode, struct sldns_buffer *buf, enum sec_status sec, char *errinf, int was_ratelimited) |
callback for query answer to 5011 probe | |
Contains autotrust definitions.
struct autr_global_data* autr_global_create | ( | void | ) |
Create new global 5011 data structure.
References autr_global_data::probe, probetree_cmp(), and rbtree_init().
Referenced by anchors_create().
void autr_global_delete | ( | struct autr_global_data * | global | ) |
Delete global 5011 data structure.
global | global autotrust state to delete. |
Referenced by anchors_delete().
size_t autr_get_num_anchors | ( | struct val_anchors * | anchors | ) |
See if autotrust anchors are configured and how many.
anchors | the trust anchors structure. |
References val_anchors::autr, rbtree_type::count, val_anchors::lock, and autr_global_data::probe.
time_t autr_probe_timer | ( | struct module_env * | env | ) |
Process probe timer.
Add new probes if needed.
env | module environment with time, with anchors and with the mesh. |
References autr_permit_small_holddown, probe_anchor(), regional_free_all(), module_env::scratch, todo_probe(), VERB_ALGO, and verbose().
Referenced by worker_probe_timer_cb().
int autr_read_file | ( | struct val_anchors * | anchors, |
const char * | nm | ||
) |
Read autotrust file.
anchors | the anchors structure. |
nm | name of the file (copied). |
References autr_assemble(), handle_origin(), load_trustanchor(), trust_anchor::lock, log_err(), log_warn(), parse_var_line(), read_multiline(), str_contains_data(), VERB_ALGO, and verbose().
Referenced by anchors_apply_cfg().
void autr_write_file | ( | struct module_env * | env, |
struct trust_anchor * | tp | ||
) |
Write autotrust file.
env | environment with scratch space. |
tp | trust point to write. |
References trust_anchor::autr, autr_point_data::file, log_assert, log_err(), VERB_ALGO, verbose(), and module_env::worker.
void autr_point_delete | ( | struct trust_anchor * | tp | ) |
Delete autr anchor, deletes the autr data but does not do unlinking from trees, caller does that.
tp | trust point to delete. |
References trust_anchor::autr, autr_rrset_delete(), trust_anchor::dnskey_rrset, trust_anchor::ds_rrset, autr_point_data::file, autr_point_data::keys, trust_anchor::lock, trust_anchor::name, autr_ta::next, and autr_ta::rr.
int autr_process_prime | ( | struct module_env * | env, |
struct val_env * | ve, | ||
struct trust_anchor * | tp, | ||
struct ub_packed_rrset_key * | dnskey_rrset, | ||
struct module_qstate * | qstate | ||
) |
Perform autotrust processing.
env | qstate environment with the anchors structure. |
ve | validator environment for verification of rrsigs. |
tp | trust anchor to process. |
dnskey_rrset | DNSKEY rrset probed (can be NULL if bad prime result). allocated in a region. Has not been validated yet. |
qstate | qstate with region. |
References trust_anchor::autr, log_assert, log_nametypeclass(), trust_anchor::name, autr_point_data::revoked, and VERB_ALGO.
void autr_debug_print | ( | struct val_anchors * | anchors | ) |
Debug printout of rfc5011 tracked anchors.
anchors | all the anchors. |
References autr_debug_print_tp(), val_anchors::lock, trust_anchor::lock, RBTREE_FOR, and val_anchors::tree.
Referenced by anchors_apply_cfg().