You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by dl...@apache.org on 2009/05/27 14:35:46 UTC

svn commit: r779146 - /mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java

Author: dlat
Date: Wed May 27 12:35:46 2009
New Revision: 779146

URL: http://svn.apache.org/viewvc?rev=779146&view=rev
Log:
FTPSERVER-306 EOL sequence is lost if the file wasn't correctly transformed to NVT format (this is, the sent new line sequence  is different from \r\n)

Modified:
    mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java

Modified: mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java?rev=779146&r1=779145&r2=779146&view=diff
==============================================================================
--- mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java (original)
+++ mina/ftpserver/branches/1.0.x/core/src/main/java/org/apache/ftpserver/impl/IODataConnection.java Wed May 27 12:35:46 2009
@@ -40,7 +40,7 @@
 
 /**
  * <strong>Internal class, do not use directly.</strong>
- * 
+ *
  * An active open data connection, used for transfering data over the data
  * connection.
  *
@@ -50,9 +50,9 @@
     private final Logger LOG = LoggerFactory
     .getLogger(IODataConnection.class);
 
-    
+
     private static final byte[] EOL = System.getProperty("line.separator").getBytes();
-    
+
     private FtpIoSession session;
 
     private Socket socket;
@@ -116,7 +116,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @seeorg.apache.ftpserver.FtpDataConnection2#transferFromClient(java.io.
      * OutputStream)
      */
@@ -140,7 +140,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see
      * org.apache.ftpserver.FtpDataConnection2#transferToClient(java.io.InputStream
      * )
@@ -165,7 +165,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see
      * org.apache.ftpserver.FtpDataConnection2#transferToClient(java.lang.String
      * )
@@ -263,13 +263,17 @@
                             if (b == '\n' && lastByte != '\r') {
                                 bos.write('\r');
                             }
-    
+
                             bos.write(b);
                         } else {
                             if(b == '\n') {
                                 // for reads, we should always get \r\n
-                                // so what we do here is to ignore \n bytes 
+                                // so what we do here is to ignore \n bytes
                                 // and on \r dump the system local line ending
+                                // Some clients won't transform new lines into \r\n so we make sure we don't delete new lines
+								if (lastByte != '\r'){
+								    bos.write(EOL);
+                                }
                             } else if(b == '\r') {
                                 bos.write(EOL);
                             } else {