client.c revision e1f52248b04b91cf1b5c8f55719391f03198242b
/* Copyright (c) 2009-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "array.h"
#include "base64.h"
#include "str.h"
#include "llist.h"
#include "iostream.h"
#include "istream.h"
#include "ostream.h"
#include "hostpid.h"
#include "process-title.h"
#include "var-expand.h"
#include "settings-parser.h"
#include "smtp-server.h"
#include "master-service.h"
#include "master-service-ssl.h"
#include "master-service-settings.h"
#include "iostream-ssl.h"
#include "mail-namespace.h"
#include "mail-storage.h"
#include "mail-storage-service.h"
#include "raw-storage.h"
#include "main.h"
#include "lda-settings.h"
#include "lmtp-settings.h"
#include "lmtp-local.h"
#include "lmtp-proxy.h"
#include "commands.h"
#include "client.h"
#include <unistd.h>
static unsigned int clients_count = 0;
static bool verbose_proctitle = FALSE;
static const struct smtp_server_callbacks lmtp_callbacks;
{
const char *addr;
if (addr[0] == '\0')
addr = "local";
return addr;
}
static void refresh_proctitle(void)
{
if (!verbose_proctitle)
return;
switch (clients_count) {
case 0:
break;
case 1:
break;
default:
break;
}
}
{
void **sets;
}
{
struct mail_storage_service_input input;
const struct setting_parser_context *set_parser;
struct lmtp_settings *lmtp_set;
struct lda_settings *lda_set;
const char *error;
&set_parser, &error) < 0)
const struct var_expand_table *tab =
}
const struct master_service_connection *conn)
{
struct smtp_server_settings lmtp_set;
return client;
}
{
}
const char *reason)
{
return;
}
{
enum smtp_server_state state;
else
return smtp_server_state_names[state];
}
const char *reason)
{
if (client->disconnected)
return;
reason = "Connection closed";
}
}
static void
{
}
static void
{
if (clients_count == 1)
}
static void
const struct smtp_proxy_data *data)
{
if (clients_count == 1)
}
{
}
static void client_connection_destroy(void *context)
{
}
static bool client_connection_is_trusted(void *context)
{
const char *const *net;
unsigned int bits;
return FALSE;
i_error("login_trusted_networks: "
"Invalid network '%s'", *net);
break;
}
return TRUE;
}
return FALSE;
}
void clients_destroy(void)
{
}
}
static const struct smtp_server_callbacks lmtp_callbacks = {
};