c and d rights in GETACL responses
Jan Schneider <jan <at> horde.org>
2010-08-03 17:12:25 GMT
I'm not sure if this isn't rather a question for the IMAPEXT mailing
list, but I'm starting here because I only noticed it on Cyrus so far.
I wondering what the correct behavior of servers and clients should be
regarding the mapping of d and c ACL rights to RFC 4314 rights.
Cyrus as of version 2.3.11 only returns d and c rights in GETACL
responses if these have been set with a pre-4314 version of Cyrus. It
does not expand these rights to the corresponding kxte rights. This
behavior probably isn't wrong, at least I can't find anything in the
RFC about how to do it correctly. And that's exactly the problem when
developing a client. If I display the current rights to the user, I
display the kxte matrix because Cyrus implements 4314, but it doesn't
return kxte rights in GETACL responses, only the legacy dc rights. I
can't map those to kxte in the client either because I don't if the
server maps c to kx or k, etc. Well, I might know because it's Cyrus,
but I don't know from the IMAP conversation.
I would have expected that the IMAP server automatically expands the
(old) cd rights to kxte in GETACL responses because it's doing the
same internally when enforcing the rights, I guess. With the current
situation, the user doesn't know anything about create/delete rights
when using the client, because the kxte rights are never set because
of this behavior.
Is this a bug, an ambiguity of RFC 4314 or should I deal with this
differently in the client?