]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: connection - Turn connection_init_client_ip*() name parameter into an explicit...
authorStephan Bosch <stephan.bosch@dovecot.fi>
Thu, 7 Mar 2019 20:51:48 +0000 (21:51 +0100)
committerStephan Bosch <stephan.bosch@dovecot.fi>
Thu, 7 Mar 2019 20:51:48 +0000 (21:51 +0100)
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.

src/lib-smtp/smtp-client-connection.c
src/lib/connection.c
src/lib/connection.h

index 81908e47eee11dffe797b5ef940756579333bb68..c6e056df59f157762ee2cc313d2cd7c1cc39cb11 100644 (file)
@@ -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);
 }
index 21cd9a0efe95ebf74afffd498615e91003d75991..0e81424743d63f423e4663f72babc61719da5eba 100644 (file)
@@ -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,
index 478598e52f556a6925588197415a42bef30d4857..25bdbaed67ad5d743a3ffd4f7a507508991f0bce 100644 (file)
@@ -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,