On Sun, 26 Jun 2005, Avleen Vig wrote:
> 'zorac' sent mail to 'keylime'.
> Before accepting the message, 'keylime' connected back to 'zorac' to
> perform a sender verify. As this point, exim on 'keylime' did not wait
> for the 220 which signifies the end of the banner, and instead sent some
> date to 'zorac' (possibly 'HELO').
>
> When this happened, 'zorac' said "Input before banner from keylime.silverwraith.com"
OK, I understand. "Input before banner" means "I received input before I
sent the banner".
Well, the code in Exim for handling callouts, though separate from the
smtp transport, uses the same functions for sending and receiving SMTP
commands and responses. The very first thing both of them do after
establishing a connection is to call a function called
smtp_read_response(). If that is failing for callouts, it should also be
failing for sending messages. However, it clearly isn't failing in all
cases, because otherwise there would be many reports of this kind of
error.
Presumably there is something odd/different in your particular setup
that is provoking this. If you want to debug further, I suggest either
or both of
(a) Running Exim in debug mode, so you can see what it thinks it is
doing.
(b) Watching the actual network packets with tcpdump, so you can see
what is actually happening.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book: http://www.uit.co.uk/exim-book