Author: norman
Date: Wed Mar 23 19:55:58 2011
New Revision: 1084703

URL: http://svn.apache.org/viewvc?rev=1084703&view=rev
Log:
Make sure we return the SMTPResponse back to client if needed. Thanks to Felix 
for spot this!

Modified:
    
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/StartTlsCmdHandler.java

Modified: 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/StartTlsCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/StartTlsCmdHandler.java?rev=1084703&r1=1084702&r2=1084703&view=diff
==============================================================================
--- 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/StartTlsCmdHandler.java
 (original)
+++ 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/StartTlsCmdHandler.java
 Wed Mar 23 19:55:58 2011
@@ -56,13 +56,14 @@ public class StartTlsCmdHandler implemen
      * 
      */
     public Response onCommand(SMTPSession session, Request request) {
-        SMTPResponse response = null;
         String command = request.getCommand();
         String parameters = request.getArgument();
         if (session.isStartTLSSupported()) {
             if (session.isTLSStarted()) {
-                response = new SMTPResponse("500", 
DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.DELIVERY_INVALID_CMD) + " 
TLS already active RFC2487 5.2");
+                SMTPResponse response = new SMTPResponse("500", 
DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.DELIVERY_INVALID_CMD) + " 
TLS already active RFC2487 5.2");
+                return response;
             } else {
+                SMTPResponse response;
                 if ((parameters == null) || (parameters.length() == 0)) {
                     response = new SMTPResponse("220", 
DSNStatus.getStatus(DSNStatus.SUCCESS, DSNStatus.UNDEFINED_STATUS) + " Ready to 
start TLS");
                 } else {
@@ -75,6 +76,7 @@ public class StartTlsCmdHandler implemen
                         // force reset
                         session.resetState();
                     }
+                    
                 } catch (IOException e) {
                     return new SMTPResponse(SMTPRetCode.LOCAL_ERROR, "TLS not 
available due to temporary reason");
                 }
@@ -83,7 +85,8 @@ public class StartTlsCmdHandler implemen
         } else {
             StringBuilder result = new StringBuilder();
             result.append(DSNStatus.getStatus(DSNStatus.PERMANENT, 
DSNStatus.DELIVERY_INVALID_CMD)).append(" Command ").append(command).append(" 
unrecognized.");
-            response = new 
SMTPResponse(SMTPRetCode.SYNTAX_ERROR_COMMAND_UNRECOGNIZED, result);
+            SMTPResponse response = new 
SMTPResponse(SMTPRetCode.SYNTAX_ERROR_COMMAND_UNRECOGNIZED, result);
+            return response;
         }
         return null;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to