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 {