Murder frontend problem

Dan White dwhite at olp.net
Fri Jun 5 10:25:06 EDT 2015


On 06/05/15 14:38 +0200, Major Csaba wrote:
>Hi,
>
>I'm rying to build a cyrus server with murder frontend/backend.  The 
>topology is quiet simple at the moment: there is one frontend + 
>mupdate master, and there is one backend server.
>(Cyrus version: 2.4.17)
>
>Almost everything is working fine:
>
> * The backend populates the folder changes to the mupdate master server
> * The frontend (which is the same as the mupdate master) can see the
>   mailboxes on the backend
> * the user can log in to the frontend with imap and can reach the
>   mailboxes and mails
>
>The only thing which is not working is to create new subfolders on the 
>frontend. If I create the subfolder on the backend, then it's visible 
>on the frontend correctly.
>
>The frontend server reports this when I try to create a subfolder:
>*cyrus/imap[10130]: IOERROR: Mailbox name too long 
>(domain.com!user.johndoe)*

This error is thrown in a few places where the code is attempting to verify
the validity of the partition/mailbox. I suspect this error would be more
accurate if it said 'invalid partition'.

Do you have the ability to debug and gather a backtrace at the moment this
error is thrown? It's thrown on lines 2726, 2740, 2753, and 2773 within
mailbox.c (for version 2.4.17).

See:

http://members.sange.fi/~atehwa/vc/packaging/cyrus-imapd/debian/README.Debian.debug

>This is reported directly by the frontend, as I can not see any 
>communications to the backend. So, I think this is a config issue on 
>the frontend, but I can not see where.

This smells like a bug. Although the following options may affect the
problem:

altnamespace
unixhierarchysep
defaultdomain
defaultserver
hashimapspool
improved_mboxlist_sort
proxyd_disable_mailbox_referrals
sharedprefix
virtdomains

I don't recommend changing any of these on a production system however.

>See the configs below.
>Do you have any hint how to go on or debug this situation?


>*The frontend cyrus.conf:*
>START {
>    recover        cmd="/usr/sbin/cyrus ctl_cyrusdb -r"
>    delprune    cmd="/usr/sbin/cyrus expire -E 3"
>    tlsprune    cmd="/usr/sbin/cyrus tls_prune"
>}
>
>SERVICES {
>    sieve        cmd="timsieved" listen="localhost:sieve" prefork=0 
>maxchild=100
>    notify        cmd="notifyd" listen="/var/run/cyrus/socket/notify" 
>proto="udp" prefork=1
>    mupdate       cmd="mupdate -m" listen=3905 prefork=1
>    imap        cmd="proxyd" listen="imap" prefork=0 maxchild=100
>    imaps        cmd="proxyd -s" listen="imaps" prefork=0 maxchild=100
>    pop3        cmd="pop3proxyd" listen="pop3" prefork=0 maxchild=50
>    pop3s        cmd="pop3proxyd -s" listen="pop3s" prefork=0 maxchild=50
>    lmtp        cmd="lmtpproxyd" listen="/var/run/cyrus/socket/lmtp" 
>prefork=1 maxchild=20
>}
>
>EVENTS {
>    checkpoint    cmd="/usr/sbin/cyrus ctl_cyrusdb -c" period=30
>    delprune    cmd="/usr/sbin/cyrus expire -E 3" at=0401
>    tlsprune    cmd="/usr/sbin/cyrus tls_prune" at=0401
>}
>
>*The frontend imap.conf:*
>configdirectory: /var/lib/cyrus
>proc_path: /run/cyrus/proc
>mboxname_lockpath: /run/cyrus/lock
>defaultpartition: default
>partition-default: /var/spool/cyrus/mail
>partition-news: /var/spool/cyrus/news
>newsspool: /var/spool/news
>altnamespace: no
>unixhierarchysep: yes
>reject8bit: no
>munge8bit: no
>lmtp_downcase_rcpt: yes
>admins: cyrus2 mupdate
>allowanonymouslogin: no
>popminpoll: 1
>autocreatequota: 0
>umask: 077
>sieveusehomedir: false
>sievedir: /var/spool/sieve
>httpmodules: caldav carddav
>hashimapspool: true
>allowplaintext: yes
>sasl_mech_list: PLAIN
>virtdomains: userid
>sasl_pwcheck_method: saslauthd
>sasl_auto_transition: no
>proxy_authname: murderproxy
>proxy_password: password
>tls_cert_file: /etc/ssl/certs/ssl.crt
>tls_key_file: /etc/ssl/private/ssl.key
>tls_ca_path: /etc/ssl/certs
>tls_session_timeout: 1440
>tls_cipher_list: TLSv1+HIGH:!aNULL:@STRENGTH
>lmtpsocket: /var/run/cyrus/socket/lmtp
>idlesocket: /var/run/cyrus/socket/idle
>notifysocket: /var/run/cyrus/socket/notify
>syslog_prefix: cyrus
>
>*Backend cyrus.conf:*
>START {
>    recover        cmd="/usr/sbin/cyrus ctl_cyrusdb -r"
>    mupdatepush   cmd="/usr/sbin/cyrus ctl_mboxlist -m"
>    delprune    cmd="/usr/sbin/cyrus expire -E 3"
>    tlsprune    cmd="/usr/sbin/cyrus tls_prune"
>}
>
>SERVICES {
>    imap        cmd="imapd -U 30" listen="imap" prefork=0 maxchild=100
>    imaps        cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=100
>    pop3        cmd="pop3d -U 30" listen="pop3" prefork=0 maxchild=50
>    pop3s        cmd="pop3d -s -U 30" listen="pop3s" prefork=0 maxchild=50
>    lmtpunix    cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" 
>prefork=0 maxchild=20
>    sieve        cmd="timsieved" listen="localhost:sieve" prefork=0 
>maxchild=100
>    notify        cmd="notifyd" listen="/var/run/cyrus/socket/notify" 
>proto="udp" prefork=1
>}
>
>EVENTS {
>    checkpoint    cmd="/usr/sbin/cyrus ctl_cyrusdb -c" period=30
>    delprune    cmd="/usr/sbin/cyrus expire -E 3" at=0401
>    tlsprune    cmd="/usr/sbin/cyrus tls_prune" at=0401
>}
>
>*Backend imapd.conf:*
>configdirectory: /var/lib/cyrus
>proc_path: /run/cyrus/proc
>mboxname_lockpath: /run/cyrus/lock
>defaultpartition: common
>partition-common: /var/spool/cyrus/mail
>partition-news: /var/spool/cyrus/news
>newsspool: /var/spool/news
>duplicatesuppression: 0
>altnamespace: no
>unixhierarchysep: yes
>reject8bit: no
>munge8bit: no
>lmtp_downcase_rcpt: yes
>admins: cyrus2
>proxyservers: murderproxy
>allowanonymouslogin: no
>popminpoll: 0
>autocreatequota: 20971520
>umask: 077
>sieveusehomedir: false
>sievedir: /var/spool/sieve
>httpmodules: caldav carddav
>mailnotifier: zephyr
>sievenotifier: zephyr
>hashimapspool: true
>allowplaintext: yes
>sasl_mech_list: PLAIN
>virtdomains: userid
>sasl_pwcheck_method: saslauthd
>sasl_auto_transition: no
>tls_cert_file: /etc/ssl/certs/ssl.crt
>tls_key_file: /etc/ssl/private/ssl.key
>tls_ca_path: /etc/ssl/certs
>tls_session_timeout: 1440
>tls_cipher_list: TLSv1+HIGH:!aNULL:@STRENGTH
>mupdate_server: mx1
>mupdate_port: 3905
>mupdate_username: mupdate
>mupdate_authname: mupdate
># mupdate_realm
>mupdate_password: password
># mupdate_retry_delay
>lmtpsocket: /var/run/cyrus/socket/lmtp
>idlesocket: /var/run/cyrus/socket/idle
>notifysocket: /var/run/cyrus/socket/notify
>syslog_prefix: cyrus

-- 
Dan White


More information about the Info-cyrus mailing list