You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2008/07/14 22:43:36 UTC

svn commit: r676725 - in /mina/ftpserver/trunk/core/src/main: java/org/apache/ftpserver/ java/org/apache/ftpserver/config/spring/ java/org/apache/ftpserver/interfaces/ java/org/apache/ftpserver/ssl/ resources/org/apache/ftpserver/config/spring/

Author: ngn
Date: Mon Jul 14 13:43:36 2008
New Revision: 676725

URL: http://svn.apache.org/viewvc?rev=676725&view=rev
Log:
Improved schema and cleaned up the configuration of SSL

Modified:
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultDataConnectionConfiguration.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/IODataConnectionFactory.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/interfaces/DataConnectionConfiguration.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ssl/DefaultSslConfiguration.java
    mina/ftpserver/trunk/core/src/main/resources/org/apache/ftpserver/config/spring/ftpserver-1.0.xsd

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultDataConnectionConfiguration.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultDataConnectionConfiguration.java?rev=676725&r1=676724&r2=676725&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultDataConnectionConfiguration.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultDataConnectionConfiguration.java Mon Jul 14 13:43:36 2008
@@ -96,13 +96,20 @@
         }
     }
     
-    private int maxIdleTimeMillis = 10000;
+    // maximum idle time in seconds
+    private int idleTime = 300;
     
     private SslConfiguration ssl;
     
+    /**
+     * Get the maximum idle time in seconds.
+     */
+    public int getIdleTime() {
+        return idleTime;
+    }
+    
     public void setIdleTime(int idleTime) {
-        // get the maximum idle time in millis
-        maxIdleTimeMillis = idleTime * 1000;
+        this.idleTime = idleTime;
     }
     
     private Active active = new Active();
@@ -120,12 +127,6 @@
         this.ssl = ssl;
     }
 
-    /**
-     * Get the maximum idle time in millis.
-     */
-    public int getMaxIdleTimeMillis() {
-        return maxIdleTimeMillis;
-    }
     
     /**
      * Is PORT enabled?

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/IODataConnectionFactory.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/IODataConnectionFactory.java?rev=676725&r1=676724&r2=676725&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/IODataConnectionFactory.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/IODataConnectionFactory.java Mon Jul 14 13:43:36 2008
@@ -173,7 +173,7 @@
                 port = servSoc.getLocalPort();
                 LOG.debug("Passive data connection created on address \"{}\" and port {}", address, passivePort);
             }
-            servSoc.setSoTimeout(dataCfg.getMaxIdleTimeMillis());
+            servSoc.setSoTimeout(dataCfg.getIdleTime() * 1000);
 
             // set different state variables
             passive = true;
@@ -361,7 +361,7 @@
         }
         
         // no idle time limit - not a timeout
-        int maxIdleTime = session.getListener().getDataConnectionConfiguration().getMaxIdleTimeMillis();
+        int maxIdleTime = session.getListener().getDataConnectionConfiguration().getIdleTime() * 1000;
         if(maxIdleTime == 0) {
             return false;
         }

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java?rev=676725&r1=676724&r2=676725&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/config/spring/ListenerBeanDefinitionParser.java Mon Jul 14 13:43:36 2008
@@ -193,7 +193,13 @@
             if(enabledCiphersuites != null) { 
                 ssl.setEnabledCipherSuites(enabledCiphersuites.split(" "));
             }  
-        
+
+            String protocol = SpringUtil.parseString(sslElm, "protocol");
+            if(protocol != null) { 
+                ssl.setSslProtocol(protocol);
+            }  
+
+            
             return ssl;
         } else {
             return null;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/interfaces/DataConnectionConfiguration.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/interfaces/DataConnectionConfiguration.java?rev=676725&r1=676724&r2=676725&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/interfaces/DataConnectionConfiguration.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/interfaces/DataConnectionConfiguration.java Mon Jul 14 13:43:36 2008
@@ -30,9 +30,9 @@
 interface DataConnectionConfiguration {
 
     /**
-     * Get the maximum idle time in millis.
+     * Get the maximum idle time in seconds.
      */
-    int getMaxIdleTimeMillis();
+    int getIdleTime();
     
     /**
      * Is active data connection enabled?

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ssl/DefaultSslConfiguration.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ssl/DefaultSslConfiguration.java?rev=676725&r1=676724&r2=676725&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ssl/DefaultSslConfiguration.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ssl/DefaultSslConfiguration.java Mon Jul 14 13:43:36 2008
@@ -165,7 +165,8 @@
      */
     public void setClientAuthentication(String clientAuthReqd) {
         if("true".equalsIgnoreCase(clientAuthReqd) 
-                || "yes".equalsIgnoreCase(clientAuthReqd)) {
+                || "yes".equalsIgnoreCase(clientAuthReqd)
+                || "need".equalsIgnoreCase(clientAuthReqd) ) {
             this.clientAuthReqd = ClientAuth.NEED;
         } else if("want".equalsIgnoreCase(clientAuthReqd)) {
             this.clientAuthReqd = ClientAuth.WANT;

Modified: mina/ftpserver/trunk/core/src/main/resources/org/apache/ftpserver/config/spring/ftpserver-1.0.xsd
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/resources/org/apache/ftpserver/config/spring/ftpserver-1.0.xsd?rev=676725&r1=676724&r2=676725&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/resources/org/apache/ftpserver/config/spring/ftpserver-1.0.xsd (original)
+++ mina/ftpserver/trunk/core/src/main/resources/org/apache/ftpserver/config/spring/ftpserver-1.0.xsd Mon Jul 14 13:43:36 2008
@@ -60,10 +60,10 @@
 	<xs:element name="ssl">
 		<xs:complexType>
 			<xs:sequence>
-				<xs:element minOccurs="0" name="keystore">
+				<xs:element name="keystore">
 					<xs:complexType>
-						<xs:attribute name="file"/>
-						<xs:attribute name="password"/>
+						<xs:attribute name="file" use="required"/>
+						<xs:attribute name="password" use="required"/>
 						<xs:attribute name="type"/>
 						<xs:attribute name="algorithm"/>
 						<xs:attribute name="key-alias"/>
@@ -72,15 +72,32 @@
 				</xs:element>
 				<xs:element minOccurs="0" name="truststore">
 					<xs:complexType>
-						<xs:attribute name="file"/>
+						<xs:attribute name="file" use="required"/>
 						<xs:attribute name="password"/>
 						<xs:attribute name="type"/>
 						<xs:attribute name="algorithm"/>
 					</xs:complexType>
 				</xs:element>
 			</xs:sequence>
-			<xs:attribute name="client-authentication" type="xs:string"/>
-			<xs:attribute name="enabled-ciphersuites"/>
+			<xs:attribute name="client-authentication">
+             <xs:simpleType>
+                 <xs:restriction base="xs:string">
+                     <xs:enumeration value="NEED" />
+                     <xs:enumeration value="WANT" />
+                     <xs:enumeration value="NONE" />
+                 </xs:restriction>
+             </xs:simpleType>
+            </xs:attribute>			
+			
+			<xs:attribute name="enabled-ciphersuites" type="xs:string"/>
+			<xs:attribute name="protocol">
+			 <xs:simpleType>
+			     <xs:restriction base="xs:string">
+			         <xs:enumeration value="SSL" />
+			         <xs:enumeration value="TLS" />
+			     </xs:restriction>
+			 </xs:simpleType>
+			</xs:attribute>
 		</xs:complexType>
 	</xs:element>