Quoting Dan White <dwhite@xxxxxxx>:
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=1024Shouldn'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=1024And 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=1Is 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-5912Zentrum fÃr Datenverarbeitung mail: michael.menge@xxxxxxxxxxxxxxxxxxxx
WÃchterstraÃe 76 72074 TÃbingen
Attachment:
smime.p7s
Description: S/MIME Signatur
---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/