[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