Patch-ID# 100215-01 Keywords: x25 jumbo patch Synopsis: SunLink X.25 : fixes many x25 and x29 bugs. Date: 04/Feb/91 SunOS release: SunOS 4.0.X, SunOS 4.1, SunOS 4.1.1 Unbundled Product: SunLink X.25 Unbundled Release: 6.0 Topic: Latest X.25 super patch for 6.0. BugId's fixed with this patch: 1042291 1046950 1036158 1032204 1046957 1045566 1042982 Architectures for which this patch is available: sun3, sun3x, sun4, sun4c Patches which may conflict with this patch: 100106-01 Obsoleted by: SunNet X.25 7.0 Problem Description: Bug ID: 1042291 When using non-blocking mode X25 sockets, upon closing the socket, X25 sends a CLEAR REQUEST packet but does not wait for the CLEAR CONFIRM packet to arrive before marking the LCN as available. If a new connect request is made, X25 will erroneously use this LCN thinking that it is available. When the CLEAR CONFIRM packet finally arrives, it is not Bug ID: 1046950 Receiving a DATA packet with the D bit set causes a RESET. The x25_in.o module has been enhanced to allow the receipt of such a packet even if the D bit was not negotiated for during CALL setup phase. This makes it more robust and more in keeping with the specification. X29 Related bugs: BugID: 1036158 The unsetting of pad parameter 12 is not permitted using stty -ixon start '\377' stop '\377', this whoul be required for applications that want to send ^S and ^Q. Bug Id: 1032204 x29 only knows about the first 64 ptys (ptyp0 - ptysf) instead of all 256 (ptyp0 - ptyzf, ptyP0 - ptyTf), this patch allows all 256 pty's to be used if they have been configured into the system. Bug Id: 1046957 There is a bug in 6.0 X.25 in the x29 program because of which a SIGINT is not conveyed to the application upon receipt of the INTERRUPT packet. As an example, to interrupt the cat of a long file, ctrlPb should send a break signal to the x29 process which will kill the cat operation. Before this fix, it would not kill the cat operation. Bug Id: 1045566 Login sessions to server running x25 arbitrarily lose echo. When login into a system which uses x25. It is possible that echo will not work. Typing stty echo and stty -echo has no affect. In some cases, x29 does not pop the xtty module from the tty stream. So when a normal user gets the pty, it does not have ttcompat at the top of the stream head. PAD Bugs related to Pad: Bug Id: 1042982 Before this fix, if the pad program encountered bad pad parameters it would stop processing the list. With this new pad program, it will continue to process the good pad parameters and send pad indication along with appropriate error indication. INSTALL: As root: save the previous system files # mv /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_in.o /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_in.o.orig # mv /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_ioctl.o /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_ioctl.o.orig # mv /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_out.o /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_out.o.orig # mv /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_usrreq.o /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_usrreq.o.orig # mv /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_timer.o /usr/sunlink/x25/sys/sun{3x,4c}/OBJ/x25_timer.o.orig install the new system files into /usr/sunlink/x25 # cp sun{3x,4c}/x25_in.o /usr/sunlink/x25/x25_in.o # cp sun{3x,4c}/x25_ioctl.o /usr/sunlink/x25/x25_ioctl.o # cp sun{3x,4c}/x25_out.o /usr/sunlink/x25/x25_out.o # cp sun{3x,4c}/x25_usrreq.o /usr/sunlink/x25/x25_usrreq.o # cp sun{3x,4c}/x25_timer.o /usr/sunlink/x25/x25_timer.o install the new system files into system configuration area # cp sun{3x.4c}/x25_in.o /sys/sun{3x,4c}/OBJ/x25_in.o # cp sun{3x.4c}/x25_ioctl.o /sys/sun{3x,4c}/OBJ/x25_ioctl.o # cp sun{3x.4c}/x25_out.o /sys/sun{3x,4c}/OBJ/x25_out.o # cp sun{3x.4c}/x25_usrreq.o /sys/sun{3x,4c}/OBJ/x25_usrreq.o # cp sun{3x.4c}/x25_timer.o /sys/sun{3x,4c}/OBJ/x25_timer.o # mv /usr/sunlink/x25/x29 /usr/sunlink/x25/x29.orig # mv /sun{3x,4c}/x29 /usr/sunlink/x25/x29 # mv /usr/sunlink/x25/pad /usr/sunlink/x25/pad.orig # mv /sun{3x,4c}/pad /usr/sunlink/x25/pad Note: If this is a SunOS 4.1 or 4.1.1 system you need to make the x29 wrapper as in page 97 of the Release and Install notes. - rebuild your kernel, install it and reboot the machine.