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.3.0.rc1~1199 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=baf7aa6b223a15d3fdd604b9ed1b2a810250e59c;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 f1b34da6cf..3a69077960 100644 --- a/src/lib-imap-client/imapc-connection.c +++ b/src/lib-imap-client/imapc-connection.c @@ -1642,6 +1642,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); @@ -1654,6 +1656,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) {