Patch Name: PHNE_11064 Patch Description: s700 10.10 OTS/9000 C.06.00 cumulative mega patch Creation Date: 97/07/15 Post Date: 97/08/06 Hardware Platforms - OS Releases: s700: 10.10 Products: OTS/9000 C.06.00 Filesets: OTS9000.APLI-PRG,C.06.00 OTS9000.OTS-KRN,C.06.00 OTS9000.OTS-MAN,C.06.00 OTS9000.OTS-RUN,C.06.00 OTS9000.ROSE-PRG,C.06.00 OTS9000.OTS-SES-PRG,C.06.00 OTS9000.XAP-PRG,C.06.00 Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHNE_11064: PANIC MEMORY_LEAK PHNE_7406: PANIC PHNE_6725: PANIC Path Name: /hp-ux_patches/s700/10.X/PHNE_11064 Symptoms: PHNE_11064: 1. Memory leak occurs when an application registers and deregisters using Session API's by calling osi_rgr_rq() and osi_drg_rq() in a loop continuously. 2. PHNE_8828 prevents incoming Streams X.25 OTS calls. 3. On receiving NULL data packets, the system panics. 4. 'otsdeles' does not handle alternate physical addresses properly. 5. If 'otsamd' dies, then at the first attempt to send out an RFC 1006 PDU, the system crashes. 6. The date field in osidiag when the tracing is enabled, depends on the assumption of the date field being less than the year 2000. This assumption is no longer valid as one hits the century mark. 7. System panics if the following are true: 1. Running TP3 2. OTS is rejecting a connection confirmation 3. The flag tpcons_propose_ext_fmt in ots_parms is set to 0(default). 8. ap_rcv() causes APRI application to core dump when APRI tracing is enabled. PHNE_8828: 1. Osiconf will not allow preferred multiplexing class to be set to 3. 2. Shell scripts rely on transition links in 10.X releases of OTS. 3. Osiadmin coredumps (not a panic) when you exit to a shell and return. 4. OTS - osiconf does not allow RFC1006 to be configured on some interfaces. 5. OSIDIAG allows for testing of 2 of the 5 supported LAN cards status. 6. osipdufmt -r does not put any timestamps into the formatted output, and it only formats RFC1006 PDUs. It is desirable to have other PDUs formatted as well. 7. OTS ESH packets are not sent out according to snet_esh_ctimer. If snet_esh_ctimer < 10, then ESHs are sent every 10 seconds, and it seems to use 10 second increments. 8. OTS APLI problem with encoding of CPR-PPDU - invalid PCDRL. 9. OTS could not make connection to a remote node through X.25 when the X.25 subnet was configured to use 1980 standards with a NULL subaddress and snet_bind_by_pid was set to one. 10. When OTS is configured over RK6, the IP address supplied by the application in osi_rgr_rq() is not transmitted to the peer. 11. There's an invalid TPDU number when the tpcons_propose_ext_fmt parameter is set to 1. 12. OTS does not conform to INTAP standards - ASN.1 TLV NULL values. 13. OTS returns OPI_ERR(0x8422) instead of ESPABID(0x1407) when an invalid NSAP address is used. 14. SESSION API, osi_rgr_rq() with no_of_connections parameter set to a value greater than 1024 returns osierrno : OSIEBADRNG. 15. OTS sends ESH out on the wrong lan card. 16. A TP3 CR could be interpreted as TP2 with flow control. PHNE_8223: 1. Additional Functionality: TP3 over CONS is added to OTS. 2. The retransmission timer doesn't work as expected. 3. System panicked when it was idling. Panic message: Data page fault 4. System panicked when a FTAM connection is being established. Panic message: INTERNAL ERROR: Illegal RCI operation 5. MSDSG doesn't work. 6. ots_get_layer_stats does not return 0 when successful. 7 a) osipdufmt doesn't handle -l option correctly. b) osipdufmt doesn't handle pdus across multiple X.25 packets c) odipdufmt doesn't format RFC1006 traces. 8. a) With multiple X.25 cards configured, no LAN; all cards in both CLNS and CONS subnets and any card's, other than the first's, X.121 address in the ots_dests file, a loopback(transport) test after doing an x25init of all cards will cause a system panic. b) With a single X.25 card configured in a CLNS subnet and no LAN subnet configured, the CLNS X.25 subnet will not work. One will not be able to make connections or transfer data. A simple loopback(transport) test will fail. PHNE_7782: 1. Additional Functionality: As an enhancement to OTS it now supports configuration of alternate physical addresses in dest entries associated with CONS/X.25 subnetworks. This is provided via dest_alt_phys_address lines in ots_dests. It is also supported via -a options in the otsaddes command. Otsdeles and otsshowes were also changed to support the alternate physical address functionality. Additionally the parameter snet_ises in the ots_subnets file can now be set to a value of 0. This is for FDDI and LAN. With it set to 0 no end system hellos will be generated. PHNE_7406: 1. The files OTSconfigSAP and OTSconfigSBN in /var/opt/ots are created by otsstart with global write permission. 2. The commands otsaddis, otsaddroute, and otsdelroute return the k-shell error ksh: syntax error: `else' unexpected 3. If Dart 28 version of X.25 is installed with OTS on an MP system then panics will occur. 4. On MP systems using RFC1006 data may be sent out of order, which manifests itself as data corruption PHNE_6725: 1. If CLNP is configured using NULL subset (subset 0), then there will be data corruption. 2. A user application using the ROSE API core-dumps if a NULL ubuf->buf pointer is used on a reject reply. 3. Session api demo program will not run over lan. Problem only shows up when rfc1006 is not configured. When you run the client demo program you will see errors osi_get_event: receives unexpected message 1407 Client: abnormal termination, exit code = -999 4. User application making a call to ap_snd() will hang. If APRI tracing is turned on, user will find that ai_putmsg() is looping. 5. In an MSDSG configuration NODE(A) <----> NODE(B) <---> NODE(C) Where: NODE(A) is configured as LAN only NODE(B) is configured as an MSDSG relay node and is configured both for X.25 CONS and LAN. NODE(C) is configured for X.25 CONS. When NODE(A) initiates a connection with NODE(C) via MSDSG on NODE(B), sometimes NODE(B) will panic when the connection disconnects. Apparently this problem is limited to situations where NODE(B) is running High Perf X.25. It doesn't seem to happen with Classic X.25. 6. User sees files with names of the form Saannnnn accumulate in /usr/spool/sockets/osi. Where: aa is a string of two alphabetic characters which may be either upper or lower case. nnnnn is a process id number. These files are created by FTAM. 7. OTS osipdufmt does not interpret X.25 nettl traces, no output is generated. 8. A kernel panic happens when no OTS subnets are configured and the user runs otsaddnsap. 9. OTS osidiag "WAN X.25 Tests" display inappropriate NSAP information. When "Connect" is selected, the test displays "x25_calling_nsap" and "x25_called_nsap" values which were choosen by osidiag, but are unlikely to be used in the test. The NSAPs should be set by the user when a "ISO 8878 Encoding" test is run. 10. A ROSE application which calls ap_rcv could go into an infinite loop. 11. Session connection rejects occur if remote vendors protocol supplies a TSDU Max Size other then NULL in the connection accept packet. 12. A ROSE application which sends data larger than 65500 bytes will get truncated packets on the receiving side. 13. In osidiag, "Status" test fails under FTAM tests. 14. A ROSE application will core-dump if a NULL ubuf pointer is used on a ROSE API call. 15. The system may hang for 30+ seconds, when using the FTAM responder accessing OTS via the XTI t_bind call with qlen greater than 8196. 16. OTS panics when FTAM attempts to open a connection. The panic occurs only when one or more CONS/X.25 subnets are configured, no LAN or CLNS/X.25 subnets are configured, the remote ftam responder is configured in remote_app, and the remote NSAP is not configured in ots_dests. The panic occurs in ERcMultiFail as a "Data page fault". 17. Additional feature: APIs for adding, deleting dynamic NSAPs and listing all NSAPs for a particular network service. These are otsaddnsap, otsdelnsap and otsshownsaps. These APIs provide the same functionality as the scripts otsaddnsap, otsdelnsap, and otsshownsaps. These routines are provided in libotsadm.a and libotsadm.sl A new header file, otsadmin.h, is also being supplied with this API. The man pages for these APIs are in the section 3 of the OTS manpages. Defect Description: PHNE_11064: 1. An application wishing to register itself calls osi_rgr_rq() which allocates memory. When deregistering, osi_drg_rq() is called which should deallocate the resources, but doesn't do do it. This was causing a memory leak. 2. The logic of deciding whether X.25 subnet was configured for 1984 or 1988 was defective due to which incoming Streams X.25 OTS calls weren't being routed up properly. 3. On receiving NULL data packets, an attempt is made to dereference a NULL data buffer pointer, which results in a panic. 4. The algorithm used to find the presence of 'dest_alt_phys_address' lines in an ES entry was defective due to which the otsdeles was unable to properly handle alternate physical addresses. 5. When 'otsamd', which is the controlling daemon, dies, it triggers off an unplumbing of the stream. When 'putnext' is attempted, there is an invalid Q pointer which triggers the panic. 6. The onset of the year 2000 would result in major problems with the date field and other date related impacts. If tracing is turned on when osidiag is invoked, the year field of the FORMATTER FILTER i.e. time_from