#include "config.h"
#include "util/log.h"
#include "daemon/daemon.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/data/msgreply.h"
#include "util/module.h"
#include <signal.h>
#include <fcntl.h>
#include <pwd.h>
#include <sys/resource.h>
#include <event.h>
Functions | |
| static void | usage () |
| print usage. | |
| 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) |
| set verbosity, check rlimits, cache settings | |
| static pid_t | readpid (const char *file) |
| Read existing pid from pidfile. | |
| static void | writepid (const char *pidfile, pid_t pid) |
| write pid to file. | |
| static void | checkoldpid (struct config_file *cfg) |
| check old pid file. | |
| static void | detach (struct config_file *cfg) |
| detach from command line | |
| static void | do_chroot (struct daemon *daemon, struct config_file *cfg, int debug_mode, char **cfgfile) |
| daemonize, drop user priviliges and chroot if needed | |
| static void | run_daemon (char *cfgfile, int cmdline_verbose, int debug_mode) |
| Run the daemon. | |
| int | main (int argc, char *argv[]) |
| main program. | |
Variables | |
| void * | unbound_start_brk = 0 |
| global debug value to keep track of heap memory allocation | |
| int | optind |
| getopt global, in case header files fail to declare it. | |
| char * | optarg |
| getopt global, in case header files fail to declare it. | |
| static void usage | ( | ) | [static] |
| static pid_t readpid | ( | const char * | file | ) | [static] |
Read existing pid from pidfile.
| file,: | file name of pid file. |
References log_err().
Referenced by checkoldpid().
| static void writepid | ( | const char * | pidfile, | |
| pid_t | pid | |||
| ) | [static] |
write pid to file.
| pidfile,: | file name of pid file. | |
| pid,: | pid to write to file. |
References log_err().
Referenced by do_chroot().
| static void checkoldpid | ( | struct config_file * | cfg | ) | [static] |
check old pid file.
| cfg,: | the config settings |
References config_file::chrootdir, log_warn(), config_file::pidfile, and readpid().
Referenced by do_chroot().
| static void run_daemon | ( | char * | cfgfile, | |
| int | cmdline_verbose, | |||
| int | debug_mode | |||
| ) | [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. |
References apply_settings(), config_file::chrootdir, config_create(), config_delete(), config_read(), daemon_cleanup(), daemon_delete(), daemon_fork(), daemon_init(), daemon_open_shared_ports(), do_chroot(), fatal_exit(), log_init(), log_warn(), config_file::logfile, daemon::need_to_exit, 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 cfgfile, log_init(), optarg, optind, run_daemon(), unbound_start_brk, usage(), and verbosity.
1.5.6