You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ftpserver-commits@incubator.apache.org by ng...@apache.org on 2007/02/15 22:55:09 UTC
svn commit: r508224 [1/2] - in /incubator/ftpserver/trunk:
core/src/java/org/apache/ftpserver/
core/src/java/org/apache/ftpserver/command/
core/src/java/org/apache/ftpserver/ftplet/
core/src/java/org/apache/ftpserver/interfaces/ core/src/java/org/apach...
Author: ngn
Date: Thu Feb 15 14:55:05 2007
New Revision: 508224
URL: http://svn.apache.org/viewvc?view=rev&rev=508224
Log:
Listeners are now configurable (as described here http://cwiki.apache.org/FTPSERVER/listeners.html). This replaces the socket-factory config the previously existed.
This commit still needs cleanup and javadoc but passes all tests.
Some new tests (now more than 500 in total)
Added:
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/AbstractListener.java (with props)
incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/ConfigurableFtpServerContextTest.java (with props)
Modified:
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultDataConnectionConfig.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ftplet/IsolatingFtpSession.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/CommandFactory.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/DataConnectionConfig.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerSession.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/IpRestrictor.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/MessageResource.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/SocketFactory.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Ssl.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Connection.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManager.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/FtpProtocolHandler.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Listener.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/io/IOConnection.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/io/IOListener.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/mina/MinaConnection.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/mina/MinaFtpProtocolHandler.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/mina/MinaListener.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/socketfactory/FtpSocketFactory.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ssl/DefaultSsl.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/util/ClassUtils.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/util/FtpReplyUtil.java
incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/AbstractFtpServerTestTemplate.java
incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/ComponentBeanTest.java
incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/PassivePortsTest.java
incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/ClientTestTemplate.java
incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/interfaces/ServerFtpStatisticsTestTemplate.java
incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/util/ClassUtilsTest.java
incubator/ftpserver/trunk/ftplet-api/src/java/org/apache/ftpserver/ftplet/FtpSession.java
incubator/ftpserver/trunk/ftplet-api/src/java/org/apache/ftpserver/ftplet/FtpletContext.java
incubator/ftpserver/trunk/ssl-tests/src/test/org/apache/ftpserver/ssl/ImplicitClientAuthTest.java
incubator/ftpserver/trunk/ssl-tests/src/test/org/apache/ftpserver/ssl/ImplicitSecurityTestTemplate.java
incubator/ftpserver/trunk/ssl-tests/src/test/org/apache/ftpserver/ssl/SSLTestTemplate.java
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java Thu Feb 15 14:55:05 2007
@@ -19,7 +19,10 @@
package org.apache.ftpserver;
-import java.net.InetAddress;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
import java.util.StringTokenizer;
import org.apache.commons.logging.Log;
@@ -43,6 +46,8 @@
import org.apache.ftpserver.iprestrictor.FileIpRestrictor;
import org.apache.ftpserver.listener.ConnectionManager;
import org.apache.ftpserver.listener.ConnectionManagerImpl;
+import org.apache.ftpserver.listener.Listener;
+import org.apache.ftpserver.listener.mina.MinaListener;
import org.apache.ftpserver.message.MessageResourceImpl;
import org.apache.ftpserver.socketfactory.FtpSocketFactory;
import org.apache.ftpserver.usermanager.BaseUser;
@@ -55,8 +60,7 @@
* FTP server configuration implementation. It holds all
* the components used.
*/
-public
-class ConfigurableFtpServerContext implements FtpServerContext {
+public class ConfigurableFtpServerContext implements FtpServerContext {
private LogFactory logFactory;
private Bean socketFactoryBean;
@@ -71,6 +75,7 @@
private Bean commandFactoryBean;
private Log log;
+ private Map listeners = new HashMap();
private static final Authority[] ADMIN_AUTHORITIES = new Authority[]{
new WritePermission()
@@ -93,6 +98,8 @@
logFactory = new FtpLogFactory(logFactory);
log = logFactory.getInstance(ConfigurableFtpServerContext.class);
+ listeners = createListeners(conf, "listeners");
+
// create all the components
socketFactoryBean = createComponent(conf, "socket-factory", FtpSocketFactory.class.getName());
dataConConfigBean = createComponent(conf, "data-connection", DefaultDataConnectionConfig.class.getName());
@@ -119,6 +126,32 @@
throw ex;
}
}
+
+ private Map createListeners(Configuration conf, String prefix) throws Exception {
+ Map map = new HashMap();
+
+ Configuration listenersConfig = conf.subset(prefix);
+ if(listenersConfig.isEmpty()) {
+ // create default listener
+ Bean listenerBean = createComponent(listenersConfig, "default", MinaListener.class.getName());
+
+ map.put("default", listenerBean);
+ } else {
+
+ Iterator keys = listenersConfig.getKeys();
+
+ while (keys.hasNext()) {
+ String key = (String) keys.next();
+
+ Bean listenerBean = createComponent(listenersConfig, key, MinaListener.class.getName());
+
+ map.put(key, listenerBean);
+ }
+ }
+
+
+ return map;
+ }
/**
* create and initialize ftlets
@@ -293,20 +326,6 @@
}
/**
- * Get server address.
- */
- public InetAddress getServerAddress() {
- return ((SocketFactory) socketFactoryBean.getBean()).getServerAddress();
- }
-
- /**
- * Get server port.
- */
- public int getServerPort() {
- return ((SocketFactory) socketFactoryBean.getBean()).getPort();
- }
-
- /**
* Get Ftplet.
*/
public Ftplet getFtplet(String name) {
@@ -318,35 +337,41 @@
*/
public void dispose() {
- if(connectionManagerBean.getBean() != null) {
+ Iterator listenerIter = listeners.values().iterator();
+ while (listenerIter.hasNext()) {
+ Bean listenerBean = (Bean) listenerIter.next();
+ listenerBean.destroyBean();
+ }
+
+ if(connectionManagerBean != null && connectionManagerBean.getBean() != null) {
connectionManagerBean.destroyBean();
}
- if(dataConConfigBean.getBean() != null) {
+ if(dataConConfigBean != null && dataConConfigBean.getBean() != null) {
dataConConfigBean.destroyBean();
}
- if(ftpletContainerBean.getBean() != null) {
+ if(ftpletContainerBean != null && ftpletContainerBean.getBean() != null) {
ftpletContainerBean.destroyBean();
}
- if(userManagerBean.getBean() != null) {
+ if(userManagerBean != null && userManagerBean.getBean() != null) {
userManagerBean.destroyBean();
}
- if(ipRestrictorBean.getBean() != null) {
+ if(ipRestrictorBean != null && ipRestrictorBean.getBean() != null) {
ipRestrictorBean.destroyBean();
}
- if(fileSystemManagerBean.getBean() != null) {
+ if(fileSystemManagerBean != null && fileSystemManagerBean.getBean() != null) {
fileSystemManagerBean.destroyBean();
}
- if(statisticsBean.getBean() != null) {
+ if(statisticsBean != null && statisticsBean.getBean() != null) {
statisticsBean.destroyBean();
}
- if(messageResourceBean.getBean() != null) {
+ if(messageResourceBean != null && messageResourceBean.getBean() != null) {
messageResourceBean.destroyBean();
}
@@ -354,5 +379,34 @@
logFactory.release();
logFactory = null;
}
+ }
+
+ public Listener getListener(String name) {
+ Bean listenerBean = (Bean) listeners.get(name);
+
+ if(listenerBean != null) {
+ return (Listener) listenerBean.getBean();
+ } else {
+ return null;
+ }
+ }
+
+ public Listener[] getListeners() {
+ Collection listenerBeans = listeners.values();
+ Iterator listenerIter = listenerBeans.iterator();
+
+
+ Listener[] listenerArray = new Listener[listenerBeans.size()];
+
+ int counter = 0;
+ while (listenerIter.hasNext()) {
+ Bean bean = (Bean) listenerIter.next();
+
+ listenerArray[counter] = (Listener) bean.getBean();
+
+ counter++;
+ }
+
+ return listenerArray;
}
}
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultDataConnectionConfig.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultDataConnectionConfig.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultDataConnectionConfig.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultDataConnectionConfig.java Thu Feb 15 14:55:05 2007
@@ -20,12 +20,10 @@
package org.apache.ftpserver;
import java.net.InetAddress;
+import java.net.UnknownHostException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.ftpserver.ftplet.Component;
-import org.apache.ftpserver.ftplet.Configuration;
-import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.interfaces.DataConnectionConfig;
import org.apache.ftpserver.interfaces.Ssl;
@@ -33,23 +31,72 @@
* Data connection configuration.
*/
public
-class DefaultDataConnectionConfig implements DataConnectionConfig, Component {
+class DefaultDataConnectionConfig implements DataConnectionConfig {
- private Log log;
- private LogFactory logFactory;
+ public static class Active {
+ private boolean enable = true;
+ private InetAddress localAddress;
+ private int localPort = 0;
+ private boolean ipCheck = false;
+
+ public Active() {
+ try {
+ localAddress = InetAddress.getLocalHost();
+ } catch (UnknownHostException e) {
+ throw new FtpServerConfigurationException("Failed to resolve localhost", e);
+ }
+ }
+
+ public boolean isEnable() {
+ return enable;
+ }
+ public void setEnable(boolean enable) {
+ this.enable = enable;
+ }
+ public boolean isIpCheck() {
+ return ipCheck;
+ }
+ public void setIpCheck(boolean ipCheck) {
+ this.ipCheck = ipCheck;
+ }
+ public InetAddress getLocalAddress() {
+ return localAddress;
+ }
+ public void setLocalAddress(InetAddress localAddress) {
+ this.localAddress = localAddress;
+ }
+ public int getLocalPort() {
+ return localPort;
+ }
+ public void setLocalPort(int localPort) {
+ this.localPort = localPort;
+ }
+ }
- private int maxIdleTimeMillis;
+ public static class Passive {
+ private InetAddress address;
+ private PassivePorts passivePorts =PassivePorts.parse("0");
+
+ public InetAddress getAddress() {
+ return address;
+ }
+ public void setAddress(InetAddress address) {
+ this.address = address;
+ }
+ public PassivePorts getPassivePorts() {
+ return passivePorts;
+ }
+ public void setPorts(String ports) {
+ this.passivePorts = PassivePorts.parse(ports);
+ }
+ }
- private boolean activeEnable;
- private boolean activeIpCheck;
- private InetAddress activeLocalAddress;
- private int activeLocalPort;
+ private Log log;
+ private LogFactory logFactory;
- private InetAddress passiveAddress;
+ private int maxIdleTimeMillis = 10000;
private Ssl ssl;
-
- private PassivePorts passivePorts;
/**
@@ -60,62 +107,24 @@
log = logFactory.getInstance(getClass());
}
- /**
- * Configure the data connection config object.
- */
- public void configure(Configuration conf) throws FtpException {
-
- try {
-
- // get the maximum idle time in millis
- maxIdleTimeMillis = conf.getInt("idle-time", 10) * 1000;
-
- // get the active data connection parameters
- Configuration activeConf = conf.subset("active");
- activeEnable = activeConf.getBoolean("enable", true);
- if(activeEnable) {
- String portAddress = activeConf.getString("local-address", null);
- if(portAddress == null) {
- activeLocalAddress = InetAddress.getLocalHost();
- }
- else {
- activeLocalAddress = InetAddress.getByName(portAddress);
- }
-
- activeLocalPort = activeConf.getInt("local-port", 0);
- activeIpCheck = activeConf.getBoolean("ip-check", false);
- }
-
- // get the passive data connection parameters
- Configuration passiveConf = conf.subset("passive");
-
- String pasvAddress = passiveConf.getString("address", null);
- if(pasvAddress == null) {
- passiveAddress = null;
- }
- else {
- passiveAddress = InetAddress.getByName(pasvAddress);
- }
-
- String pasvPorts = passiveConf.getString("ports", "0");
-
- passivePorts = PassivePorts.parse(pasvPorts);
-
- // get SSL parameters if available
- Configuration sslConf = conf.subset("ssl");
- if(!sslConf.isEmpty()) {
- ssl = (Ssl)Class.forName("org.apache.ftpserver.ssl.DefaultSsl").newInstance();
- ssl.setLogFactory(logFactory);
- ssl.configure(sslConf);
- }
- }
- catch(FtpException ex) {
- throw ex;
- }
- catch(Exception ex) {
- log.error("DefaultDataConnectionConfig.configure()", ex);
- throw new FtpException("DefaultDataConnectionConfig.configure()", ex);
- }
+ public void setIdleTime(int idleTime) {
+ // get the maximum idle time in millis
+ maxIdleTimeMillis = idleTime * 1000;
+ }
+
+ private Active active = new Active();
+ private Passive passive = new Passive();
+
+ public void setActive(Active active) {
+ this.active = active;
+ }
+
+ public void setPassive(Passive passive) {
+ this.passive = passive;
+ }
+
+ public void setSsl(Ssl ssl) {
+ this.ssl = ssl;
}
/**
@@ -129,35 +138,35 @@
* Is PORT enabled?
*/
public boolean isActiveEnabled() {
- return activeEnable;
+ return active.isEnable();
}
/**
* Check the PORT IP?
*/
public boolean isActiveIpCheck() {
- return activeIpCheck;
+ return active.isIpCheck();
}
/**
* Get the local address for active mode data transfer.
*/
public InetAddress getActiveLocalAddress() {
- return activeLocalAddress;
+ return active.getLocalAddress();
}
/**
* Get the active local port number.
*/
public int getActiveLocalPort() {
- return activeLocalPort;
+ return active.getLocalPort();
}
/**
* Get passive host.
*/
public InetAddress getPassiveAddress() {
- return passiveAddress;
+ return passive.getAddress();
}
/**
@@ -172,7 +181,7 @@
while( (dataPort==-1) && (--loopTimes >= 0) && (!currThread.isInterrupted()) ) {
// search for a free port
- dataPort = passivePorts.reserveNextPort();
+ dataPort = passive.getPassivePorts().reserveNextPort();
// no available free port - wait for the release notification
if(dataPort == -1) {
@@ -190,7 +199,7 @@
* Release data port
*/
public synchronized void releasePassivePort(int port) {
- passivePorts.releasePort(port);
+ passive.getPassivePorts().releasePort(port);
notify();
}
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java Thu Feb 15 14:55:05 2007
@@ -20,14 +20,9 @@
package org.apache.ftpserver;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
import org.apache.commons.logging.Log;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.listener.Listener;
-import org.apache.ftpserver.listener.io.IOListener;
/**
* This is the starting point of all the servers. It invokes a new listener
@@ -44,8 +39,6 @@
private boolean suspended;
- private List listeners = new ArrayList();
-
/**
* Constructor. Set the server object.
* @throws Exception
@@ -53,19 +46,15 @@
public FtpServer(FtpServerContext serverContext) throws Exception {
this.serverContext = serverContext;
log = this.serverContext.getLogFactory().getInstance(getClass());
-
- // for now just create one
- listeners.add(new IOListener(serverContext));
}
/**
* Start the server. Open a new listener thread.
*/
public void start() throws Exception {
- for (Iterator iter = listeners.iterator(); iter.hasNext();) {
- Listener listener = (Listener) iter.next();
-
- listener.start();
+ Listener[] listeners = serverContext.getListeners();
+ for (int i = 0; i<listeners.length; i++) {
+ listeners[i].start(serverContext);
}
System.out.println("Server ready :: Apache FTP Server");
@@ -79,11 +68,11 @@
public void stop() {
// stop all listeners
- for (Iterator iter = listeners.iterator(); iter.hasNext();) {
- Listener listener = (Listener) iter.next();
-
- listener.stop();
+ Listener[] listeners = serverContext.getListeners();
+ for (int i = 0; i<listeners.length; i++) {
+ listeners[i].stop();
}
+
// release server resources
if (serverContext != null) {
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java Thu Feb 15 14:55:05 2007
@@ -32,6 +32,7 @@
import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.FtpServerSession;
+import org.apache.ftpserver.listener.Listener;
/**
* FTP session
@@ -47,6 +48,7 @@
private HashMap attributeMap;
private InetAddress remoteAddr;
private InetAddress serverAddr;
+ private int serverPort;
private String language;
private Certificate[] clientCertificates;
@@ -65,7 +67,16 @@
private DataType dataType = DataType.ASCII;
private Structure structure = Structure.FILE;
private FtpServerContext serverContext;
+ private Listener listener;
+ public Listener getListener() {
+ return listener;
+ }
+
+ public void setListener(Listener listener) {
+ this.listener = listener;
+ }
+
/**
* Default constructor.
*/
@@ -368,5 +379,13 @@
public FtpServerContext getServerContext() {
return serverContext;
+ }
+
+ public int getServerPort() {
+ return serverPort;
+ }
+
+ public void setServerPort(int serverPort) {
+ this.serverPort = serverPort;
}
}
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java Thu Feb 15 14:55:05 2007
@@ -28,9 +28,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.interfaces.FtpServerContext;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.commons.logging.Log;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
@@ -58,7 +58,7 @@
// check SSL configuration
FtpServerContext serverContext = connection.getServerContext();
Log log = serverContext.getLogFactory().getInstance(getClass());
- if(serverContext.getSocketFactory().getSSL() == null) {
+ if(session.getListener().getSsl() == null) {
out.write(FtpReplyUtil.translate(session, 431, "AUTH", null));
return;
}
@@ -67,9 +67,9 @@
String authType = request.getArgument().toUpperCase();
if(authType.equals("SSL")) {
try {
- connection.beforeSecureControlChannel("SSL");
+ connection.beforeSecureControlChannel(session, "SSL");
out.write(FtpReplyUtil.translate(session, 234, "AUTH.SSL", null));
- connection.afterSecureControlChannel("SSL");
+ connection.afterSecureControlChannel(session, "SSL");
} catch(FtpException ex) {
throw ex;
} catch(Exception ex) {
@@ -79,9 +79,9 @@
}
else if(authType.equals("TLS")) {
try {
- connection.beforeSecureControlChannel("TLS");
+ connection.beforeSecureControlChannel(session, "TLS");
out.write(FtpReplyUtil.translate(session, 234, "AUTH.TLS", null));
- connection.afterSecureControlChannel("TLS");
+ connection.afterSecureControlChannel(session, "TLS");
} catch(FtpException ex) {
throw ex;
} catch(Exception ex) {
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileSystemView;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileSystemView;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.interfaces.FtpServerContext;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import java.net.UnknownHostException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.interfaces.DataConnectionConfig;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java Thu Feb 15 14:55:05 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpDataConnectionFactory;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java Thu Feb 15 14:55:05 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.interfaces.MessageResource;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java Thu Feb 15 14:55:05 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.interfaces.MessageResource;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import org.apache.ftpserver.FtpDataConnection;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.listing.DirectoryLister;
import org.apache.ftpserver.listing.LISTFileFormater;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java Thu Feb 15 14:55:05 2007
@@ -27,9 +27,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
import org.apache.ftpserver.util.IoUtils;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.DateUtils;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.interfaces.FtpServerContext;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import org.apache.ftpserver.FtpDataConnection;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.listing.DirectoryLister;
import org.apache.ftpserver.listing.FileFormater;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.listing.FileFormater;
import org.apache.ftpserver.listing.ListArgument;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import org.apache.ftpserver.FtpDataConnection;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.listing.DirectoryLister;
import org.apache.ftpserver.listing.FileFormater;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java Thu Feb 15 14:55:05 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.interfaces.Command;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java Thu Feb 15 14:55:05 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java Thu Feb 15 14:55:05 2007
@@ -28,9 +28,9 @@
import org.apache.ftpserver.ftplet.FileSystemManager;
import org.apache.ftpserver.ftplet.FileSystemView;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.ftplet.User;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import org.apache.ftpserver.FtpDataConnectionFactory;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java Thu Feb 15 14:55:05 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import java.util.StringTokenizer;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.interfaces.DataConnectionConfig;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpDataConnectionFactory;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileSystemView;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java Thu Feb 15 14:55:05 2007
@@ -29,9 +29,9 @@
import org.apache.ftpserver.ftplet.DataType;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.interfaces.FtpServerContext;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.interfaces.FtpServerContext;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.interfaces.FtpServerContext;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java Thu Feb 15 14:55:05 2007
@@ -25,9 +25,9 @@
import org.apache.commons.logging.Log;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.interfaces.Command;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.DefaultFtpReply;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.ftplet.UserManager;
import org.apache.ftpserver.interfaces.FtpServerContext;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java Thu Feb 15 14:55:05 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.DefaultFtpReply;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpStatistics;
import org.apache.ftpserver.ftplet.UserManager;
import org.apache.ftpserver.listener.Connection;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java Thu Feb 15 14:55:05 2007
@@ -26,9 +26,9 @@
import org.apache.ftpserver.DefaultFtpReply;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpSession;
import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.ftplet.UserManager;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java Thu Feb 15 14:55:05 2007
@@ -26,9 +26,9 @@
import org.apache.ftpserver.DefaultFtpReply;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java Thu Feb 15 14:55:05 2007
@@ -24,9 +24,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java Thu Feb 15 14:55:05 2007
@@ -27,9 +27,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.interfaces.FtpServerContext;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java Thu Feb 15 14:55:05 2007
@@ -28,9 +28,9 @@
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FileSystemView;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpSession;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.Structure;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java Thu Feb 15 14:55:05 2007
@@ -22,9 +22,9 @@
import java.io.IOException;
import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java Thu Feb 15 14:55:05 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.DataType;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.FtpReplyUtil;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java Thu Feb 15 14:55:05 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.FtpReplyOutput;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.ftplet.FtpReply;
import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ftplet/IsolatingFtpSession.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ftplet/IsolatingFtpSession.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ftplet/IsolatingFtpSession.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ftplet/IsolatingFtpSession.java Thu Feb 15 14:55:05 2007
@@ -95,6 +95,10 @@
return session.getServerAddress();
}
+ public int getServerPort() {
+ return session.getServerPort();
+ }
+
public Structure getStructure() {
return session.getStructure();
}
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/CommandFactory.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/CommandFactory.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/CommandFactory.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/CommandFactory.java Thu Feb 15 14:55:05 2007
@@ -19,7 +19,6 @@
package org.apache.ftpserver.interfaces;
-import org.apache.ftpserver.ftplet.Component;
/**
* Command factory interface.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/DataConnectionConfig.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/DataConnectionConfig.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/DataConnectionConfig.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/DataConnectionConfig.java Thu Feb 15 14:55:05 2007
@@ -21,8 +21,6 @@
import java.net.InetAddress;
-import org.apache.ftpserver.ftplet.Component;
-
/**
* Data connection configuration interface.
*/
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java Thu Feb 15 14:55:05 2007
@@ -22,6 +22,7 @@
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletContext;
import org.apache.ftpserver.listener.ConnectionManager;
+import org.apache.ftpserver.listener.Listener;
/**
* This is basically <code>org.apache.ftpserver.ftplet.FtpletContext</code> with added
@@ -49,6 +50,10 @@
* Get ftplet container.
*/
Ftplet getFtpletContainer();
+
+ Listener getListener(String name);
+
+ Listener[] getListeners();
/**
* Get server socket factory.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerSession.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerSession.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerSession.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerSession.java Thu Feb 15 14:55:05 2007
@@ -20,6 +20,7 @@
package org.apache.ftpserver.interfaces;
import org.apache.ftpserver.ftplet.FtpSession;
+import org.apache.ftpserver.listener.Listener;
/**
* The user session as seen by server components, adds additional
@@ -32,5 +33,7 @@
* @return The server context
*/
FtpServerContext getServerContext();
+
+ Listener getListener();
}
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/IpRestrictor.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/IpRestrictor.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/IpRestrictor.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/IpRestrictor.java Thu Feb 15 14:55:05 2007
@@ -21,7 +21,6 @@
import java.net.InetAddress;
-import org.apache.ftpserver.ftplet.Component;
import org.apache.ftpserver.ftplet.FtpException;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/MessageResource.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/MessageResource.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/MessageResource.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/MessageResource.java Thu Feb 15 14:55:05 2007
@@ -21,7 +21,6 @@
import java.util.Properties;
-import org.apache.ftpserver.ftplet.Component;
import org.apache.ftpserver.ftplet.FtpException;
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java Thu Feb 15 14:55:05 2007
@@ -19,7 +19,6 @@
package org.apache.ftpserver.interfaces;
-import org.apache.ftpserver.ftplet.Component;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpStatistics;
import org.apache.ftpserver.listener.Connection;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/SocketFactory.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/SocketFactory.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/SocketFactory.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/SocketFactory.java Thu Feb 15 14:55:05 2007
@@ -22,8 +22,6 @@
import java.net.InetAddress;
import java.net.ServerSocket;
-import org.apache.ftpserver.ftplet.Component;
-
/**
* This interface is responsible to create appropriate server socket.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Ssl.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Ssl.java?view=diff&rev=508224&r1=508223&r2=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Ssl.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Ssl.java Thu Feb 15 14:55:05 2007
@@ -26,13 +26,11 @@
import javax.net.ssl.SSLContext;
-import org.apache.ftpserver.ftplet.Component;
-
/**
* SSL interface.
*/
public
-interface Ssl extends Component {
+interface Ssl {
SSLContext getSSLContext() throws GeneralSecurityException;
SSLContext getSSLContext(String protocol) throws GeneralSecurityException;
Added: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/AbstractListener.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/AbstractListener.java?view=auto&rev=508224
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/AbstractListener.java (added)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/AbstractListener.java Thu Feb 15 14:55:05 2007
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ftpserver.listener;
+
+import java.net.InetAddress;
+
+import org.apache.ftpserver.interfaces.Ssl;
+
+
+/**
+ * Common base class for listener implementations
+ */
+public abstract class AbstractListener implements Listener {
+
+ private InetAddress serverAddress;
+ private int port = 21;
+ private Ssl ssl;
+ private boolean implicitSsl = false;
+
+ public boolean isImplicitSsl() {
+ return implicitSsl;
+ }
+ public void setImplicitSsl(boolean implicitSsl) {
+ this.implicitSsl = implicitSsl;
+ }
+ public int getPort() {
+ return port;
+ }
+ public void setPort(int port) {
+ this.port = port;
+ }
+ public InetAddress getServerAddress() {
+ return serverAddress;
+ }
+ public void setServerAddress(InetAddress serverAddress) {
+ this.serverAddress = serverAddress;
+ }
+ public Ssl getSsl() {
+ return ssl;
+ }
+ public void setSsl(Ssl ssl) {
+ this.ssl = ssl;
+ }
+}