Ilja Booij wrote:

Thomas Mueller wrote:

Hi,

RFC 2086 defines the special user 'anyone' to change rights for every
user (for example make a mailbox readable for every user - that's what I
try to do). Am I right that 'anyone' isn't implemented yet?

I've just looked through the code and through the rfc. I can't believe I missed that. How strange. And stupid.
(I'm staring at the screen in amazement now).

* Ilja hits himself in head.

OK, I'll try to find the cleanest and quickest solution to this. IMAP ACL without 'anyone' is just broken. :(

Ilja..

The fix was actually quite easy. Only one function needs to be changed, acl_has_right() in acl.c. If a user does not have some permission to a mailbox, it's checked wether or not 'anyone' perhaps has the permission.

One key thing to notice is this:
We need to add a user to the database with the name 'anyone'. This is unavoidable. We cannot have another user with the name 'anyone', even if we put IMAP_ACL_ANYONE in the database with an obsfucated name, like [EMAIL PROTECTED]@__, because a command like

   SETACL mailbox anyone lr
would not make any sense anymore.

Anyway:
The code has been fixed (it also works without an 'anyone' user in the database). We just need to put the 'anyone' user into the database in the creation & migration scripts.

Any remarks about this?

Ilja


--
Ilja Booij
IC&S B.V.

Stadhouderslaan 57
3583 JD  Utrecht
www.ic-s.nl

T algemeen: 030 6355730
T direct: 030 6355739
F: 030 6355731
E: [EMAIL PROTECTED]

Reply via email to