Opened 15 years ago

Last modified 6 years ago

#4542 closed Bug report

z/VM: Failed to parse returned path. — at Version 6

Reported by: Mark Cibula Owned by:
Priority: normal Component: FileZilla Client
Keywords: parse return path z/VM Cc: alan_altmark@…
Component version: Operating system type: Windows
Operating system version: XP Professional SP 2

Description (last modified by Tim Kosse)

After successful login to a z/VM 530 (or higher level) FTP server, no directory listing is obtained. This error occurs regardless of the list format setting of the /VM host (which can be either 'VM' or 'UNIX') or of the client Site Manager "Advanced" tab 'Servertype' setting (both 'z/VM' or 'default (Autodetect)' yield the same failure. A log showing this error follows:

14:22:39 Trace: CControlSocket::DoClose(64)
14:22:39 Status: Connecting to 9.xx.xx.xx:221...
14:22:39 Status: Connection established, waiting for welcome message...
14:22:39 Trace: CFtpControlSocket::OnReceive()
14:22:39 Response: 220-FTP BANNER for TCPIP04.VMxxx.xxxxxxxx.xxx.xxx
14:22:39 Trace: CFtpControlSocket::OnReceive()
14:22:39 Response: FTPSRV04 IBM VM Level 530 at VMT1.xxxxxxxx.xxx.xxx, 14:21:49 EDT MONDAY 2009-06-01
14:22:39 Trace: CFtpControlSocket::OnReceive()
14:22:39 Response: 220 Connection will close if idle for more than 5 minutes.
14:22:39 Trace: CFtpControlSocket::SendNextCommand()
14:22:39 Command: USER TCPMNT04
14:22:39 Trace: CFtpControlSocket::OnReceive()
14:22:39 Response: 331 Send password please.
14:22:39 Trace: CFtpControlSocket::SendNextCommand()
14:22:39 Command: PASS
14:22:39 Trace: CFtpControlSocket::OnReceive()
14:22:39 Response: 230-TCPMNT04 logged in; working directory = TCPMNT04 191 (ReadOnly)
14:22:39 Response: 230 write access currently unavailable
14:22:39 Status: Connected
14:22:39 Trace: CFtpControlSocket::ResetOperation(0)
14:22:39 Trace: CControlSocket::ResetOperation(0)
14:22:39 Trace: CFileZillaEnginePrivate::ResetOperation(0)
14:22:39 Status: Retrieving directory listing...
14:22:39 Trace: CFtpControlSocket::SendNextCommand()
14:22:39 Trace: CFtpControlSocket::ChangeDirSend()
14:22:39 Command: PWD
14:22:39 Trace: CFtpControlSocket::OnReceive()
14:22:39 Response: 257 "TCPMNT04.191" is working directory (ReadOnly)
14:22:39 Trace: ControlSocket.cpp(361): Failed to parse returned path. caller=0p152b050
14:22:39 Trace: CFtpControlSocket::ResetOperation(2)
14:22:39 Trace: CControlSocket::ResetOperation(2)
14:22:39 Trace: CFtpControlSocket::ParseSubcommandResult(2)
14:22:39 Trace: CFtpControlSocket::ListSubcommandResult()
14:22:39 Trace: state = 1
14:22:39 Trace: CFtpControlSocket::ResetOperation(2)
14:22:39 Trace: CControlSocket::ResetOperation(2)
14:22:39 Error: Failed to retrieve directory listing
14:22:39 Trace: CFileZillaEnginePrivate::ResetOperation(2)

The transfer type is FTP (no SSL/TLS security involved).
No 'Default remote directory' is specified with the Site Manager 'Advanced' box.

After having specified such default remote directory as '/tcpmnt04.191', the described error does not occur (and, the leading slash (/) is critical in this regard; in fact, specifying a single '/' as the remote default directory appears to alleviate this problem.

The leading '/' is not part of the z/VM file system
structure, and seemingly should not be required to be specified as a remote directory default, especially for the case when 'z/VM' (specifically) is designated as the (remote) servertype.

Change History (6)

comment:1 by Alexander Schuch, 12 years ago

Status: newmoreinfo

Can you provide a clean log? I cannot see a "LIST" command.

Maybe it is related to #1250?

And somewhere I read that using a leading "/" in a directory name turns the server from default mode (might have been VMS or something else, I do not remember) into Unix mode.

Do you still have the problem in FileZilla 3.5.3?

comment:2 by Alexander Schuch, 12 years ago

Status: moreinfonew
Summary: Unable to obtain z/VM server directory listingz/VM: Failed to parse returned path.

This issue is still present in FileZilla 3.5.3 and reported in #8224.

comment:3 by Alain, 12 years ago

I did a test with the last beta version and receive these msg

Status: Connecting to 192.168.1.100:21...
Status: Connection established, waiting for welcome message...
Response: 220-FTPSERVE IBM VM Level 540 at PHOENIX.win7.com, 23:04:53 EDT THURSDAY 2012-10-04
Response: 220 Connection will close if idle for more than 5 minutes.
Command: USER anonymous
Response: 230 ANONYMOU logged in; working directory = /../VMBFS:DWSYS:FTPSERVE/
Command: SYST
Response: 215-z/VM Version 5 Release 4.0, service level 1003 (64-bit)
Response: VM/CMS Level 24, Service Level 201
Response: 215 VM is the operating system of this server.
Command: FEAT
Response: 500 Unknown command, 'FEAT'
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/../VMBFS:DWSYS:FTPSERVE/" is working directory
Error: Failed to parse returned path.
Error: Failed to retrieve directory listing

Regards

comment:4 by Alan Altmark, 11 years ago

Cc: alan_altmark@… added

Issue is still present in 3.7.3. When the server type is explicitly set to z/VM:

  1. The current directory is in quotes in the 257 response to PWD. Do not try to interpret the value since z/VM has 3 different filesystems. Just display it.
  1. Unify the LIST response format for all filesystems by issuing "site listformat unix"

-rwx---r-x 1 ALTMARKA - 7445 Aug 21 2012 PROFILE.EXEC
-rwx---r-x 1 ALTMARKA - 80 Apr 16 1996 PROFILE.OPEN
-rwx---r-x 1 ALTMARKA - 82 Oct 15 12:53 PROFILE.PITS
drwx---rwx 1 ALTMARKA - 0 Dec 17 2001 TESTNET

If the "site listformat unix" command fails with 501, then you aren't actually talking to a z/VM system, but to one of its ancient predecessors. Use SYST to find out system (might be disabled!) and tell user "You lied. That's not z/VM."

  1. NLST returns just the subdirectory name (no dots) or file.type
  1. All addressing is relative to the CWD. Do not try to construct absolute file names by prepending the CWD or a directory name to a file name.

comment:5 by Kenneth Ripple, 6 years ago

This issue is still present today (5/17/2019) in version 3.42.1.

Trace: CControlSocket::SendNextCommand()
Trace: CFtpLogonOpData::Send() in state 0
Status: Connecting to 10.94.4.25:21...
Status: Connection established, waiting for welcome message...
Trace: CFtpControlSocket::OnReceive()
Response: 220-FTPSERVE IBM VM Level 710 at ZVMPROD.ADI-DIST.NET, 16:49:23 EDT FRIDAY 2019-05-17
Response: 220 Connection will close if idle for more than 5 minutes.
Trace: CFtpLogonOpData::ParseResponse() in state 1
Trace: CControlSocket::SendNextCommand()
Trace: CFtpLogonOpData::Send() in state 5
Command: USER 206535a
Trace: CFtpControlSocket::OnReceive()
Response: 331 Send password please.
Trace: CFtpLogonOpData::ParseResponse() in state 5
Trace: CControlSocket::SendNextCommand()
Trace: CFtpLogonOpData::Send() in state 5
Trace: CControlSocket::SendNextCommand()
Trace: CFtpLogonOpData::Send() in state 5
Command: PASS
Trace: CFtpControlSocket::OnReceive()
Response: 230 206535A logged in; working directory = 206535A 191
Trace: CFtpLogonOpData::ParseResponse() in state 5
Status: Server does not support non-ASCII characters.
Status: Logged in
Trace: Measured latency of 5 ms
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CFtpLogonOpData::Reset(0) in state 14
Status: Retrieving directory listing...
Trace: CControlSocket::SendNextCommand()
Trace: CFtpListOpData::Send() in state 0
Trace: CFtpChangeDirOpData::Send() in state 0
Trace: CFtpChangeDirOpData::Send() in state 1
Command: PWD
Trace: CFtpControlSocket::OnReceive()
Response: 257 "206535A.191" is working directory
Trace: CFtpChangeDirOpData::ParseResponse() in state 1
Error: Failed to parse returned path.
Trace: CFtpControlSocket::ResetOperation(2)
Trace: CControlSocket::ResetOperation(2)
Trace: CFtpChangeDirOpData::Reset(2) in state 1
Trace: CFtpListOpData::SubcommandResult(2) in state 1
Trace: CFtpControlSocket::ResetOperation(2)
Trace: CControlSocket::ResetOperation(2)
Trace: CFtpListOpData::Reset(2) in state 1
Error: Failed to retrieve directory listing

comment:6 by Tim Kosse, 6 years ago

Description: modified (diff)

This won't be fixed.

Please update to a more modern FTP server implementing TVFS as specified in RFC 3659.

Note: See TracTickets for help on using tickets.