Re: [Exim] [cyrus] Exim callots and Cyrus (FYI)

Top Page
Delete this message
Reply to this message
Author: Andrzej Filip
Date:  
To: exim-users
Subject: Re: [Exim] [cyrus] Exim callots and Cyrus (FYI)
Tor Slettnes wrote:
> On Tue, 2004-06-01 at 11:10, Andrzej Filip wrote:
>
>>Tor Slettnes wrote:
>>
>>>    require_files = /usr/sbin/mbpath
>>>    condition     = ${run {/usr/sbin/mbpath -q -s user.${lc:$local_part}}{1}{0}}

>
>
>>I think that callouts are "less costly" than executing an external program.
>
> True. It is however possible (but uglier) to perform a less costly
> version of the above:
>
>      require_files = ${lc:/var/spool/cyrus/mail/${substr_0_1:$local_part}/user/$local_part}

>
> In this example, user "foo"'s mailbox is in /var/spool/cyrus/mail/f/user/foo.


Yes but:
1) newer cyrus releases can use "hashing" more complicated than "first letter"
2) newer cyrus releases support virtual domains with virtual domain name
included in the mailbox path
3) I prefer to keep all cyrus data and mailboxes available *ONLY* to cyrus
user to improve security and AFAIR exim does some verifications as exim user

>>I designed my solution specially for supporting cyrus virtual domains so it is
>>not best fit for "local transport" replacement.
>
> Point taken.


BTW if you want to use cyrus with virtual domains as local transport then
* only "non virtual cyrus domains" should be converted to "default cyrus
domain" (or stripped)
* you must solve subtle problems with "domanized" and "local part only" aliases

It can be solved by "rewriting" recipient's domain to the default cyrus domain
before selecting callout ready cyrus_ltcp transport as "local transport" and
handling virtual domains earlier.

>[...]


--
Andrzej [en:Andrew] Adam Filip anfi@??? anfi@???
http://anfi.homeunix.net/ http://slashdot.org/~anfi