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);
}
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);
}
}
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;
}
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,
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,