Michael Nguyen writes:

A13 ACL SET (INBOX.*) user=postmaster acdilrsw
* RIGHTS-INFO "INBOX.UNVERIFIED" "owner" al c e i p r s t w x
...
A13 OK ACL SET completed.
A14 list (acl) "" INBOX.*
* LIST (\HasNoChildren) "." "INBOX.UNVERIFIED" (("ACL" (("owner"
"acdilrsw"))))
...

Could umm...someone help me on the syntax for this?  :-)  That is, the
syntax I'd use to give postmaster access to all folders?

ACL SET replaces all existing ACLs on a folder with the ACL list specified by the ACL SET command. Courier requires that "owner" must always have "al" rights on its own folder. Your replacement ACL list did not specify "al" rights for "owner", and was rejected. That's what the RIGHTS-INFO response meant.

Furthermore, you probably want to set ACLs for both INBOX, and its subfolders, so you should be doing something like:

A13 ACL SET (INBOX INBOX.*) user=postmaster acdilrsw owner acdilrsw

Of course, the user can always remove postmaster's rights with any IMAP ACL-capable client.

The above can be done programmatically, by linking against Courier's libraries. The maildiracl command line tool is just a small wrapper for various maildir_aclt() functions.

It's probably more clean to use maildir_list() to enumerate all folders, including INBOX, then use maildir_aclt() to initialize their ACLs.


Attachment: pgp660adTvLW2.pgp
Description: PGP signature

Reply via email to