On Fri, 2009-02-20 at 17:48 +0100, Bernhard Herzog wrote:
On 18.02.2009, Sascha Wilde wrote:
according to RfC4314 the rights argument to the setacl command might be an empty string ("zero right characters"):
The third argument is a string containing an optional plus ("+") or minus ("-") prefix, followed by zero or more rights characters.
existing clients (horde in particular) actually use this to remove all rights from an user.
Currently dovecot 1.2 does not accept an empty rights string as argument to setacl. Bernhard Herzog will look into this.
Below is a patch that fixes this. SETACL with an empty string as rights will be equivalent to DELETEACL with the same identifier.
Committed.
While testing this, I noticed two other problems in the imap-acl plugin, both related to negative ACL entries. If an ACL contains both negative and positive entries for the same identifier, no space is output in the the GETACL response, leading to something like e.g.
- ACL "INBOX/foo" "someuser" lrs-"someuser" w
Fixed.
The second problem is that the "-" is not inside the double quotes.
Fixed.