client-common.c revision e2a88d59c0d47d63ce1ad5b1fd95e487124a3fd4
e8490a52a1bc71bc53034e68f464435684ad810fTimo Sirainen/* Copyright (c) 2002-2012 Dovecot authors, see the included COPYING file */
e8490a52a1bc71bc53034e68f464435684ad810fTimo Sirainenstruct client *clients = NULL, *last_client = NULL;
e8490a52a1bc71bc53034e68f464435684ad810fTimo Sirainenstatic unsigned int clients_count = 0;
e8490a52a1bc71bc53034e68f464435684ad810fTimo Sirainenstatic void client_idle_disconnect_timeout(struct client *client)
e8490a52a1bc71bc53034e68f464435684ad810fTimo Sirainen unsigned int secs;
e8490a52a1bc71bc53034e68f464435684ad810fTimo Sirainen user_reason = "Timeout while finishing login.";
e8490a52a1bc71bc53034e68f464435684ad810fTimo Sirainen "Timeout while finishing login (waited %u secs)", secs);
const char *const *net;
unsigned int bits;
return FALSE;
return TRUE;
return FALSE;
struct client *
return client;
return TRUE;
return FALSE;
void client_destroy_oldest(void)
void clients_destroy_all(void)
int fd_ssl;
int ret;
if (ret > 0) {
if (!ssl_initialized) {
unsigned int clients_get_count(void)
return clients_count;
#ifdef HAVE_IPV6
static const struct var_expand_table *
sizeof(login_var_expand_empty_tab));
const char *ssl_state =
const char *ssl_error =
return tab;
char key;
str++;
return TRUE;
return FALSE;
unsigned int pos;
if (have_username_key(*e)) {
T_BEGIN {
} T_END;
T_BEGIN {
} T_END;
T_BEGIN {
} T_END;
return t_strdup_printf(
const char *text)
return FALSE;
return FALSE;
return TRUE;
return TRUE;