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/01/07 17:12:33 UTC
svn commit: r493776 [2/2] - in /incubator/ftpserver/trunk/core/src:
java/org/apache/ftpserver/ java/org/apache/ftpserver/command/
java/org/apache/ftpserver/interfaces/ test/org/apache/ftpserver/clienttests/
test/org/apache/ftpserver/interfaces/
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=493776&r1=493775&r2=493776
==============================================================================
--- 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 Sun Jan 7 09:12:30 2007
@@ -25,19 +25,16 @@
import java.io.InputStream;
import java.net.SocketException;
-import org.apache.commons.logging.Log;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
-import org.apache.ftpserver.RequestHandler;
-import org.apache.ftpserver.ftplet.Authority;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
+import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
-import org.apache.ftpserver.usermanager.TransferRatePermission;
import org.apache.ftpserver.usermanager.TransferRateRequest;
import org.apache.ftpserver.util.IoUtils;
@@ -61,7 +58,7 @@
/**
* Execute command.
*/
- public void execute(RequestHandler handler,
+ public void execute(Connection connection,
FtpRequest request,
FtpSessionImpl session,
FtpWriter out) throws IOException, FtpException {
@@ -70,7 +67,7 @@
// get state variable
long skipLen = session.getFileOffset();
- FtpServerContext serverContext = handler.getServerContext();
+ FtpServerContext serverContext = connection.getServerContext();
// argument check
String fileName = request.getArgument();
@@ -92,7 +89,7 @@
return;
}
else if(ftpletRet == FtpletEnum.RET_DISCONNECT) {
- serverContext.getConnectionManager().closeConnection(handler);
+ serverContext.getConnectionManager().closeConnection(connection);
return;
}
@@ -146,7 +143,7 @@
if(transferRateRequest != null) {
maxRate = transferRateRequest.getMaxUploadRate();
}
- long transSz = handler.transfer(bis, bos, maxRate);
+ long transSz = connection.transfer(bis, bos, maxRate);
// log message
String userName = session.getUser().getName();
@@ -154,7 +151,7 @@
// notify the statistics component
ServerFtpStatistics ftpStat = (ServerFtpStatistics)serverContext.getFtpStatistics();
- ftpStat.setUpload(handler, file, transSz);
+ ftpStat.setUpload(connection, file, transSz);
}
catch(SocketException ex) {
log.debug("Socket exception during data transfer", ex);
@@ -183,7 +180,7 @@
ftpletRet = FtpletEnum.RET_DISCONNECT;
}
if(ftpletRet == FtpletEnum.RET_DISCONNECT) {
- serverContext.getConnectionManager().closeConnection(handler);
+ serverContext.getConnectionManager().closeConnection(connection);
return;
}
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=493776&r1=493775&r2=493776
==============================================================================
--- 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 Sun Jan 7 09:12:30 2007
@@ -25,11 +25,8 @@
import java.io.InputStream;
import java.net.SocketException;
-import org.apache.commons.logging.Log;
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
-import org.apache.ftpserver.RequestHandler;
-import org.apache.ftpserver.ftplet.Authority;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FileSystemView;
import org.apache.ftpserver.ftplet.FtpException;
@@ -37,9 +34,9 @@
import org.apache.ftpserver.ftplet.FtpSession;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
+import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
-import org.apache.ftpserver.usermanager.TransferRatePermission;
import org.apache.ftpserver.usermanager.TransferRateRequest;
import org.apache.ftpserver.util.IoUtils;
@@ -60,7 +57,7 @@
/**
* Execute command.
*/
- public void execute(RequestHandler handler,
+ public void execute(Connection connection,
FtpRequest request,
FtpSessionImpl session,
FtpWriter out) throws IOException, FtpException {
@@ -69,7 +66,7 @@
// reset state variables
session.resetState();
- FtpServerContext serverContext = handler.getServerContext();
+ FtpServerContext serverContext = connection.getServerContext();
// call Ftplet.onUploadUniqueStart() method
Ftplet ftpletContainer = serverContext.getFtpletContainer();
@@ -84,7 +81,7 @@
return;
}
else if(ftpletRet == FtpletEnum.RET_DISCONNECT) {
- serverContext.getConnectionManager().closeConnection(handler);
+ serverContext.getConnectionManager().closeConnection(connection);
return;
}
@@ -102,7 +99,7 @@
try {
file = session.getFileSystemView().getFileObject(filePrefix);
if(file != null) {
- file = getUniqueFile(handler, session, file);
+ file = getUniqueFile(connection, session, file);
}
}
catch(Exception ex) {
@@ -151,7 +148,7 @@
if(transferRateRequest != null) {
maxRate = transferRateRequest.getMaxUploadRate();
}
- long transSz = handler.transfer(bis, bos, maxRate);
+ long transSz = connection.transfer(bis, bos, maxRate);
// log message
String userName = session.getUser().getName();
@@ -160,7 +157,7 @@
// notify the statistics component
ServerFtpStatistics ftpStat = (ServerFtpStatistics)serverContext.getFtpStatistics();
if(ftpStat != null) {
- ftpStat.setUpload(handler, file, transSz);
+ ftpStat.setUpload(connection, file, transSz);
}
}
catch(SocketException ex) {
@@ -190,7 +187,7 @@
ftpletRet = FtpletEnum.RET_DISCONNECT;
}
if(ftpletRet == FtpletEnum.RET_DISCONNECT) {
- serverContext.getConnectionManager().closeConnection(handler);
+ serverContext.getConnectionManager().closeConnection(connection);
return;
}
@@ -205,7 +202,7 @@
/**
* Get unique file object.
*/
- protected FileObject getUniqueFile(RequestHandler handler, FtpSession session, FileObject oldFile) throws FtpException {
+ protected FileObject getUniqueFile(Connection connection, FtpSession session, FileObject oldFile) throws FtpException {
FileObject newFile = oldFile;
FileSystemView fsView = session.getFileSystemView();
String fileName = newFile.getFullName();
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=493776&r1=493775&r2=493776
==============================================================================
--- 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 Sun Jan 7 09:12:30 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
-import org.apache.ftpserver.RequestHandler;
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Structure;
+import org.apache.ftpserver.interfaces.Connection;
/**
* <code>STRU <SP> <structure-code> <CRLF></code><br>
@@ -41,7 +41,7 @@
/**
* Execute command
*/
- public void execute(RequestHandler handler,
+ public void execute(Connection connection,
FtpRequest request,
FtpSessionImpl session,
FtpWriter out) throws IOException {
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=493776&r1=493775&r2=493776
==============================================================================
--- 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 Sun Jan 7 09:12:30 2007
@@ -23,8 +23,8 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
-import org.apache.ftpserver.RequestHandler;
import org.apache.ftpserver.ftplet.FtpRequest;
+import org.apache.ftpserver.interfaces.Connection;
/**
* <code>SYST <CRLF></code><br>
@@ -41,7 +41,7 @@
/**
* Execute command
*/
- public void execute(RequestHandler handler,
+ public void execute(Connection connection,
FtpRequest request,
FtpSessionImpl session,
FtpWriter out) throws IOException {
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=493776&r1=493775&r2=493776
==============================================================================
--- 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 Sun Jan 7 09:12:30 2007
@@ -23,9 +23,9 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
-import org.apache.ftpserver.RequestHandler;
import org.apache.ftpserver.ftplet.DataType;
import org.apache.ftpserver.ftplet.FtpRequest;
+import org.apache.ftpserver.interfaces.Connection;
/**
* <code>TYPE <SP> <type-code> <CRLF></code><br>
@@ -40,7 +40,7 @@
/**
* Execute command
*/
- public void execute(RequestHandler handler,
+ public void execute(Connection connection,
FtpRequest request,
FtpSessionImpl session,
FtpWriter out) throws IOException {
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=493776&r1=493775&r2=493776
==============================================================================
--- 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 Sun Jan 7 09:12:30 2007
@@ -23,10 +23,10 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
-import org.apache.ftpserver.RequestHandler;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.User;
+import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.ConnectionManager;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
@@ -50,13 +50,13 @@
/**
* Execute command.
*/
- public void execute(RequestHandler handler,
+ public void execute(Connection connection,
FtpRequest request,
FtpSessionImpl session,
FtpWriter out) throws IOException, FtpException {
boolean success = false;
- FtpServerContext serverContext = handler.getServerContext();
+ FtpServerContext serverContext = connection.getServerContext();
ConnectionManager conManager = serverContext.getConnectionManager();
ServerFtpStatistics stat = (ServerFtpStatistics)serverContext.getFtpStatistics();
try {
@@ -107,7 +107,7 @@
return;
}
- User configUser = handler.getServerContext().getUserManager().getUserByName(userName);
+ User configUser = connection.getServerContext().getUserManager().getUserByName(userName);
if(configUser != null){
//user login limit check
@@ -135,7 +135,7 @@
// if not ok - close connection
if(!success) {
- conManager.closeConnection(handler);
+ conManager.closeConnection(connection);
}
}
}
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Command.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Command.java?view=diff&rev=493776&r1=493775&r2=493776
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Command.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Command.java Sun Jan 7 09:12:30 2007
@@ -23,7 +23,6 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
-import org.apache.ftpserver.RequestHandler;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
@@ -38,7 +37,7 @@
/**
* Execute command.
*/
- void execute(RequestHandler handler,
+ void execute(Connection connection,
FtpRequest request,
FtpSessionImpl session,
FtpWriter out) throws IOException, FtpException;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Connection.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Connection.java?view=diff&rev=493776&r1=493775&r2=493776
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Connection.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Connection.java Sun Jan 7 09:12:30 2007
@@ -19,6 +19,11 @@
package org.apache.ftpserver.interfaces;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.Socket;
+
import org.apache.ftpserver.ftplet.FtpSession;
/**
@@ -43,5 +48,24 @@
* Set connection observer.
*/
void setObserver(ConnectionObserver observer);
+
+ /**
+ * Return the server context
+ * @return The servet context
+ */
+ FtpServerContext getServerContext();
+
+ /**
+ * Secure the control socket
+ * @param type The type of security to use, i.e. SSL or TLS
+ * @throws Exception
+ * TODO: Limit exception type.
+ * TODO: Rename without create (indicates factory)
+ */
+ void createSecureSocket(String type) throws Exception;
+
+ long transfer(InputStream bis, OutputStream bos, int maxRate) throws IOException;
+
+ Socket getControlSocket();
}
Modified: incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/ClientTestTemplate.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/ClientTestTemplate.java?view=diff&rev=493776&r1=493775&r2=493776
==============================================================================
--- incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/ClientTestTemplate.java (original)
+++ incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/ClientTestTemplate.java Sun Jan 7 09:12:30 2007
@@ -20,7 +20,6 @@
package org.apache.ftpserver.clienttests;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
Modified: incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FtpMd5Test.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FtpMd5Test.java?view=diff&rev=493776&r1=493775&r2=493776
==============================================================================
--- incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FtpMd5Test.java (original)
+++ incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FtpMd5Test.java Sun Jan 7 09:12:30 2007
@@ -165,11 +165,6 @@
assertEquals(504, client.sendCommand("MMD5 " + fileNames));
}
- /**
- * @param fileName
- * @param reply
- * @return
- */
private Map parseReplyHash(String reply) {
String s = reply.substring(4);
s = s.trim();
Modified: incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/interfaces/ServerFtpStatisticsTestTemplate.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/interfaces/ServerFtpStatisticsTestTemplate.java?view=diff&rev=493776&r1=493775&r2=493776
==============================================================================
--- incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/interfaces/ServerFtpStatisticsTestTemplate.java (original)
+++ incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/interfaces/ServerFtpStatisticsTestTemplate.java Sun Jan 7 09:12:30 2007
@@ -19,6 +19,10 @@
package org.apache.ftpserver.interfaces;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.Socket;
import java.util.Date;
import junit.framework.TestCase;
@@ -41,6 +45,22 @@
}
public void run() {
+ }
+
+ public void createSecureSocket(String type) throws Exception {
+
+ }
+
+ public Socket getControlSocket() {
+ return null;
+ }
+
+ public FtpServerContext getServerContext() {
+ return null;
+ }
+
+ public long transfer(InputStream bis, OutputStream bos, int maxRate) throws IOException {
+ return 0;
}
}