Description of FTPREXX

Download count: 8 this month, 906 altogether.
Downloads for FTPREXX :
  VMARC archive: v-120K
  zip archive: z-38K


This package has been available on the Pipelines downloads page for several years. Recently, I started using it and I wanted to fix a few things. So, with Steve Hayes' permission (the original author) this package is available on the VM downloads page. Updates are listed below.

The usage documentation is contained in the commented header of the FTP REXX file and is duplicated in a separate HELP file, named FTPREXX HELPCMS. Enter HELP FTPREXX to read this file. In the future, the duplicate usage information in the comments may be deleted.

This package remains as beta code. There are no guarantees that it works with all FTP servers or that it properly follows all of the RFCs. Not all options have been tested and it is likely that some parts may not work with modern networks and ftp servers. Bug reports are welcome to the current author.

Incompatible changes from the original version:

  • A url specification accepted ";TYPE=B" to indicate that the data should not be translated (binary mode.) However, RFC 1738 does not list "B" as a valid code for the TYPE; the correct code is "I". FTP REXX now only accepts the correct specification of ";TYPE=I" to indicate an image mode transfer with no translation.

  • When PASSIVE option was specified, FTP REXX would always send a PORT command to the remote server before sending the PASV (passive mode) command. At least one tested FTP server would not accept the PORT command and would immediately close the connection. Now, if an FTP proxy is not being used, only the PASV command is sent. Comments in the code indicated that the PORT command was sent first to support proxy connections, so without a proxy, no PORT command is sent.

The contents of this package:

    This description file.

    Documentation in help format.

    The Pipelines FTP client stage. This is the only file needed to interface an FTP server to a pipeline.

    The original code from Steve Hayes. It is part of this package so that if there is any breakage from recent updates, the behavior can be compared to the original code. It is anticipated that it will be removed from a future update.

    The original announcement of the ftp and sockisfied tcpclient stages.

    The package file of the original code.

    Converts a hostname or IP address to the name or address of a socks server.

    This is TCPCLIENT with versatile Socks v4 support.

Feedback: Bruce Hayden IBM Z Washington Systems Center


  • 0.99.1 - Fix parsing bugs and typos. Change ";TYPE=B" to ";TYPE=I".
  • 0.99.2 - With PASSIVE option, don't send PORT command unless using proxy.
  • 0.99.3 - Fix deblocking of record structure (from mailing list.)
  • 0.99.4 - Implement extended passive (EPSV).
  • 0.99.5 - Avoid message when TCPIP DATA not available.
  • 0.99.6 - Option to supply password via variable.
  • 0.99.7 - Allow 14 digit byte counts (about 90 TB) in messages.

See TCPIPIPE ANNOUNCE or FTP REXX for older updates.