Details
-
Bug
-
Status: Closed
-
Resolution: Fixed
-
1.2
-
None
-
None
-
Operating System: All
Platform: All
-
16847
Description
An old version of Eurora has been observed to send this:
>>>MAIL From:<example@foo.com> AUTH=<>
Which results in this:
06/02/03 16:00:59 INFO smtpserver: Connection from mail.foo.com (10.0.0.2)
06/02/03 16:00:59 ERROR smtpserver: Error parsing sender address:
example@foo.com> AUTH=<: Invalid character at 16
And the client sees this:
<<< 501 Syntax error in sender address
At first glance, the problem is at
org.apache.james.smtpserver.SMTPHandler.java:842, as follows:
int lastChar = sender.lastIndexOf('>');
It should probably read like this:
int lastChar = sender.indexOf('>', sender.indexOf('<'));
i.e. the next gt after the first lt.
This was observed in the version of James you have in binaries:
james-2.1.zip 30-Dec-2002 06:33 4.4M
The Eurora version may be relatively obscure.
Alway reproducible.
James was running on w2k server, 1.4.1.something SDK
Steps to reproduce:
telnet to a james server ("server" in below) on port 25.
A normal mail:
<<<220 Hermes SMTP Server (JAMES SMTP Server 2.1) ready Thu, 6 Feb 2003
16:44:02 +0100 (CET)
>>>mail from:<foo@bar.com>
<<<250 Sender <foo@bar.com> OK
>>>rcpt to: <ian.sollars@server>
<<<250 Recipient <ian.sollars@server> OK
>>>data
<<<354 Ok Send data ending with <CRLF>.<CRLF>
>>>message
>>>
>>>.
<<<250 Message received
The problem child:
>>>mail from:<foo@bar.com> AUTH=<>
<<<501 Syntax error in sender address
Actual result was "501 Syntax error in sender address"
Expected result was "250 Sender <foo@bar.com> OK"