changeset 22415:ebeda476561b

lib-imap-client: Log an info-line when connected to remote server Include the remote IP:port ad local IP:port. This allows matching the connection with the remote server's logs (or e.g. haproxy logs).
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Tue, 01 Aug 2017 13:48:55 +0900
parents 7ee97c9d9b56
children 25af68ce9680
files src/lib-imap-client/imapc-connection.c
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-imap-client/imapc-connection.c	Sun Jun 18 13:07:14 2017 +0300
+++ b/src/lib-imap-client/imapc-connection.c	Tue Aug 01 13:48:55 2017 +0900
@@ -1644,6 +1644,8 @@
 static void imapc_connection_connected(struct imapc_connection *conn)
 {
 	const struct ip_addr *ip = &conn->ips[conn->prev_connect_idx];
+	struct ip_addr local_ip;
+	in_port_t local_port;
 	int err;
 	if (conn->io != NULL)
 		io_remove(&conn->io);
@@ -1656,6 +1658,11 @@
 			strerror(err)), conn->client->set.connect_retry_interval_msecs, TRUE);
 		return;
 	}
+	if (net_getsockname(conn->fd, &local_ip, &local_port) < 0)
+		local_port = 0;
+	i_info("imapc(%s): Connected to %s:%u (local %s:%u)", conn->name,
+	       net_ip2addr(ip), conn->client->set.port,
+	       net_ip2addr(&local_ip), local_port);
 	conn->io = io_add(conn->fd, IO_READ, imapc_connection_input, conn);
 
 	if (conn->client->set.ssl_mode == IMAPC_CLIENT_SSL_MODE_IMMEDIATE) {