[Dovecot] dovecot 2.0 rc4, expire, sqlite

Burckhard Schmidt bschmidt at cms.hu-berlin.de
Fri Aug 6 17:35:27 EEST 2010



On 05.08.2010 18:38, Timo Sirainen wrote:
> 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.
>

user "dovecot" solves the problems.

drwx------  dovecot  dovecot      6 Aug  6 14:20 /addons/expire
-rw-------  dovecot  dovecot   3072 Aug  6 14:20 expires.db


-- 
regards
Burckhard Schmidt


More information about the dovecot mailing list