
              NOVELL TECHNICAL INFORMATION DOCUMENT

TITLE:              This file contains NETX, EMSNETX, and XMSNETX
DOCUMENT ID:        TID014005
DOCUMENT REVISION:  A
DATE:               16DEC93
ALERT STATUS:       Yellow
INFORMATION TYPE:   Symptom Solution
README FOR:         NET33X.EXE

NOVELL PRODUCT and VERSION:
NetWare Client for DOS/Windows

ABSTRACT:

This version of the NetWare shells address the following issues: Support for
DOS versions 6.x, rather than just 6.0.  Fixes INT 21-5C, INT 21-3F file
locking problem.  Supports "Sharing Buffer Overflow" error.  Fixes NCOPY /C
file date/time anomaly.  Fixes INT 21 4B01h function that causes a w/s hang. 
This shell now properly displays the correct print job number.  Stack size was
increased to accommodate the "PRINT TAIL" parameter in the NET.CFG.


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

     1)   Provides support for DOS 6.x, rather than just 6.0 and below.  Added
          support for versions 6.x of DOS. (See the note at the bottom of this
          document.)

     2)   Adds support for the NCP return code 150.  Now when the shell
          receives a 150 return code from Int 21 function 50h, it will put a
          24h in the AX register, indicating a "sharing buffer overflow"
          error.
    
     3)   BACKUP from DOS 5.0 fails when specifying a NetWare drive as the
          target drive.  Int 21 function 60 was failing (file not found) when
          parsing root directory names, such as "f:\".

     4)   Unable to set PRINT TAIL value in NET.CFG to 0. This has been fixed
          in this release.
   
     5)   The destination file's date changes with the NCOPY /C option.  A bug
          in the cache code could cause NCOPY /C to update the destination
          file with the current date and time.  Specifically, using NCOPY /C
          to copy  a 30911 byte file would cause the bug.  Some other sizes
          would not fail.

     6)   Interrupt 21h function 40h errors were not being passed on to the
          application.  The shell was clearing the carry flag on write errors,
          causing an application to believe that no write error had occurred.
 
     7)   Interrupt 21h function 4B01h (load but do not execute) was causing
          the workstation to hang.

     8)   The stack size was increased in order to accommodate the "PRINT
          TAIL" parameter in NET.CFG

     9)   Interrupt 21h function 4409h, which determines whether the specified
          device is local or remote, was returning incorrect values when run
          on a network drive.

     10)  The shell was returning an incorrect print job number.

     11)  If a section of a file is locked with int 21h - 5Ch, and then
          another workstation accesses the same file and tries to read the
          locked area with int 21h - 3Fh, it will return successful. 


SOLUTION

     Apply NET33X.EXE

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

     Files Included     Size     Date      Time     Version

     \
       NET33X.TXT         (This File)      
         NETX.EXE      78654   11-17-93    2:14p   v3.32
      EMSNETX.EXE      90510   11-17-93    2:16p   v3.32
      XMSNETX.EXE      87172   11-17-93    2:18p   v3.32


     Installation Instructions:

     1)   Make a backup copy of the existing shell (NETX.EXE, XMSNETX.EXE or
          EMSNETX.EXE)

     2)   Copy this new version over the existing shell.

     3)   Reboot the workstation.

     IMPORTANT Note for PC DOS 6.10 users: (Problem using the %OS_VERSION
     parameter)

     The default login script, as well as many system login script files
     contain the following commands:

          MAP INS S1:=SYS:PUBLIC
          MAP INS S2:=SYS:PUBLIC/%MACHINE/%OS/%OS_VERSION

     The %MACHINE variable applies to the LONG MACHINE TYPE= <Name> parameter
     in the NET.CFG file.  It defaults to IBM_PC

     The %OS variable applies to the DOS NAME= <Name> parameter in the NET.CFG
     file.  It defaults to MSDOS.  PCDOS users typically will create a
     directory called PCDOS, and set DOS NAME=PCDOS in the workstation NET.CFG
     file.  This allows the co-existence of MSDOS and PCDOS with the same
     version number to be mapped under the %OS directory.  i.e.

          SYS:PUBLIC\IBM_PC\MSDOS\V6.00
          SYS:PUBLIC\IBM_PC\PCDOS\V6.00

     The %OS_VERSION variable applies to the DOS VERSION returned from DOS INT
     21h-Function 30h, which is the "GET DOS VERSION" function.  We check the
     AL register for the major version number, and the AH register for the
     minor version number.  Using INT 21h, Function 30h for PCDOS v6.00, will
     return 6.00 as the version.  This matches the DOS VER command from PCDOS
     v6.00, which also returns version 6.00.  However, using INT 21h, Function
     30h for PCDOS v6.10, will also return 6.00 as the version.  This does not
     match the VER command from PCDOS v6.10, which shows the version as 6.10. 
     This is similar to what happens with DOS 4.01.  The DOS VER command
     (which returns an ASCII text string) reports the DOS version as version
     4.01, but internally (using the Get Dos Version function call), DOS 4.01
     reports itself as DOS version 4.00 to applications.  

     This means that PCDOS v6.10 users will be mapped to the: 
     SYS:PUBLIC\IBM_PC\PCDOS\V6.00 directory by default, since INT
     21h-Function 30h returns 6.00 as the version, and the NETX.EXE shell
     relies on this function to return the correct DOS version.  This will
     result in invalid command.com errors, if comspec is set to the network
     "DOS directory" search mapping.

     WORK AROUND OPTIONS

     1)   Add the following line to the workstation's config.sys file: 
          DEVICE=SETVER.EXE

          At the DOS prompt, type:  SETVER NETX.EXE 6.10 (to add netx.exe to
          the setver table.)

          At the DOS prompt, type:  SETVER  (to list the elements in the
          setver table, to make sure NETX.EXE was correctly added to the
          table.)

     NOTE:     NETX.EXE can be removed from the setver table using the
               following syntax:  SETVER NETX.EXE /D   Only do this if setver
               is no longer needed to report the correct DOS version to the
               NETX.EXE shell.

     Reboot the workstation, and load the network software.

     OR, (instead of option 1)

     2)   Upgrade all workstations from PCDOS v6.00 to PCDOS v6.10, and place
          the PCDOS v6.10 files into the: SYS:PUBLIC\IBM_PC\PCDOS\V6.00
          directory.  This will allow the default mapping of
          SYS:PUBLIC\IBM_PC\PCDOS\V6.00 to work for v6.10 PCDOS users.

