Hello everyone,
while I understand (and am glad to see) that the codebase evolved almost beyond recognition since I submitted it, from a superficial glance over the present code, I get the impression that it might be better to employ an additional check along the lines of what I had done in the piece of equivalent 1.1.x code I attached (forgive the Windows-style linebreaks and space-based indentations, I copypasted from PuTTY to Notepad...) to prevent adding the same right to the array twice when parsing a letters string that contains both the obsolete rights and any of the regular rights it aliases to (e.g. "xc"). Of course, something like that might be silently intercepted later in the code by now in a change of action that eluded my sight; in that case, the submitted code should work fine.
Either way, I am happy to see this is still being worked on.
Regards, Matvey.
2009/2/6 Sascha Wilde wilde@intevation.de
Hi Timo, Hi *,
I just recognized that the new imap-acl plugin in dovecot 1.2 does not know the obsolete rights 'd' and 'c' when setting. According to RFC 4314 section 2.1.1.:
If a client includes the "d" right in a rights list, then it MUST be treated as if the client had included every member of the "delete" right.
and
If a client includes the "c" right in a rights list, then it MUST be treated as if the client had included every member of the "create" right.
Unfortunatly there are actually clients which depend on this behavior.
I attached a rather rough[0] patch which implements this.
cheers sascha
[0] I don't like the use of static indexes witch imap_acl_letter_map but currently I wasn't able to decide on a more elegant solution.
Sascha Wilde OpenPGP key: 4BB86568 http://www.intevation.de/~wilde/ http://www.intevation.de/%7Ewilde/ http://www.intevation.de/ Intevation GmbH, Neuer Graben 17, 49074 Osnabrück; AG Osnabrück, HR B 18998 Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner