Subject: CVS commit: src/sys/nfs
To: None <source-changes@NetBSD.org>
From: Frank van der Linden <fvdl@netbsd.org>
List: source-changes
Date: 12/07/2003 21:15:48
Module Name: src
Committed By: fvdl
Date: Sun Dec 7 21:15:48 UTC 2003
Modified Files:
src/sys/nfs: nfs_bio.c nfs_node.c nfs_socket.c nfs_vnops.c
Log Message:
Unix semantics dictate that access checks for files are done when it
is opened. An open file can always be read from and/or written to,
depending on how it was opened.
Therefore, the read/write/commit RPCs should never return EACCESS,
as they are only performed on files that have been successfully opened
already.
This change improves the current situation and works in most cases.
It simply always uses the most recently known owner/group of the file,
iff the authentication mechanism is AUTH_UNIX (in other cases, the
creds for a succesful open are used, but note that no other cases
are currently implemented).
A retry mechanism can be used to catch a few more cases, but this is
a good improvement for now.
To generate a diff of this commit:
cvs rdiff -r1.113 -r1.114 src/sys/nfs/nfs_bio.c
cvs rdiff -r1.70 -r1.71 src/sys/nfs/nfs_node.c
cvs rdiff -r1.99 -r1.100 src/sys/nfs/nfs_socket.c
cvs rdiff -r1.183 -r1.184 src/sys/nfs/nfs_vnops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.