]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
acl: If acl_user is set, use it for ACL username checks. Overrides master_user.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 8 Feb 2016 10:04:02 +0000 (12:04 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 8 Feb 2016 10:04:02 +0000 (12:04 +0200)
src/plugins/acl/acl-mailbox-list.c
src/plugins/acl/acl-plugin.h
src/plugins/acl/acl-storage.c

index a1ee5e2ea9a5a810fa340d4d67b0d5f9e96fad1f..dace9e99f7d0692d87977c7315c478388254b4d2 100644 (file)
@@ -509,7 +509,7 @@ void acl_mail_namespace_storage_added(struct mail_namespace *ns)
                return;
 
        owner_username = ns->user->username;
-       current_username = auser->master_user;
+       current_username = auser->acl_user;
        if (current_username == NULL)
                current_username = owner_username;
        else
index b8775e02a84bca325b6dc09848befc8ba1a26f46..862a7d99f21442bb35a3f6c4f10154b816aa98a1 100644 (file)
@@ -16,7 +16,7 @@
 struct acl_user {
        union mail_user_module_context module_ctx;
 
-       const char *master_user;
+       const char *acl_user;
        const char *acl_env;
        const char *const *groups;
 
index 9700c1bb69003f1b7b001cab252a1f4915ac875e..30552f0fbae23f7355b3905e84d632906ed10c76 100644 (file)
@@ -35,7 +35,9 @@ static void acl_mail_user_create(struct mail_user *user, const char *env)
        auser->acl_lookup_dict = acl_lookup_dict_init(user);
 
        auser->acl_env = env;
-       auser->master_user = mail_user_plugin_getenv(user, "master_user");
+       auser->acl_user = mail_user_plugin_getenv(user, "acl_user");
+       if (auser->acl_user == NULL)
+               auser->acl_user = mail_user_plugin_getenv(user, "master_user");
 
        env = mail_user_plugin_getenv(user, "acl_groups");
        if (env != NULL) {