changeset 8454:ba5f7a4b89d6 HEAD

IMAP: SETACL +<rights> or -<rights> was broken.
author Timo Sirainen <tss@iki.fi>
date Wed, 19 Nov 2008 20:03:33 +0200
parents 1d542b149bed
children 645af8d240d6
files src/plugins/imap-acl/imap-acl-plugin.c
diffstat 1 files changed, 14 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/imap-acl/imap-acl-plugin.c	Wed Nov 19 19:54:41 2008 +0200
+++ b/src/plugins/imap-acl/imap-acl-plugin.c	Wed Nov 19 20:03:33 2008 +0200
@@ -382,6 +382,20 @@
 		identifier++;
 	}
 
+	switch (*rights) {
+	case '-':
+		update.modify_mode = ACL_MODIFY_MODE_REMOVE;
+		rights++;
+		break;
+	case '+':
+		update.modify_mode = ACL_MODIFY_MODE_ADD;
+		rights++;
+		break;
+	default:
+		update.modify_mode = ACL_MODIFY_MODE_REPLACE;
+		break;
+	}
+
 	if (imap_acl_identifier_parse(identifier, &update.rights,
 				      TRUE, &error) < 0) {
 		client_send_command_error(cmd, error);
@@ -396,20 +410,6 @@
 	if (box == NULL)
 		return TRUE;
 
-	switch (*rights) {
-	case '-':
-		update.modify_mode = ACL_MODIFY_MODE_REMOVE;
-		rights++;
-		break;
-	case '+':
-		update.modify_mode = ACL_MODIFY_MODE_ADD;
-		rights++;
-		break;
-	default:
-		update.modify_mode = ACL_MODIFY_MODE_REPLACE;
-		break;
-	}
-
 	if (negative) {
 		update.neg_modify_mode = update.modify_mode;
 		update.modify_mode = ACL_MODIFY_MODE_REMOVE;