TCPL0200 exit point format

The exit point for File Transfer Protocol (FTP) Server Logon is QIBM_QTMF_SVR_LOGON. TCPL0200 is one of the interfaces that controls the parameter format for these exit points. This topic discusses the parameters of the TCPL0200 exit point format.

This is the required parameter group.

Parameter Description Input or output Type and length
1 Application identifier Input Binary(4)
2 User identifier Input Char(*)
3 Length of user identifier Input Binary(4)
4 Authentication string Input Char(*)
5 Length of authentication string Input Binary(4)
6 Client IP address Input Char(*)
7 Length of client IP address Input Binary(4)
8 Allow logon Output Binary(4)
9 User profile Output Char(10)
10 Password Output Char(10)
11 Initial current library Input/Output Char(10)
12 Initial home directory Output Char(*)
13 Length of initial home directory Input/Output Binary(4)
14 Application-specific information Input/Output Char(*)
15 Length of application-specific information Input Binary(4)

Parameter descriptions

Application identifier
INPUT; BINARY(4) Identifies the application server from which the request is being made. The valid values are:
1
FTP server program
User identifier
INPUT; CHAR(*) The user identification supplied by the client program. For the FTP server, this parameter contains the data field from the USER subcommand.
Length of user identifier
INPUT; BINARY(4) The length (in bytes) of the user identifier string.
Authentication string
INPUT; CHAR(*) The string (such as a password) supplied by the client program.

For the FTP server, this parameter contains the data field from the PASS (password) subcommand. Beginning with V5R1, if the user is authenticated by a client certificate, no data is provided for this parameter.

Length of authentication string
INPUT; BINARY(4) The length (in bytes) of the authentication string.
Note: For the FTP server: When the user is authenticated by a client certificate, this parameter is set to 0.
Client IP address
INPUT; CHAR(*) The Internet Protocol (IP) address from which the session originates. This string is in dotted-decimal format, left justified.
Length of client IP address
INPUT; BINARY(4) Indicates the length (in bytes) of the client IP address.
Allow logon
OUTPUT; BINARY(4) Indicates whether the logon operation should be accepted or rejected, and how password authentication is performed. The valid values are:
0
Reject the logon operation. Ignores all other output parameters.
1
Continue the logon operation with the specified user identifier and authentication string. The user identifier is the user profile, and the authentication string is the password. The current library and working directory is based on the settings of those output parameters. The application ignores the user profile and password output parameters.
Note: For the logon to succeed, the authentication string must match the user profile-specified password.
2
Continue the logon operation. Override the user profile and password with the returned values in the output parameters of this exit program. The application initializes the current library and working directory based on the settings of those output parameters.
Note: For the logon to succeed, the password output parameter must match the user profile-specified password.

Attention! IBM strongly recommends that you never code passwords directly in an exit program. Encryption, for example, allows algorithmic password determination.

3
Accept the logon operation. Override the user profile with the profile returned in the user profile output parameter of this exit program. The program initializes the current library and working directory based on the settings of the output parameters. It ignores the password output parameter.
Note: If the system is running at a security level of 20 or higher, specifying this value overrides normal i5/OS password processing. This is the only password authentication.
User profile
OUTPUT; CHAR(10) The user profile to use for this session. When required, this parameter must be left justified and padded with blanks.
Password
OUTPUT; CHAR(10) The password to use for this session. When required, this parameter must be left justified and padded with blanks.
Initial current library
OUTPUT; CHAR(10) The initial current library to use for this session. When required, this parameter must be left justified and padded with blanks. This parameter is set to the following special value when the exit program is called:
*CURLIB
Use the current library that the user profile specifies.
Initial home directory
OUTPUT; CHAR(*) The initial setting of the home directory to use for this session. When specified, this parameter must be a valid absolute path name, and the length of initial home directory parameter set to the proper value.
Length of initial home directory
INPUT/OUTPUT; BINARY(4) The length of the initial home directory parameter returned by the exit program. This parameter initializes at zero when the application calls the exit program. If the exit program does not change the value of the parameter, the home directory is initialized to the home directory that the user's profile specifies.
Application-specific information
INPUT/OUTPUT; CHAR(*) Information that is used to communicate application-specific logon settings. For the correct format, see Format of application-specific information parameter.
Length of application-specific information
INPUT; BINARY(4) The length (in bytes) of the application-specific information.