Various RXFTP methods fail after the FtpChDir method
switches to a z/OS HFS directory. Specifically, the
FtpDir and FtpLs methods are known to fail.
The problem occurs when the current directory is
changed to an HFS directory instead of the user's
default high-level dataset index. After that, when the
FtpDir method is called it invokes the FtpSys method to
get the operating system. However once an HFS
directory has been used, MVS responds to the "SYST"
command that it is a UNIX system, not an MVS system,
even though the MVS FTP server will not accept the '-aL'
parameter on the 'LIST' command.
A simple fix is to change the FtpSetUser method so that
as soon as the user is signed on, the FtpSys method is
called to establish that this is an MVS server. At this
point, the user's current directory will still be an MVS
dataset high-level index, not an HFS directory, so
the "SYST" command will respond that it is an MVS
system. That would guarantee the correct value is
saved by FtpSys before any HFS directories are
I have tried this with a modified copy of rxftp.cls and it