cyrus 2.3.x and thunderbird 2.x delete issue
Wolfgang Breyha
wbreyha at gmx.net
Thu Apr 19 17:34:23 EDT 2007
Hi!
I had troubles with cyrus 2.3.x and thunderbird 2.x. Thunderbird checks the
ACLs now and issues a "myrights" and "getacl" command. Since thunderbird
only checks RFC 2086 flags it disables "DELETE" access since cyrus 2.3.x
reports the compatibility flags only with "myrights" but not with "getacl".
I think RFC 4314 requires both ...
"When any of the "delete" member rights is set in a list of rights,
the server MUST also include the "d" right when returning the list in
a MYRIGHTS or ACL response."
Sample response from cyrus for "MYRIGHTS"...
. myrights INBOX
* MYRIGHTS INBOX lrswipkxtecda
... "cd" included here,
but cyrus fails to return them on "GETACL" eg.:
. getacl INBOX
* ACL INBOX testuser lrswipkxtea
I've tried a quickfix...
--- cyrus-imapd-2.3.8/imap/imapd.c.orig 2007-04-19 22:43:37.000000000 +0200
+++ cyrus-imapd-2.3.8/imap/imapd.c 2007-04-19 22:41:36.000000000 +0200
@@ -5979,6 +5979,7 @@
int r, access;
char *acl;
char *rights, *nextid;
+ char str[ACL_MAXSTR];
r = (*imapd_namespace.mboxname_tointernal)(&imapd_namespace, name,
imapd_userid, mailboxname);
@@ -6021,7 +6022,7 @@
prot_printf(imapd_out, " ");
printastring(acl);
prot_printf(imapd_out, " ");
- printastring(rights);
+ printastring(cyrus_acl_masktostr(cyrus_acl_strtomask(rights), str));
acl = nextid;
}
prot_printf(imapd_out, "\r\n");
Works as proof-of-concept with Thunderbird now.
Regards, Wolfgang
--
Wolfgang Breyha <wbreyha at gmx.net> | http://www.blafasel.at/
Vienna University Computer Center | Austria
More information about the Info-cyrus
mailing list