HardenedBSD/sys
Joerg Wunsch ec05e1f5d7 The duplicate information returned in fa_type and fa_mode
is an ambiguity in the NFS version 2 protocol.

VREG should be taken literally as a regular file.  If a
server intents to return some type information differently
in the upper bits of the mode field (e.g. for sockets, or
FIFOs), NFSv2 mandates fa_type to be VNON.  Anyway, we
leave the examination of the mode bits even in the VREG
case to avoid breakage for bogus servers, but we make sure
that there are actually type bits set in the upper part of
fa_mode (and failing that, trust the va_type field).

NFSv3 cleared the issue, and requires fa_mode to not
contain any type information (while also introduing sockets
and FIFOs for fa_type).

The fix has been tested against a variety of NFS servers.
It fixes problems with the ``Tropic'' NFS server for Windows,
while apparently not breaking anything.

Pointed-out by: scott@zorch.sf-bay.org (Scott Hazen Mueller)
1995-06-14 06:23:38 +00:00
..
alpha/include Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
amd64 Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
compile
conf Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
ddb Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
dev Don't convert \n to \r\n in pccnputc(). This is the responsibility of 1995-06-14 05:16:12 +00:00
fs Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
gnu Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
i386 Don't convert \n to \r\n in pccnputc(). This is the responsibility of 1995-06-14 05:16:12 +00:00
isa Don't convert \n to \r\n in pccnputc(). This is the responsibility of 1995-06-14 05:16:12 +00:00
isofs/cd9660 Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
kern Output \n as \r\n, not as \n\r. 1995-06-14 04:52:39 +00:00
libkern Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
miscfs Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
modules I was wrong. I thought that the ip_mroute lkm would still compile, but it 1995-06-13 20:51:13 +00:00
msdosfs Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
net Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
netccitt Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
netinet Kernel side of 3.5 multicast routing code, based on work by Bill Fenner 1995-06-13 17:51:16 +00:00
netiso Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
netns Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
nfs The duplicate information returned in fa_type and fa_mode 1995-06-14 06:23:38 +00:00
nfsclient The duplicate information returned in fa_type and fa_mode 1995-06-14 06:23:38 +00:00
nfsserver The duplicate information returned in fa_type and fa_mode 1995-06-14 06:23:38 +00:00
pci Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
powerpc/include Don't define CLK_TCK here. 1995-02-03 21:49:18 +00:00
rpc Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
scsi Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
sys Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
tools
ufs Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
vm Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
Makefile