Xueron Nee
2009-Apr-07 08:38 UTC
[Dovecot] Is there any more detailed docs about dict configuration
Hi, I am looking for some help on dict configration. I'm trying to config shared and public mailbox, and use sql as acl backend. Here is my config: table: CREATE TABLE `shared_dict` ( `id` int(10) NOT NULL AUTO_INCREMENT, `from_user` char(50) NOT NULL, `to_user` char(50) NOT NULL, `status` int(10) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), KEY `from_user` (`from_user`), KEY `to_user` (`to_user`) ) dovecot-dict-sql.conf map { pattern = shared/shared-boxes/user/$from/$to table = shared_dict value_field = status fields { from_user = $from to_user = $to } } dovecot.conf acl_shared_dict = proxy::shared_dict It works, and when i use 'setacl', it can add a record. All I want are some more detailed docs about the `pattern' line, and such as how to add a `group' function. :) Detailed on quota/expire dict configration are welcome, too. :) Thanks! -- Xueron Nee http://www.xueron.com
Xueron Nee
2009-Apr-07 13:11 UTC
[Dovecot] Is there any more detailed docs about dict configuration
There is a log: dict: sql dict iterate: Invalid/unmapped path: shared/shared-boxes/anyone/ is 'anyone' a default key and queried every time? On Tue, 07 Apr 2009 16:38:12 +0800 Xueron Nee <xueron at xueron.com> wrote:> Hi, > > I am looking for some help on dict configration. I'm trying to config > shared and public mailbox, and use sql as acl backend. > > Here is my config: > table: > CREATE TABLE `shared_dict` ( > `id` int(10) NOT NULL AUTO_INCREMENT, > `from_user` char(50) NOT NULL, > `to_user` char(50) NOT NULL, > `status` int(10) NOT NULL DEFAULT '1', > PRIMARY KEY (`id`), > KEY `from_user` (`from_user`), > KEY `to_user` (`to_user`) > ) > > dovecot-dict-sql.conf > map { > pattern = shared/shared-boxes/user/$from/$to > table = shared_dict > value_field = status > fields { > from_user = $from > to_user = $to > } > } > > dovecot.conf > acl_shared_dict = proxy::shared_dict > > It works, and when i use 'setacl', it can add a record. > > All I want are some more detailed docs about the `pattern' line, and > such as how to add a `group' function. :) > > Detailed on quota/expire dict configration are welcome, too. :) > > Thanks! > > -- > Xueron Nee > http://www.xueron.com-- Xueron Nee http://www.xueron.com
Timo Sirainen
2009-Apr-16 23:33 UTC
[Dovecot] Is there any more detailed docs about dict configuration
On Tue, 2009-04-07 at 16:38 +0800, Xueron Nee wrote:> dovecot-dict-sql.conf > map { > pattern = shared/shared-boxes/user/$from/$to > table = shared_dict > value_field = status > fields { > from_user = $from > to_user = $to > } > } > > dovecot.conf > acl_shared_dict = proxy::shared_dict > > It works, and when i use 'setacl', it can add a record. > > All I want are some more detailed docs about the `pattern' line, and > such as how to add a `group' function. :)First you'll need to know what kind of dict paths the code uses. ACL plugin uses these paths: shared/shared-boxes/anyone/$owner shared/shared-boxes/user/$user/$owner shared/shared-boxes/group/$group/$owner $owner is the user who is sharing the mailbox. $user and $group are the users/groups who the mailbox is being shared to. Next you need to decide how those paths are mapped to SQL. You've currently mapped only the /user/ part. You could probably combine the user and group by making that part in the path a $type (shared/shared-boxes/$type/$id/$owner) and adding a new "type" column to SQL table that would contain either "user" or "group". But perhaps a cleaner solution would be to add a whole new table for it, something like: map { pattern = shared/shared-boxes/group/$group/$owner table = shared_dict_groups value_field = status fields { group = $group owner = $owner } } And something similar for "anyone" if you want to enable it. Hopefully that works, I haven't tried it. :) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20090416/76759cdd/attachment-0002.bin>