[Dovecot] dovecot 2.0 rc4, expire, sqlite

Timo Sirainen tss at iki.fi
Thu Aug 5 19:38:48 EEST 2010


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.



More information about the dovecot mailing list