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 &lt;SP&gt; &lt;structure-code&gt; &lt;CRLF&gt;</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 &lt;CRLF&gt;</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 &lt;SP&gt; &lt;type-code&gt; &lt;CRLF&gt;</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;
         }
         
     }