FTP FEAT command problem.

Need help with FileZilla Client? Something does not work as expected? In this forum you may find an answer.

Moderator: Project members

Post Reply
Message
Author
bsrinath
504 Command not implemented
Posts: 9
Joined: 2010-11-18 23:44
First name: Srinath
Last name: Balaraman

FTP FEAT command problem.

#1 Post by bsrinath » 2010-11-18 23:58

Hi All,

I am trying to test FTP restart and recover with REST on a homegrown FTP server. For a FEAT command from FileZilla client, the server responds with the list of extensions supported which includes SIZE and REST, but the FIleZilla log shows:

Code: Select all

Trace: Unexpected reply, no reply was pending.
Is that ok?

I ask this because for a broken file transfer, the FileZilla client never sends a SIZE command and always does an Overwrite even if I select "Resume" from the window that pops up. am I missing any setting in FileZilla? Following is my complete debug log:

Code: Select all

Status:	Connecting to xxx.xxx.xxx.xxx:21...
Status:	Connection established, waiting for welcome message...
Trace:	CFtpControlSocket::OnReceive()
Response:	220 FTP Server ready.
Trace:	CFtpControlSocket::SendNextCommand()
Command:	USER fred
Trace:	CFtpControlSocket::OnReceive()
Response:	331 User name okay, need password.
Trace:	CFtpControlSocket::SendNextCommand()
Command:	PASS ****
Trace:	CFtpControlSocket::OnReceive()
Response:	230 User logged in, proceed.
Trace:	CFtpControlSocket::SendNextCommand()
Command:	SYST
Trace:	CFtpControlSocket::OnReceive()
Response:	215 UNIX Type: L8 Version: ftpd
Trace:	CFtpControlSocket::SendNextCommand()
Command:	FEAT
Trace:	CFtpControlSocket::OnReceive()
Response:	FEAT
Status:	Connected
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFileZillaEnginePrivate::ResetOperation(0)
Response:	211-Extensions supported in FTP Server
Response:	 SIZE
Response:	 REST STREAM
Response:	211 end
Trace:	Unexpected reply, no reply was pending.
Status:	Retrieving directory listing...
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::ChangeDirSend()
Command:	PWD
Trace:	CFtpControlSocket::OnReceive()
Response:	257 "/" is the current working directory.
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 1
Command:	TYPE I
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,15,64)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	LIST
Trace:	CTransferSocket::OnConnect
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 4
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 5
Response:	226 Closing data connection.  Requested file action successful.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 5
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 8
Trace:	CTransferSocket::OnReceive(), m_transferMode=0
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 3
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Status:	Directory listing successful
Trace:	CFileZillaEnginePrivate::ResetOperation(0)
Status:	Connecting to xxx.xxx.xxx.xxx:21...
Status:	Connection established, waiting for welcome message...
Trace:	CFtpControlSocket::OnReceive()
Response:	220 FTP Server ready.
Trace:	CFtpControlSocket::SendNextCommand()
Command:	USER fred
Trace:	CFtpControlSocket::OnReceive()
Response:	331 User name okay, need password.
Trace:	CFtpControlSocket::SendNextCommand()
Command:	PASS ****
Trace:	CFtpControlSocket::OnReceive()
Response:	230 User logged in, proceed.
Status:	Connected
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFileZillaEnginePrivate::ResetOperation(0)
Trace:	CFtpControlSocket::FileTransfer()
Status:	Starting upload of /home/al/ftp_test.txt
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::ChangeDirSend()
Command:	CWD /
Trace:	CFtpControlSocket::OnReceive()
Response:	250 Requested file action okay, completed.
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::ChangeDirSend()
Command:	PWD
Trace:	CFtpControlSocket::OnReceive()
Response:	257 "/" is the current working directory.
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()
Trace:	  state = 1
Command:	TYPE A
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,77,205)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	STOR ftp_test.txt
Trace:	CTransferSocket::OnConnect
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 4
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 5
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::OnReceive()
Response:	426 Transfer aborted, closing control connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 4
Trace:	  state = 7
Trace:	CFtpControlSocket::ResetOperation(2)
Trace:	CControlSocket::ResetOperation(2)
Trace:	CFtpControlSocket::ParseSubcommandResult(2)
Trace:	FileTransferSubcommandResult()
Trace:	CFtpControlSocket::ResetOperation(2)
Trace:	CControlSocket::ResetOperation(2)
Trace:	CFileZillaEnginePrivate::ResetOperation(2)
Trace:	CFtpControlSocket::FileTransfer()
Status:	Starting upload of /home/al/ftp_test.txt
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	FileTransferSubcommandResult()
Status:	Retrieving directory listing...
Trace:	ftpcontrolsocket.cpp(1275): List called from other command   caller=0x9f5e028
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 1
Command:	TYPE I
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,138,181)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	LIST
Trace:	CTransferSocket::OnConnect
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 4
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 5
Response:	226 Closing data connection.  Requested file action successful.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 5
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 8
Trace:	CTransferSocket::OnReceive(), m_transferMode=0
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 3
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()
Trace:	  state = 1
Command:	TYPE A
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,191,193)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	STOR ftp_test.txt
Trace:	CTransferSocket::OnConnect
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 4
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 5
Response:	426 Transfer aborted, closing control connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 4
Trace:	  state = 5
Trace:	CFtpControlSocket::ResetOperation(2)
Trace:	CControlSocket::ResetOperation(2)
Trace:	CFtpControlSocket::ParseSubcommandResult(2)
Trace:	FileTransferSubcommandResult()
Trace:	CFtpControlSocket::ResetOperation(2)
Trace:	CControlSocket::ResetOperation(2)
Trace:	CFileZillaEnginePrivate::ResetOperation(2)
Trace:	CFtpControlSocket::FileTransfer()
Status:	Starting upload of /home/al/ftp_test.txt
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	FileTransferSubcommandResult()
Status:	Retrieving directory listing...
Trace:	ftpcontrolsocket.cpp(1275): List called from other command   caller=0x9f5e028
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 1
Command:	TYPE I
Trace:	CFtpControlSocket::TransferEnd()
Trace:	ftpcontrolsocket.cpp(2769): Call to TransferEnd at unusual time   caller=0x9f5e028
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,252,241)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	LIST
Trace:	CTransferSocket::OnConnect
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 4
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 5
Trace:	CTransferSocket::OnReceive(), m_transferMode=0
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::OnReceive()
Response:	226 Closing data connection.  Requested file action successful.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 7
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 3
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()
Trace:	  state = 1
Command:	TYPE A
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,191,91)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	STOR ftp_test.txt
Trace:	CTransferSocket::OnConnect
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 6
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 7
Error:	Connection timed out
Trace:	CControlSocket::DoClose(2050)
Trace:	CFtpControlSocket::ResetOperation(2114)
Trace:	CControlSocket::ResetOperation(2114)
Trace:	CFtpControlSocket::ResetOperation(2114)
Trace:	CControlSocket::ResetOperation(2114)
Trace:	CFileZillaEnginePrivate::ResetOperation(2114)
Status:	Disconnected from server
Trace:	CControlSocket::DoClose(64)
Trace:	CFtpControlSocket::ResetOperation(66)
Trace:	CControlSocket::ResetOperation(66)
Trace:	CFileZillaEnginePrivate::ResetOperation(66)
Trace:	CControlSocket::DoClose(64)
Trace:	CControlSocket::DoClose(64)
Trace:	CFileZillaEnginePrivate::ResetOperation(0)
Status:	Connecting to xxx.xxx.xxx.xxx:21...
Status:	Connection established, waiting for welcome message...
Trace:	CFtpControlSocket::OnReceive()
Response:	220 FTP Server ready.
Trace:	CFtpControlSocket::SendNextCommand()
Command:	USER fred
Trace:	CFtpControlSocket::OnReceive()
Response:	331 User name okay, need password.
Trace:	CFtpControlSocket::SendNextCommand()
Command:	PASS ****
Trace:	CFtpControlSocket::OnReceive()
Response:	230 User logged in, proceed.
Status:	Connected
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFileZillaEnginePrivate::ResetOperation(0)
Status:	Retrieving directory listing...
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::ChangeDirSend()
Command:	PWD
Trace:	CFtpControlSocket::OnReceive()
Response:	257 "/" is the current working directory.
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 1
Command:	TYPE I
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,174,22)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	LIST
Trace:	CTransferSocket::OnConnect
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 4
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 5
Response:	226 Closing data connection.  Requested file action successful.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 5
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 8
Trace:	CTransferSocket::OnReceive(), m_transferMode=0
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 3
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Status:	Directory listing successful
Trace:	CFileZillaEnginePrivate::ResetOperation(0)
Trace:	CControlSocket::DoClose(64)
Trace:	CControlSocket::DoClose(64)
Status:	Connecting to xxx.xxx.xxx.xxx:21...
Status:	Connection established, waiting for welcome message...
Trace:	CFtpControlSocket::OnReceive()
Response:	220 FTP Server ready.
Trace:	CFtpControlSocket::SendNextCommand()
Command:	USER fred
Trace:	CFtpControlSocket::OnReceive()
Response:	331 User name okay, need password.
Trace:	CFtpControlSocket::SendNextCommand()
Command:	PASS ****
Trace:	CFtpControlSocket::OnReceive()
Response:	230 User logged in, proceed.
Status:	Connected
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFileZillaEnginePrivate::ResetOperation(0)
Trace:	CFtpControlSocket::FileTransfer()
Status:	Starting upload of /home/al/ftp_test.txt
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::ChangeDirSend()
Command:	CWD /
Trace:	CFtpControlSocket::OnReceive()
Response:	250 Requested file action okay, completed.
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()
Trace:	  state = 1
Command:	TYPE A
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,153,36)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	STOR ftp_test.txt
Trace:	CTransferSocket::OnConnect
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 4
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 5
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::OnReceive()
Response:	426 Transfer aborted, closing control connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 4
Trace:	  state = 7
Trace:	CFtpControlSocket::ResetOperation(2)
Trace:	CControlSocket::ResetOperation(2)
Trace:	CFtpControlSocket::ParseSubcommandResult(2)
Trace:	FileTransferSubcommandResult()
Trace:	CFtpControlSocket::ResetOperation(2)
Trace:	CControlSocket::ResetOperation(2)
Trace:	CFileZillaEnginePrivate::ResetOperation(2)
Trace:	CFtpControlSocket::FileTransfer()
Status:	Starting upload of /home/al/ftp_test.txt
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	FileTransferSubcommandResult()
Status:	Retrieving directory listing...
Trace:	ftpcontrolsocket.cpp(1275): List called from other command   caller=0x9f5e028
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 1
Command:	TYPE I
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,25,154)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	LIST
Trace:	CTransferSocket::OnConnect
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 4
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 5
Response:	226 Closing data connection.  Requested file action successful.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 5
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 8
Trace:	CTransferSocket::OnReceive(), m_transferMode=0
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 3
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()
Trace:	  state = 1
Command:	TYPE A
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,206,48)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	STOR ftp_test.txt
Trace:	CTransferSocket::OnConnect
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 6
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 7
Trace:	CFtpControlSocket::OnReceive()
Response:	226 Closing data connection.  Requested file action successful.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 7
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	FileTransferSubcommandResult()
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Status:	File transfer successful
Trace:	CFileZillaEnginePrivate::ResetOperation(0)
Status:	Retrieving directory listing...
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 1
Command:	TYPE I
Trace:	CFtpControlSocket::OnReceive()
Response:	200 Command okay.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 1
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 2
Command:	PASV
Trace:	CFtpControlSocket::OnReceive()
Response:	227 Entering Passive Mode (xxx,xxx,100,93,107,241)
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 2
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 4
Command:	LIST
Trace:	CTransferSocket::OnConnect
Trace:	CFtpControlSocket::OnReceive()
Response:	150 File status okay; about to open data connection.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 1
Trace:	  state = 4
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 5
Response:	226 Closing data connection.  Requested file action successful.
Trace:	CFtpControlSocket::TransferParseResponse()
Trace:	  code = 2
Trace:	  state = 5
Trace:	CFtpControlSocket::SendNextCommand()
Trace:	CFtpControlSocket::TransferSend()
Trace:	  state = 8
Trace:	CTransferSocket::OnReceive(), m_transferMode=0
Trace:	CTransferSocket::TransferEnd(1)
Trace:	CFtpControlSocket::TransferEnd()
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Trace:	CFtpControlSocket::ParseSubcommandResult(0)
Trace:	CFtpControlSocket::ListSubcommandResult()
Trace:	  state = 3
Trace:	CFtpControlSocket::ResetOperation(0)
Trace:	CControlSocket::ResetOperation(0)
Status:	Directory listing successful
Trace:	CFileZillaEnginePrivate::ResetOperation(0)

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FTP FEAT command problem.

#2 Post by botg » 2010-11-19 07:21

The server doesn't send a well-formed FTP reply. Please read RFC 959 on the general structure of FTP replies.

You can also use https://ftptest.net// to test your server for correctness.

bsrinath
504 Command not implemented
Posts: 9
Joined: 2010-11-18 23:44
First name: Srinath
Last name: Balaraman

Re: FTP FEAT command problem.

#3 Post by bsrinath » 2010-11-19 16:08

Thanks a lot for that hint. The web based test would require that I put my FTP server on the public domain and I can't do that. Is there a way for me to figure out the problem using some other diagnostic tools? Would wireshark reveal the problem. What am I looking for?

Thanks again for the help.

User avatar
boco
Contributor
Posts: 26938
Joined: 2006-05-01 03:28
Location: Germany

Re: FTP FEAT command problem.

#4 Post by boco » 2010-11-19 20:15

Code: Select all

Response:   FEAT
This line is too much. Every response from the server MUST begin with a response code. In the case of FEAT the listing of the features must be shifted one char to the right (inserted blank at the start).

A small example from http://tools.ietf.org/html/rfc2389#section-3.2

Code: Select all

   A typical example reply to the FEAT command might be a multiline
   reply of the form:

        C> feat
        S> 211-Extensions supported:
        S>  MLST size*;create;modify*;perm;media-type
        S>  SIZE
        S>  COMPRESSION
        S>  MDTM
        S> 211 END
No support requests over PM! You will NOT get any reply!!!
FTP connection problems? Please read Network Configuration.
FileZilla connection test: https://filezilla-project.org/conntest.php
FileZilla Pro support: https://customerforum.fileZilla-project.org

bsrinath
504 Command not implemented
Posts: 9
Joined: 2010-11-18 23:44
First name: Srinath
Last name: Balaraman

Re: FTP FEAT command problem.

#5 Post by bsrinath » 2010-11-19 20:28

Thanks "boco"! I fixed that, and now I don't see the problem anymore.

I also wanted to find out, how and when does FileZilla decide to use REST (restart) for an upload. I have enabled "Allow resume of ASCII files". In such a case does it try to use REST whenever there is a broken connection for upload provided extension features like SIZE and REST are supported by the server?

Thanks again!

User avatar
boco
Contributor
Posts: 26938
Joined: 2006-05-01 03:28
Location: Germany

Re: FTP FEAT command problem.

#6 Post by boco » 2010-11-19 20:34

If the server advertises Resume support through the FEAT response, FileZilla makes use of it. For uploads, APPE support would also do.
No support requests over PM! You will NOT get any reply!!!
FTP connection problems? Please read Network Configuration.
FileZilla connection test: https://filezilla-project.org/conntest.php
FileZilla Pro support: https://customerforum.fileZilla-project.org

bsrinath
504 Command not implemented
Posts: 9
Joined: 2010-11-18 23:44
First name: Srinath
Last name: Balaraman

Re: FTP FEAT command problem.

#7 Post by bsrinath » 2010-11-19 20:40

Great! Thanks for this info! Does it prefer one over the other?

User avatar
boco
Contributor
Posts: 26938
Joined: 2006-05-01 03:28
Location: Germany

Re: FTP FEAT command problem.

#8 Post by boco » 2010-11-19 20:45

Since version 3.2.8.1, it favors REST over APPE if the server has REST STREAM support.
No support requests over PM! You will NOT get any reply!!!
FTP connection problems? Please read Network Configuration.
FileZilla connection test: https://filezilla-project.org/conntest.php
FileZilla Pro support: https://customerforum.fileZilla-project.org

bsrinath
504 Command not implemented
Posts: 9
Joined: 2010-11-18 23:44
First name: Srinath
Last name: Balaraman

Re: FTP FEAT command problem.

#9 Post by bsrinath » 2010-11-19 20:50

Awsome! Thanks a lot!

bsrinath
504 Command not implemented
Posts: 9
Joined: 2010-11-18 23:44
First name: Srinath
Last name: Balaraman

Re: FTP FEAT command problem.

#10 Post by bsrinath » 2010-11-29 20:22

Is it possible for me to obtain any design documents for how REST is implemented in FileZilla client.

Looking at the debug logs, I can't figure out on a broken upload, how does FileZilla determine what size should it RESTart from? Any ideas?

User avatar
botg
Site Admin
Posts: 35563
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Re: FTP FEAT command problem.

#11 Post by botg » 2010-11-29 22:56

FileZilla looks at the size of the remote file. Either it knows it from a previously obtained and cached directory listing that has not been invalidated by some other operation or it sends the SIZE command to obtain the actual size.

bsrinath
504 Command not implemented
Posts: 9
Joined: 2010-11-18 23:44
First name: Srinath
Last name: Balaraman

Re: FTP FEAT command problem.

#12 Post by bsrinath » 2010-11-29 23:08

OK Thanks again!

Post Reply