main.c revision 700f5298a28c60d19936c3c20a6e4ff7d588fd9c
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainen/* Copyright (c) 2002-2018 Dovecot authors, see the included COPYING file */
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainenstatic struct mail_storage_service_ctx *storage_service;
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainenstatic struct master_login *master_login = NULL;
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainenimap_client_created_func_t *hook_client_created = NULL;
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainenimap_client_created_hook_set(imap_client_created_func_t *new_hook)
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainen imap_client_created_func_t *old_hook = hook_client_created;
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainen for (cmd = client->command_queue; cmd != NULL; cmd = cmd->next) {
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainen if (str_len(title) < IMAP_PROCTITLE_PREFERRED_LEN) {
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainen if (cmd->state == CLIENT_COMMAND_STATE_WAIT_OUTPUT)
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainen str_printfa(title, " - %"PRIuSIZE_T" bytes waiting",
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainen o_stream_get_buffer_used_size(client->output));
285f3c4cf828ebe9ff345080aa1df3755613af29Timo Sirainen str_printfa(title, "%u connections", imap_client_count);
static void imap_die(void)
unsigned int stop_msecs;
struct client_input {
const char *tag;
const unsigned char *input;
bool send_untagged_capability;
if (client_input_size > 0) {
const char *errstr;
&errstr) <= 0 ||
&errstr) <= 0) {
const char *error;
const char *errormsg)
const char *msg;
* quickly send back the OK response to LOGIN/AUTHENTICATE.
if (IS_STANDALONE()) {
return FATAL_DEFAULT;
const char *error;
if (!IS_STANDALONE())
if (IS_STANDALONE()) {
T_BEGIN {
} T_END;