unbound: auth_transfer Struct Reference

unbound 0.1

Data Fields
auth_transfer Struct Reference

The transfer task. More...

`#include <authzone.h>`

## Data Fields
struct worker * | worker
struct module_env * | env
struct auth_chunk * | chunks_first
| xfer data that has been transferred, the data is applied once the transfer has completed correctly
struct auth_chunk * | chunks_last
| last element in chunks list (to append new data at the end)
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)
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
| what address we are scanning for the master, or NULL if the master is in IP format itself
struct auth_master * | master
| the zone transfer in progress (or NULL if in scan).
int | ixfr_fail
| failed ixfr transfer, retry with axfr (to the current master), the IXFR was 'REFUSED', 'SERVFAIL', 'NOTIMPL' or the contents of the IXFR did not apply cleanly (out of sync, delete of nonexistent data or add of duplicate data).
int | ixfr_possible_timeout_count
| we saw an ixfr-indicating timeout, count of them
int | on_ixfr
| we are doing IXFR right now
int | got_xfr_serial
| did we detect the current AXFR/IXFR serial number yet, 0 not yet, 1 we saw the first, 2 we saw the second, 3 must be last SOA in xfr
size_t | rr_scan_num
| number of RRs scanned for AXFR/IXFR detection
int | on_ixfr_is_axfr
| we are doing an IXFR but we detected an AXFR contents
uint32_t | incoming_xfr_serial
| the serial number for the current AXFR/IXFR incoming reply, for IXFR, the outermost SOA records serial
uint16_t | id
| dns id of AXFR query
struct comm_point * | cp
| the transfer (TCP) to the master.
struct comm_timer * | timer
| timeout for the transfer.

## Detailed Description

The transfer task.

Once done, make sure the nextprobe waiting task is running, whether done with failure or success. If failure, use shorter timeout for wait time.

## Field Documentation

## ◆ scan_specific

struct auth_master* auth_transfer::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_transfer_current_master(), xfr_transfer_end_of_list(), xfr_transfer_nextmaster(), and xfr_transfer_start_list().

## ◆ scan_target

struct auth_master* auth_transfer::scan_target

scan tries all the upstream masters.

the scan current target. or NULL if not working on sequential scan

Referenced by xfr_transfer_current_master(), xfr_transfer_end_of_list(), xfr_transfer_nextmaster(), and xfr_transfer_start_list().

## ◆ master

struct auth_master* auth_transfer::master

the zone transfer in progress (or NULL if in scan).

It is from this master

Referenced by apply_http(), auth_xfer_transfer_http_callback(), auth_xfer_transfer_tcp_callback(), auth_xfer_transfer_timer_callback(), check_xfer_packet(), http_parse_add_rr(), xfr_process_chunk_list(), xfr_transfer_init_fetch(), xfr_transfer_nexttarget_or_end(), and xfr_write_after_update().

## ◆ ixfr_fail

int auth_transfer::ixfr_fail

failed ixfr transfer, retry with axfr (to the current master), the IXFR was 'REFUSED', 'SERVFAIL', 'NOTIMPL' or the contents of the IXFR did not apply cleanly (out of sync, delete of nonexistent data or add of duplicate data).

Flag is cleared once the retry with axfr is done.

Referenced by auth_xfer_transfer_tcp_callback(), auth_xfer_transfer_timer_callback(), check_xfer_packet(), process_list_end_transfer(), and xfr_create_ixfr_packet().

## ◆ cp

struct comm_point* auth_transfer::cp

the transfer (TCP) to the master.

on the workers event base.

Referenced by auth_xfer_delete(), auth_xfer_get_mem(), auth_xfer_transfer_http_callback(), auth_xfer_transfer_tcp_callback(), auth_xfer_transfer_timer_callback(), xfr_transfer_disown(), and xfr_transfer_init_fetch().

## ◆ timer

struct comm_timer* auth_transfer::timer

timeout for the transfer.

on the workers event base.

Referenced by auth_xfer_delete(), auth_xfer_get_mem(), auth_xfer_transfer_http_callback(), auth_xfer_transfer_tcp_callback(), xfr_transfer_disown(), and xfr_transfer_init_fetch().

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

- services/authzone.h