dovecot-2.0-sslstream: lmtp: Improved logging.

dovecot at dovecot.org dovecot at dovecot.org
Sat Feb 13 02:56:02 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0-sslstream/rev/597f969a9870
changeset: 10258:597f969a9870
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Nov 05 17:55:36 2009 -0500
description:
lmtp: Improved logging.

diffstat:

3 files changed, 21 insertions(+), 4 deletions(-)
src/lmtp/client.c   |   13 ++++++++++++-
src/lmtp/commands.c |    6 ++++--
src/lmtp/main.c     |    6 +++++-

diffs (97 lines):

diff -r ba3574ed9f74 -r 597f969a9870 src/lmtp/client.c
--- a/src/lmtp/client.c	Thu Nov 05 17:27:46 2009 -0500
+++ b/src/lmtp/client.c	Thu Nov 05 17:55:36 2009 -0500
@@ -178,6 +178,16 @@ static void client_generate_session_id(s
 	client->state.session_id = p_strdup(client->state_pool, str_c(id));
 }
 
+static const char *client_remote_id(struct client *client)
+{
+	const char *addr;
+
+	addr = net_ip2addr(&client->remote_ip);
+	if (addr == NULL)
+		addr = "local";
+	return addr;
+}
+
 struct client *client_create(int fd_in, int fd_out,
 			     const struct master_service_connection *conn)
 {
@@ -216,6 +226,7 @@ struct client *client_create(int fd_in, 
 
 	client_send_line(client, "220 %s Dovecot LMTP ready",
 			 client->my_domain);
+	i_info("Connect from %s", client_remote_id(client));
 	return client;
 }
 
@@ -269,7 +280,7 @@ void client_disconnect(struct client *cl
 		client_send_line(client, "%s %s", prefix, reason);
 	else
 		reason = client_get_disconnect_reason(client);
-	i_info("%s", reason);
+	i_info("Disconnect from %s: %s", client_remote_id(client), reason);
 
 	client->disconnected = TRUE;
 }
diff -r ba3574ed9f74 -r 597f969a9870 src/lmtp/commands.c
--- a/src/lmtp/commands.c	Thu Nov 05 17:27:46 2009 -0500
+++ b/src/lmtp/commands.c	Thu Nov 05 17:55:36 2009 -0500
@@ -5,6 +5,7 @@
 #include "array.h"
 #include "str.h"
 #include "strescape.h"
+#include "hostpid.h"
 #include "istream.h"
 #include "istream-concat.h"
 #include "ostream.h"
@@ -402,7 +403,8 @@ client_deliver(struct client *client, co
 	enum mail_error mail_error;
 	int ret;
 
-	i_set_failure_prefix(t_strdup_printf("lmtp(%s): ", rcpt->name));
+	i_set_failure_prefix(t_strdup_printf("lmtp(%s, %s): ",
+					     my_pid, rcpt->name));
 	if (mail_storage_service_next(storage_service, rcpt->service_user,
 				      &client->state.dest_user,
 				      &error) < 0) {
@@ -465,7 +467,7 @@ static bool client_deliver_next(struct c
 	while (client->state.rcpt_idx < count) {
 		ret = client_deliver(client, &rcpts[client->state.rcpt_idx],
 				     src_mail);
-		i_set_failure_prefix("lmtp: ");
+		i_set_failure_prefix(t_strdup_printf("lmtp(%s): ", my_pid));
 
 		client->state.rcpt_idx++;
 		if (ret == 0)
diff -r ba3574ed9f74 -r 597f969a9870 src/lmtp/main.c
--- a/src/lmtp/main.c	Thu Nov 05 17:27:46 2009 -0500
+++ b/src/lmtp/main.c	Thu Nov 05 17:55:36 2009 -0500
@@ -3,6 +3,7 @@
 #include "lib.h"
 #include "array.h"
 #include "ioloop.h"
+#include "hostpid.h"
 #include "restrict-access.h"
 #include "fd-close-on-exec.h"
 #include "master-service.h"
@@ -55,7 +56,8 @@ int main(int argc, char *argv[])
 	enum mail_storage_service_flags storage_service_flags =
 		MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT |
 		MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP |
-		MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP;
+		MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP |
+		MAIL_STORAGE_SERVICE_NO_LOG_INIT;
 
 	if (IS_STANDALONE()) {
 		service_flags |= MASTER_SERVICE_FLAG_STANDALONE |
@@ -67,6 +69,8 @@ int main(int argc, char *argv[])
 	if (master_getopt(master_service) > 0)
 		return FATAL_DEFAULT;
 	master_service_init_finish(master_service);
+	master_service_init_log(master_service,
+				t_strdup_printf("lmtp(%s): ", my_pid));
 
 	storage_service = mail_storage_service_init(master_service, set_roots,
 						    storage_service_flags);


More information about the dovecot-cvs mailing list