]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-imap-client: Log an info-line when connected to remote server
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 1 Aug 2017 04:48:55 +0000 (13:48 +0900)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Thu, 10 Aug 2017 09:41:35 +0000 (12:41 +0300)
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).

src/lib-imap-client/imapc-connection.c

index 3051d580ce1fb0ff93213e7fee89582721985af1..15c21fa171e3efcee6c0eddb0bcc67ee1a46811d 100644 (file)
@@ -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) {