}
}
-struct smtp_client_connection *
-smtp_client_connection_create(struct smtp_client *client,
- enum smtp_protocol protocol, const char *host, in_port_t port,
- enum smtp_client_connection_ssl_mode ssl_mode,
- const struct smtp_client_settings *set)
+static struct smtp_client_connection *
+smtp_client_connection_do_create(struct smtp_client *client, const char *name,
+ enum smtp_protocol protocol,
+ const struct smtp_client_settings *set)
{
static unsigned int id = 0;
struct smtp_client_connection *conn;
conn->client = client;
conn->id = id++;
conn->protocol = protocol;
- conn->host = p_strdup(conn->pool, host);
- conn->port = port;
- conn->ssl_mode = ssl_mode;
- conn->conn.name = i_strdup_printf("%s:%u", host, port);
+ conn->conn.name = i_strdup(name);
conn->set = client->set;
if (set != NULL) {
return conn;
}
+struct smtp_client_connection *
+smtp_client_connection_create(struct smtp_client *client,
+ enum smtp_protocol protocol, const char *host, in_port_t port,
+ enum smtp_client_connection_ssl_mode ssl_mode,
+ const struct smtp_client_settings *set)
+{
+ struct smtp_client_connection *conn;
+ const char *name = t_strdup_printf("%s:%u", host, port);
+
+ conn = smtp_client_connection_do_create(client, name, protocol, set);
+ conn->host = p_strdup(conn->pool, host);
+ conn->port = port;
+ conn->ssl_mode = ssl_mode;
+
+ return conn;
+}
+
struct smtp_client_connection *
smtp_client_connection_create_ip(struct smtp_client *client,
enum smtp_protocol protocol, const struct ip_addr *ip, in_port_t port,