From 26436224c36f3915d7e90f42d9daac2b0faf4512 Mon Sep 17 00:00:00 2001 From: Timo Sirainen <timo.sirainen@open-xchange.com> Date: Thu, 12 Jan 2023 23:30:36 +0200 Subject: [PATCH] global: Adjust to storage_user removal in mail_storage_service_lookup_next() Also change the callers to not bother storing it separately. Instead, they can just use mail_user_r->service_user. --- src/lib-sieve-tool/sieve-tool.c | 8 ++------ src/managesieve/main.c | 8 +++----- src/managesieve/managesieve-client.c | 5 +---- src/managesieve/managesieve-client.h | 2 -- src/testsuite/testsuite-mailstore.c | 4 +--- 5 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/lib-sieve-tool/sieve-tool.c b/src/lib-sieve-tool/sieve-tool.c index 81411a8ed..c91189372 100644 --- a/src/lib-sieve-tool/sieve-tool.c +++ b/src/lib-sieve-tool/sieve-tool.c @@ -52,7 +52,6 @@ struct sieve_tool { struct sieve_instance *svinst; struct mail_storage_service_ctx *storage_service; - struct mail_storage_service_user *service_user; struct mail_user *mail_user_dovecot; struct mail_user *mail_user; @@ -263,7 +262,7 @@ sieve_tool_init_finish(struct sieve_tool *tool, bool init_mailstore, tool->storage_service = mail_storage_service_init( master_service, NULL, storage_service_flags); if (mail_storage_service_lookup_next( - tool->storage_service, &service_input, &tool->service_user, + tool->storage_service, &service_input, &tool->mail_user_dovecot, &errstr) <= 0) i_fatal("%s", errstr); @@ -334,7 +333,6 @@ void sieve_tool_deinit(struct sieve_tool **_tool) if (tool->mail_user_dovecot != NULL) mail_user_unref(&tool->mail_user_dovecot); - mail_storage_service_user_unref(&tool->service_user); mail_storage_service_deinit(&tool->storage_service); /* Free sieve tool object */ @@ -354,7 +352,6 @@ void sieve_tool_init_mail_user(struct sieve_tool *tool, const char *mail_location) { struct mail_user *mail_user_dovecot = tool->mail_user_dovecot; - struct mail_storage_service_user *service_user; const char *username = tool->username; struct mail_namespace *ns = NULL; const char *home = NULL, *errstr = NULL; @@ -364,8 +361,7 @@ void sieve_tool_init_mail_user(struct sieve_tool *tool, .unexpanded_set_parser = mail_user_dovecot->unexpanded_set_parser, .no_userdb_lookup = TRUE, }; - if (mail_storage_service_lookup_next(tool->storage_service, - &input, &service_user, + if (mail_storage_service_lookup_next(tool->storage_service, &input, &tool->mail_user, &errstr) < 0) i_fatal("Test user lookup failed: %s", errstr); diff --git a/src/managesieve/main.c b/src/managesieve/main.c index 21eb2ffa3..2d964cf12 100644 --- a/src/managesieve/main.c +++ b/src/managesieve/main.c @@ -82,7 +82,7 @@ void managesieve_refresh_proctitle(void) static void client_kill_idle(struct client *client) { - mail_storage_service_io_activate_user(client->service_user); + mail_storage_service_io_activate_user(client->user->service_user); client_send_bye(client, MASTER_SERVICE_SHUTTING_DOWN_MSG"."); client_destroy(client, MASTER_SERVICE_SHUTTING_DOWN_MSG); } @@ -145,7 +145,6 @@ client_create_from_input(const struct mail_storage_service_input *input, const char **error_r) { struct mail_storage_service_input service_input; - struct mail_storage_service_user *user; struct mail_user *mail_user; struct client *client; struct managesieve_settings *set; @@ -163,7 +162,7 @@ client_create_from_input(const struct mail_storage_service_input *input, service_input = *input; service_input.event_parent = event; if (mail_storage_service_lookup_next(storage_service, &service_input, - &user, &mail_user, error_r) <= 0) { + &mail_user, error_r) <= 0) { event_unref(&event); return -1; } @@ -177,14 +176,13 @@ client_create_from_input(const struct mail_storage_service_input *input, if (mail_user_var_expand(mail_user, &managesieve_setting_parser_info, set, &error) <= 0) { e_error(event, "Failed to expand settings: %s", error); - mail_storage_service_user_unref(&user); mail_user_unref(&mail_user); event_unref(&event); return -1; } client = client_create(fd_in, fd_out, input->session_id, - event, mail_user, user, set); + event, mail_user, set); if (input_buf != NULL && input_buf->used > 0) client_add_istream_prefix(client, input_buf); client_create_finish(client); diff --git a/src/managesieve/managesieve-client.c b/src/managesieve/managesieve-client.c index 30b4dce62..604a7f03e 100644 --- a/src/managesieve/managesieve-client.c +++ b/src/managesieve/managesieve-client.c @@ -104,7 +104,6 @@ client_get_storage(struct sieve_instance *svinst, struct event *event, struct client * client_create(int fd_in, int fd_out, const char *session_id, struct event *event, struct mail_user *user, - struct mail_storage_service_user *service_user, const struct managesieve_settings *set) { struct client *client; @@ -139,7 +138,6 @@ client_create(int fd_in, int fd_out, const char *session_id, client->event = event; event_ref(client->event); client->set = set; - client->service_user = service_user; client->session_id = p_strdup(pool, session_id); client->fd_in = fd_in; client->fd_out = fd_out; @@ -281,7 +279,6 @@ void client_destroy(struct client *client, const char *reason) event_unref(&client->cmd.event); pool_unref(&client->cmd.pool); - mail_storage_service_user_unref(&client->service_user); managesieve_client_count--; DLLIST_REMOVE(&managesieve_clients, client); @@ -781,7 +778,7 @@ int client_output(struct client *client) void client_kick(struct client *client) { - mail_storage_service_io_activate_user(client->service_user); + mail_storage_service_io_activate_user(client->user->service_user); if (!client->command_pending) client_send_bye(client, MASTER_SERVICE_SHUTTING_DOWN_MSG"."); client_destroy(client, MASTER_SERVICE_SHUTTING_DOWN_MSG); diff --git a/src/managesieve/managesieve-client.h b/src/managesieve/managesieve-client.h index 96a6646f0..f674aa618 100644 --- a/src/managesieve/managesieve-client.h +++ b/src/managesieve/managesieve-client.h @@ -49,7 +49,6 @@ struct client { guid_128_t anvil_conn_guid; pool_t pool; - struct mail_storage_service_user *service_user; const struct managesieve_settings *set; struct mail_user *user; @@ -91,7 +90,6 @@ extern unsigned int managesieve_client_count; struct client * client_create(int fd_in, int fd_out, const char *session_id, struct event *event, struct mail_user *user, - struct mail_storage_service_user *service_user, const struct managesieve_settings *set); void client_create_finish(struct client *client); void client_destroy(struct client *client, const char *reason); diff --git a/src/testsuite/testsuite-mailstore.c b/src/testsuite/testsuite-mailstore.c index 730e5507c..bcf99606b 100644 --- a/src/testsuite/testsuite-mailstore.c +++ b/src/testsuite/testsuite-mailstore.c @@ -61,7 +61,6 @@ static char *testsuite_mailstore_attrs = NULL; void testsuite_mailstore_init(void) { - struct mail_storage_service_user *service_user; struct mail_user *mail_user_dovecot, *mail_user; struct mail_namespace *ns; struct mail_namespace_settings *ns_set; @@ -95,9 +94,8 @@ void testsuite_mailstore_init(void) }; if (mail_storage_service_lookup_next( sieve_tool_get_mail_storage_service(sieve_tool), - &input, &service_user, &mail_user, &error) < 0) + &input, &mail_user, &error) < 0) i_fatal("Test user initialization failed: %s", error); - mail_storage_service_user_unref(&service_user); mail_user->autocreated = TRUE; ns_set = p_new(mail_user->pool, struct mail_namespace_settings, 1); -- GitLab