EHLO (not HELO) must be given by client before AUTH.
That is, AUTH command could not be used unless advertised (through EHLO,
according to auth_advertise, etc). This behavior was hardened in Exim
4.20 and is not an option.
First, check you confs once again for correct advertising.
Second, if an Exim installation serves many broken clients, the patch
attached could help. Otherwise, one must patch every client.
=cut
--- src/smtp_in.c.orig Mon May 12 17:39:22 2003
+++ src/smtp_in.c Fri Jun 20 14:54:05 2003
@@ -1776,12 +1776,6 @@
authentication_failed = TRUE;
cmd_list[CMD_LIST_AUTH].is_mail_cmd = FALSE;
- if (!auth_advertised)
- {
- synprot_error(L_smtp_protocol_error, 503, NULL,
- US"AUTH command used when not advertised");
- break;
- }
if (sender_host_authenticated != NULL)
{
synprot_error(L_smtp_protocol_error, 503, NULL,
@@ -1832,12 +1826,11 @@
}
/* Search for an authentication mechanism which is configured for
use
- as a server and which has been advertised. */
+ as a server */
for (au = auths; au != NULL; au = au->next)
{
- if (strcmpic(s, au->public_name) == 0 && au->server &&
- au->advertised) break;
+ if (strcmpic(s, au->public_name) == 0 && au->server) break;
}
if (au == NULL)
=cut
-----Original Message-----
From: exim-users-bounces@??? [
mailto:exim-users-bounces@exim.org]
On Behalf Of Chad Leigh -- Shire.Net LLC
Sent: Wednesday, September 01, 2004 2:35 AM
To: Exim User's Mailing List
Subject: [exim] "503 AUTH command used when not advertised" problem
Hi
I have a (customer) Linux machine that was working before I "upgraded"
the Linux from Mandrake 9 to gentoo 2004.2 last night. (The upgrade
basically was to save away /usr/local som /var stuff some /etc stuff
and then wipe / /usr /var and install fresh gentoo, put back the saved
away stuff and run).