main.c revision cf9d67e4a9bfee31cf3be05244555d51a3d1b9fe
/* Copyright (c) 2010 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "ioloop.h"
#include "array.h"
#include "restrict-access.h"
#include "master-interface.h"
#include "master-service.h"
#include "master-service-settings.h"
#include "auth-connection.h"
#include "doveadm-connection.h"
#include "login-connection.h"
#include "notify-connection.h"
#include "director.h"
#include "director-host.h"
#include "director-connection.h"
#include "director-request.h"
#include "mail-host.h"
#include <unistd.h>
#define AUTH_SOCKET_PATH "auth-login"
static struct notify_connection *notify_conn;
static char *auth_socket_path;
{
i_warning("Connection from %s: Server not listed in "
return -1;
}
return 0;
}
{
struct auth_connection *auth;
if (notify_conn != NULL) {
i_error("Received another proxy-notify connection");
return;
}
return;
}
return;
}
else
name++;
/* doveadm connection */
} else {
/* login connection */
if (auth_connection_connect(auth) == 0)
else {
}
}
}
{
unsigned int i, socket_count, port;
for (i = 0; i < socket_count; i++) {
int fd = MASTER_LISTEN_FD_FIRST + i;
return port;
}
return 0;
}
{
struct director_request *const *requestp;
bool ret;
if (!dir->ring_handshaked ||
return;
/* if there are any pending client requests, finish them now */
}
}
static void main_init(void)
{
const struct director_settings *set;
unsigned int listen_port;
i_fatal("No inet_listeners defined for director service "
"(for standalone keep director_servers empty)");
}
set->director_mail_servers) < 0)
i_fatal("Invalid value for director_mail_servers setting");
}
static void main_deinit(void)
{
if (notify_conn != NULL)
}
{
const struct setting_parser_info *set_roots[] = {
};
const char *error;
if (master_getopt(master_service) > 0)
return FATAL_DEFAULT;
&error) < 0)
main_init();
main_deinit();
return 0;
}