Problem with lmtpproxyd
Etienne Goyer
etienne.goyer at linuxquebec.com
Tue Apr 8 15:31:53 EDT 2003
Hi everybody,
I had been banging my head on this problem with lmtpproxyd for a few
hour. I have this tickling that the solution is something very simple,
like a config directive or a compile option, but I can't put the finger
on it. Here it is.
I am testing a Murder. On the frontend, the lmtpproxyd can't deliver to
the lmtpd on the backend. Sniffing the network, I noticed lmtpproxyd
abruptely close the connection after the backend sent his capability list
(250 AUTH ... etc).
Here the imapd.conf on the frontend :
---
configdirectory: /var/imap
partition-default: /var/spool/imap
admins: cyrus
sasl_mech_list: PLAIN
sasl_pwcheck_method: saslauthd
# Murder stuff
imap1_password: *********
proxy_authname: murder
imap1_mechs: DIGEST-MD5
mupdate_server: ldap1
mupdate_username: cyrus
mupdate_authname: cyrus
mupdate_password: ********
lmtpproxy_username: murder
lmtpproxy_authname: murder
lmtpproxy_password: **********
---
imap1 do offer DIGEST-MD5 in his capability list. Here is the imapd.conf
on the backend :
---
configdirectory: /var/imap
partition-default: /var/spool/imap
admins: cyrus
sasl_pwcheck_method: saslauthd
# Murder stuff
proxyservers: murder
mupdate_server: ldap1
mupdate_username: cyrus
mupdate_authname: cyrus
mupdate_password: ********
lmtp_admins: murder
---
These are throw-away test server; username/password will not stay these.
The error reported in /var/log/auth.log on the frontend is :
---
Apr 8 15:24:43 www1 lmtpproxyd[19497]: No worthy mechs found
---
There is nothing in the backend /var/log/auth.log. Running
"lmtptest -a murder imap1" work correctly (using DIGEST-MD5).
I don't know the cause of this problem, but I have been investigating
the problem by reading SASL 2.1.12 source code (the version I am using,
compiled with "./configure --with-openssl --with-saslauthd --with-ldap
--enable-login --enable-checkapop"). By doing syslog debugging, I
narrowed down the problem to lib/client.c sasl_start_client(), where it
call have_prompts(), which returned 0. From there on, it got too hairy
for my modest C skills.
Any help woudl be very welcome. I hope I did not forget anything; if so
you are welcome to ask for clarification.
A big thanks to anybody who can help!
--
Etienne Goyer Linux Québec Technologies Inc.
http://www.LinuxQuebec.com etienne.goyer at linuxquebec.com
PGP Pub Key: http://www.LinuxQuebec.com/pubkeys/eg.key
Fingerprint: F569 0394 098A FC70 B572 5D20 3129 3D86 8FD5 C853
More information about the Info-cyrus
mailing list