58721b9d3a8cd6a624269ddf507f80af4417c9bdhenning mueller/* Copyright (c) 2002-2018 Dovecot authors, see the included COPYING file */
58721b9d3a8cd6a624269ddf507f80af4417c9bdhenning muellerstatic struct mail_storage_service_ctx *storage_service;
58721b9d3a8cd6a624269ddf507f80af4417c9bdhenning muellerstatic struct master_login *master_login = NULL;
58721b9d3a8cd6a624269ddf507f80af4417c9bdhenning muellerpop3_client_created_func_t *hook_client_created = NULL;
0772cf7b22adf46dbab68e829d6a2cd8e8d1bc2ahenning muellerpop3_client_created_hook_set(pop3_client_created_func_t *new_hook)
58721b9d3a8cd6a624269ddf507f80af4417c9bdhenning mueller pop3_client_created_func_t *old_hook = hook_client_created;
if (!verbose_proctitle)
switch (pop3_client_count) {
const char **error_r)
&errstr) <= 0) {
if (!already_logged_in)
if (!IS_STANDALONE())
if (!IS_STANDALONE())
const char *errormsg)
if (IS_STANDALONE()) {
* OK response to LOGIN/AUTHENTICATE. Otherwise we risk a very slow
return FATAL_DEFAULT;
if (!IS_STANDALONE())
if (IS_STANDALONE()) {
T_BEGIN {
} T_END;