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