On Thu, 2010-08-05 at 18:02 +0200, Burckhard Schmidt wrote:
> If I copy a message (with TB) into that folder, I get an error if there
> exists no entry for that user and that folder within the database:
>
> dict: Error: sqlite: exec(INSERT INTO expires
> (expire_stamp,username,mailbox) VALUES
> ('1281016832','userx','AutoCleanSpam')) failed:
unable to open database
> file (14)
> dict: Error: sql dict: commit failed:
>
> If I make an initial entry manually first no error occurs.
You have to create the row for each user?..
> Anymore there is a problem concerning acl of the base directory of the
> expires.db:
> dict: Error: sqlite: open(/addons/expire/expires.db) failed: unable to
> open database file
> dict: Error: dict sql lookup failed: out of memory
It looks to me like 3/4 of those error messages are wrong..
> It was necessary to give "other" r-x permissions for directory
> /addons/expire.
r-x? o+rx?
> I use mail_uid = sysdov and mail_gid = sysdov. That is uid 29.
> Furthermore I work with userdb ldap and uid/gid mapping:
> user_attrs = homeDirectory=home,uidNumber=29,gidNumber=29
> So usually it was sufficient using acl like this
> drwxr-x--- 2 sysdov sysdov 5 Aug 5 16:00 /addons/expire
>
> As which user expire, dict, sqlite access are running?
dict process runs as $dovecot_internal_user (dovecot) by default. All
accesses to the expiredb are done via dict process, so you should just
make it accessible to dovecot user.