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 no...@apache.org on 2009/09/29 17:54:20 UTC
svn commit: r819999 - in
/james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server:
POP3Handler.java POP3HandlerChain.java POP3HandlerConfigurationData.java
POP3Server.java POP3Session.java StlsCmdHandler.java
Author: norman
Date: Tue Sep 29 15:54:20 2009
New Revision: 819999
URL: http://svn.apache.org/viewvc?rev=819999&view=rev
Log:
Start to add STARTTLS support for POP3 (JAMES-924)
Added:
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/StlsCmdHandler.java
Modified:
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerChain.java
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerConfigurationData.java
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Server.java
james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Session.java
Modified: james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java?rev=819999&r1=819998&r2=819999&view=diff
==============================================================================
--- james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java (original)
+++ james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Handler.java Tue Sep 29 15:54:20 2009
@@ -475,4 +475,17 @@
public Log getLogger() {
return context.getLogger();
}
+
+ public void secure() throws IOException {
+ context.secure();
+ }
+
+ public boolean isStartTLSSupported() {
+ return getConfigurationData().isStartTLSSupported();
+ }
+
+ public boolean isTLSStarted() {
+ return context.isSecure();
+ }
+
}
Modified: james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerChain.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerChain.java?rev=819999&r1=819998&r2=819999&view=diff
==============================================================================
--- james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerChain.java (original)
+++ james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerChain.java Tue Sep 29 15:54:20 2009
@@ -184,6 +184,7 @@
Properties cmds = new Properties();
cmds.setProperty("USER",UserCmdHandler.class.getName());
cmds.setProperty("PASS",PassCmdHandler.class.getName());
+ cmds.setProperty("STLS", StlsCmdHandler.class.getName());
cmds.setProperty("LIST",ListCmdHandler.class.getName());
cmds.setProperty("UIDL",UidlCmdHandler.class.getName());
cmds.setProperty("RSET",RsetCmdHandler.class.getName());
Modified: james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerConfigurationData.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerConfigurationData.java?rev=819999&r1=819998&r2=819999&view=diff
==============================================================================
--- james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerConfigurationData.java (original)
+++ james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3HandlerConfigurationData.java Tue Sep 29 15:54:20 2009
@@ -58,5 +58,7 @@
* @return the local users repository
*/
UsersRepository getUsersRepository();
+
+ boolean isStartTLSSupported();
}
Modified: james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Server.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Server.java?rev=819999&r1=819998&r2=819999&view=diff
==============================================================================
--- james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Server.java (original)
+++ james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Server.java Tue Sep 29 15:54:20 2009
@@ -186,5 +186,12 @@
public UsersRepository getUsersRepository() {
return POP3Server.this.users;
}
+
+ /**
+ * @see org.apache.james.pop3server.POP3HandlerConfigurationData#isStartTLSSupported()
+ */
+ public boolean isStartTLSSupported() {
+ return POP3Server.this.useStartTLS();
+ }
}
}
Modified: james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Session.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Session.java?rev=819999&r1=819998&r2=819999&view=diff
==============================================================================
--- james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Session.java (original)
+++ james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/POP3Session.java Tue Sep 29 15:54:20 2009
@@ -198,5 +198,12 @@
* @return context sensitive log, not null
*/
Log getLogger();
+
+
+ boolean isStartTLSSupported();
+
+ boolean isTLSStarted();
+
+ void secure() throws IOException;
}
Added: james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/StlsCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/StlsCmdHandler.java?rev=819999&view=auto
==============================================================================
--- james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/StlsCmdHandler.java (added)
+++ james/server/trunk/pop3server-function/src/main/java/org/apache/james/pop3server/StlsCmdHandler.java Tue Sep 29 15:54:20 2009
@@ -0,0 +1,25 @@
+package org.apache.james.pop3server;
+
+import java.io.IOException;
+
+public class StlsCmdHandler implements CommandHandler{
+
+ /**
+ * @throws
+ *
+ */
+ public void onCommand(POP3Session session) {
+ if (session.isStartTLSSupported() && session.getHandlerState() == POP3Handler.TRANSACTION && session.isTLSStarted() == false) {
+ session.writeResponse(POP3Handler.OK_RESPONSE+ " Begin TLS negotiation");
+ try {
+ session.secure();
+ } catch (IOException e) {
+ session.getLogger().info("Error while trying to secure connection",e);
+ session.endSession();
+ }
+ } else {
+ session.writeResponse(POP3Handler.ERR_RESPONSE);
+ }
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org