You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ji...@apache.org on 2004/06/06 23:33:53 UTC

[jira] Closed: (JAMES-47) SMTP server unexpectedly kills connection when received bad parameter for SMTP AUTH

Message:

   The following issue has been closed.

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/JAMES-47

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: JAMES-47
    Summary: SMTP server unexpectedly kills connection when received bad parameter for SMTP AUTH
       Type: Bug

     Status: Closed
 Resolution: FIXED

    Project: James
 Components: 
             SMTPServer
   Versions:
             2.0a3

   Assignee: 
   Reporter: Peter M. Goldstein

    Created: Mon, 29 Jul 2002 5:56 PM
    Updated: Sun, 6 Jun 2004 2:31 PM
Environment: Operating System: Other
Platform: Other

Description:
As reported by Christian Schafer:

1027873583831 [INFO   ] (smtpserver): Connection from 127.0.0.1 (127.0.0.1)
1027873597551 [INFO   ] (smtpserver): Command received: EHLO cgshome
1027873602788 [INFO   ] (smtpserver): Command received: AUTH LOGIN
1027873606664 [DEBUG  ] (smtpserver): Exception opening socket: null 
java.lang.NullPointerException
	at org.apache.james.util.Base64.decodeAsString(Base64.java:36)
	at org.apache.james.smtpserver.SMTPHandler.doAUTH(SMTPHandler.java:350)
	at org.apache.james.smtpserver.SMTPHandler.parseCommand
(SMTPHandler.java:238)
	at org.apache.james.smtpserver.SMTPHandler.handleConnection
(SMTPHandler.java:163)
	at org.apache.avalon.cornerstone.blocks.connection.ConnectionRunner.run
(Connection.java:167)
	at org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute
(ExecutableRunnable.java:47)
	at org.apache.avalon.excalibur.thread.impl.WorkerThread.run
(WorkerThread.java:86)


null-pointer exception if username is not base64.
connection terminated.
.. well the connection should not terminate here i think ?

rfc2554:
         If the server cannot BASE64 decode the argument, it rejects the
         AUTH command with a 501 reply.  If the server rejects the
         authentication data, it SHOULD reject the AUTH command with a
         535 reply unless a more specific error code


.) same thing for plain:


1027876424636 [INFO   ] (smtpserver): Connection from 127.0.0.1 (127.0.0.1)
1027876453457 [INFO   ] (smtpserver): Command received: EHLO cgshome
1027876460437 [INFO   ] (smtpserver): Command received: AUTH PLAIN
1027876473476 [DEBUG  ] (smtpserver): Exception opening socket: null 
java.util.NoSuchElementException
	at java.util.StringTokenizer.nextToken(Unknown Source)
	at org.apache.james.smtpserver.SMTPHandler.doAUTH(SMTPHandler.java:331)
	at org.apache.james.smtpserver.SMTPHandler.parseCommand
(SMTPHandler.java:238)
	at org.apache.james.smtpserver.SMTPHandler.handleConnection
(SMTPHandler.java:163)
	at org.apache.avalon.cornerstone.blocks.connection.ConnectionRunner.run
(Connection.java:167)
	at org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute
(ExecutableRunnable.java:47)
	at org.apache.avalon.excalibur.thread.impl.WorkerThread.run
(WorkerThread.java:86)


auth plain with no base64 or invalid username.
connection terminated.

-----------------------

The behavior is fairly simple - an invalid argument passed into AUTH PLAIN or 
AUTH LOGIN will generate various exceptions that are uncaught by the doAuth 
method of SMTPHandler.java.  They are thrown up to handleConnection, which 
closes the connection upon receiving the exception.  These exceptions need to 
be caught in situ and the appropriate return code generated and sent.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org