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]