[Dovecot] LTMP Proxy fails when backend server connection refused
Jack Bates
jbates at brightok.net
Fri Sep 28 19:37:50 EEST 2012
On 9/27/2012 3:30 PM, Jack Bates wrote:
> Version: 2.1.9
>
> Connecting directly to the proxy server on the LMTP port, issue lhlo,
> mail from, rcpt to, data. After the . closing of data, it just hangs
> there. The logs on the proxy server show:
>
Looking at dovecot's proxy code.
Calls to connect_connect_ip do not return an error when the server isn't
there. This may be expected, but it is what determines failure/OK in the
LMTP code. The log entry is performed by lmtp_client_wait_connect callback.
In the standard client-common-auth.c code, the error returned for a
failure is
1) syslog error is reported by proxy_wait_connect() callback
2) error to client is returned by an error in proxy_input()
In the lmtp code, we issue a "250 2.1.5 OK". Right after, the
lmtp_client_wait_connect() callback is called and issues the connection
refused error. However, we've already approved the rcpt.
I am not sure which method we really want in the lmtp proxy. Should it
be failing at the initial rcpt command or after the data command.
Currently, though I haven't checked yet, we don't appear to be detecting
the input failure and handling the data command correctly since we've
already allowed the rcpt to proceed without a backend proxy available.
Jack
More information about the dovecot
mailing list