[Dovecot] v1.1.11 released
Michal Soltys
soltys at ziu.info
Mon Feb 9 12:49:01 EET 2009
Udo Rader wrote:
> Michal Soltys wrote:
>> Timo Sirainen wrote:
>>> http://dovecot.org/releases/1.1/dovecot-1.1.11.tar.gz
>>> http://dovecot.org/releases/1.1/dovecot-1.1.11.tar.gz.sig
>>>
>>> - If mail_chroot is set, don't fail at startup in dump-capability.
>>>
>>
>> Now whenever a system user (using passwd passdb/userdb) is trying to
>> read the mail, it tries to chroot without stripping initial chroot
>> specific path components, for example:
>>
>> Feb 8 13:39:10 hargon dovecot: Fatal: chdir(/home/home/test) failed
>> with uid 2999: No such file or directory
>>
>> with user 'test' having homedir under /home/test and mail_chroot=/home
>
> but the entire point of chrooting is _changing_ the root directory.
>
> So it seems quite obvious that you need to strip your homedirs yourself.
> How else could you otherwise define /home/home/test if you really wanted
> to do?
>
Dovecot is quite flexible in this regard. From the perspective of userdb
- you can set /./ , or /. at the end of user's directory and dovecot
will chroot properly, stripping path before /./ itself.
Or you can return userdb_chroot which can be used with or without /./ -
if it's used without, than you have to setup user directories in userdb
without chroot-part path. With /./ it's the same as above - dovecot will
strip the paths properly itself.
In 1.1rc10, global dovecot.conf's parameter always stripped the paths,
regardless if /./ was or wasn't used (it never was mentioned actually).
I've made some tests now and it seems it has to be used.
Also it's important to use just /. if you chroot at the end of the path.
/./ will confuse dovecot in such case.
Timo - I'll update the wiki page to reflect the current situation, if
the current behavior is assumed proper.
More information about the dovecot
mailing list