gtpm2m2aMigration Guide: Program Update Tapes

File Transfer Protocol (FTP) Server Support (APAR PJ27028)

The following section discusses the migration considerations for File Transfer Protocol (FTP) server support.

Prerequisite APARs

See the APEDIT for APAR PJ27028 for information about prerequisite APARs.

Functional Overview

File Transfer Protocol (FTP) server support allows you to transfer files between the TPF 4.1 system and a remote host that supports Transmission Control Protocol/Internet Protocol (TCP/IP) and FTP clients. FTP server support provides the following benefits:

Architecture

The FTP server establishes two connections between the client and server processes: one connection for control information (commands and responses), and the other connection for the data that is transferred.

The FTP client on the remote host is prompted for access information, such as the logon name and password on the remote system.

The files can be transferred in both directions. The FTP server can handle both binary and text files.

Operating Environment Requirements and Planning Information

There are no changes.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

The following section summarizes C/C++ language changes. This information is presented in alphabetic order by the type of C/C++ language information. See the TPF C/C++ Language Support User's Guide and TPF Application Programming for more information about C/C++ language.

Build Scripts

Table 736 summarizes changes to the build scripts used by the build tool. This information is presented in alphabetic order by the name of the build script.

Table 736. Changes to Build Scripts for FTP Server Support

Build Script Type New, Changed, or No Longer Supported? Description of Change
CFTPBS DLM New Added for FTP server support.
CISOBS DLM Changed Added for FTP server support.

Dynamic Load Module (DLM) Stubs

There are no changes.

General Use C/C++ Language Header Files

Table 737 summarizes the general use C/C++ language header file changes. This information is presented in alphabetic order by the name of the general use C/C++ language header file.

General use means these header files are available for your use.

Table 737. Changes to General Use C/C++ Language Header Files for FTP Server Support

C/C++ Language Header File New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
reusable.h Changed No
string.h Changed No

Implementation-Specific C/C++ Language Header Files (IBM Use Only)

Table 738 summarizes the general use C/C++ language header file changes that are for IBM use only. This information is presented in alphabetic order by the name of the general use C/C++ language header file.

Table 738. Changes to Implementation-Specific C/C++ Language Header Files (IBM Use Only) for FTP Server Support

C/C++ Language Header File (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
extern.h New No
ftp.h New No
telnet.h New No
utmp.h New No

Library Interface Scripts

Table 739 summarizes changes to the library interface scripts used by the library interface tool and the build tool. This information is presented in alphabetic order by the name of the library interface script.

Table 739. Changes to Library Interface Scripts for FTP Server Support

Library Interface Script New, Changed, or No Longer Supported? Description of Change
CISOXV Changed Updated to add the strdup C library function.

Library Members (Object Files)

Table 740 summarizes the library member (object file) changes. This information is presented in alphabetic order by the name of the library member (object file).

Table 740. Changes to Library Members (Object Files) for FTP Server Support

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
COSTRD CISO New C Language Created for the strdup C library function.

Link-Edited Modules

There are no changes.

Members (Object Files)

Table 741 summarizes changes to members (object files). This information is presented in alphabetic order by the name of the member (object file).

Notes:

  1. You must recompile or reassemble a member (object file) if it has changed.

  2. You must prelink and link a dynamic load module (DLM) if it has changed.

Table 741. Changes to Members (Object Files) for FTP Server Support

Member (Object File) DLM/DLL New, Changed, or No Longer Supported? Type Description of Change
CFTP1 CFTP New C Language Created for the FTP server main function.
CFTP2 CFTP New C Language Created for the FTP command file.
CFTP3 CFTP New C Language Created for the FTP server list function.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

There are no changes.

Copy Members

There are no changes.

Fixed File Records

There are no changes.

Macros

The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.

Advanced Program-to-Program Communications (APPC) Macros

There are no changes.

Communication Macros and Statements

There are no changes.

Data Macros

There are no changes.

General Macros

There are no changes.

Selected Equate Macros

There are no changes.

Structured Programming Macros (SPMs)

There are no changes.

System Initialization Program (SIP) Skeleton and Internal Macros (Inner Macros)

Table 742 summarizes the system initialization program (SIP) skeleton and internal macro changes. This information is presented in alphabetic order by the name of the SIP skeleton and internal macro. If the SIP skeleton and internal macro (inner macro) is changed, you must reassemble the SIP Stage I deck and run the appropriate job control language (JCL) jobs from the SIP Stage II deck.

Table 742. Changes to SIP Skeleton and Internal Macros for FTP Server Support

SIP Skeleton and Internal Macro New, Changed, or No Longer Supported?
SPPGML Changed

System Initialization Program (SIP) Stage I Macros and Statements

There are no changes.

System Initialization Program (SIP) Stage II Macros

Table 743 summarizes system initialization program (SIP) Stage II macro changes. This information is presented in alphabetic order by the name of the SIP Stage II macro. If IBMPAL is changed, you must run the system allocator (SALO) and load the new program allocation table (PAT) to the TPF 4.1 system.

Table 743. Changes to SIP Stage II Macros for FTP Server Support

SIP Stage II Macro New, Changed, or No Longer Supported?
IBMPAL Changed

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

There are no changes.

System Macros (IBM Use Only)

There are no changes.

Segments

There are no changes.

System Equates

The are no changes.

User Exits

There are no changes.

Functional and Operational Changes

There are no changes.

Commands

There are no changes.

Messages and System Errors

Table 744 summarizes message (offline and online messages) and system error changes.

The message IDs or system error numbers are listed in numeric order preceded by their alphabetic prefix. Some offline and online messages do not have a standard message ID. For these, the messages are presented in alphabetic order based on the initial message text; or for those messages that begin with variable information, the initial message text that follows that variable information. See Messages (System Error and Offline) and Messages (Online) for a complete description of all messages and system errors.

Attention: Changes to offline messages, online messages, and system errors may impact any automation programs you are using in your complex.

Table 744. Changes to Messages and System Errors for FTP Server Support

Message ID or System Error Number Message Type New, Changed, or No Longer Supported?
FTPD001I Online New

Performance or Tuning Changes

There are no changes.

Storage Considerations and Changes

There are no changes.

System Initialization Program (SIP) and System Generation Changes

There are no changes.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 745 summarizes changes to the publications in the TPF library. This information is presented in alphabetic order by the publication title. See the TPF Library Guide for more information about the TPF library.

Table 745. Changes to TPF Publications for FTP Server Support

Publication Title Softcopy File Name Description of Change
TPF Application Programming GTPAPP0B Updated with an overview for FTP server support.
TPF C/C++ Language Support User's Guide GTPCLU0C Added strdup to the appendix of standard C functions that are supported by the TPF 4.1 system.
TPF Concepts and Structures GTPCON09 Updated with an overview for FTP server support.
TPF Library Guide GTPDOC0C Updated an existing term, well-known port, for FTP server support.
Messages (System Error and Offline) and Messages (Online) Not Applicable Updated with information about a message that was added for FTP server support.
TPF Migration Guide: Program Update Tapes GTPMG202 Updated with migration considerations for FTP server support.
TPF System Generation GTPSYG0C Updated with information about FTP server support.
TPF Transmission Control Protocol/Internet Protocol GTPCLW08 Updated with an overview for FTP server support.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

There are no changes.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

There are no changes.

Migration Scenarios

Use the following procedure to install FTP server support on your TPF 4.1 system.

  1. Install program update tape (PUT) 12.
  2. Verify that all users of FTP server support are in the passwd file by doing the following.
    1. Create a backup copy of the passwd/group file by entering the following:
      • ZFILE cp /etc/passwd /etc/passwd.bck
      • ZFILE cp /etc/group /etc/group.bck
      • ZFILE chmod 500 /etc/passwd.bck
      • ZFILE chmod 500 /etc/group.bck

      See TPF Operations for more information about the ZFILE cp and ZFILE chmod commands.

    2. Transfer the password file. Use Trivial File Transfer Protocol (TFTP) to transfer the file to an appropriate system where you can edit the file.

      For example, to receive the file from your TPF 4.1 system to a system where you can edit the file, enter the following:

      TFTP tpf.inet.addr get /etc/passwd passwd

      Where:

      tpf.inet.addr
      is the Internet Protocol (IP) address for your TPF 4.1 system or its dotted decimal equivalent.

      etc/passwd
      is the directory.
    3. Edit the passwd file using a local editor.

      The file must contain the following lines for the FTP user:

      ftp::19:1::/usr/ftp:

      The file must contain the following lines for the anonymous user:

      anonymous::263:1::/usr/anonymous:

    4. Transfer the passwd file back to the TPF 4.1 system by using the command that is appropriate to the system where you maintain your passwd/group file.

      For example, to send the passwd file to your TPF 4.1 system from another system, enter the following:

      TFTP tpf.inet.addr put passwd /etc/passwd

      Where:

      tpf.inet.addr
      is the IP address for your TPF 4.1 system or its dotted decimal equivalent.

      passwd
      is the file name of the passwd file on your PC.
  3. Build your FTP subtree according to the following rules:

    ftp
    Make the home directory mode 555 and owned by the root directory. The home directory must not be written to unless you are a superuser.

    ftp/pub
    Make this directory mode 777 and owned by ftp. Guests can then place files in this directory, which can be accessed by the anonymous account.

    Based on the modifications in step 2c, enter the following commands to set up the ftp, ftp/etc, and ftp/pub directories:

    • ZFILE mkdir /usr/ftp
    • ZFILE mkdir /usr/ftp/pub
    • ZFILE chmod 555 /usr/ftp
    • ZFILE chmod 777 /usr/ftp/pub

    See TPF Operations for more information about the ZFILE mkdir and ZFILE chmod commands.

  4. Add the Internet daemon definition for the FTP server using the command by entering:

    ZINET DISPLAY S-* C-F

    If the FTP server is not defined, enter:

    • ZINET ADD S-FTP PGM-CFTP P-TCP PORT-21 MODEL-NOWAIT USER-root ACT-OPER MAXPROC-10

    See TPF Operations for more information about the ZINET DISPLAY and ZINET ADD commands.

  5. Start the FTP server by entering:
    1. ZINET START
    2. ZINET START S-FTP.

    See TPF Operations for more information about the ZINET START command.

    When the FTP server has been successfully started, a message will be displayed stating that the server is now accepting connections.