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/05/23 11:22:20 UTC

svn commit: r540925 - in /incubator/ftpserver/trunk/core/src: java/org/apache/ftpserver/ java/org/apache/ftpserver/message/ test/org/apache/ftpserver/ test/org/apache/ftpserver/clienttests/

Author: ngn
Date: Wed May 23 04:22:19 2007
New Revision: 540925

URL: http://svn.apache.org/viewvc?view=rev&rev=540925
Log:
Fix for bug where the FEAT response would not contain the starting space character on each line. Reported by Steve Jones. (FTPSERVER-88)

Added:
    incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/DefaultFtpReplyTest.java
      - copied, changed from r521665, incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/FtpResponseImplTest.java
    incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FeatTest.java   (with props)
Removed:
    incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/FtpResponseImplTest.java
Modified:
    incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpReply.java
    incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/message/FtpStatus.properties

Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpReply.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpReply.java?view=diff&rev=540925&r1=540924&r2=540925
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpReply.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultFtpReply.java Wed May 23 04:22:19 2007
@@ -75,7 +75,7 @@
             sb.append("-");
 
             for (int i = 0; i < lines.length; i++) {
-                String line = lines[i].trim();
+                String line = lines[i];
                 
                 if(i + 1 == lines.length) {
                     sb.append(code);

Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/message/FtpStatus.properties
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/message/FtpStatus.properties?view=diff&rev=540925&r1=540924&r2=540925
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/message/FtpStatus.properties (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/message/FtpStatus.properties Wed May 23 04:22:19 2007
@@ -66,7 +66,7 @@
 425.EPSV=Can't open passive connection.
 229.EPSV=Entering Passive Mode ({output.msg})
 
-211.FEAT=Extensions supported\nSIZE\nMDTM\nREST STREAM\nLANG en;zh-tw;ja;is\nMLST Size;Modify;Type;Perm\nAUTH SSL\nAUTH TLS\nMODE Z\nUTF8\nTVFS\nMD5\nMMD5\nEnd
+211.FEAT=Extensions supported\n SIZE\n MDTM\n REST STREAM\n LANG en;zh-tw;ja;is\n MLST Size;Modify;Type;Perm\n AUTH SSL\n AUTH TLS\n MODE Z\n UTF8\n TVFS\n MD5\n MMD5\nEnd
 
 214=The following commands are implemented.\nABOR  APPE  CDUP  CWD   DELE  HELP  LIST  MDTM\nMKD   MODE  NLST  NOOP  PASS  PASV  PORT  PWD\nQUIT  REST  RETR  RMD   RNFR  RNTO  SITE  SIZE\nSTAT  STOR  STOU  STRU  SYST  TYPE  USER\nEnd of help.
 214.ABOR=Syntax\: ABOR

Copied: incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/DefaultFtpReplyTest.java (from r521665, incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/FtpResponseImplTest.java)
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/DefaultFtpReplyTest.java?view=diff&rev=540925&p1=incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/FtpResponseImplTest.java&r1=521665&p2=incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/DefaultFtpReplyTest.java&r2=540925
==============================================================================
--- incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/FtpResponseImplTest.java (original)
+++ incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/DefaultFtpReplyTest.java Wed May 23 04:22:19 2007
@@ -22,7 +22,7 @@
 import junit.framework.TestCase;
 
 
-public class FtpResponseImplTest extends TestCase {
+public class DefaultFtpReplyTest extends TestCase {
 
     public void testSingleLineToString() {
         DefaultFtpReply response = new DefaultFtpReply(123, "foo bar");
@@ -46,5 +46,11 @@
         DefaultFtpReply response = new DefaultFtpReply(123, "\nfoo\nbar\nbaz");
         
         assertEquals("123-\r\nfoo\r\nbar\r\n123 baz\r\n", response.toString());
+    }
+    
+    public void testMultipleLinesToStringSpaceFirst() {
+        DefaultFtpReply response = new DefaultFtpReply(123, "foo\n bar\nbaz");
+        
+        assertEquals("123-foo\r\n bar\r\n123 baz\r\n", response.toString());
     }
 }

Added: incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FeatTest.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FeatTest.java?view=auto&rev=540925
==============================================================================
--- incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FeatTest.java (added)
+++ incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FeatTest.java Wed May 23 04:22:19 2007
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */  
+
+package org.apache.ftpserver.clienttests;
+
+
+
+
+public class FeatTest extends ClientTestTemplate {
+
+
+    public void test() throws Exception {
+        client.sendCommand("FEAT");
+        String[] featReplies = client.getReplyStrings();
+        
+        for(int i = 0; i<featReplies.length; i++) {
+            if(i == 0) {
+                // first must be 211-Extensions supported
+                assertEquals("211-Extensions supported", featReplies[i]);
+            } else if(i +1 == featReplies.length) {
+                // last must be 211 End
+                assertEquals("211 End", featReplies[i]);
+            } else {
+                // must start with a single space
+                assertEquals(' ', featReplies[i].charAt(0));
+                assertTrue(featReplies[i].charAt(1) != ' ');
+            }
+        }
+    }
+}

Propchange: incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/clienttests/FeatTest.java
------------------------------------------------------------------------------
    svn:eol-style = native