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>