From: Timo Sirainen Date: Thu, 19 Jan 2023 21:25:17 +0000 (+0200) Subject: lib-storage, util: mail_storage_service_restrict_setenv() - Remove ctx parameter X-Git-Tag: 2.4.0~2287 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53a711fa66e373fc391fa0ec06dffa6f4b80f1f2;p=thirdparty%2Fdovecot%2Fcore.git lib-storage, util: mail_storage_service_restrict_setenv() - Remove ctx parameter It can be accessed via the user parameter. --- diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index 4db2db7181..4a3d93818a 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -1579,13 +1579,12 @@ int mail_storage_service_next_with_session_suffix(struct mail_storage_service_ct return ret; } -void mail_storage_service_restrict_setenv(struct mail_storage_service_ctx *ctx, - struct mail_storage_service_user *user) +void mail_storage_service_restrict_setenv(struct mail_storage_service_user *user) { struct mail_storage_service_privileges priv; const char *error; - if (service_parse_privileges(ctx, user, &priv, &error) < 0) + if (service_parse_privileges(user->service_ctx, user, &priv, &error) < 0) i_fatal("user %s: %s", user->input.username, error); if (service_drop_privileges(user, &priv, TRUE, FALSE, TRUE, &error) < 0) diff --git a/src/lib-storage/mail-storage-service.h b/src/lib-storage/mail-storage-service.h index adddc4081f..86f84258b8 100644 --- a/src/lib-storage/mail-storage-service.h +++ b/src/lib-storage/mail-storage-service.h @@ -117,8 +117,7 @@ int mail_storage_service_next_with_session_suffix(struct mail_storage_service_ct const char *session_id_postfix, struct mail_user **mail_user_r, const char **error_r); -void mail_storage_service_restrict_setenv(struct mail_storage_service_ctx *ctx, - struct mail_storage_service_user *user); +void mail_storage_service_restrict_setenv(struct mail_storage_service_user *user); /* Combine lookup() and next() into one call. */ int mail_storage_service_lookup_next(struct mail_storage_service_ctx *ctx, const struct mail_storage_service_input *input, diff --git a/src/util/script-login.c b/src/util/script-login.c index 14346c4bd0..be77c78024 100644 --- a/src/util/script-login.c +++ b/src/util/script-login.c @@ -118,7 +118,7 @@ static void client_connected(struct master_service_connection *conn) service_ctx = mail_storage_service_init(master_service, NULL, flags); if (mail_storage_service_lookup(service_ctx, &input, &user, &error) <= 0) i_fatal("%s", error); - mail_storage_service_restrict_setenv(service_ctx, user); + mail_storage_service_restrict_setenv(user); /* we can't exec anything in a chroot */ env_remove("RESTRICT_CHROOT"); restrict_access_by_env(0, getenv("HOME"));