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>