From: Timo Sirainen Date: Tue, 1 Aug 2017 04:48:55 +0000 (+0900) Subject: lib-imap-client: Log an info-line when connected to remote server X-Git-Tag: 2.2.32.rc1~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e97f0131706fe5e97ed271ca5a5557165ca2005;p=thirdparty%2Fdovecot%2Fcore.git 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). --- diff --git a/src/lib-imap-client/imapc-connection.c b/src/lib-imap-client/imapc-connection.c index 3051d580ce..15c21fa171 100644 --- a/src/lib-imap-client/imapc-connection.c +++ b/src/lib-imap-client/imapc-connection.c @@ -1644,6 +1644,8 @@ static int imapc_connection_ssl_init(struct imapc_connection *conn) 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 @@ static void imapc_connection_connected(struct imapc_connection *conn) 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) {