summaryrefslogtreecommitdiff
path: root/include/linux/sunrpc
AgeCommit message (Collapse)Author
2005-08-16[PATCH] NFS: Ensure ACL xdr code doesn't overflow.Trond Myklebust
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-22[PATCH] NFSD: Add server support for NFSv3 ACLs.Andreas Gruenbacher
This adds functions for encoding and decoding POSIX ACLs for the NFSACL protocol extension, and the GETACL and SETACL RPCs. The implementation is compatible with NFSACL in Solaris. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Acked-by: Olaf Kirch <okir@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-06-22[PATCH] RPC: Allow the sunrpc server to multiplex serveral programs on a ↵Andreas Gruenbacher
single port The NFS and NFSACL programs run on the same RPC transport. This patch adds support for this by converting svc_program into a chained list of programs (server-side). Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Olaf Kirch <okir@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-06-22[PATCH] RPC: Encode and decode arbitrary XDR arraysAndreas Gruenbacher
Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Acked-by: Olaf Kirch <okir@suse.de> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-06-22[PATCH] RPC: fix accounting bug in the case of a truncated RPC messageTrond Myklebust
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-06-22[PATCH] RPC: Lazy RPC receive buffer allocationOlaf Kirch
Signed-off-by: Olaf Kirch <okir@suse.de> Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-06-22[PATCH] RPC: Allow multiple RPC client programs to share the same transportAndreas Gruenbacher
Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Acked-by: Olaf Kirch <okir@suse.de> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-06-22[PATCH] RPC: Shrink struct rpc_task by switching to wait_on_bit()Trond Myklebust
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-06-22[PATCH] RPC: Make rpc_create_client() probe server for RPC program+version ↵Trond Myklebust
support Ensure that we don't create an RPC client without checking that the server does indeed support the RPC program + version that we are trying to set up. This enables us to immediately return an error to "mount" if it turns out that the server is only supporting NFSv2, when we requested NFSv3 or NFSv4. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-30[PATCH] svcrpc: auth_domain documentationNeil Brown
The use of auth_domains is somewhat confusing, in part because they were originally intended to be used in a more general way than they currently are. Update the documentation a little with an eye towards how it's currently used. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-03-10NFS,RPC: RPC client now advertises maximum payload sizeTrond Myklebust
The RPC client now reports the maximum payload size supported by the chosen transport method. This is something a little less than 64KB for RPC over UDP, and about 2GB - 1 for RPC over TCP. The effective rsize and wsize values are not allowed to exceed the reported maximum RPC payload size. Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPC: remove broken_suid mount optionTrond Myklebust
Remove broken_suid mount option (retry RPC after dropping privileges upon EACCES): no longer used and questionable w.r.t. security. Signed-off-by: Frank van Maarseveen <frankvm@frankvm.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPC: Remove dependency of RPCSEC_GSS upcalls on the credential cacheTrond Myklebust
Ensure that credentials that are referenced by an RPC task, but that have been booted out of the credcache may still be refreshed. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPCSEC_GSS: Enable expiring of credentialsTrond Myklebust
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPCSEC_GSS: Misc little cleanups.Trond Myklebust
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPCSEC_GSS: cleanup gss_cred.Trond Myklebust
gc_flavor is used only for looking up the security service, which is an integer value that never changes. Store the latter instead of the former. Fix up a couple of dodgy casts between gss_cred and rpc_cred. Replace them with the appropriate container_of(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPC: Document the format of the gssd downcallsTrond Myklebust
- Document the format of the gssd downcalls - Separate out "uid" field from rest of GSS context data struct since it will not be needed for the keyring-based contexts. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPC: clean up the RPCSEC_GSS kerberos and spkm3 context import functionsTrond Myklebust
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPC: Shrink struct rpc_auth for those flavours that don't use the cacheTrond Myklebust
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPC: Convert RPC credcache to use hlistsTrond Myklebust
This will make initialization of statically allocated caches simpler. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPC: kill cr_authTrond Myklebust
The cr_auth field is currently used only in order to figure out the name of the credential's flavour in debugging printks. Replace with a dedicated pointer in the statically allocated rpc_credops instead. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-10RPC: Make rpc_auth credential cache optional.Trond Myklebust
Some RPC authentication flavours are not related to the uid (AUTH_NULL springs to mind). This patch moves control over the caching mechanism into the auth-specific code. Also ensure that expired creds are removed from the cache. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2005-03-04[PATCH] nfsd: discard CACHE_HASHED flag, keeping information in refcount ↵Neil Brown
instead. This patch should fix a problem that has been experienced on at-least one busy NFS server, but it has not had lots of testing yet. If -mm could provide that ..... The rpc auth cache currently differentiates between a reference due to being in a hash chain (signalled by CACHE_HASHED flag) and any other reference (counted in refcnt). This is an artificial difference due to an historical accident, and it makes cache_put unsafe. This patch removes the distinction so now existance in a hash chain is counted just like any other reference. Thus a race window in cache_put is closed. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-03-04[PATCH] nfsd: nfsd: remove pg_authenticate fieldNeil Brown
The pg_authenticate (now pg_authenticate_obsolete) callback was only being used by the nfs4 client callback code to circumvent the svcauth_unix code's insistence on checking all requests against the export table. With that problem solved, we no longer need it. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-03-04[PATCH] nfsd: svcrpc: move export table checks to a per-program ↵Neil Brown
pg_add_client method svcauth_null_accept() and svcauth_unix_accept() are currently hard-wired to check the source ip address on an incoming request against the export table, which make sense for nfsd but not necessarily for other rpc-based services. So instead we have the accept() method call a program-specific pg_authenticate() method. We also move the call to this method into svc_process instead of calling it from the flavor-specific accept() routines. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-03-04[PATCH] nfsd: svcrpc: rename pg_authenticateNeil Brown
Later patches remove pg_authenticate and use the name for a different purpose; so rename it to pg_authenticate_obsolete for now. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-03-04[PATCH] nfsd: svcrpc: add a per-flavor set_client methodNeil Brown
Add a set_client method to the server rpc auth_ops struct, used to set the client (for the purposes of nfsd export authorization) using flavor-specific information. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-01-04 RPC: Optimize away unnecessary del_timer_sync() operations, when weTrond Myklebust
know there are no pending timers. Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
2005-01-04RPC: The RPCAUTH_CRED_DEAD flag had been unused for some time before ITrond Myklebust
unwisely revived it for use with the gss code. Having removed that use from the gss code, it's time to remove all references to it. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
2005-01-04RPC: Remove the rpc_queue_lock global spinlock. Replace it with per-rpc_queueTrond Myklebust
spinlocks. Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
2005-01-04RPC: Convert rpciod into a work queue for greater flexibility.Trond Myklebust
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
2004-12-27[SUNRPC]: Staticize, kill unused functions, and remove unneeded exports.Adrian Bunk
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2004-10-05Remove test for __linux__ in auth_gss.h.Linus Torvalds
It's not necessarily even true when cross-compiling the kernel, and the right thing to do is check for __KERNEL__ (which we already do, one line up).
2004-08-23RPC,NFSv4: NFSv4 operations that create or destroy state on theTrond Myklebust
server are not allowed to be interrupted as that may result in the client and server disagreeing.
2004-08-23NFSv4: Add support for a delegation callback server.Trond Myklebust
Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
2004-08-23RPCSEC_GSS: Add the spkm3 common and client-side code.Trond Myklebust
Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
2004-08-23RPCSEC_GSS: Remove an unused parameter.Trond Myklebust
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Trond Myklebust <trond.myklebust@fys.uio.no>
2004-08-22[PATCH] nfsd: simplify auth_domain_lookupNeil Brown
The interface between the auth_domain and the cache code is messy; the auth_domain code is the only real user of the full 11-argument DefineCacheLookup, and does weird stuff with it (like passing in through one of the arguments a bit of code with a conditional return). We could further parametrize DefineCacheLookup, but I think it's already too complicated. My solution is to just ignore DefineCacheLookup and write the auth_domain_lookup function from scratch. It's actually a pretty short function (much simpler than DefineCacheLookup itself), and it's much easier to read this short function than it is to read some special-cased DefineCacheLookup to verify that it does what it says it does.... Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-08-22[PATCH] nfsd: make cache_init initialize reference count to 1Neil Brown
Presumably anyone creating a new cache entry is going to want a reference on that cache; and indeed every caller of cache_init increments the reference count immediately afterwards. So may as well make cache_init set an initial reference count of 1. Also, note that cache_init initializes the flags; callers don't need to. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-07-15[PATCH] sparse: iovec cleanups - sunrpc, nfs and nfsdAlexander Viro
sunrpc, nfs and nfsd switched to use of kvec and kernel_...msg()
2004-07-04[PATCH] gcc 3.5 fixesAnton Blanchard
gcc 3.5 is warning about static vs non static function declarations. The following patch removes function prototypes in .h files where possible and changes prototypes to be static elsewhere. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-06-04[PATCH] kNFSd: gss_svc locking and refcounting fixesNeil Brown
The server sunrpc code should take a reference on the relevant module before calling any authentication code. Also, it looks to me like the table of authops needs some locking. Finally, gss_svc_init wasn't checking the status of svc_auth_register, and gss_svc_shutdown wasn't calling svc_auth_unregister. From: "J. Bruce Fields" <bfields@fieldses.org> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-05-24[PATCH] Prevent scary warnings from knfsdAndrew Morton
From: "J. Bruce Fields" <bfields@fieldses.org> The kernel currently prints: nfsd: nobody listening for auth.unix.ip upcall; has some daemon not been started? on every bootup, during initscripts. Neil Brown <neilb@cse.unsw.edu.au> says: It was part of the recent set of idmapper patches. Bruce wanted the admin to get a warning when the idmapper daemon wasn't running. I thought the same warning should apply to any daemon that responded to upcalls. In the case of auth.unix.ip it isn't strictly necessary for a daemon to be running (for comparability with 2.4). You can get rid of the warning by doing: mount -t nfsd nfsd /proc/fs/nfs before mountd is started (init scripts should start doing this I hope, but distributions don't tend to use the init script from nfs-utils, so it is hard to push it). This will trigger mountd to listen on auth.unix.ip and others. That's a hassle, so Bruce's patch limits the warning purely to the new idmapper cache. It provides a callback in the cache_detail that individual caches can use to log messages when upcalls fail because a userspace daemon not running. Implement this method for the idmapping caches.
2004-05-21[PATCH] gss_api build fixAndrew Morton
From: "J. Bruce Fields" <bfields@fieldses.org> Older gcc's don't like that dimensionless array. Remove it in favour of a pointer to the data.
2004-05-20RPCSEC_GSS: Fix module reference counting.Trond Myklebust
Clean up the interface to the GSSAPI code. Patch by Bruce Fields
2004-05-20RPCSEC_GSS: Make a couple functions in the krb5 code moreTrond Myklebust
generally useful. This will help prepare for the spkm3 and lipkey mechanisms. Patch by Bruce Fields
2004-05-20Following a suggestion by Jamie LokierTrond Myklebust
RPC: Make "major" timeouts be of fixed length "timeo<<retrans" rather than counting the number of retransmissions. The clock starts at the first attempt to send each request. RPC: Ensure that we "slow start" the RTT estimation after a major timeout has occurred.
2004-05-19[PATCH] kNFSd: Add a warning when upcalls fail,Andrew Morton
From: NeilBrown <neilb@cse.unsw.edu.au> From: "J. Bruce Fields" <bfields@fieldses.org> To help the user diagnose problems caused by user-level daemons not running.
2004-05-19[PATCH] kNFSd: Make sure CACHE_NEGATIVE is cleared when a cache entry is ↵Andrew Morton
updates. From: NeilBrown <neilb@cse.unsw.edu.au> This is important for update-in-place caches which may change from being negative to posative. Thanks to "J. Bruce Fields" <bfields@fieldses.org> and Olaf Kirch <okir@suse.de>
2004-04-21[PATCH] sunrpc rmmod oops fixAndrew Morton
From: "J. Bruce Fields" <bfields@fieldses.org> Unregister svcauth_gss caches on exit from gss module; fixes an oops on rmmod.