
              NOVELL TECHNICAL INFORMATION DOCUMENT

TITLE:              STREAMS, TLI, SPXS, IPXS NLM update and patch
DOCUMENT ID:        TID014113
DOCUMENT REVISION:  A
DATE:               30NOV93
ALERT STATUS:       Yellow
INFORMATION TYPE:   Symptom Solution
README FOR:         STRTL2.EXE

NOVELL PRODUCT and VERSION:
NetWare Asynchronous Communication Services (NACS) 3.0
NetWare for SAA 1.2
NetWare for SAA 1.3

ABSTRACT:

Both NetWare for SAA 1.3 and NACS v3 include SPXFIX1.NLM.  NetWare 3.11 server
abends have been traced to SPXFIX1.NLM.  Therefore, STRTL2.EXE provides
SPXFIX2.NLM (and ancillary files) as a replacement for SPXFIX1 (and its
ancillary files).  All NetWare for SAA 1.3


DISCLAIMER
THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL.  NOVELL
MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION.  HOWEVER, THE
INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY.  NOVELL
MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION.


SYMPTOM

     Problems with STREAMS, TLI, SPXS, or IPXS nlms, which will usually
     produce a communication or spx error.

          NOTE:     See Solution Specifics for more symptoms and solutions


SOLUTION

     Apply STRTL2.EXE

     Self-Extracting File Name:  STRTL2.EXE     Revision:  A

     Files Included    Size      Date      Time

     \
       STRTL2.TXT            (This File)
     \3.1X\                            
      STREAMS.NLM      53566   07-20-93    4:19p
         SPXS.NLM      24145   09-14-93   10:11a
          TLI.NLM      12474   09-14-93   10:43a
         IPXS.NLM       8149   08-10-93    7:53a
     \3.1X\3.11\                       
     SPXDDFIX.NLM       1636   09-20-93    8:18a
      SPXFIX2.NLM       1599   08-20-93    2:14p
     SPXFSFIX.NLM       1155   08-20-93    2:16p
     SPXLISFX.NLM       1016   08-20-93    2:22p
       XMDFIX.NLM       1496   09-15-92    3:29p
     PCHMN230.DOC       5930   11-30-93   10:27a
     PATCHMAN.NLM       9632   02-04-93   10:38a
     \3.1X\3.12\                       
     SPXDDFIX.NLM       1254   09-20-93    8:20a
        PM312.DOC       3477   11-30-93   11:21a
        PM312.NLM       8909   11-11-93   11:52a
     \4.01\                            
      STREAMS.NLM      63201   09-14-93   10:12a
         SPXS.NLM      33219   09-14-93   10:03a
          TLI.NLM      24795   09-14-93   10:17a
     SPXDDFIX.NLM       1048   09-20-93    8:22a
         IPXS.NLM      10363   08-23-93    8:13a
        PM401.NLM       8113   08-26-93   10:38a
        PM401.DOC       3477   11-30-93   11:19a


     Installation Instructions:

     NetWare 3.12 & 4.01
     Make a backup copy of each of these NLM's you are currently running. Copy
     the new NLM's into the appropriate directories and also load the patch
     SPXDDFIX.NLM.

     NetWare 3.11
     Make a backup copy of each of these NLM's you are currently running. Copy
     the new NLM's into the appropriate directories and also load the patches
     SPXDDFIX.NLM, SPXFSFIX.NLM, SPXFIX2.NLM, SPXLISFX.NLM, and XMDFIX.NLM
          NACS INSTALLATION
     In the AUTOEXEC.NCF file, replace LOAD SPXFIX1 with LOAD SPXFIX2. Replace
     all older versions of PATCHMAN, STREAMS and SPXS with the NLM versions
     which come with STRTL2.EXE.  Load SPXFSFIX and SPXLISFX after loading
     SPXFIX2.


     Solution Specifics:

     NetWare 4.01
          STREAMS  NLM    63201   09-14-93  10:12a  
          TLI      NLM    24795   09-14-93  10:17a  
          SPXS     NLM    33219   09-14-93  10:03a  
          IPXS     NLM    10363   08-23-93   8:13a

     NetWare 3.11 & 3.12 (These modules will run on both)
          STREAMS  NLM    53566   07-20-93   4:19p
          TLI      NLM    12474   09-14-93  10:43a  
          SPXS     NLM    24145   09-14-93  10:11a  
          IPXS     NLM     8149   08-10-93   7:53a

     In addition the following patch NLMs should be used:

     NetWare 4.01
          SPXDDFIX NLM     1048   09-20-93   8:22a
          PM401.NLM        8113   08-26-93  10:38a
     NetWare 3.12
          SPXDDFIX NLM     1254   09-20-93   8:20a
          PM312.NLM        8909   11-11-93  11:52a
     NetWare 3.11
          SPXFSFIX NLM     1155   08-20-93   2:16p
          SPXFIX2  NLM     1599   08-20-93   2:14p
          SPXLISFX NLM     1016   08-20-93   2:22p
          SPXDDFIX NLM     1636   09-20-93   8:18a
          XMDFIX   NLM     1496   09-15-92   3:29p
          PATCHMAN.NLM     9632   02-04-93  10:38a

     NetWare for SAA 1.3, or NetWare for SAA 1.2, or NACS 3.0X and an SPXS.NLM
     dated after 2-14-91 we recomend that you use the SPXFIX2.NLM and the
     PATCHMAN.NLM included with this file rather than the SPXFIX1 and PATCHMAN
     provided on the NetWare for SAA or NACS disks.  Failure to do so may
     result in server Abends.

     XMDFIX.NLM.  This patch corrects a problem with utilities that use the
     SPX protocol to maintain communication with the server. Typically the
     client will loose the connection to the server and the following message
     will be displayed:

     "No more response buffers available"

     Also resolves a problem with lost connections never timing out because of
     infinite transmit retries.

     The most common occurrence is with a remote printer(RPRINTER.EXE) loosing
     it's connection to the print server(PSERVER.NLM), but it may  happen with
     other utilities.  This is happens when a call to SPXSendSequencedPacket()
     resets a session retransmit count which causes it to NOT abort the
     connection if the connection is broken in one direction and maintained in
     another.

     OTHER ISSUES
     SPXLISFX.NLM resolves an extremely poor performance problem for some
     backup software or any SPX program that is using a limited number of
     receive buffers.  The new SPXLISFX.NLM and the new SPXS.NLM should be
     used together.


     Files for NetWare 3.11 and NetWare 3.12 (These modules will run on both)

     STREAMS  NLM    53566   7-20-93   4:19p
          This is the standard 3.12 release module.

     TLI      NLM    12474   9-14-93  10:43a
          Resolved some internal state checks that would cause a TLI
          application to stop functioning.

     SPXS     NLM    24145   9-14-93  10:11a
          Resolved buffer management problem that was causing memory to be
          lost, thus increasing the memory allocated by STREAMS in the short
          term memory pool.

          Ensured the SPX connection has the correct watchdog flag set which
          tracks the connection to detect when it fails.

     IPXS     NLM     8149   8-10-93   7:53a
          Resolved problem so that some applications could send larger
          packets.


     Files for NetWare 3.11

     XMDFIX   NLM     1496   9-15-92   3:29p
          If SPX was retransmitting a packet and a new ECB was handed to SPX
          to transmit, the retransmit code was reset to the max, thus causing
          retransmissions to occur possibly indefinitely.

     SPXFIX2  NLM     1599   8-20-93   2:14p
          If SPX sent a terminate request (DataStream type 0xfe) when the ACK
          came back (DataStream type 0xff) it was placed in a receive ECB
          posted by the application.  However, the code did not release this
          ECB after it was finished and the ECB was lost.  SPXFIX1 attempted
          to rectify this, but also affected incoming terminate requests
          causing ECBs to get posted twice to the socket receive list, causing
          the ECB to get linked to itself.

     SPXFSFIX NLM     1155   8-20-93   2:16p
          This is a session table bounds check to ensure that an invalid
          session ID in a packet from the wire would not cause problems.

     SPXLISFX NLM     1016   8-20-93   2:22p
          This fixes a problem with the SPXListenForConnectedPacket function
          that was not informing the connection partner when the window was
          reopened, after being closed.  This caused terible performance
          problems since the window would not open again until a WatchDog
          packet was generated about 3 seconds later.

     SPXDDFIX.NLM     1636   09-20-93  8:18a
          This fixes a problem with the way SPX handles retried connect
          requests.  If the connection had already transitioned into
          SESSION_TERMINATED when the retry came in, it was treated as a new
          connection request.

          Also fixes a problem where SPX was still acknowledging data packets
          that arrived after SPXTerminateConnection was called.  This could
          lead to incorrect handling of the data by the application, leaving
          both endpoints with different information about the state and
          completeness of the data. NOTE: This SPX problem is masked by the
          SPXS.NLM that ships with NMS 2.0 and SPXS.NLM included in
          STRTL2.EXE.  The fix for this specific issue is addressed by
          SPXDDFIX.NLM.


     NetWare 3.12 patches

     SPXDDFIX.NLM     1254   09-20-93  8:20a
          This fixes a problem with the way SPX handles retried connect
          requests.  If the connection had already transitioned into
          SESSION_TERMINATED when the retry came in, it was treated as a new
          connection request.

          Also fixes a problem where SPX was still acknowledging data packets
          that arrived after SPXTerminateConnection was called.  This could
          lead to incorrect handling of the data by the application, leaving
          both endpoints with different information about the state and
          completeness of the data.  NOTE: This SPX problem is masked by the
          SPXS.NLM that ships with NMS 2.0 and SPXS.NLM included in
          STRTL2.EXE.  The fix for this specific issue is addressed by
          SPXDDFIX.NLM.


     Fixes notes for NetWare 4.01
     STREAMS  NLM    63201   9-14-93  10:12a 
          Resolved some internal timing conditions that would cause protocol
          stacks to stop functioning.
          Resolved a CLIB relationship problem.  If a new CLIB was loaded w/o
          STREAMS being reloaded, then STREAMS would possibly call the wrong
          address, probably causing an ABEND.
          Resolve problem for NetWare SAA v1.3 so all Comm Server modules can
          unload properly when the csdown command is issued.

     TLI      NLM    24795   9-14-93  10:17a 
          Resolved some internal state checks that would cause a TLI
          application to stop functioning.

     IPXS     NLM    10363   8-23-93   8:13a
          Resolved problem that was causing "System Packet Receive Buffers" to
          be lost.
          Resolved problem so that some applications could send larger
          packets.

     SPXS     NLM    33219   9-14-93  10:03a 
          FIXED: lost ECB's problem, it occured if we close session and there
          is (are) ACK's waiting for send ESR to complete
          FIXED: watchdog handling by the session not yet accepted
          FIXED: logical size table look up; the problem occured when the
          intial size was the "odd ball" one (not matching any of the table
          size)
          FIXED: releasing mp (T_CONN_REQ) after acked while in "old" SPX
          mode.
          FIXED: user defined and set data stream type
          FIXED: disconnect problems (retries if discon is the response to
          conn ind and not timing out on snddis)
          FIXED: is sys packet sent after connection request ACK packet
          (session accept packet) has been destined to "old" SPX and then was
          ACK'ed by piggy-backed ACK we freed this implicit ACK (data packet),
          treating it as regular ACK. Then it was sent up stream causing abend

     NetWare 4.01
     SPXDDFIX.NLM     1048    09-20-93  8:22a (4.01 only)
          This fixes a problem with the way SPX handles retried connect
          requests.  If the connection had already transitioned into
          SESSION_TERMINATED when the retry came in, it was treated as a new
          connection request.

          Also fixes a problem where SPX was still acknowledging data packets
          that arrived after SPXTerminateConnection was called.  This could
          lead to incorrect handling of the data by the application, leaving
          both endpoints with different information about the state and
          completeness of the data.  NOTE: This SPX problem is masked by the
          SPXS.NLM that ships with NMS 2.0 and SPXS.NLM included in
          STRTL2.EXE.  The fix for this specific issue is addressed by
          SPXDDFIX.NLM.
