IBM Support

PQ56305: FTSUTL050I SEND REPLY 'UNKNOWN MESSAGE NUMBER XXXXXX'

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • FTP Client is using PASV to open a passive connection. In the
    case when the connection was not used because of a failing
    situation (where a failing reply code was sent back to the
    client), an extra reply was being sent to the client when the
    passive connection closed. Traces showed messages:
    FTSUTL050I Send reply '550 'SFSPOOL1 yyy'  not found'
    FTSUTL050I Send reply 'Unknown message number 538568
    

Local fix

  • MT02922
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All z/VM FTP server users using PASV         *
    *                 support.                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: Problems occur in the z/VM FTP server   *
    *                      when processing passive data            *
    *                      connections (initiated with the FTP     *
    *                      client PASV command).                   *
    ****************************************************************
    * RECOMMENDATION: APPLY PTF                                    *
    ****************************************************************
    When an FTP client uses PASV to open a passive connection and
    the connection is not used because of a failing situation
    (where a failing reply code is sent back to the client), the
    z/VM FTP server sends an extra reply ('Unknown message number
    nnnnnn' (where nnnnnn is a number)) to the client when the
    passive connection closes.  This causes the client and server
    to be out of sequence with each other.  The problem occurs in
    the DataReply() procedure in FTSUTIL PASCAL, which is called to
    send the reply to the command that needed the data connection.
    At the time DataReply() is called in a failing situation, the
    unsuccessful reply has already been sent to the FTP client and
    the CmdInProgress field in the control connection structure has
    already been set to CUNKNOWN.  The DataReply() procedure
    contains no logic to see if a reply has already been sent, and
    it also contains no logic to handle an unknown command.  So the
    message number used in the reply is never set causing the
    message number field to be garbage which causes the message
    compiler to return the 'Unknown message number nnnnnn' reply,
    which is sent to the client.
    
    An additional problem occurs in the z/VM FTP server if an FTP
    client attempts to follow a client initiated data transaction
    (using the PASV command) with a server initiated data
    transaction (using the PORT command).  In this case, the FTP
    server will disregard the PORT command and wait for the client
    to initiate the data connection.  This problem occurs because
    the BeActive field in the control connection structure (which
    indicates whether the FTP server should initiate a data
    connection) is not reset (after the PASV connection is
    processed) to indicate a default of an FTP server initiated
    data connection (given in the File Transfer Protocol RFC
    (959)).
    

Problem conclusion

  • The z/VM FTP server was changed to not send a reply in the
    DataReply() procedure if the CmdInProgress is CUNKNOWN.  Since
    the CmdInProgress has been set to CUNKNOWN when a failing
    situation occurs, the FTP server no longer sends an extra
    reply to the FTP client.
    
    In addition, the z/VM FTP server was changed to default to an
    FTP server initiated data connection after a client initiated
    data connection is processed by setting the BeActive field on
    when the passive data connection closes in CloseCompletedEvent
    in FTSEVEN PASCAL.  This allows the FTP server to successfully
    process both client and server initiated data connections in
    any order.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PQ56305

  • Reported component name

    TCP/IP V2 FOR V

  • Reported component ID

    5735FAL00

  • Reported release

    320

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2002-01-04

  • Closed date

    2002-03-18

  • Last modified date

    2004-09-27

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UQ64188 UQ64189 UQ64190 UQ64191

Modules/Macros

  • FTSEVEN  FTSUTIL  MSFTP    SRVRFTP
    

Fix information

  • Fixed component name

    TCP/IP V2 FOR V

  • Fixed component ID

    5735FAL00

Applicable component levels

  • R3A0 PSY UQ64188

       UP02/03/21 P 0402

  • R320 PSY UQ64189

       UP02/03/21 I 1000

  • R410 PSY UQ64190

       UP02/03/21 I 1000

  • R420 PSY UQ64191

       UP02/03/21 P 0303

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27N","label":"APARs - VM\/ESA environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"320","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"320","Edition":"","Line of Business":{"code":"LOB16","label":"Mainframe HW"}}]

Document Information

Modified date:
27 September 2004