unbound: daemon Struct Reference

unbound 0.1

Data Fields
daemon Struct Reference

Structure holding worker list. More...

`#include <daemon.h>`

## Data Fields
struct config_file * | cfg
| The config settings.
char * | chroot
| the chroot dir in use, NULL if none
char * | pidfile
| pidfile that is used
int | listening_port
| port number that has ports opened.
struct listen_port ** | ports
| array of listening ports, opened.
size_t | num_ports
| size of ports array
int | reuseport
| reuseport is enabled if true
int | rc_port
| port number for remote that has ports opened.
struct listen_port * | rc_ports
| listening ports for remote control
struct daemon_remote * | rc
| remote control connections management (for first worker)
void * | listen_dot_sslctx
| ssl context for listening to dnstcp over ssl
void * | connect_dot_sslctx
| ssl context for connecting to dnstcp over ssl
void * | listen_doh_sslctx
| ssl context for listening to DoH
void * | listen_quic_sslctx
| ssl context for listening to quic
char * | ssl_service_key
| the file name that the ssl context is made with, private key.
char * | ssl_service_pem
| the file name that the ssl context is made with, certificate.
time_t | mtime_ssl_service_key
| modification time for ssl_service_key, in sec and ns.
long | mtime_ns_ssl_service_key
time_t | mtime_ssl_service_pem
| modification time for ssl_service_pem, in sec and ns.
long | mtime_ns_ssl_service_pem
int | num
| num threads allocated
int | old_num
| num threads allocated in the previous config or 0 at first
struct worker ** | workers
| the worker entries
struct alloc_cache ** | worker_allocs
| per-worker allocation cache
int | need_to_exit
| do we need to exit unbound (or is it only a reload?)
struct ub_randstate * | rand
| master random table ; used for port div between threads on reload
struct alloc_cache | superalloc
| master allocation cache
struct module_env * | env
| the module environment master value, copied and changed by threads
struct module_stack | mods
| stack of module callbacks
int | mods_inited
| The module stack has been inited.
struct acl_list * | acl
| access control, which client IPs are allowed to connect
struct acl_list * | acl_interface
| access control, which interfaces are allowed to connect
struct tcl_list * | tcl
| TCP connection limit, limit connections from client IPs.
struct local_zones * | local_zones
| local authority zones
struct timeval | time_last_stat
| last time of statistics printout
struct timeval | time_boot
| time when daemon started
struct shm_main_info * | shm_info
| The SHM info for shared memory stats.
int | stat_time_specific
| if the timeout for statistics is attempted at specific offset.
int | stat_time_offset
| if the timeout is specific, what offset in the period.
int | use_response_ip
| some response-ip tags or actions are configured if true
int | use_rpz
| some RPZ policies are configured
struct doq_table * | doq_table
| the doq connection table
int | reuse_cache
| reuse existing cache on reload if other conditions allow it.
struct cookie_secrets * | cookie_secrets
| the EDNS cookie secrets from the cookie-secret-file
struct fast_reload_thread * | fast_reload_thread
| the fast reload thread, or NULL
struct fast_reload_printq * | fast_reload_printq_list
| the fast reload printq list
int | fast_reload_drop_mesh
| the fast reload option to drop mesh queries, true if so.
int | fast_reload_tcl_has_changes
| for fast reload, if the tcl, tcp connection limits, has changes for workers
char * | cfgfile
| config file name

## Detailed Description

Structure holding worker list.

Holds globally visible information.

## Field Documentation

## ◆ ports

struct listen_port** daemon::ports

array of listening ports, opened.

Listening ports per worker, or just one element[0] shared by the worker threads.

Referenced by ct_acl_interface_setup_ports(), daemon_delete(), daemon_fork(), daemon_open_shared_ports(), and thread_start().

## ◆ mtime_ssl_service_key

time_t daemon::mtime_ssl_service_key

modification time for ssl_service_key, in sec and ns.

Like in a struct timespec, but without that for portability.

Referenced by ssl_cert_changed(), and sslctxs_swap().

## ◆ mtime_ssl_service_pem

time_t daemon::mtime_ssl_service_pem

modification time for ssl_service_pem, in sec and ns.

Like in a struct timespec, but without that for portability.

Referenced by ssl_cert_changed(), and sslctxs_swap().

## ◆ stat_time_specific

int daemon::stat_time_specific

if the timeout for statistics is attempted at specific offset.

If it is true, the stat timeout is the interval+offset, and that picks (roughly) the same time offset every time period.

Referenced by daemon_fork(), and worker_restart_timer().

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

- daemon/daemon.h