changeset 22115:8c9f8c766e36

acl: Global ACL file was parsed as if it was local ACL file This caused some of the ACL handling not work exactly as expected.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Mon, 29 May 2017 17:58:35 +0300
parents eaddde982df5
children d3b036026c6e
files src/plugins/acl/acl-global-file.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/acl/acl-global-file.c	Mon May 29 17:26:52 2017 +0300
+++ b/src/plugins/acl/acl-global-file.c	Mon May 29 17:58:35 2017 +0300
@@ -105,8 +105,11 @@
 
 	pright = array_append_space(&ctx->parse_rights);
 	pright->vpattern = p_strdup(ctx->file->rights_pool, vpattern);
-	return acl_rights_parse_line(line, ctx->file->rights_pool,
-				     &pright->rights, error_r);
+	if (acl_rights_parse_line(line, ctx->file->rights_pool,
+				  &pright->rights, error_r) < 0)
+		return -1;
+	pright->rights.global = TRUE;
+	return 0;
 }
 
 static int acl_global_file_read(struct acl_global_file *file)