From Bugzilla Helper: User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.5a) Gecko/20030609 Description of problem: When a data connection fails to be established for some reason, wu-ftpd returns both a failure response and a success response. This was pointed out to me by an ftp client author who told me users of his client were having trouble using our ftp site. Upon investigating the problem, he discovered that his client was queing the reponse codes if there was more on the connection after getting the expected reponse, so the second response code wound up getting treated like the response to the following command instead of an additional response to the existing one. Per RFC 959, section 4.2 if more than one response is returned, they have to be formatted a special way to make them distinguishable. They also have to have the same response code. These aren't. A transcript which demonstrates follows. Version-Release number of selected component (if applicable): wu-ftpd-2.6.2-5 How reproducible: Always Steps to Reproduce: 220 ftp.syndicomm.com FTP server (Version wu-2.6.2-5) ready. user anonymous 331 Guest login ok, send your complete e-mail address as password. pass justdave 230-Welcome to the Syndicomm FTP site. The /pub/members-only directory 230-is only available to paying members of Syndicomm Online. Visit 230-http://www.syndicomm.com for more information. The other directories 230-in /pub are available to everyone. 230- 230 Guest login ok, access restrictions apply. list 425 Can't build data connection: Connection refused. 226 Transfer complete. pasv 227 Entering Passive Mode (127,0,0,1,126,224) list 425 Can't open data connection. 226 Transfer complete. Actual Results: The correct (425) response code was followed by an incorrect (226) response code. How could the transfer complete if it hadn't even started? Expected Results: The 425 response code should have been the only one. Additional info: This is a minor issue that pretty much all of the major FTP clients apparently work around or ignore. I would have told this client author to do the same, however, since it is an RFC violation, I figured I would go ahead and report it.