Main program to start the DNS resolver daemon. More...
#include "config.h"#include <sys/time.h>#include "util/log.h"#include "daemon/daemon.h"#include "daemon/remote.h"#include "util/config_file.h"#include "util/storage/slabhash.h"#include "services/listen_dnsport.h"#include "services/cache/rrset.h"#include "services/cache/infra.h"#include "util/fptr_wlist.h"#include "util/data/msgreply.h"#include "util/module.h"#include "util/net_help.h"#include "util/ub_event.h"#include <signal.h>#include <fcntl.h>#include <openssl/crypto.h>#include <openssl/ssl.h>Functions | |
| static void | print_build_options (void) |
| print build options. | |
| static void | usage (void) |
| print usage. | |
| int | replay_var_compare (const void *ATTR_UNUSED(a), const void *ATTR_UNUSED(b)) |
| static void | checkrlimits (struct config_file *cfg) |
| check file descriptor count | |
| static void | apply_settings (struct daemon *daemon, struct config_file *cfg, int cmdline_verbose, int debug_mode) |
| set verbosity, check rlimits, cache settings | |
| static void | detach (void) |
| detach from command line | |
| static void | setup_sslctxs (struct daemon *daemon, struct config_file *cfg) |
| static void | perform_setup (struct daemon *daemon, struct config_file *cfg, int debug_mode, const char **cfgfile, int need_pidfile) |
| daemonize, drop user privileges and chroot if needed | |
| static void | run_daemon (const char *cfgfile, int cmdline_verbose, int debug_mode, int need_pidfile) |
| Run the daemon. | |
| int | main (int argc, char *argv[]) |
| main program. | |
Variables | |
| int | optind |
| getopt global, in case header files fail to declare it. | |
| char * | optarg |
| getopt global, in case header files fail to declare it. | |
Main program to start the DNS resolver daemon.
|
static |
Run the daemon.
| cfgfile | the config file name. |
| cmdline_verbose | verbosity resulting from commandline -v. These increase verbosity as specified in the config file. |
| debug_mode | if set, do not daemonize. |
| need_pidfile | if false, no pidfile is checked or created. |
References apply_settings(), daemon::cfg, daemon::cfgfile, daemon::chroot, config_file::chrootdir, config_auto_slab_values(), config_create(), config_delete(), config_lookup_uid(), config_read(), daemon_cleanup(), daemon_delete(), daemon_fork(), daemon_init(), daemon_open_shared_ports(), fatal_exit(), log_init(), log_warn(), config_file::logfile, daemon::need_to_exit, perform_setup(), daemon::pidfile, config_file::use_syslog, VERB_ALGO, VERB_OPS, and verbose().
Referenced by main().
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
main program.
Set options given commandline arguments.
| argc | number of commandline arguments. |
| argv | array of commandline arguments. |
References daemon::cfgfile, fatal_exit(), log_get_lock(), log_ident_set(), log_ident_set_default(), log_init(), optarg, optind, print_build_options(), run_daemon(), usage(), verbosity, and wsvc_command_option().