]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-dns: Set error_r in dns_client_connect() on failure
authorMartti Rannanjärvi <martti.rannanjarvi@dovecot.fi>
Wed, 29 Aug 2018 10:40:33 +0000 (13:40 +0300)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Wed, 14 Nov 2018 11:44:40 +0000 (13:44 +0200)
src/lib-dns/dns-lookup.c

index 2c134a2727dd7c84965d04fb221316bc6ac5e9c8..7fcf970198b9341f6e5f29149f5b891c7eca773f 100644 (file)
@@ -321,7 +321,7 @@ void dns_client_deinit(struct dns_client **_client)
        i_free(client);
 }
 
-int dns_client_connect(struct dns_client *client, const char **error_r ATTR_UNUSED)
+int dns_client_connect(struct dns_client *client, const char **error_r)
 {
        if (client->connected)
                return 0;
@@ -329,7 +329,11 @@ int dns_client_connect(struct dns_client *client, const char **error_r ATTR_UNUS
        connection_init_client_unix(client->clist, &client->conn, client->path);
        if (client->ioloop != NULL)
                connection_switch_ioloop_to(&client->conn, client->ioloop);
-       return connection_client_connect(&client->conn);
+       int ret = connection_client_connect(&client->conn);
+       if (ret < 0)
+               *error_r = t_strdup_printf("Failed to connect to %s: %m",
+                                          client->path);
+       return ret;
 }
 
 static int