You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by no...@apache.org on 2009/08/31 09:10:43 UTC

svn commit: r809480 - in /labs/hupa/server/src/main: java/org/apache/hupa/server/ java/org/apache/hupa/server/handler/ resources/

Author: norman
Date: Mon Aug 31 07:10:42 2009
New Revision: 809480

URL: http://svn.apache.org/viewvc?rev=809480&view=rev
Log:
Add support for IMAPS and SMTPS (LABS-425)

Modified:
    labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java
    labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
    labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
    labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
    labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java
    labs/hupa/server/src/main/resources/config.properties

Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/InMemoryIMAPStoreCache.java Mon Aug 31 07:10:42 2009
@@ -44,14 +44,19 @@
 	private final Map<String,IMAPStore> pool = new HashMap<String ,IMAPStore>();
 	private String address;
 	private int port;
+	private boolean useSSL = false;
 	
 	@Inject
-	public InMemoryIMAPStoreCache(Log logger,@Named("IMAPServerAddress") String address, @Named("IMAPServerPort") int port, Provider<Session> sessionProvider) {
+	public InMemoryIMAPStoreCache(Log logger,@Named("IMAPServerAddress") String address, @Named("IMAPServerPort") int port, @Named("IMAPS") boolean useSSL,Provider<Session> sessionProvider) {
 		this.logger = logger;
 		this.address = address;
 		this.port = port;
+		this.useSSL = useSSL;
 		
         props.setProperty("mail.mime.decodetext.strict", "false");
+        if (useSSL) {
+    		props.setProperty("mail.store.protocol", "imaps");
+        }
         session = sessionProvider.get();
         System.setProperty("mail.mime.decodetext.strict", "false");
 	}
@@ -72,7 +77,11 @@
 		IMAPStore store = pool.get(username);
 		if (store == null) {
 			logger.debug("No cached store found for user " +username);
-			store = (IMAPStore) session.getStore("imap"); 
+			if (useSSL) {
+				store = (IMAPStore)session.getStore("imaps");
+			} else {
+				store = (IMAPStore) session.getStore("imap"); 
+			}
 		}
 		if (store.isConnected() == false) {
 			store.connect(address, port, username,password);

Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java Mon Aug 31 07:10:42 2009
@@ -72,14 +72,16 @@
 	private final boolean auth;
 	private final String address;
 	private final int port;
+	private boolean useSSL = false;
 
 	@Inject
-	public AbstractSendMessageHandler(Log logger, FileItemRegistry registry,IMAPStoreCache store, Provider<HttpSession> provider,@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth) {
+	public AbstractSendMessageHandler(Log logger, FileItemRegistry registry,IMAPStoreCache store, Provider<HttpSession> provider, @Named("SMTPServerAddress") String address, @Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth, @Named("SMTPS") boolean useSSL) {
 		super(store,logger,provider);
 		this.registry = registry;
 		this.auth = auth;
 		this.address = address;
 		this.port = port;
+		this.useSSL  = useSSL;
 		props.put("mail.smtp.auth", auth);
 	}
 
@@ -159,7 +161,13 @@
 		return multipart;
 	}
 	protected void sendMessage(User user, Session session, Message message) throws MessagingException {
-		Transport transport = session.getTransport("smtp");
+		Transport transport;
+		if (useSSL) {
+			transport = session.getTransport("smtps");
+
+		} else {
+			transport = session.getTransport("smtp");
+		}
 		// check if smtp auth is needed
 		if (auth) {
 			logger.debug("Use auth for smtp connection");

Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java Mon Aug 31 07:10:42 2009
@@ -57,8 +57,8 @@
 	@Inject
 	public ForwardMessageHandler(Log logger, FileItemRegistry registry,
 			IMAPStoreCache store, Provider<HttpSession> provider,
-			@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth) {
-		super(logger, registry, store, provider, address, port, auth);
+			@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth, @Named("SMTPS") boolean useSSL) {
+		super(logger, registry, store, provider, address, port, auth, useSSL);
 	}
 
 	@Override

Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java Mon Aug 31 07:10:42 2009
@@ -51,8 +51,8 @@
 	@Inject
 	public ReplyMessageHandler(Log logger, FileItemRegistry registry,
 			IMAPStoreCache store, Provider<HttpSession> provider,
-			@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth) {
-		super(logger, registry, store, provider, address, port, auth);
+			@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth, @Named("SMTPS") boolean useSSL) {
+		super(logger, registry, store, provider, address, port, auth, useSSL);
 	}
 
 	/*

Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java Mon Aug 31 07:10:42 2009
@@ -46,8 +46,8 @@
 
 	@Inject
 	public SendMessageHandler(Log logger, FileItemRegistry registry,
-			IMAPStoreCache store, Provider<HttpSession> provider,@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth) {
-		super(logger, registry, store, provider, address, port, auth);
+			IMAPStoreCache store, Provider<HttpSession> provider,@Named("SMTPServerAddress") String address, @Named("SMTPServerPort") int port, @Named("SMTPAuth") boolean auth, @Named("SMTPS") boolean useSSL) {
+		super(logger, registry, store, provider, address, port, auth,useSSL);
 	}
 
 	/*

Modified: labs/hupa/server/src/main/resources/config.properties
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/resources/config.properties?rev=809480&r1=809479&r2=809480&view=diff
==============================================================================
--- labs/hupa/server/src/main/resources/config.properties (original)
+++ labs/hupa/server/src/main/resources/config.properties Mon Aug 31 07:10:42 2009
@@ -1,5 +1,15 @@
+# The IP or domainname of the IMAP server
 IMAPServerAddress=192.168.0.254
+# The port of the IMAP server
 IMAPServerPort=143
+# Use SSL/TLS to connect to the IMAP server
+IMAPS=false
+
+# The IP or domainname of the SMTP server
 SMTPServerAddress=192.168.0.254
+# The port of the SMTP server
 SMTPServerPort=25
-SMTPAuth=true
\ No newline at end of file
+# Use AUTH for SMTP
+SMTPAuth=true
+# Use SSL/TLS to connect to the SMTP server
+SMTPS=false
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org