Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Trunk
-
None
Description
hi all:
i have smtpserver configurated with authRequired=true, and try to verify it by telnet client as follow:
auth login
> 334 username
myname
> 334 password
mypass
then prompt
> 334 password
again and again whatever i input
i have found the problem in org.apache.james.protocols.smtp.core.esmtp.AuthCmdHandler.java
when invoke doAUTH() method first, session.pushLineHandler will be executed if initialResponse == null
whitch means i have "auth login" inputed but "auth login myname",
next, doLoginAuthPass in onCommand will call session.pushLineHandler again after myname input.
linehandler queue in session have 2 handlers now. one is for pass and the other is for user.
but, it will be then poped up after AbstractSMTPLineHandler executed handleCommand in onLine method.
so the hanlder for password "lost" and it prompt 334 password again which producted by username handler