main.c revision 6468191d64827a2d1481c091ec499874583c834e
154N/A#include "lib-signals.h"
154N/A#include "fd-close-on-exec.h"
154N/A#include "write-full.h"
154N/A#include "env-util.h"
154N/A#include "execv-const.h"
154N/A#include "restrict-process-size.h"
154N/A#include "master-instance.h"
409N/A#include "master-service.h"
409N/A#include "master-service-settings.h"
154N/A#include "capabilities.h"
154N/A#include "service-anvil.h"
3158N/A#include "service-listen.h"
154N/A#include "service-monitor.h"
1715N/A#include "service-process.h"
1715N/A#include "service-log.h"
1715N/A#include "dovecot-version.h"
2721N/Aconst char *ssl_manual_key_password;
2721N/Astatic char *pidfile_path;
int fd;
abort();
const char *path;
int fd;
if (ret < 0)
int fd;
bool found;
return FALSE;
if (ret <= 0) {
if (ret == 0)
ret--;
return found;
const char *pid;
int fd;
const char *base_config_path;
int ret;
if (ret == 0) {
const char *path;
void **sets;
const char *error;
hostpid_init();
const char *error;
&error) < 0)
core_limit == 0;
if (core_dumps_disabled)
static void master_set_process_limit(void)
unsigned int process_limit = 0;
static void global_dead_pipe_close(void)
static void main_deinit(void)
const char *path;
return path;
unsigned long secs;
static void daemonize(void)
if (pid < 0)
if (pid != 0)
_exit(0);
if (setsid() < 0)
hostpid_init();
static void print_help(void)
static void print_build_options(void)
#ifdef IOLOOP_EPOLL
#ifdef IOLOOP_KQUEUE
#ifdef IOLOOP_POLL
#ifdef IOLOOP_SELECT
#ifdef IOLOOP_NOTIFY_DNOTIFY
#ifdef IOLOOP_NOTIFY_INOTIFY
#ifdef IOLOOP_NOTIFY_KQUEUE
#ifdef HAVE_IPV6
#ifdef HAVE_GNUTLS
#ifdef HAVE_OPENSSL
#ifdef SQL_DRIVER_PLUGINS
#ifdef BUILD_MYSQL
#ifdef BUILD_PGSQL
#ifdef BUILD_SQLITE
#ifdef PASSDB_BSDAUTH
#ifdef PASSDB_CHECKPASSWORD
#ifdef PASSDB_LDAP
#ifdef PASSDB_PAM
#ifdef PASSDB_PASSWD
#ifdef PASSDB_PASSWD_FILE
#ifdef PASSDB_SHADOW
#ifdef PASSDB_SQL
#ifdef PASSDB_VPOPMAIL
#ifdef USERDB_CHECKPASSWORD
#ifdef USERDB_LDAP
#ifndef BUILTIN_LDAP
#ifdef USERDB_NSS
#ifdef USERDB_PASSWD
#ifdef USERDB_PREFETCH
#ifdef USERDB_PASSWD_FILE
#ifdef USERDB_SQL
#ifdef USERDB_STATIC
#ifdef USERDB_VPOPMAIL
#ifdef DEBUG
c, optarg)) {
print_help();
const char **args;
print_help();
print_help();
if (ask_key_pass) {
T_BEGIN {
} T_END;
if (!foreground)
daemonize();
T_BEGIN {
} T_END;
main_deinit();