John

In  4.1.3.  FTP SERVICE COMMANDS, RFC 959 states the following:

<quote>

ABORT (ABOR)

           This command tells the server to abort the previous FTP
           service command and any associated transfer of data.  The
           abort command may require "special action", as discussed in
           the Section on FTP Commands, to force recognition by the
           server.  No action is to be taken if the previous command
           has been completed (including data transfer).  The control
           connection is not to be closed by the server, but the data
           connection must be closed.

           There are two cases for the server upon receipt of this
           command: (1) the FTP service command was already completed,
           or (2) the FTP service command is still in progress.

              In the first case, the server closes the data connection
              (if it is open) and responds with a 226 reply, indicating
              that the abort command was successfully processed.

              In the second case, the server aborts the FTP service in
              progress and closes the data connection, returning a 426
              reply to indicate that the service request terminated
              abnormally.  The server then sends a 226 reply,
              indicating that the abort command was successfully
              processed.

</quote>

Interestingly enough, it doesn't mention "out-of-band". I expect this explanation text you found means that the TCP OOB function is used with the sending of the ABOR command from the FTP client to the FTP server over the TCP connection. OOB is some weird protocol used within TCP which is a pale shadow of the SNA expedite function. I expect this means that the FTP client was trying to "hurry along" the "abort" request - quite understandable - and maybe it worked!

Here are my presentation notes on OOB:

<quote>

Out-Of-Band Data

Out-of-band data may be used for whatever purpose an application may have for it. It is usually thought of as of use for sending urgent data. It may be compared to the use of SIGNAL in SNA.

The sending and receiving of out-of-band data is supported by modified versions of the standard WRITE and READ subroutine calls: SEND and RECV. These subroutine calls allow for the additional specification of a flag parameter which includes the ability to send out-of-band data with a SEND subroutine call and receive out-of-band data with a RECV subroutine call. The flag has the name MSG_OOB.

Out-of-band data may be received either "inline" in the position it was placed in the data stream by the SEND subroutine call or not "inline" so that it can be received as soon as it appears in the arriving data and ahead of any normal data in the stream.

Setting the option to define how out-of-band data should be received is one of the functions of the SETSOCKOPT subroutine call. The ability to query the current setting of this option is one of the functions of the GETSOCKOPT subroutine call. The socket option is specified with the name SO_OOBINLINE.

Whether the out-of-band data is "inline" or not "inline", the fact that out-of-band data is next to be read can be detected by use of one of the functions of the IOCTL subroutine call. The function has the name SIOCATMARK. The function is normally used when the out-of-band data is "inline". Note that, whereas normally stream data accumulates such that data from multiple subroutine calls of any of the send types can be received with one subroutine call of any of the receive types, the presence of out-of-band data effectively creates boundaries in the stream so that a receive subroutine call stops, as it were, at the out-of-band marker. Thus there is no risk that "inline" out-of-band data can be missed by being embedded in normal data.

However, when out-of-band data is not "inline", there is a risk that the data can be lost entirely unless it is received *before* normal data which was sent after the out-of-band data. Whether the out-of-band data is "inline" or not, the SELECT subroutine call will indicate that out-of-band data is present by setting the exception condition for the relevant socket. This condition is cleared when the out-of-band data is received or it has been, as it were, passed over.

The author has had some difficulty getting very definite descriptions of other than the most basic socket functions from available sources. At least one implementation of socket subroutine calls, namely, TCP/IP for MVS (and, almost certainly, also VM and, very probably, VTAM V3R4.2) implement out-of-band data as *a single byte*. This is nowhere precisely documented. Strangely enough, if the SEND subroutine call used to send out-of-band data specifies more than one byte of data, all bytes, other than the last, enter the stream as normal data.

A further point, also discovered only by testing, is that only one out-of-band byte may be sent at any one time. If a second byte is sent, the out-of-band pointer seems to move to the second byte and the first byte becomes normal data.

</quote>

Chris Mason

----- Original Message ----- From: "Chase, John" <[EMAIL PROTECTED]>
Newsgroups: bit.listserv.ibm-main
To: <IBM-MAIN@BAMA.UA.EDU>
Sent: Friday, May 18, 2007 3:47 PM
Subject: FTP Error 426


Hi, All,

Trying to understand the explanation for this FTP error:

426 Connection closed; transfer aborted.

The manual says only this:

The FTP server received an Out Of Band ABOR subcommand from the FTP
client requesting that the data transfer in progress end. The FTP server
aborted the data transfer.

The client in this context is z/OS 1.7; server is an AIX machine in our
local network.

What is an "Out Of Band" condition, and why would the z/OS FTP program
(client) originate it?

BTW, the same FTP job finally succeeded after four of the above aborts.

TIA,

-jc-

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to