dovecot-1.2: Proxy: Log destuser in the "proxying" line if it's ...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Aug 14 10:11:02 EEST 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/4d6cc7bb3426
changeset: 8097:4d6cc7bb3426
user: Timo Sirainen <tss at iki.fi>
date: Thu Aug 14 03:10:34 2008 -0400
description:
Proxy: Log destuser in the "proxying" line if it's different from username.
diffstat:
2 files changed, 25 insertions(+), 12 deletions(-)
src/imap-login/imap-proxy.c | 18 ++++++++++++------
src/pop3-login/pop3-proxy.c | 19 +++++++++++++------
diffs (85 lines):
diff -r f35a8a3dc06d -r 4d6cc7bb3426 src/imap-login/imap-proxy.c
--- a/src/imap-login/imap-proxy.c Wed Aug 13 18:08:45 2008 -0400
+++ b/src/imap-login/imap-proxy.c Thu Aug 14 03:10:34 2008 -0400
@@ -50,7 +50,6 @@ static int proxy_input_line(struct imap_
struct ostream *output, const char *line)
{
string_t *str;
- const char *msg;
i_assert(!client->destroyed);
@@ -91,10 +90,17 @@ static int proxy_input_line(struct imap_
(void)o_stream_send(client->output,
str_data(str), str_len(str));
- msg = t_strdup_printf("proxy(%s): started proxying to %s:%u",
- client->common.virtual_user,
- login_proxy_get_host(client->proxy),
- login_proxy_get_port(client->proxy));
+ str_truncate(str, 0);
+ str_printfa(str, "proxy(%s): started proxying 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);
+ }
(void)client_skip_line(client);
login_proxy_detach(client->proxy, client->common.input,
@@ -104,7 +110,7 @@ static int proxy_input_line(struct imap_
client->common.input = NULL;
client->output = NULL;
client->common.fd = -1;
- client_destroy_success(client, msg);
+ client_destroy_success(client, str_c(str));
return -1;
} else if (strncmp(line, "P ", 2) == 0) {
/* If the backend server isn't Dovecot, the error message may
diff -r f35a8a3dc06d -r 4d6cc7bb3426 src/pop3-login/pop3-proxy.c
--- a/src/pop3-login/pop3-proxy.c Wed Aug 13 18:08:45 2008 -0400
+++ b/src/pop3-login/pop3-proxy.c Thu Aug 14 03:10:34 2008 -0400
@@ -15,7 +15,7 @@ static void proxy_input(struct istream *
struct pop3_client *client)
{
string_t *str;
- const char *line, *msg;
+ const char *line;
if (input == NULL) {
if (client->io != NULL) {
@@ -102,10 +102,17 @@ static void proxy_input(struct istream *
line = t_strconcat(line, "\r\n", NULL);
(void)o_stream_send_str(client->output, line);
- msg = t_strdup_printf("proxy(%s): started proxying to %s:%u",
- client->common.virtual_user,
- login_proxy_get_host(client->proxy),
- login_proxy_get_port(client->proxy));
+ str = t_str_new(128);
+ str_printfa(str, "proxy(%s): started proxying 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);
+ }
login_proxy_detach(client->proxy, client->common.input,
client->output);
@@ -114,7 +121,7 @@ static void proxy_input(struct istream *
client->common.input = NULL;
client->output = NULL;
client->common.fd = -1;
- client_destroy_success(client, msg);
+ client_destroy_success(client, str_c(str));
return;
}
More information about the dovecot-cvs
mailing list