Here is a filezilla log of a standard ftp session. During file transfer the LIST command results in a disconnect from server. The file transfer however continues and is finally aborted by me. Status: Resolving IP-Address for dom Trace: ControlSocket.cpp(979): CRealControlSocket::ContinueConnect(0x8a3cf98) m_pEngine=0x87898f0 caller=0x8a61828 Status: Connecting to 192.168.1.67:21... Status: Connection established, waiting for welcome message... Trace: CFtpControlSocket::OnReceive() Response: 220 Welcome to Exetron's FTP service. Trace: CFtpControlSocket::SendNextCommand() Command: USER exetron Status: Connection established, waiting for welcome message... Trace: CFtpControlSocket::OnReceive() Response: 331 Please specify the password. Trace: CFtpControlSocket::SendNextCommand() Command: PASS ******** Trace: CFtpControlSocket::OnReceive() Response: 230 Login successful. Trace: CFtpControlSocket::SendNextCommand() Command: OPTS UTF8 ON Trace: CFtpControlSocket::OnReceive() Response: 200 Always in UTF8 mode. Status: Connected Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Status: Retrieving directory listing... Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::ChangeDirSend() Command: PWD Trace: CFtpControlSocket::OnReceive() Response: 257 "/" Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Trace: CFtpControlSocket::ParseSubcommandResult(0) Trace: CFtpControlSocket::ListSubcommandResult() Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Status: Directory listing successful Status: Resolving IP-Address for dom Trace: ControlSocket.cpp(979): CRealControlSocket::ContinueConnect(0x8a36480) m_pEngine=0x8838a58 caller=0x8aa43c8 Status: Connecting to 192.168.1.67:21... Status: Connection established, waiting for welcome message... Trace: CFtpControlSocket::OnReceive() Response: 220 Welcome to Exetron's FTP service. Trace: CFtpControlSocket::SendNextCommand() Command: USER exetron Status: Connection established, waiting for welcome message... Trace: CFtpControlSocket::OnReceive() Response: 331 Please specify the password. Trace: CFtpControlSocket::SendNextCommand() Command: PASS ******** Trace: CFtpControlSocket::OnReceive() Response: 230 Login successful. Trace: CFtpControlSocket::SendNextCommand() Command: OPTS UTF8 ON Trace: CFtpControlSocket::OnReceive() Response: 200 Always in UTF8 mode. Status: Connected Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Trace: CFtpControlSocket::FileTransfer() Status: Starting download of /pub/linux/distros/ubuntu/ubuntu-8.10-desktop-i386.iso Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::ChangeDirSend() Command: CWD /pub/linux/distros/ubuntu/ Trace: CFtpControlSocket::OnReceive() Response: 250 Directory successfully changed. Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::ChangeDirSend() Command: PWD Trace: CFtpControlSocket::OnReceive() Response: 257 "/pub/linux/distros/ubuntu" Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Trace: CFtpControlSocket::ParseSubcommandResult(0) Trace: FileTransferSubcommandResult() Trace: CFtpControlSocket::SendNextCommand() Trace: FileTransferSend() Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::TransferSend() Command: TYPE I Trace: CFtpControlSocket::OnReceive() Response: 200 Switching to Binary mode. Trace: CFtpControlSocket::TransferParseResponse() Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::TransferSend() Command: PASV Trace: CFtpControlSocket::OnReceive() Response: 227 Entering Passive Mode (192,168,1,67,192,0) Trace: CFtpControlSocket::TransferParseResponse() Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::TransferSend() Command: RETR ubuntu-8.10-desktop-i386.iso Trace: CFtpControlSocket::OnReceive() Response: 150 Opening BINARY mode data connection for ubuntu-8.10-desktop-i386.iso (732766208 bytes). Trace: CFtpControlSocket::TransferParseResponse() Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::TransferSend() Trace: Postponing receive, m_pBackend was false. Trace: CTransferSocket::OnConnect Trace: Executing postponed receive Status: Retrieving directory listing... Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::ChangeDirSend() Command: CWD /pub/linux/ Trace: CFtpControlSocket::OnReceive() Response: 250 Directory successfully changed. Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::ChangeDirSend() Command: PWD Trace: CFtpControlSocket::OnReceive() Response: 257 "/pub/linux" Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::ChangeDirSend() Command: CWD games Trace: CFtpControlSocket::OnReceive() Response: 250 Directory successfully changed. Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::ChangeDirSend() Command: PWD Trace: CFtpControlSocket::OnReceive() Response: 257 "/pub/linux/games" Trace: CFtpControlSocket::ResetOperation(0) Trace: CControlSocket::ResetOperation(0) Trace: CFtpControlSocket::ParseSubcommandResult(0) Trace: CFtpControlSocket::ListSubcommandResult() Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::TransferSend() Command: TYPE I Trace: CFtpControlSocket::OnReceive() Response: 200 Switching to Binary mode. Trace: CFtpControlSocket::TransferParseResponse() Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::TransferSend() Command: PASV Trace: CFtpControlSocket::OnReceive() Response: 500 OOPS: vsf_sysutil_bind Trace: CFtpControlSocket::TransferParseResponse() Trace: CFtpControlSocket::SendNextCommand() Trace: CFtpControlSocket::TransferSend() Command: PORT 192,168,1,69,134,206 Response: 500 OOPS: child died Trace: CFtpControlSocket::TransferParseResponse() Trace: CFtpControlSocket::ResetOperation(2) Trace: CControlSocket::ResetOperation(2) Trace: CFtpControlSocket::ParseSubcommandResult(2) Trace: CFtpControlSocket::ListSubcommandResult() Trace: CFtpControlSocket::ResetOperation(2) Trace: CControlSocket::ResetOperation(2) Error: Failed to retrieve directory listing Trace: CRealControlSocket::OnClose() Error: Disconnected from server Trace: CFtpControlSocket::ResetOperation(66) Trace: CControlSocket::ResetOperation(66) Trace: CFtpControlSocket::ResetOperation(10) Trace: CControlSocket::ResetOperation(10) Trace: CFtpControlSocket::ResetOperation(10) Trace: CControlSocket::ResetOperation(10) Error: Transfer aborted by user Trace: CFtpControlSocket::OnReceive() Response: 426 Failure writing network stream. Trace: Skipping reply after cancelled operation or keepalive command. Status: Disconnected from server Trace: CFtpControlSocket::ResetOperation(66) Trace: CControlSocket::ResetOperation(66)