Mercurial > dovecot > original-hg > dovecot-1.2
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;