You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2009/03/08 10:33:19 UTC

svn commit: r751390 - in /mina/ftpserver: branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/ trunk/core/src/main/java/org/apache/ftpserver/command/impl/ trunk/core/src/test/java/org/apache/ftpserver/clienttests/

Author: ngn
Date: Sun Mar  8 09:33:17 2009
New Revision: 751390

URL: http://svn.apache.org/viewvc?rev=751390&view=rev
Log:
Closing streams on up-/downloads so that a failure to do so will keep statistics correct (FTPSERVER-269)

Modified:
    mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java
    mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java
    mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java
    mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java
    mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java

Modified: mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java?rev=751390&r1=751389&r2=751390&view=diff
==============================================================================
--- mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java (original)
+++ mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java Sun Mar  8 09:33:17 2009
@@ -162,6 +162,12 @@
                 // transfer data
                 long transSz = dataConnection.transferFromClient(session.getFtpletSession(), os);
 
+                // attempt to close the output stream so that errors in 
+                // closing it will return an error to the client (FTPSERVER-119) 
+                if(os != null) {
+                    os.close();
+                }
+
                 LOG.info("File uploaded {}", fileName);
 
                 // notify the statistics component
@@ -169,11 +175,6 @@
                         .getFtpStatistics();
                 ftpStat.setUpload(session, file, transSz);
                 
-                // attempt to close the output stream so that errors in 
-                // closing it will return an error to the client (FTPSERVER-119) 
-                if(os != null) {
-                    os.close();
-                }
             } catch (SocketException e) {
                 LOG.debug("SocketException during file upload", e);
                 failure = true;

Modified: mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java?rev=751390&r1=751389&r2=751390&view=diff
==============================================================================
--- mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java (original)
+++ mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java Sun Mar  8 09:33:17 2009
@@ -165,6 +165,11 @@
 
                 // transfer data
                 long transSz = dataConnection.transferToClient(session.getFtpletSession(), is);
+                // attempt to close the input stream so that errors in 
+                // closing it will return an error to the client (FTPSERVER-119) 
+                if(is != null) {
+                    is.close();
+                }
 
                 LOG.info("File downloaded {}", fileName);
 
@@ -175,11 +180,6 @@
                     ftpStat.setDownload(session, file, transSz);
                 }
                 
-                // attempt to close the input stream so that errors in 
-                // closing it will return an error to the client (FTPSERVER-119) 
-                if(is != null) {
-                    is.close();
-                }
             } catch (SocketException ex) {
                 LOG.debug("Socket exception during data transfer", ex);
                 failure = true;

Modified: mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java?rev=751390&r1=751389&r2=751390&view=diff
==============================================================================
--- mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java (original)
+++ mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java Sun Mar  8 09:33:17 2009
@@ -146,6 +146,12 @@
                 outStream = file.createOutputStream(skipLen);
                 long transSz = dataConnection.transferFromClient(session.getFtpletSession(), outStream);
 
+                // attempt to close the output stream so that errors in 
+                // closing it will return an error to the client (FTPSERVER-119) 
+                if(outStream != null) {
+                    outStream.close();
+                }
+
                 LOG.info("File uploaded {}", fileName);
 
                 // notify the statistics component
@@ -153,11 +159,6 @@
                         .getFtpStatistics();
                 ftpStat.setUpload(session, file, transSz);
                 
-                // attempt to close the output stream so that errors in 
-                // closing it will return an error to the client (FTPSERVER-119) 
-                if(outStream != null) {
-                    outStream.close();
-                }
             } catch (SocketException ex) {
                 LOG.debug("Socket exception during data transfer", ex);
                 failure = true;

Modified: mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java?rev=751390&r1=751389&r2=751390&view=diff
==============================================================================
--- mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java (original)
+++ mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java Sun Mar  8 09:33:17 2009
@@ -153,6 +153,12 @@
                 // transfer data
                 long transSz = dataConnection.transferFromClient(session.getFtpletSession(), os);
 
+                // attempt to close the output stream so that errors in 
+                // closing it will return an error to the client (FTPSERVER-119) 
+                if(os != null) {
+                    os.close();
+                }
+
                 LOG.info("File uploaded {}", fileName);
 
                 // notify the statistics component
@@ -162,11 +168,6 @@
                     ftpStat.setUpload(session, file, transSz);
                 }
                 
-                // attempt to close the output stream so that errors in 
-                // closing it will return an error to the client (FTPSERVER-119) 
-                if(os != null) {
-                    os.close();
-                }
             } catch (SocketException ex) {
                 LOG.debug("Socket exception during data transfer", ex);
                 failure = true;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java?rev=751390&r1=751389&r2=751390&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/APPE.java Sun Mar  8 09:33:17 2009
@@ -162,6 +162,12 @@
                 // transfer data
                 long transSz = dataConnection.transferFromClient(session.getFtpletSession(), os);
 
+                // attempt to close the output stream so that errors in 
+                // closing it will return an error to the client (FTPSERVER-119) 
+                if(os != null) {
+                    os.close();
+                }
+
                 LOG.info("File uploaded {}", fileName);
 
                 // notify the statistics component
@@ -169,11 +175,6 @@
                         .getFtpStatistics();
                 ftpStat.setUpload(session, file, transSz);
                 
-                // attempt to close the output stream so that errors in 
-                // closing it will return an error to the client (FTPSERVER-119) 
-                if(os != null) {
-                    os.close();
-                }
             } catch (SocketException e) {
                 LOG.debug("SocketException during file upload", e);
                 failure = true;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java?rev=751390&r1=751389&r2=751390&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/RETR.java Sun Mar  8 09:33:17 2009
@@ -165,6 +165,11 @@
 
                 // transfer data
                 long transSz = dataConnection.transferToClient(session.getFtpletSession(), is);
+                // attempt to close the input stream so that errors in 
+                // closing it will return an error to the client (FTPSERVER-119) 
+                if(is != null) {
+                    is.close();
+                }
 
                 LOG.info("File downloaded {}", fileName);
 
@@ -175,11 +180,6 @@
                     ftpStat.setDownload(session, file, transSz);
                 }
                 
-                // attempt to close the input stream so that errors in 
-                // closing it will return an error to the client (FTPSERVER-119) 
-                if(is != null) {
-                    is.close();
-                }
             } catch (SocketException ex) {
                 LOG.debug("Socket exception during data transfer", ex);
                 failure = true;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java?rev=751390&r1=751389&r2=751390&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOR.java Sun Mar  8 09:33:17 2009
@@ -146,6 +146,12 @@
                 outStream = file.createOutputStream(skipLen);
                 long transSz = dataConnection.transferFromClient(session.getFtpletSession(), outStream);
 
+                // attempt to close the output stream so that errors in 
+                // closing it will return an error to the client (FTPSERVER-119) 
+                if(outStream != null) {
+                    outStream.close();
+                }
+
                 LOG.info("File uploaded {}", fileName);
 
                 // notify the statistics component
@@ -153,11 +159,6 @@
                         .getFtpStatistics();
                 ftpStat.setUpload(session, file, transSz);
                 
-                // attempt to close the output stream so that errors in 
-                // closing it will return an error to the client (FTPSERVER-119) 
-                if(outStream != null) {
-                    outStream.close();
-                }
             } catch (SocketException ex) {
                 LOG.debug("Socket exception during data transfer", ex);
                 failure = true;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java?rev=751390&r1=751389&r2=751390&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/STOU.java Sun Mar  8 09:33:17 2009
@@ -153,6 +153,12 @@
                 // transfer data
                 long transSz = dataConnection.transferFromClient(session.getFtpletSession(), os);
 
+                // attempt to close the output stream so that errors in 
+                // closing it will return an error to the client (FTPSERVER-119) 
+                if(os != null) {
+                    os.close();
+                }
+
                 LOG.info("File uploaded {}", fileName);
 
                 // notify the statistics component
@@ -162,11 +168,6 @@
                     ftpStat.setUpload(session, file, transSz);
                 }
                 
-                // attempt to close the output stream so that errors in 
-                // closing it will return an error to the client (FTPSERVER-119) 
-                if(os != null) {
-                    os.close();
-                }
             } catch (SocketException ex) {
                 LOG.debug("Socket exception during data transfer", ex);
                 failure = true;

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java?rev=751390&r1=751389&r2=751390&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java Sun Mar  8 09:33:17 2009
@@ -25,7 +25,6 @@
 
 import org.apache.commons.net.ftp.FTPConnectionClosedException;
 import org.apache.ftpserver.FtpServerFactory;
-import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.listener.ListenerFactory;
 
 /**