|
unbound 0.1
|
The probe task. More...
#include <authzone.h>
Data Fields | |
| struct worker * | worker |
| struct module_env * | env |
| struct auth_master * | masters |
| list of upstream masters for this zone, from config | |
| struct auth_master * | lookup_target |
| for the hostname lookups, which master is current | |
| int | lookup_aaaa |
| are we looking up A or AAAA, first A, then AAAA (if ip6 enabled) | |
| int | only_lookup |
| we only want to do lookups for making config work (for notify), don't proceed with UDP SOA probe queries | |
| int | have_new_lease |
| we have seen a new lease this scan, because one of the masters replied with the current SOA serial version | |
| struct auth_master * | scan_specific |
| once notified, or the timeout has been reached. | |
| struct auth_master * | scan_target |
| scan tries all the upstream masters. | |
| struct auth_addr * | scan_addr |
| if not NULL, the specific addr for the current master | |
| uint16_t | id |
| dns id of packet in flight | |
| struct comm_point * | cp |
| the SOA probe udp event. | |
| int | cp_is_ip6 |
| is the cp for ip6 or ip4 | |
| struct comm_timer * | timer |
| timeout for packets. | |
| int | timeout |
| timeout in msec | |
The probe task.
Send a SOA UDP query to see if the zone needs to be updated (or similar, potential, HTTP probe query) and check serial number. If yes, start the auth_transfer task. If no, make sure auth_nextprobe timeout wait task is running. Needs to be a task, because the UDP query needs an event entry. This task could also be started by eg. a NOTIFY being received, even though another worker is performing the nextprobe task (and that worker keeps waiting uninterrupted).
| struct auth_master* auth_probe::scan_specific |
once notified, or the timeout has been reached.
a scan starts. the scan specific target (notify source), or NULL if none
Referenced by xfr_probe_current_master(), xfr_probe_end_of_list(), xfr_probe_nextmaster(), and xfr_probe_start_list().
| struct auth_master* auth_probe::scan_target |
scan tries all the upstream masters.
the scan current target. or NULL if not working on sequential scan
Referenced by xfr_probe_current_master(), xfr_probe_end_of_list(), xfr_probe_nextmaster(), and xfr_probe_start_list().
| struct comm_point* auth_probe::cp |
the SOA probe udp event.
on the workers event base.
Referenced by auth_xfer_delete(), auth_xfer_probe_timer_callback(), auth_xfer_probe_udp_callback(), xfr_probe_disown(), xfr_probe_send_probe(), and xfr_start_probe().
| struct comm_timer* auth_probe::timer |
timeout for packets.
on the workers event base.
Referenced by auth_xfer_delete(), auth_xfer_probe_udp_callback(), xfr_probe_disown(), and xfr_probe_send_probe().