diff --git a/src/lib-sieve-tool/sieve-tool.c b/src/lib-sieve-tool/sieve-tool.c index 81411a8ed22f8ace0147622e9b13c53a488f3f8a..c911893729655c1d5f0f0c3ad8827946a274ed35 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 21eb2ffa36265ff98945047f8b43351e39ef0e6a..2d964cf12c33edda93c9435f4e99871473509da6 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 30b4dce6220cde7b2bf0c3415858663d8878eff2..604a7f03e8e1868f5c01d1cad478d065b7c5f01c 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 96a6646f07288f9eeebac76f7d345d2d1633062c..f674aa61820237f888fec3d03dd1a845a549e75d 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 730e5507cda6cd78e2becb657214c5ddcf86a80e..bcf99606b6114b01cd72ca3aefab89a42d30f601 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);