DragonFly commits List (threaded) for 2003-10
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/vfs/nfs nfs_node.c nfs_nqlease.c nfs_subs.c nfs_vfsops.c nfs_vnops.c nfsmount.h nfsnode.h
dillon 2003/10/10 15:01:13 PDT
Modified files:
sys/vfs/nfs nfs_node.c nfs_nqlease.c nfs_subs.c
nfs_vfsops.c nfs_vnops.c nfsmount.h
nfsnode.h
Log:
Data reads and writes should not need credentials, and most filesystems
ignore the ucred argument. NFS does, though, and FreeBSD-4.x had some
terrible hacks to associate credentials with data that only 'mostly' worked.
There were VM paging and buffer reconstitution cases which broke the
credentials even in 4.x. The hacks were removed from DragonFly during
the VFS messaging reorganization.
In DragonFly credentials are checked on open() but no credentials are
required for read and write ops. I had NFS just use the 'root' credential
for the RPC. However, this breaks NFS mounts which do not use the -maproot
(server side) directive. Really the bug is on the server side, but to
maintain general compatibility with NFS servers we have to provide a
non-root credential if root did not issue the I/O. This commit hacks up
the NFS code (rather then hacking up the rest of the kernel) to restore
the hacks that were previously removed from the kernel. Unfortunately it
can lead to a proliferation of ucred structures (FreeBSD-4.x did as well),
but that's the price we have to pay for now.
Report-by: Galen Sampson <galen_sampson@xxxxxxxxx>
Revision Changes Path
1.8 +9 -1 src/sys/vfs/nfs/nfs_node.c
1.12 +2 -2 src/sys/vfs/nfs/nfs_nqlease.c
1.10 +1 -1 src/sys/vfs/nfs/nfs_subs.c
1.9 +2 -2 src/sys/vfs/nfs/nfs_vfsops.c
1.14 +45 -17 src/sys/vfs/nfs/nfs_vnops.c
1.4 +1 -2 src/sys/vfs/nfs/nfsmount.h
1.6 +27 -9 src/sys/vfs/nfs/nfsnode.h
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]