Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8123:26b67708b365 HEAD
imap/pop3-proxy: If auth_verbose=yes, log proxy login failures.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 30 Aug 2008 12:34:34 +0300 |
parents | 3917bf9cf311 |
children | 744f9dbff89c |
files | src/imap-login/imap-proxy.c src/pop3-login/pop3-proxy.c |
diffstat | 2 files changed, 40 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/imap-login/imap-proxy.c Sat Aug 30 12:00:49 2008 +0300 +++ b/src/imap-login/imap-proxy.c Sat Aug 30 12:34:34 2008 +0300 @@ -128,6 +128,26 @@ be using only Dovecot as their backend :) */ client_send_tagline(client, line + 2); + if (verbose_auth) { + str = t_str_new(128); + str_printfa(str, "proxy(%s): Login failed to %s:%u", + client->common.virtual_user, + login_proxy_get_host(client->proxy), + login_proxy_get_port(client->proxy)); + if (strcmp(client->common.virtual_user, + client->proxy_user) != 0) { + /* remote username is different, log it */ + str_append_c(str, '/'); + str_append(str, client->proxy_user); + } + str_append(str, ": "); + if (strncasecmp(line + 2, "NO ", 3) == 0) + str_append(str, line + 2 + 3); + else + str_append(str, line + 2); + i_info("%s", str_c(str)); + } + /* allow client input again */ i_assert(client->io == NULL); client->io = io_add(client->common.fd, IO_READ,
--- a/src/pop3-login/pop3-proxy.c Sat Aug 30 12:00:49 2008 +0300 +++ b/src/pop3-login/pop3-proxy.c Sat Aug 30 12:34:34 2008 +0300 @@ -132,6 +132,26 @@ else client_send_line(client, line); + if (verbose_auth) { + str = t_str_new(128); + str_printfa(str, "proxy(%s): Login failed to %s:%u", + client->common.virtual_user, + login_proxy_get_host(client->proxy), + login_proxy_get_port(client->proxy)); + if (strcmp(client->common.virtual_user, + client->proxy_user) != 0) { + /* remote username is different, log it */ + str_append_c(str, '/'); + str_append(str, client->proxy_user); + } + str_append(str, ": "); + if (strncmp(line, "-ERR ", 5) == 0) + str_append(str, line + 5); + else + str_append(str, line); + i_info("%s", str_c(str)); + } + /* allow client input again */ i_assert(client->io == NULL); client->io = io_add(client->common.fd, IO_READ,