auth_probe Struct Reference

The probe task. More...

#include <authzone.h>

Data Fields

struct workerworker
 
struct module_envenv
 
struct auth_mastermasters
 list of upstream masters for this zone, from config
 
struct auth_masterlookup_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_masterscan_specific
 once notified, or the timeout has been reached. More...
 
struct auth_masterscan_target
 scan tries all the upstream masters. More...
 
struct auth_addrscan_addr
 if not NULL, the specific addr for the current master
 
uint16_t id
 dns id of packet in flight
 
struct comm_pointcp
 the SOA probe udp event. More...
 
int cp_is_ip6
 is the cp for ip6 or ip4
 
struct comm_timertimer
 timeout for packets. More...
 
int timeout
 timeout in msec
 

Detailed Description

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).

Field Documentation

◆ scan_specific

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().

◆ scan_target

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().

◆ cp

struct comm_point* auth_probe::cp

◆ timer

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().


The documentation for this struct was generated from the following file: