Contains autotrust definitions. More...
#include "util/rbtree.h"
#include "util/data/packed_rrset.h"
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_t { 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. | |
void | autr_global_delete (struct autr_global_data *global) |
Delete global 5011 data structure. | |
size_t | autr_get_num_anchors (struct val_anchors *anchors) |
See if autotrust anchors are configured and how many. | |
uint32_t | autr_probe_timer (struct module_env *env) |
Process probe timer. | |
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. | |
void | autr_write_file (struct module_env *env, struct trust_anchor *tp) |
Write autotrust file. | |
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. | |
int | autr_process_prime (struct module_env *env, struct val_env *ve, struct trust_anchor *tp, struct ub_packed_rrset_key *dnskey_rrset) |
Perform autotrust processing. | |
void | autr_debug_print (struct val_anchors *anchors) |
Debug printout of rfc5011 tracked anchors. | |
void | probe_answer_cb (void *arg, int rcode, ldns_buffer *buf, enum sec_status sec, char *errinf) |
callback for query answer to 5011 probe |
Contains autotrust definitions.
struct autr_global_data* autr_global_create | ( | void | ) | [read] |
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_t::count, val_anchors::lock, and autr_global_data::probe.
Referenced by worker_init().
uint32_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 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, trust_anchor::dclass, autr_point_data::file, autr_point_data::keys, autr_ta::last_change, autr_point_data::last_queried, autr_point_data::last_success, log_assert, log_err(), trust_anchor::name, trust_anchor::namelen, autr_ta::next, autr_point_data::next_probe_time, autr_ta::pending_count, print_id(), autr_point_data::query_failed, autr_point_data::query_interval, autr_point_data::retry_time, autr_point_data::revoked, autr_ta::rr, rr_is_dnskey_sep(), autr_ta::s, trustanchor_state2str(), VERB_ALGO, and verbose().
Referenced by autr_process_prime(), and autr_tp_remove().
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.
Referenced by anchors_delfunc(), and autr_tp_remove().
int autr_process_prime | ( | struct module_env * | env, | |
struct val_env * | ve, | |||
struct trust_anchor * | tp, | |||
struct ub_packed_rrset_key * | dnskey_rrset | |||
) |
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. |
References trust_anchor::autr, autr_assemble(), autr_cleanup_keys(), autr_holddown_exceed(), autr_tp_remove(), autr_write_file(), check_contains_revoked(), trust_anchor::dclass, trust_anchor::dnskey_rrset, do_statetable(), trust_anchor::ds_rrset, autr_point_data::last_queried, autr_point_data::last_success, trust_anchor::lock, log_assert, log_err(), log_nametypeclass(), trust_anchor::name, module_env::now, autr_point_data::query_failed, autr_point_data::revoked, set_next_probe(), update_events(), VERB_ALGO, verbose(), and verify_dnskey().
Referenced by process_prime_response().
void autr_debug_print | ( | struct val_anchors * | anchors | ) |
Debug printout of rfc5011 tracked anchors.
anchors,: | all the anchors. |
References autr_debug_print_tp(), trust_anchor::lock, val_anchors::lock, RBTREE_FOR, and val_anchors::tree.
Referenced by anchors_apply_cfg().