unbound.c File Reference

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 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. More...
 
int main (int argc, char *argv[])
 main program. More...
 

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.
 

Detailed Description

Main program to start the DNS resolver daemon.

Function Documentation

◆ run_daemon()

static void run_daemon ( const char *  cfgfile,
int  cmdline_verbose,
int  debug_mode,
int  need_pidfile 
)
static

Run the daemon.

Parameters
cfgfilethe config file name.
cmdline_verboseverbosity resulting from commandline -v. These increase verbosity as specified in the config file.
debug_modeif set, do not daemonize.
need_pidfileif false, no pidfile is checked or created.

References daemon_init().

◆ main()

int main ( int  argc,
char *  argv[] 
)

main program.

Set options given commandline arguments.

Parameters
argcnumber of commandline arguments.
argvarray of commandline arguments.
Returns
: exit status of the program.

References log_ident_set(), log_ident_set_default(), log_init(), optarg, optind, print_build_options(), usage(), verbosity, and wsvc_command_option().