Hi

Since imapd 2.2.x doesn't support unified murder, I try to reach my goal with some "config vodoo".

Situation:
I've 2 server. Both have 2 network interfaces and both are running postfix (lmtp) and cyrus-imapd.
Now I try to run backend and frontend server on every machine. Server A (soho) is hosting username a-m and Server B (sokrates) is hosting n-z User.


Idea:
User a can connect server B and get his mailbox or vice versa.

My mupdate master server is called soho, the frontend soho.lan and the other server is called sokrates (murder without -m) and sokrates.lan (frontend).

cyrus-backend.conf:
START {
recover cmd="ctl_cyrusdb ctl_cyrusdb -C /usr/local/etc/imapd-backend.conf -r"
mupdatepush cmd="ctl_mboxlist -C /usr/local/etc/imapd-backend.conf -m"
}
SERVICES {
pop3 cmd="pop3d -C /usr/local/etc/imapd-backend.conf" listen="soho.lan:pop3" prefork=10
imap cmd="imapd -C /usr/local/etc/imapd-backend.conf" listen="soho.lan:imap" prefork=5
lmtp cmd="lmtpd -C /usr/local/etc/imapd-backend.conf" listen="soho.lan:lmtp" prefork=5
sieve cmd="timsieved" listen="sieve" perfork= 0


}

EVENTS {
checkpoint cmd="ctl_cyrusdb -C /usr/local/etc/imapd-backend.conf -c" period=30
delprune cmd="cyr_expire -C /usr/local/etc/imapd-backend.conf -E 3" at=0400
}


(soho master frontend) cyrus.conf:
START {
recover cmd="ctl_cyrusdb -r"
}
SERVICES {
mupdate cmd="/usr/local/cyrus/bin/mupdate -m" listen=3905 prefork=1
pop3 cmd="pop3d" listen="pop3" prefork=10
imap cmd="imapd" listen="imap" prefork=5
lmtp cmd="lmtpd" listen="lmtp" prefork=5
sieve cmd="timsieved" listen="sieve" prefork=0
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -c" period=30
delprune cmd="cyr_expire -E 3" at=0400
}


soho imapd-backend.conf:

configdirectory: /var/imap
partition-default: /var/spool/imap
servername: soho.lan
singleinstancestore: true
hashimapspool: true
fulldirhash: true
# ACCESS
allowplaintext: yes
admins: admin
proxyservers: admin
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
sasl_ldap_server: localhost
sasl_ldap_basedn: ou=people,ou=lan,dc=lan,dc=ch
# MURDER
mupdate_server: soho
mupdate_username: admin
mupdate_authname: admin
mupdate_password: ADMIN


soho imapd.conf:

configdirectory: /var/imap-frontend
partition-default: /var/spool/imap-frontend
servername: soho
# ACCESS
allowplaintext: yes
admins: admin
proxyservers: admin
proxy_authname: admin
sokrates_password: ADMIN
sokrates_mechs: plain
soho_password: ADMIN
soho_mechs: plain
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
sasl_ldap_server: localhost
sasl_ldap_basedn: ou=people,ou=lan,dc=lan,dc=ch
# MURDER
mupdate_server: soho
mupdate_username: admin
mupdate_authname: admin
mupdate_password: ADMIN
# EOF

sokrates is similiar except the hostname ;)

soho and sokrates backend are running with:
master -M /usr/local/etc/cyrus-backend.conf -C /usr/local/et
c/imapd-backend.conf -p /var/run/cyrus-master-backend.pid -d

and both frontend are running with default option.

After I start this 4 services I see on sohos log:
Dec 8 20:28:06 soho mupdate[16760]: login: sokrates.lan admin PLAIN User logged in


and on sokrates:
Dec 8 20:28:06 sokrates mupdate[19619]: synchronizing mailbox list with master mupdate server
Dec 8 20:28:06 sokrates mupdate[19619]: mailbox list synchronization complete


It looks ok.
imtest works, murdertest works and testsaslauth works also.

I can create user on every backend. "It works like charm".
soho# cyradm --user admin --server sokrates --auth plain
cm user.foo

It doesn't work on frontend. But i guess this is correct. I hope so


Ok and now the error part: I try to connect every frontend via pop3. I get an error msg:

+OK soho Cyrus POP3 Murder v2.2.10 server ready <[EMAIL PROTECTED]>
user sohotest
+OK Name is a valid mailbox
pass testsoho
-ERR [AUTH] authenticating: encryption needed to use mechanism

same on sokrates

Logs:
Dec 8 20:41:38 soho pop3[16780]: login: bert[] sohotest plaintext User logged in
Dec 8 20:41:41 soho pop3[16780]: couldn't authenticate to backend server: authentication failure
Dec 8 20:41:41 soho pop3[16780]: couldn't authenticate to backend server


When I try to connect the backend, I also get an error msg:
[EMAIL PROTECTED]:~> telnet soho.lan 110
Trying ...
Connected to soho.lan
Escape character is '^]'.
+OK soho.lan Cyrus POP3 Murder v2.2.10 server ready <[EMAIL PROTECTED]>
user sohotest
+OK Name is a valid mailbox
pass testsoho
-ERR [SYS/PERM] Unable to locate maildrop: Mailbox does not exist


log:
Dec 8 20:43:30 soho pop3[16735]: Unable to locate maildrop for sohotest: Mailbox does not exist


It is correct. user sohotest only exist on the backend of sokrates. I don't know why it's not synchronized to the soho.

Any help again? Should it work with this configuration?

regards
Thomas
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to