[comp.protocols.nfs] PC-NFS 3.5a

geertj@philica.ica.philips.nl (Geert Jan de Groot) (06/07/91)

Some time ago, Geoff Arnold told he was working on a patch to get RARP
running on PC-NFS version 3.5. An announcement should come 'later'.
PC-NFS 3.5 was unusable without RARP working, so the patch has been
essential to us.

I have not seen the announcement yet, but I have found the patch. There
even is a second version of it. Its patch ID is 100287-02. The old one
was 100287-01. The patch seems to be around for a while already.

Below, I put the readme.1st file. Since I could never find a buglist
(nor a patch) for PC-NFS 3.0, I think it is a good idea in these years of
perestroika to spread some info, to prevent this situation for 3.5. 
Enjoy. I hope Geoff doesn't mind.

Geert Jan

----


                              READ THIS FIRST
			           for
                        Sun Microsystems' PC-NFS 3.5a

                               Geoff Arnold
                                May 3, 1991



		Contents:
			1. INTRODUCTION
			2. WHAT'S FIXED
			3. HOW TO INSTALL 3.5a




1. INTRODUCTION AND DISCLAIMER

This kit is a patch upgrade for Sun Microsystems' PC-NFS(R)
version 3.5. It is intended to fix a number of specific bugs and
RFEs. You should note that there is no particular benefit to
applying this upgrade unless you have experienced one of the
problems discussed in section 2 below. Furthermore, by its
very nature a patch upgrade receives less testing than a full
release, and there is therefore a chance that the changes in 
this kit may introduce other problems. For this reason, we ask
that you not apply this patch until you have reviewed this material
carefully to see if it would be of clear benefit to you.

Please also note that this patch can be applied only to
PC-NFS 3.5. Before installing this patch, please check the
version of PC-NFS installed on your system. You can do this by
checking the message which is displayed when the PCNFS.SYS
device driver is loaded; you can also use the command

	NET VERSION

to see this text. If you are running an earlier version of PC-NFS,
you should contact Sun Microsystems or your distributor to order a 3.5
upgrade kit. Once you have installed PC-NFS 3.5, you can then
apply this patch. If the version of PC-NFS is later than 3.5a,
you do not need to apply this patch; all PC-NFS patch kits are
cumulative, so that 3.5b (if released) will include all of the fixes
in 3.5a, and so on.


Sun Microsystems does not guarantee that the changes introduced
in this patch kit will be incorporated into any future version
of PC-NFS. If you encounter problems when running with this patch,
it will assist us in diagnosing the situation if you can determine
whether the behaviour of the software changed from 3.5 to 3.5a.

THIS KIT DOES NOT INCLUDE ANY MECHANISM FOR "BACKING OUT" THE
CHANGES. THE RESPONSIBILITY FOR BACKING UP YOUR CURRENT SOFTWARE
RESTS WITH YOU.

2. WHAT'S FIXED

For each fix, the external bug number and internal PC-NFS change
order (SDR) number are shown. Any questions should reference the
bug number, since the SDR code is used only within engineering
and SPA.


2.1 RARP BUG (SDR#pcn1048, bug#1054724)

In PC-NFS 3.5 a system using RARP to determine its IP address
would fail if the name and address of the RARP server were not
included in the local \NFS\HOSTS file. This bug is fixed in 3.5a.


2.2 LONG HOSTNAMES (SDR#pcn1085, bug#1058204)

If you use NIS as a gateway to the Domain Name System, and if
the fully qualified host name of your PCNFSD server is longer
than 16 bytes, the name will be stored incorrectly and cannot
be used to send a NET NAME login request. The size limit
is now 64 bytes.


2.3 TELNET FUNCTION KEYS (SDR#pcn1063, bug#1055679)

In all versions of PC-NFS prior to 3.5a the VT-100 emulation
of TELNET supported only function keys F1-F4, and TELNET control
functions were assigned to F5-F10. In 3.5a, function keys
F1 to F12 all generate VT-100 style escape sequences, and
all TELNET control functions have been assigned to <Alt>+<Fn>
sequences. (Note that the handling of F11 and F12 involves
tricky BIOS-specific conditional code, and if you encounter
problems on your system you should revert to the EM.COM
emulator shipped with PC-NFS 3.5.)


2.4 IP TTL FIXED (SDR#1064, bug#1055936)

The default value of the TTL (Time To Live) for IP datagrams
generated by PC-NFS 3.5 was 15, the old Internet standard.
This is inadequate for some complex networks, and a value
of 60 is now used.


2.5 MOUNT OPTIONS (SDR#1056)

The NET USE command (but not NFSCONF) now supports a number of
per-mount options. The options are

	timeo=NN	Initial RPC timeout in tenths of a second.
			If no reply is received in this time, the
			request will be retransmitted and the timeout
			will be increased to 4*NN. On each retry, the
			timeout will be multiplied by 4, up to a limit
			of 30 seconds. The maximum value for NN is 300.
			(Default:7)
	retries=NN	The number of retries for an NFS operation. If this
			is given as 0, the operation will be retried
			forever.
			(Default: 4)
	wsize=NNNN	Specifies the maximum size of each NFS write
			operation. The maximum is also constrained by
			the TSIZE advertised by the NFS server (typically
			8192).

Note the the "rsize" option may be given, but will be ignored: PC-NFS
will always use an NFS read size of 1024.

In addition, the following (mutually exclusive) options are
supported as in 3.5:

	ro		Mount read-only
	mustshare|ms	Requires use of Lock Manager on server. 
	noshare|ns	Will not use Lock Manager.(default)

Multiple options are separated by commas, and the complete option
list is introduced by a slash. The following is a typical example:

	NET USE F: hinode:/usr2 /ms,wsize=4096,timeo=15

You should use these options if you are communicating over
a low-speed link, or with a server which may execute some or all
operations slowly. In testing against a mainframe which was
accessed over a leased line, we found it best to use settings
such as:

	NET USE H: rmt3090:/ /ns,wsize=1024,timeo=200,retries=20

Please note that NFSCONF has not been modified to recognize these
options. This means that if you modify DRIVES.BAT to include
any of these options and then use NFSCONF to manipulate drives
or printers, your changes will be lost. 

Note also that with this change the "/rN" switch to PCNFS.SYS
ceases to have any effect. The only way to force indefinite
retransmission is with the "/retries=0" NET USE option.


2.6 LONG FILENAMES REVISITED (SDR#pcn290, bug#1024986)

In PC-NFS 3.5 we revised the way in which file names were processed
in order to more accurately mimic the bahaviour of DOS. Unfortunately,
at least one application had been written to rely upon the earlier,
inaccurate behaviour of PC-NFS. While the correct solution is for
such applications to be modified to remove their dependence on
the earlier bug, we have added another PCNFS.SYS switch, "/v", to
revert to the previous mode of operation. (The effects are subtle:
you should not expect that adding this switch will automatically
unshackle you from all DOS filename restrictions.)


2.7 NDIS DRIVER FIXES (SDR#1071, bug#1057109)

The PC-NFS NDIS interface, NFS-NDIS.SYS, has been modified to resolve
certain problems which could arise when multiple NDIS protocol
stacks were loaded.


2.8 NET SUBNET BROADCAST (SDR#1077, bug#1057999)

When you issue a 

	NET SUBNET *

command, PC-NFS transmits a number of ICMP AM1 address mask requests.
Prior to 3.5a, all of these requests were broadcast, a process which
could lead to a significant amount of redundant network traffic as
many systems transmitted replies to the request. In 3.5a the first
request will be directed at the last network node from which we
received an ARP response, if any. During startup, this will usually
be an NIS or RARP server. In the (unlikely) event that this host does
not reply to the request, subsequent requests are broadcast as usual.


2.9 GROUP MEMBERSHIP CLEARED ON LOGOUT (SDR#1061, bug#1055662)

In 3.5 there was a bug in the 

	NET LOGOUT

command which meant that the secondary group membership list was
not cleared upon logout. This meant that subsequent NFS operations
were performed by user -2 ("nobody") but with group access to those
secondary groups in which the previous user was a member. This
security hole has been fixed in 3.5a.


2.10 QUIET MODE NET (SDR#1083, bug#1058165)

A frequent request for enhancement for the NET command has been
that it be less verbose, to make it easier for people to write
batch files or spawn NET from applications. The operation of
the NET command can now be silenced in either of two ways.
A "-q" (or "/q") switch may be added after the word NET but
before the subcommand, and separated from both with whitspace, as in

	NET -q USE G: hinode:/usr2

Alternatively the enviroment variable NFSHUSH may be defined.
Three points should be noted:
    (1)	Most error messages will also be suppressed; you will need
	to check the ERRORLEVEL returned by NET to determine if
	the command succeeded or failed.
    (2)	To make start completely silent you should add

		@ECHO OFF

	to the start of NETWORK.BAT and DRIVES.BAT.
    (3) NFSCONF will not understand the "-q" option.



2.11 NET USE SEND BOGUS UNMOUNT RPC (SDR#pcn1060, bug#1055619)

In PC-NFS 3.5, a NET USE or NFSCONF "Mount" command would
cause PC-NFS to send a bogus "Unmount" RPC to the mount daemon
on the server. This was wrong, but completely benign. It's
fixed in 3.5a.


2.12 COPYRIGHT AND VERSION ERRORS (SDR#pcn1086, bug#1056551)

A number of version and copyright strings were incorrect in 3.5, and
are corrected in 3.5a.
	

2.13 ATTRIBUTE HANDLING ON CHMOD (SDR#pcn1073, bug#1057515)

The emulation of the DOS Chmod (4300H) request in PC-NFS 3.5 and
earlier was incorrect; it would occasionally report that a file was
readable or writeable when it was not. This did not introduce any
security hole, since the Open and Create access checking was
correct. This problem is fixed in 3.5a.


2.14 NET PRINT WHEN COEXISTING WITH NETWARE (SDR#pcn1097, bug#1058684)

Using various techniques (e.g. an NDIS MAC driver, NFS-NDIS.SYS,
and the Spry NDIS/IPX) it is now possible to run PC-NFS and NetWare
concurrently provided that PC-NFS is started and all NFS drives
and printers are mounted before NET3 or NET4 is started. However
there was an incompatibility between the NET PRINT command and
the NetWare shell. This fix resolves the incompatibility.


2.15 SPACE HANDLING IN FILE NAMES (SDR#pcn723, bug#1033668 (re-opened))

An earlier bug related to the handling of embedded spaces in
path names was incorrectly fixed in 3.5. This meant that certain
operations might fail unless the "space significance" (/s) switch
was set. This problem is resolved in 3.5a.

3. HOW TO INSTALL 3.5a

This patch is distributed in several formats: a tar archive, a
self-extracting DOS archive, etc. Unpack the archive to a single
diskette or to a directory on a mountable file system. The user
of the PC to be upgraded should start by backing up the PC's
hard disk. (This should be standard operating procedure before
any significant upgrade.) Then insert the diskette or mount
the file system, change to the correct directory, and type

	UPGR35A C

where C is the drive on which PC-NFS was installed. You should
have at least 80K free on this drive.


The following files will be installed during the upgrade:

File:		Size:	Comments:

PCNFS    SYS    59463   An unserialized copy of the resident NFS driver.
PCNFS    MSG    33040   Messages revised to replect changes.
EMTELNET EXE    59853   Telnet executable.
EM       COM    32674   Telnet VT-100 emulator.
EM_MSG   TXT     3257   Messages for telnet.
NET      EXE    99875   Primary PC-NFS administration program.
NFS-NDIS SYS     3440   PC-NFS NDIS interface "glue".

The kit includes three other files:

COPYSER  EXE     9068   Program to copy serial number to PCNFS.SYS
README   1ST    11669   This file.
UPGR35A  BAT     1764   The installation script.

Your old PCNFS.SYS file will be saved as PCNFS.OLD, and may be
deleted once you are sure that the system is operating correctly.