Re: Problem configuring lmtp on cyrus backend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Dan White <dwhite@xxxxxxx>:

On 16/03/11&nbsp;14:12&nbsp;+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@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/

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux