A fix is available
APAR status
Closed as program error.
Error description
Customer received an abend0C1 in SSL gsk_secure_socket_init() code as a result of FTP calling gsk_secure_socket_close and cleaning up the handle when a timeout occurred in FTP's I/O callback routine. Verification Steps: 1. ABEND0C1 occurs in Cleanup routine of gsk_secure_socket_init during a BASR to DefaultSetSocketOptions address of zero 2. Reg6 contains SSL return value of GSK_ERR_IO (x'00000196' d'406') 3. Reg2 contains socket handle. Review SSL trace for gsk_secure_socket_init call using that handle. 4. You will see a gsk_secure_socket_close for same handle prior to seeing an EXIT for gsk_secure_socket_init. 5. Verify handshake data exceeds 32767 bytes.
Local fix
None. KEYWORDS: ABEND AB 0C1 AB0C1
Problem summary
**************************************************************** * USERS AFFECTED: * * All users of the IBM Communications * * Server for z/OS Version 2 Release 1 * * and Release 2: FTP. * **************************************************************** * PROBLEM DESCRIPTION: * * When FTP handshake data exceeds 32767 bytes, a recv() with * * the MSG_WAITALL flag is incorrectly issued which can result * * in a timeout. If a timeout occurs the data transfer is * * aborted and the handshake handle is cleaned up causing an * * ABEND0C1 in SSL code. * **************************************************************** * RECOMMENDATION: * * Apply PTF. * **************************************************************** The problem can be summarized as follows: 1. During the initialization of the secure socket, gsk calls FTP's I/O callback routine to exchange the handshake data. 2. Handshake data counter was of type short int. When the handshake data exceeded 32767 bytes, FTP was taking a different path where recv() was called with MSG_WAITALL. 3. FTP would wait for all the data requested to be received and eventually time out if all the data was not received. 4. When a timeout occured, FTP called gsk_secure_socket_close to close the sockets, cleared the handshake handle and then returned a failure to gsk initialization routine. As a result, it caused an OC1 abend when gsk tried to access the handle (that was already cleared).
Problem conclusion
FTP code is amended to handle handshake data size > 32767 correctly.
Temporary fix
Comments
APAR Information
APAR number
PI59965
Reported component name
TCP/IP V3 MVS
Reported component ID
5655HAL00
Reported release
210
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-03-30
Closed date
2016-04-08
Last modified date
2016-06-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI36883 UI36884
Modules/Macros
EZAFTPFU EZAFTPFC EZAFTPFR EZAFTPCY
Fix information
Fixed component name
TCP/IP V3 MVS
Fixed component ID
5655HAL00
Applicable component levels
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":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"210","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCY4DZ","label":"DO NOT USE"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"210","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 June 2016