Patch-ID# 100517-09 Keywords: y2k year 2000 cons_output crash Synopsis: SunLink OSI 7.0.1: Patch for OSI Date: Feb/15/99 Solaris Release: 1.0 1.0.1, 1.1, 1.1.2 SunOS release: 4.1.1, 4.1.2, 4.1.3, 4.1.4 Unbundled Product: SunLink OSI Unbundled Release: 7.0.1 Topic: bug fixes, year 2000 compliance BugId's fixed with this patch: 4159999 Changes incorporated in this version: Relevant Architectures: sparc Relevant Architectures: sparc NOTE: sun4, sun4c, sun4m Patches which may conflict with this patch: Obsoleted by: Problem Description: Version -09 makes Sunlink OSI 7.0 Year 2000 compliant. It is assumed that all necessary patches will be applied on your system to also bring it into Year 2000 compliance requirements. Version -04 corrects a problem with the osi.routed in the -02 rev as well as some README errors. ****************************** * PLEASE READ THIS CAREFULLY * ****************************** This version of the patch for OSI 7.0 contains a number of changes and additional functionality which is described below. These changes fall into a number of categories: 1. bug fixes - a list of bug fixes is described below. 2. enhancements - these have been based on customer feedback, and some additional functionality has been added as a result. 3. conformance - with this patch installed the resulting OSI product is brought into conformance with US GOSIP V1 requirements. The product name which is officially registered is SunNet OSI 7.1. This patch makes the standard SunNet OSI 7.0.1 identical to this conformance tested version. Note that some of these changes might introduce interoperability problems with other systems, particularly non-US GOSIP conformant systems, where such problems have not been evident before. Gosip V1 conformance is only claimed for sun4, sun4c and sun4m based machines. The programming interfaces, and installation procedure have not been changed in any way. All previous versions of the OSI patch (100517) are incorporated in this patch for consistency. Bug Fixes ========= In this version: Bug 4159999 - system panics in cons_output In previous versions: Bug 1169374 - system panics if too many IS on the network Bug 4018736 - Transport connection rejected when priority parameter used Bug 1266839 - TPDU AK dropped when window has been reopened Bug 1202598 - OSI didn't answer on received packets Bug 1182282 - OSI crashes with bad trap when there is a lot of traffic Bug 1194403 - Protocol error in the Session when the Connect/Accept item Bug 1194891 - Protocol error in the Session when the Connect/Accept item PGI is not present in the ACCEPT S-PDU Bug 114011 - FTAM Implementation cannot transfer files over 8000 bytes successfully Bug 1085260 - no multicast and broadcastaddresses over llc and sock_dgram Bug 1051824 - initialization errors with CONS/X.25 Bug 1070487 - bug in install script which causes the script to exit whenever /etc/hosts has hostname aliases. Bug 1076855 - osi_config does not display a value for t_reference. Bug 1077772 - problem with the handling of concurrency control. Bug 1081029 - intermittent TP4 disconnections observed. Bug 1093029 - TP2 will not queue expedited data in certain circumstances. Bug 1100882 - Bad interpretation of format effectors with FTAM-1 files. Additional problems fixed include: 1. the FTAM Initiator can now be run from a shell script. 2. the FTAM responder will no longer negotiate the Minor Synchronization Session Functional Unit if it is proposed by the Initiator. Neither the Minor Synchronization or Resynchronisation Functional Units are supported. Details on use of TNetListen() in Transport library: In SunNet OSI Programmer's Manual, Chapter 2 - Transport Services, page 73, it is said that the library supports a facility which permits a process to listen for certains connections. For such cases, a program begins listening for a particular connection by calling the routine TNetListen TNetListen has the following prototype: int TNetListen (ta, td) struct TSAPaddr *ta; struct TSAPdisconnect *td; where: ta is the Transport address (0 or more network addresses) to listen on td is a pointer to a TSAPdisconnect structure, which is updated only if the call fails In fact, when using the OSI transport service over TCP/IP (ie RFC1006) you can only specify your own local Network address (ie your local IP address) in the TSAPaddr. This restriction is only applicable to RFC1006 and is meaningless when X.25 or CLNP networks are used. ----------------------------------------------------------------- Patch Installation Instructions: -------------------------------- Install Instructions: Use sun4 for sun4* machines. As root: cd /usr/sunlink/osi chmod -R +w * update new files: bin: mv `arch`/bin/ftam /usr/sunlink/osi/bin/ftam mv `arch`/bin/imisc /usr/sunlink/osi/bin/imisc mv `arch`/bin/isoc /usr/sunlink/osi/bin/isoc etc: mv `arch`/etc/entities.add /usr/sunlink/osi/etc/entities.add mv `arch`/etc/get_macaddr /usr/sunlink/osi/etc/get_macaddr mv `arch`/etc/get_nsap /usr/sunlink/osi/etc/get_nsap mv `arch`/etc/iso.ftam /usr/sunlink/osi/etc/iso.ftam mv `arch`/etc/isod /usr/sunlink/osi/etc/isod mv `arch`/etc/isologs /usr/sunlink/osi/etc/isologs mv `arch`/etc/make_my_addr /usr/sunlink/osi/etc/make_my_addr mv `arch`/etc/osi.routed /usr/sunlink/osi/etc/osi.routed mv `arch`/etc/osi_config /usr/sunlink/osi/etc/osi_config mv `arch`/etc/osi_decode /usr/sunlink/osi/etc/osi_decode mv `arch`/etc/osi_perform /usr/sunlink/osi/etc/osi_perform mv `arch`/etc/osi_ping /usr/sunlink/osi/etc/osi_ping mv `arch`/etc/osi_pingd /usr/sunlink/osi/etc/osi_pingd mv `arch`/etc/osi_send /usr/sunlink/osi/etc/osi_send mv `arch`/etc/osi_trace /usr/sunlink/osi/etc/osi_trace mv `arch`/etc/osirstat /usr/sunlink/osi/etc/osirstat mv `arch`/etc/readshf /usr/sunlink/osi/etc/readshf mv `arch`/etc/tsapd /usr/sunlink/osi/etc/tsapd include: mv `arch`/include/isode/acpkt.h /usr/sunlink/osi/include/isode/acpkt.h mv `arch`/include/isode/fpkt.h /usr/sunlink/osi/include/isode/fpkt.h mv `arch`/include/isode/ftam.h /usr/sunlink/osi/include/isode/ftam.h mv `arch`/include/isode/logger.h /usr/sunlink/osi/include/isode/logger.h mv `arch`/include/isode/psap.h /usr/sunlink/osi/include/isode/psap.h mv `arch`/include/isode/psap2.h /usr/sunlink/osi/include/isode/psap2.h mv `arch`/include/isode/rtsap.h /usr/sunlink/osi/include/isode/rtsap.h mv `arch`/include/isode/spkt.h /usr/sunlink/osi/include/isode/spkt.h mv `arch`/include/isode/ssap.h /usr/sunlink/osi/include/isode/ssap.h mv `arch`/include/isode/tpkt.h /usr/sunlink/osi/include/isode/tpkt.h mv `arch`/include/isode/tsap.h /usr/sunlink/osi/include/isode/tsap.h mv `arch`/include/netosi/cons_impl.h /usr/sunlink/osi/include/netosi/cons_impl.h mv `arch`/include/netosi/ind.h /usr/sunlink/osi/include/netosi/ind.h mv `arch`/include/netosi/ind_pcb.h /usr/sunlink/osi/include/netosi/ind_pcb.h mv `arch`/include/netosi/osi_netctl.h /usr/sunlink/osi/include/netosi/osi_netctl.h mv `arch`/include/netosi/osi_route.h /usr/sunlink/osi/include/netosi/osi_route.h mv `arch`/include/netosi/osi_trace_user.h /usr/sunlink/osi/include/netosi/osi_trace_user.h mv `arch`/include/netosi/osinm.h /usr/sunlink/osi/include/netosi/osinm.h mv `arch`/include/netosi/ses_event.h /usr/sunlink/osi/include/netosi/ses_event.h mv `arch`/include/netosi/ses_impl.h /usr/sunlink/osi/include/netosi/ses_impl.h mv `arch`/include/netosi/tp_event.h /usr/sunlink/osi/include/netosi/tp_event.h mv `arch`/include/netosi/tp_impl.h /usr/sunlink/osi/include/netosi/tp_impl.h lib: mv `arch`/lib/libosi.a /usr/sunlink/osi/lib/libosi.a mv `arch`/lib/libsession.a /usr/sunlink/osi/lib/libsession.a mv `arch`/lib/libsunosi.a /usr/sunlink/osi/lib/libsunosi.a mv `arch`/lib/lint/llib-losi.ln /usr/sunlink/osi/lib/lint/llib-losi.ln mv `arch`/lib/lint/llib-lsession.ln /usr/sunlink/osi/lib/lint/llib-lsession.ln mv `arch`/lib/lint/llib-lsunosi /usr/sunlink/osi/lib/lint/llib-lsunosi mv `arch`/lib/lint/llib-lsunosi.ln /usr/sunlink/osi/lib/lint/llib-lsunosi.ln sys: mv `arch`/sys/OBJ/cons_event.o /usr/sunlink/osi/sys/OBJ/cons_event.o mv `arch`/sys/OBJ/cons_impl.o /usr/sunlink/osi/sys/OBJ/cons_impl.o mv `arch`/sys/OBJ/if_eon.o /usr/sunlink/osi/sys/OBJ/if_eon.o mv `arch`/sys/OBJ/if_olo.o /usr/sunlink/osi/sys/OBJ/if_olo.o mv `arch`/sys/OBJ/if_xncl.o /usr/sunlink/osi/sys/OBJ/if_xncl.o mv `arch`/sys/OBJ/ind_addr.o /usr/sunlink/osi/sys/OBJ/ind_addr.o mv `arch`/sys/OBJ/ind_chksum.o /usr/sunlink/osi/sys/OBJ/ind_chksum.o mv `arch`/sys/OBJ/ind_error.o /usr/sunlink/osi/sys/OBJ/ind_error.o mv `arch`/sys/OBJ/ind_es_is.o /usr/sunlink/osi/sys/OBJ/ind_es_is.o mv `arch`/sys/OBJ/ind_forward.o /usr/sunlink/osi/sys/OBJ/ind_forward.o mv `arch`/sys/OBJ/ind_if_info.o /usr/sunlink/osi/sys/OBJ/ind_if_info.o mv `arch`/sys/OBJ/ind_inactive.o /usr/sunlink/osi/sys/OBJ/ind_inactive.o mv `arch`/sys/OBJ/ind_input.o /usr/sunlink/osi/sys/OBJ/ind_input.o mv `arch`/sys/OBJ/ind_is_list.o /usr/sunlink/osi/sys/OBJ/ind_is_list.o mv `arch`/sys/OBJ/ind_n_e_t.o /usr/sunlink/osi/sys/OBJ/ind_n_e_t.o mv `arch`/sys/OBJ/ind_output.o /usr/sunlink/osi/sys/OBJ/ind_output.o mv `arch`/sys/OBJ/ind_pcb.o /usr/sunlink/osi/sys/OBJ/ind_pcb.o mv `arch`/sys/OBJ/ind_register.o /usr/sunlink/osi/sys/OBJ/ind_register.o mv `arch`/sys/OBJ/ind_route.o /usr/sunlink/osi/sys/OBJ/ind_route.o mv `arch`/sys/OBJ/ind_src_addr.o /usr/sunlink/osi/sys/OBJ/ind_src_addr.o mv `arch`/sys/OBJ/ind_usrreq.o /usr/sunlink/osi/sys/OBJ/ind_usrreq.o mv `arch`/sys/OBJ/osi_addr.o /usr/sunlink/osi/sys/OBJ/osi_addr.o mv `arch`/sys/OBJ/osi_debug.o /usr/sunlink/osi/sys/OBJ/osi_debug.o mv `arch`/sys/OBJ/osi_error.o /usr/sunlink/osi/sys/OBJ/osi_error.o mv `arch`/sys/OBJ/osi_glue.o /usr/sunlink/osi/sys/OBJ/osi_glue.o mv `arch`/sys/OBJ/osi_mbuf.o /usr/sunlink/osi/sys/OBJ/osi_mbuf.o mv `arch`/sys/OBJ/osi_pcb.o /usr/sunlink/osi/sys/OBJ/osi_pcb.o mv `arch`/sys/OBJ/osi_profile.o /usr/sunlink/osi/sys/OBJ/osi_profile.o mv `arch`/sys/OBJ/osi_proto.o /usr/sunlink/osi/sys/OBJ/osi_proto.o mv `arch`/sys/OBJ/osi_route.o /usr/sunlink/osi/sys/OBJ/osi_route.o mv `arch`/sys/OBJ/osi_trace.o /usr/sunlink/osi/sys/OBJ/osi_trace.o mv `arch`/sys/OBJ/osinm_event.o /usr/sunlink/osi/sys/OBJ/osinm_event.o mv `arch`/sys/OBJ/ses_action.o /usr/sunlink/osi/sys/OBJ/ses_action.o mv `arch`/sys/OBJ/ses_error.o /usr/sunlink/osi/sys/OBJ/ses_error.o mv `arch`/sys/OBJ/ses_event.o /usr/sunlink/osi/sys/OBJ/ses_event.o mv `arch`/sys/OBJ/ses_impl.o /usr/sunlink/osi/sys/OBJ/ses_impl.o mv `arch`/sys/OBJ/ses_machine.o /usr/sunlink/osi/sys/OBJ/ses_machine.o mv `arch`/sys/OBJ/ses_pdu.o /usr/sunlink/osi/sys/OBJ/ses_pdu.o mv `arch`/sys/OBJ/ses_stream.o /usr/sunlink/osi/sys/OBJ/ses_stream.o mv `arch`/sys/OBJ/tp0_action.o /usr/sunlink/osi/sys/OBJ/tp0_action.o mv `arch`/sys/OBJ/tp_action.o /usr/sunlink/osi/sys/OBJ/tp_action.o mv `arch`/sys/OBJ/tp_classes.o /usr/sunlink/osi/sys/OBJ/tp_classes.o mv `arch`/sys/OBJ/tp_event.o /usr/sunlink/osi/sys/OBJ/tp_event.o mv `arch`/sys/OBJ/tp_impl.o /usr/sunlink/osi/sys/OBJ/tp_impl.o mv `arch`/sys/OBJ/tp_pdu.o /usr/sunlink/osi/sys/OBJ/tp_pdu.o mv `arch`/sys/OBJ.netdlc/hdlc_ctl.o /usr/sunlink/osi/sys/OBJ.netdlc/hdlc_ctl.o mv `arch`/sys/OBJ.netdlc/hdlc_in.o /usr/sunlink/osi/sys/OBJ.netdlc/hdlc_in.o mv `arch`/sys/OBJ.netdlc/hdlc_out.o /usr/sunlink/osi/sys/OBJ.netdlc/hdlc_out.o mv `arch`/sys/OBJ.netdlc/if_hdlc.o /usr/sunlink/osi/sys/OBJ.netdlc/if_hdlc.o mv `arch`/sys/OBJ.netdlc/if_iip.o /usr/sunlink/osi/sys/OBJ.netdlc/if_iip.o mv `arch`/sys/OBJ.netdlc/if_llc.o /usr/sunlink/osi/sys/OBJ.netdlc/if_llc.o mv `arch`/sys/OBJ.netdlc/llc_input.o /usr/sunlink/osi/sys/OBJ.netdlc/llc_input.o mv `arch`/sys/OBJ.netdlc/llc_pcb.o /usr/sunlink/osi/sys/OBJ.netdlc/llc_pcb.o mv `arch`/sys/OBJ.netdlc/llc_register.o /usr/sunlink/osi/sys/OBJ.netdlc/llc_register.o mv `arch`/sys/OBJ.netdlc/llc_usrreq.o /usr/sunlink/osi/sys/OBJ.netdlc/llc_usrreq.o mv `arch`/sys/netosi/cons_impl.h /usr/sunlink/osi/sys/netosi/cons_impl.h mv `arch`/sys/netosi/ind.h /usr/sunlink/osi/sys/netosi/ind.h mv `arch`/sys/netosi/ind_pcb.h /usr/sunlink/osi/sys/netosi/ind_pcb.h mv `arch`/sys/netosi/osi_netctl.h /usr/sunlink/osi/sys/netosi/osi_netctl.h mv `arch`/sys/netosi/osi_route.h /usr/sunlink/osi/sys/netosi/osi_route.h mv `arch`/sys/netosi/osi_trace_user.h /usr/sunlink/osi/sys/netosi/osi_trace_user.h mv `arch`/sys/netosi/osinm.h /usr/sunlink/osi/sys/netosi/osinm.h mv `arch`/sys/netosi/ses_event.h /usr/sunlink/osi/sys/netosi/ses_event.h mv `arch`/sys/netosi/ses_impl.h /usr/sunlink/osi/sys/netosi/ses_impl.h mv `arch`/sys/netosi/tp_event.h /usr/sunlink/osi/sys/netosi/tp_event.h mv `arch`/sys/netosi/tp_impl.h /usr/sunlink/osi/sys/netosi/tp_impl.h and run install.osi script, but answer "n" on the following questions: Install (or update) /etc/sunlink/osi/rc? (y/n)[y]: n Install (or update) /etc/sunlink/osi/rc.config? (y/n)[y]: n Install (or update) /etc/sunlink/osi/routes? (y/n)[y]: n Install (or update) /etc/sunlink/osi/isoentities? (y/n)[y]: n Install (or update) /etc/sunlink/osi/isobjects? (y/n)[y]: n Install (or update) /etc/sunlink/osi/isoservices? (y/n)[y]: n Install (or update) /etc/sunlink/osi/isomacros? (y/n)[y]: n Install (or update) /etc/sunlink/osi/isotailor? (y/n)[y]: n Install (or update) /etc/sunlink/osi/isodocuments? (y/n)[y]: n and answer "y" on the following question: Install (or update) your system files? (y/n)[y]: y rebuild kernel, and reboot systems.