]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: doveadm_mail_server_user() - Remove input parameter
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 17 Jun 2021 09:23:42 +0000 (12:23 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Mon, 17 Jan 2022 11:52:09 +0000 (13:52 +0200)
All the necessary information is in the command context already. Also note
that mail_storage_service_init_settings() doesn't actually need anything but
the service.

src/doveadm/doveadm-mail-server.c
src/doveadm/doveadm-mail.c
src/doveadm/doveadm-mail.h

index 4cec31d7d1f5ca9e28b3e9f6b7b9593d35a46456..bbfa693322ecd3b5e17931dc53e6bc9eaf928a68 100644 (file)
@@ -301,7 +301,6 @@ static void doveadm_server_flush_one(struct doveadm_server *server)
 
 static int
 doveadm_mail_server_user_get_host(struct doveadm_mail_cmd_context *ctx,
-                                 const struct mail_storage_service_input *input,
                                  const char **user_r, const char **host_r,
                                  struct ip_addr *hostip_r, in_port_t *port_r,
                                  enum auth_proxy_ssl_flags *ssl_flags_r,
@@ -317,7 +316,7 @@ doveadm_mail_server_user_get_host(struct doveadm_mail_cmd_context *ctx,
        struct auth_proxy_settings proxy_set;
        int ret;
 
-       *user_r = input->username;
+       *user_r = ctx->cctx->username;
        *host_r = ctx->set->doveadm_socket_path;
        *port_r = ctx->set->doveadm_port;
        *referral_r = NULL;
@@ -334,19 +333,22 @@ doveadm_mail_server_user_get_host(struct doveadm_mail_cmd_context *ctx,
        }
 
        /* make sure we have an auth connection */
-       mail_storage_service_init_settings(ctx->storage_service, input);
+       struct mail_storage_service_input input = {
+               .service = master_service_get_name(master_service),
+       };
+       mail_storage_service_init_settings(ctx->storage_service, &input);
 
        i_zero(&info);
        info.service = master_service_get_name(master_service);
-       info.local_ip = input->local_ip;
-       info.remote_ip = input->remote_ip;
-       info.local_port = input->local_port;
-       info.remote_port = input->remote_port;
+       info.local_ip = ctx->cctx->local_ip;
+       info.remote_ip = ctx->cctx->remote_ip;
+       info.local_port = ctx->cctx->local_port;
+       info.remote_port = ctx->cctx->remote_port;
 
        pool = pool_alloconly_create("auth lookup", 1024);
        auth_conn = mail_storage_service_get_auth_conn(ctx->storage_service);
        auth_socket_path = auth_master_get_socket_path(auth_conn);
-       ret = auth_master_pass_lookup(auth_conn, input->username, &info,
+       ret = auth_master_pass_lookup(auth_conn, ctx->cctx->username, &info,
                                      pool, &fields);
        if (ret < 0) {
                *error_r = fields[0] != NULL ?
@@ -432,7 +434,6 @@ doveadm_mail_server_user_get_host(struct doveadm_mail_cmd_context *ctx,
 }
 
 int doveadm_mail_server_user(struct doveadm_mail_cmd_context *ctx,
-                            const struct mail_storage_service_input *input,
                             const char **error_r)
 {
        struct doveadm_server *server;
@@ -448,7 +449,7 @@ int doveadm_mail_server_user(struct doveadm_mail_cmd_context *ctx,
        cmd_ctx = ctx;
 
        i_zero(&hostip);
-       ret = doveadm_mail_server_user_get_host(ctx, input, &user, &host, &hostip,
+       ret = doveadm_mail_server_user_get_host(ctx, &user, &host, &hostip,
                                                &port, &ssl_flags, &referral, error_r);
        if (ret < 0)
                return ret;
index 84d798a3bf7606f4fc30740266461f04101d8cf0..b2523317e5268b82de767c89130a4ef9865d4f2d 100644 (file)
@@ -424,16 +424,16 @@ doveadm_mail_next_user(struct doveadm_mail_cmd_context *ctx,
                i_set_failure_prefix("doveadm(%s): ", cctx->username);
        else
                i_set_failure_prefix("doveadm(%s,%s): ", ip, cctx->username);
-       doveadm_cctx_to_storage_service_input(cctx, &input);
        if (ctx->cmd_input != NULL)
                i_stream_seek(ctx->cmd_input, 0);
 
        /* see if we want to execute this command via (another)
           doveadm server */
-       ret = doveadm_mail_server_user(ctx, &input, error_r);
+       ret = doveadm_mail_server_user(ctx, error_r);
        if (ret != 0)
                return ret;
 
+       doveadm_cctx_to_storage_service_input(cctx, &input);
        ret = mail_storage_service_lookup(ctx->storage_service, &input,
                                          &ctx->cur_service_user, &error);
        if (ret <= 0) {
index 1af075d70e104af7a8be64d035dae1c0f9c7510d..928494de0853f491e6edbdf19a3050f904ab5b1b 100644 (file)
@@ -130,7 +130,6 @@ void doveadm_mail_cmd_free(struct doveadm_mail_cmd_context *ctx);
 int doveadm_mail_single_user(struct doveadm_mail_cmd_context *ctx,
                             const char **error_r);
 int doveadm_mail_server_user(struct doveadm_mail_cmd_context *ctx,
-                            const struct mail_storage_service_input *input,
                             const char **error_r);
 void doveadm_mail_server_flush(void);