Skip to main content

TPF : Support : Maintenance TPF : Support : Maintenance

Skip to: Abstract | Comments | Solution | Related Segments | Migration | Download

APAR NUMBER:  PJ29020
PRODUCT:  TPF4
FUNCTIONAL AREA:  TCP/IP NATIVE STACK
SHIPPED IN PUT:  18


ABSTRACT:
TCP/IP connect() does not detect duplicate sockets.

APAR CONTENTS:
FEATURE   TYPE                STATUS    NAME
Base      Assembler           Changed   source/rt/base/cts1.asm
Base      Assembler           Changed   source/rt/base/cts2.asm

PREREQUISITE APARS:  To be applied in order listed.
Base      Assembler           Changed   source/rt/base/cts1.asm
 PJ26683(11)  PJ26890(12)  PJ27333(13)  PJ28195(16)
Base      Assembler           Changed   source/rt/base/cts2.asm
 PJ26683(11)  PJ27187(13)  PJ27333(13)  PJ27932(15)  PJ28493(17)


COMMENTS:
Without this fix, it is possible for two sockets with the same protocol
and the same combinations of local IP, local port (set with bind),
remote IP, and remote port (set with connect) to interfere with each
other. If a second socket is created with the same protocol, and binds
and connects with the same parameters as another socket, the first
socket opened with this combination may receive the data intended for
the second socket; or if one or both are TCP sockets, cause them to
enter invalid states. There is also a bug in CTS1 (bind) where the IP
hash search for the socket can enter a tight loop.


SOLUTION:
This fix will enforce the IP architecture restriction that only one
socket at a time can have a particular combination of protocol, IP
addresses, and ports. Any subsequent socket that attempts to connect
(segment CTS2) with the same combination as an existing open socket
will get a return code -1 and sock_errno of SOCADDRINUSE.

bind (CTS1) is also updated to handle multiple sockets with one IP hash
bucket correctly.


DEPENDENCIES


SEGMENTS TO BE ASSEMBLED OR COMPILED:
None.


SEGMENTS TO BE LINK EDITED:
None.

COREQS:
None.


MIGRATION CONSIDERATIONS:
None.

DOWNLOAD INSTRUCTIONS:
http://www.ibm.com/software/htp/tpf/pages/maint

-- END APAR PJ29020




Download file(s): Login once to access server, leave window open, then click on link(s) below. Source