]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-doveadm: doveadm_client_create() - Store ips and ips_count to doveadm_client
authorMarkus Valentin <markus.valentin@open-xchange.com>
Mon, 10 Oct 2022 11:27:15 +0000 (13:27 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Fri, 16 Dec 2022 12:34:45 +0000 (12:34 +0000)
src/lib-doveadm/doveadm-client.c

index 541cd72dc9ddc9878b8f885079acab9610d02414..792db1ff398e52f1ed3fc0fc965d7b231652f30f 100644 (file)
@@ -42,6 +42,10 @@ struct doveadm_client {
        const char *delayed_cmd;
        struct doveadm_client_cmd_settings delayed_set;
        doveadm_client_cmd_callback_t *callback;
+
+       unsigned int ips_count;
+       struct ip_addr *ips;
+
        void *context;
 
        doveadm_client_print_t *print_callback;
@@ -680,8 +684,13 @@ int doveadm_client_create(const struct doveadm_client_settings *set,
                        pool_unref(&pool);
                        return -1;
                }
+               conn->ips = p_new(conn->pool, struct ip_addr, 1);
+               conn->ips[0] = ips[0];
+               conn->ips_count = 1;
+
                connection_init_client_ip(doveadm_clients, &conn->conn,
-                                         set->hostname, &ips[0], set->port);
+                                         set->hostname, &conn->ips[0],
+                                         set->port);
        }
        if (connection_client_connect(&conn->conn) < 0) {
                *error_r = t_strdup_printf(