You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ri...@apache.org on 2008/06/30 17:07:01 UTC

svn commit: r672790 - in /geronimo/javamail/trunk/geronimo-javamail_1.4: ./ geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/ geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/util/

Author: rickmcguire
Date: Mon Jun 30 08:07:00 2008
New Revision: 672790

URL: http://svn.apache.org/viewvc?rev=672790&view=rev
Log:
GERONIMO-4172 Add support for the mail.<protocol>.ssl.protocols and mail.<protocol>.ssl.ciphersuites properties. 


Modified:
    geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
    geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/util/MailConnection.java
    geronimo/javamail/trunk/geronimo-javamail_1.4/pom.xml

Modified: geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
URL: http://svn.apache.org/viewvc/geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java?rev=672790&r1=672789&r2=672790&view=diff
==============================================================================
--- geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java (original)
+++ geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java Mon Jun 30 08:07:00 2008
@@ -142,6 +142,10 @@
     protected static final String MAIL_SMTP_ENCODE_TRACE = "encodetrace";
     
     protected static final String MAIL_SMTP_ALLOW8BITMIME = "allow8bitmime";
+    
+    protected static final String MAIL_SMTP_SSL_PROTOCOLS = "ssl.protocols"; 
+    
+    protected static final String MAIL_SMTP_SSL_CIPHERSUITES = "ssl.ciphersuites"; 
 
     protected static final int MIN_MILLIS = 1000 * 60;
 
@@ -1321,6 +1325,33 @@
         if (timeout >= 0) {
             socket.setSoTimeout(timeout);
         }
+        
+        // if there is a list of protocols specified, we need to break this down into 
+        // the individual names 
+        String protocols = getProtocolProperty(MAIL_SMTP_SSL_PROTOCOLS); 
+        if (protocols != null) {
+            ArrayList<String> list = new ArrayList<String>(); 
+            StringTokenizer t = new StringTokenizer(protocols); 
+            
+            while (t.hasMoreTokens()) {
+                list.add(t.nextToken()); 
+            }
+            
+            ((SSLSocket)socket).setEnabledProtocols(list.toArray(new String[list.size()])); 
+        }
+        
+        // and do the same for any cipher suites 
+        String suites = getProtocolProperty(MAIL_SMTP_SSL_CIPHERSUITES); 
+        if (suites != null) {
+            ArrayList<String> list = new ArrayList<String>(); 
+            StringTokenizer t = new StringTokenizer(suites); 
+            
+            while (t.hasMoreTokens()) {
+                list.add(t.nextToken()); 
+            }
+            
+            ((SSLSocket)socket).setEnabledCipherSuites(list.toArray(new String[list.size()])); 
+        }
     }
 
     /**

Modified: geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/util/MailConnection.java
URL: http://svn.apache.org/viewvc/geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/util/MailConnection.java?rev=672790&r1=672789&r2=672790&view=diff
==============================================================================
--- geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/util/MailConnection.java (original)
+++ geronimo/javamail/trunk/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/util/MailConnection.java Mon Jun 30 08:07:00 2008
@@ -76,6 +76,8 @@
     protected static final String MAIL_SSL_FACTORY_CLASS = "SSLsocketFactory.class";
     protected static final String MAIL_SSL_FACTORY_FALLBACK = "SSLsocketFactory.fallback";
     protected static final String MAIL_SSL_FACTORY_PORT = "SSLsocketFactory.port";
+    protected static final String MAIL_SSL_PROTOCOLS = "ssl.protocols";
+    protected static final String MAIL_SSL_CIPHERSUITES = "ssl.ciphersuites";
     protected static final String MAIL_LOCALADDRESS = "localaddress";
     protected static final String MAIL_LOCALPORT = "localport";
     protected static final String MAIL_ENCODE_TRACE = "encodetrace";
@@ -413,6 +415,33 @@
         if (timeout >= 0) {
             socket.setSoTimeout(timeout);
         }
+        
+        // if there is a list of protocols specified, we need to break this down into 
+        // the individual names 
+        String protocols = props.getProperty(MAIL_SSL_PROTOCOLS); 
+        if (protocols != null) {
+            ArrayList<String> list = new ArrayList<String>(); 
+            StringTokenizer t = new StringTokenizer(protocols); 
+            
+            while (t.hasMoreTokens()) {
+                list.add(t.nextToken()); 
+            }
+            
+            ((SSLSocket)socket).setEnabledProtocols(list.toArray(new String[list.size()])); 
+        }
+        
+        // and do the same for any cipher suites 
+        String suites = props.getProperty(MAIL_SSL_CIPHERSUITES); 
+        if (suites != null) {
+            ArrayList<String> list = new ArrayList<String>(); 
+            StringTokenizer t = new StringTokenizer(suites); 
+            
+            while (t.hasMoreTokens()) {
+                list.add(t.nextToken()); 
+            }
+            
+            ((SSLSocket)socket).setEnabledCipherSuites(list.toArray(new String[list.size()])); 
+        }
     }
 
 

Modified: geronimo/javamail/trunk/geronimo-javamail_1.4/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/javamail/trunk/geronimo-javamail_1.4/pom.xml?rev=672790&r1=672789&r2=672790&view=diff
==============================================================================
--- geronimo/javamail/trunk/geronimo-javamail_1.4/pom.xml (original)
+++ geronimo/javamail/trunk/geronimo-javamail_1.4/pom.xml Mon Jun 30 08:07:00 2008
@@ -134,8 +134,8 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
-                    <source>1.4</source>
-                    <target>1.4</target>
+                    <source>1.5</source>
+                    <target>1.5</target>
                 </configuration>
             </plugin>