Problem configuring lmtp on cyrus backend
Michael Menge
michael.menge at zdv.uni-tuebingen.de
Wed Mar 16 12:25:18 EDT 2011
Quoting Dan White <dwhite at olp.net>:
> On 16/03/11 14:12 +0100, Michael Menge wrote:
>> Hi,
>>
>> i have a problem configuring cyrus backend in a almost traditional
>> murder setup.
>>
>> I have one master process which starts the forntend and backend services.
>> The forntend services use /etc/imapd_fe.conf as config file and listen
>> on the external network interface and the backend services listen to
>> the internal network interfaces and use /etc/imapd_be.conf
>>
>> The lmtpdproxy delivers the mail to the backend using lmtp over tcp.
>> The backend lmtpd asks the mupdate server where the mailbox is,
>> which results in the "wrong" answer that the mailbox is remote.
>> The backend tries to proxies the mail to an other lmtpd
>> on the same backend. This results in an infinite loop.
>> I tried this with 2.4.6 and 2.3.16.
>>
>> AFAIK the backend config must contain the mupdate_server
>> because create mailbox, rename mailbox and delete mailbox
>> information must be send to the mupdate master.
>> But if mupdate_server is configured lmtpd will ask
>> the mupdate_server where the mailbox is, which will always
>> result in an "remote mailbox" as answer
>>
>> What do i need to change?
>>
>> Regards
>>
>> Michael Menge
>>
>> ---------- cyrus.conf -------------------------------
>>
>> START {
>> fe_recover cmd="ctl_cyrusdb -r -C /etc/imapd_fe.conf"
>> be_recover cmd="ctl_cyrusdb -r -C /etc/imapd_be.conf"
>> be_mupdatepush cmd="ctl_mboxlist -m -C /etc/imapd_be.conf"
>> }
>>
>> SERVICES {
>> imap cmd="imapd -C /etc/imapd_fe.conf"
>> listen="localhost:imap" prefork=1 maxfds=1024
>> imaps cmd="imapd -U 50 -s -C /etc/imapd_fe.conf"
>> listen="mailserv05.uni-tuebingen.de:imaps" prefork=1 maxfds=1024
>> feimaps cmd="imapd -U 50 -s -C /etc/imapd_fe.conf"
>> listen="mailserv.uni-tuebingen.de:imaps" prefork=1 maxfds=1024
>
> Shouldn't these be 'proxyd' instead of 'imapd'?
proxyd and imapd have the same md5sum and changing didn't solve
the problem. The imap and lmpt connections are forwarded to the
correct backend.
>
>> pop3s cmd="pop3d -s -C /etc/imapd_fe.conf"
>> listen="mailserv05.uni-tuebingen.de:pop3s" prefork=1 maxfds=1024
>> fepop3s cmd="pop3d -s -C /etc/imapd_fe.conf"
>> listen="mailserv.uni-tuebingen.de:pop3s" prefork=1 maxfds=1024
>> sieve cmd="timsieved -C /etc/imapd_fe.conf"
>> listen="mailserv05.uni-tuebingen.de:sieve" prefork=0 maxfds=1024
>> lmtpunix cmd="lmtpd -U 5 -C /etc/imapd_fe.conf"
>> listen="/var/spool/postfix/public/lmtp" prefork=1 maxfds=1024
>
> And I think this should be lmtpproxyd.
same as with imapd and proxyd
>
>> lomupdate cmd="mupdate -C /etc/imapd_fe.conf"
>> listen="mailserv05.uni-tuebingen.de:mupdate" prefork=1
>
> Is the mupdate master on another server? If not (and you intend for
> imapd_fe.conf to be the mudpate master), you need to specify a -m parameter
> to mupdate here.
>
Mupdate master is listening on an other interface and communication
with mupdatemaster works fine.
>> beimap cmd="imapd -U 50 -C /etc/imapd_be.conf"
>> listen="be05.mail.localhost:imap" prefork=1 maxfds=1024
>> beimaps cmd="imapd -U 50 -s -C /etc/imapd_be.conf"
>> listen="be05.mail.localhost:imaps" prefork=1 maxfds=1024
>> bepop3s cmd="pop3d -s -C /etc/imapd_be.conf"
>> listen="be05.mail.localhost:pop3s" prefork=1 maxfds=1024
>> besieve cmd="timsieved -C /etc/imapd_be.conf"
>> listen="be05.mail.localhost:sieve" prefork=0 maxfds=1024
>> belmtp cmd="lmtpd -U 5 -C /etc/imapd_be.conf"
>> listen="be05.mail.localhost:lmtp" prefork=1 maxfds=1024
>> }
>>
>> EVENTS {
>> fecheckpoint cmd="ctl_cyrusdb -c -C /etc/imapd_fe.conf" period=30
>> becheckpoint cmd="ctl_cyrusdb -c -C /etc/imapd_be.conf" period=30
>>
>> bedelprune cmd="cyr_expire -E 3 -X 4 -D 4 -C
>> /etc/imapd_be.conf" at=0100
>>
>> fetlsprune cmd="tls_prune -C /etc/imapd_fe.conf" at=0400
>> betlsprune cmd="tls_prune -C /etc/imapd_be.conf" at=0430
>>
>> besquatter cmd="squatter -C /etc/imapd_be.conf -s -r -i user" at=2200
>> }
>>
>> --------------- imapd_be.conf ------------------------------
>> servername: be05.mail.localhost
>> configdirectory: /home/cyrus-be
>> partition-default: /home/cyrus-be
>> defaultpartition: default
>> admins: xxxxx xxxxx-xxxxxxx
>>
>> mupdate_server: mupdate.mail.localhost
>> mupdate_port: 3905
>> mupdate_authname: xxxxx-xxxxxxx
>> mupdate_password: xxxxxxxx
>> proxy_authname: xxxxx-xxxxxxx
>> proxy_password: xxxxxxxx
>>
>> allowusermoves: 1
>> allowallsubscribe: 1
>>
>> sievedir: /home/cyrus-be/sieve
>> sieve_extensions: fileinto reject vacation imapflags notify include
>> envelope body relational regex subaddress copy
>> sieve_maxscriptsize: 150
>>
>> sasl_pwcheck_method: saslauthd
>> sasl_mech_list: plain login
>>
>> ---------------------------------------------------------
>
> What does your imapd_fe.conf look like?
>
-------------- imapd_fe.conf
servername: mailser05.uni-tuebingen.de
configdirectory: /home/cyrus-fe
partition-default: /home/cyrus-fe
admins: xxxxx xxxxxx-xxxxxxx
mupdate_server: mupdate.mail.localhost
mupdate_port: 3905
mupdate_authname: xxxxx-xxxxxxx
mupdate_password: xxxxxxxx
proxy_authname: xxxxxx-xxxxxxx
proxy_password: xxxxxxxx
sasl_pwcheck_method: saslauthd
sasl_mech_list: plain login
allowusermoves: 1
allowallsubscribe: 1
proxyd_disable_mailbox_referrals: 1
unixhierarchysep: 1
altnamespace: 1
expunge_mode: delayed
delete_mode: delayed
deletedprefix: DELETED
--------------------------------------
Creating mailboxes works fine
> Do:
>
> ctl_mboxlist -C /etc/imapd_fe.conf -d
user.zrssg01 1 be05.mail.localhost!default zrssg01 lrswipkxtecda
same output for mupdate master
> ctl_mboxlist -C /etc/imapd_be.conf -d
user.zrssg01 0 default zrssg01 lrswipkxtecda
>
> and see if the output is sensible. The output of the backend should
> reference a local partition for the location of your mailboxes ('default'),
> and should not reference a remote server.
>
> In the frontend mailbox list output, you should see the location of the
> mailbox list pointing to <backend>!default, or something that resolves
> (uniquely) to the backend.
>
it looks like what i would expect.
The problem is lmtpd does not trie to look in his mailbox db but ask
mupdate.mail.localhost, for which all mailboxes are remote.
--------------------------------------------------------------------------------
M.Menge Tel.: (49) 7071/29-70316
Universität Tübingen Fax.: (49) 7071/29-5912
Zentrum für Datenverarbeitung mail:
michael.menge at zdv.uni-tuebingen.de
Wächterstraße 76
72074 Tübingen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5267 bytes
Desc: S/MIME Signatur
Url : http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20110316/076aec71/attachment.bin
More information about the Info-cyrus
mailing list