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. | |
| 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. | |
| time_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, struct module_qstate *qstate) | 
| 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, 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.
Referenced by worker_init().
| 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, fatal_exit(), autr_point_data::file, log_assert, log_err(), VERB_ALGO, verbose(), and module_env::worker.
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, | ||
| 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, 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(), val_anchors::lock, trust_anchor::lock, RBTREE_FOR, and val_anchors::tree.
Referenced by anchors_apply_cfg().