From: Stephan Bosch Date: Thu, 7 Mar 2019 20:51:48 +0000 (+0100) Subject: lib: connection - Turn connection_init_client_ip*() name parameter into an explicit... X-Git-Tag: 2.3.9~674 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=062ed1d43e19dc2b2d2010a41841afb74ebdd65c;p=thirdparty%2Fdovecot%2Fcore.git lib: connection - Turn connection_init_client_ip*() name parameter into an explicit hostname. This way, the default connection name will be hostname:ip when hostname is not NULL. This will be helpful once the connection API has TLS support. --- diff --git a/src/lib-smtp/smtp-client-connection.c b/src/lib-smtp/smtp-client-connection.c index 81908e47ee..c6e056df59 100644 --- a/src/lib-smtp/smtp-client-connection.c +++ b/src/lib-smtp/smtp-client-connection.c @@ -1488,9 +1488,6 @@ static void smtp_client_connection_connect_next_ip(struct smtp_client_connection *conn) { const struct ip_addr *ip, *my_ip = &conn->set.my_ip; - const char *conn_name = (conn->host_is_ip ? NULL : - t_strdup_printf("%s:%u", conn->host, - conn->port)); timeout_remove(&conn->to_connect); @@ -1506,7 +1503,8 @@ smtp_client_connection_connect_next_ip(struct smtp_client_connection *conn) } connection_init_client_ip_from(conn->client->conn_list, &conn->conn, - conn_name, ip, conn->port, my_ip); + (conn->host_is_ip ? NULL : conn->host), + ip, conn->port, my_ip); smtp_client_connection_do_connect(conn); } diff --git a/src/lib/connection.c b/src/lib/connection.c index 21cd9a0efe..0e81424743 100644 --- a/src/lib/connection.c +++ b/src/lib/connection.c @@ -590,10 +590,16 @@ void connection_init_client_fd(struct connection_list *list, } void connection_init_client_ip_from(struct connection_list *list, - struct connection *conn, const char *name, + struct connection *conn, + const char *hostname, const struct ip_addr *ip, in_port_t port, const struct ip_addr *my_ip) { + const char *name = NULL; + + if (hostname != NULL) + name = t_strdup_printf("%s:%u", hostname, port); + i_assert(list->set.client); conn->remote_ip = *ip; @@ -615,10 +621,10 @@ void connection_init_client_ip_from(struct connection_list *list, } void connection_init_client_ip(struct connection_list *list, - struct connection *conn, const char *name, + struct connection *conn, const char *hostname, const struct ip_addr *ip, in_port_t port) { - connection_init_client_ip_from(list, conn, name, ip, port, NULL); + connection_init_client_ip_from(list, conn, hostname, ip, port, NULL); } void connection_init_client_unix(struct connection_list *list, diff --git a/src/lib/connection.h b/src/lib/connection.h index 478598e52f..25bdbaed67 100644 --- a/src/lib/connection.h +++ b/src/lib/connection.h @@ -174,11 +174,12 @@ void connection_init_server_ip(struct connection_list *list, const struct ip_addr *remote_ip, in_port_t remote_port) ATTR_NULL(3, 6); void connection_init_client_ip(struct connection_list *list, - struct connection *conn, const char *name, + struct connection *conn, const char *hostname, const struct ip_addr *ip, in_port_t port) ATTR_NULL(3); void connection_init_client_ip_from(struct connection_list *list, - struct connection *conn, const char *name, + struct connection *conn, + const char *hostname, const struct ip_addr *ip, in_port_t port, const struct ip_addr *my_ip) ATTR_NULL(3,6); void connection_init_client_unix(struct connection_list *list,