From: Steve Dickson Date: Tue, 28 Sep 2010 11:38:27 +0000 (-0400) Subject: Release 1.2.3 X-Git-Tag: nfs-utils-1-2-3~1 X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=c9512739d8ee7a880120414eddd7e03d3f898638;p=nfs-utils.git Release 1.2.3 Signed-off-by: Steve Dickson --- diff --git a/ChangeLog b/ChangeLog index 1a9e642..efef742 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3324 +1,2063 @@ -Author: Steinar H. Gunderson -Date: Wed Sep 13 22:23:23 CEST 2006 - - Fix -n option to mountd - - The getopt_long() option string in mountd was having a spurious - colon after the 'n', leading to the short form of --no-tcp not - being usable (expecting a parameter, contrary to the long form - and the documentation). Fix. - -Author: Steinar H. Gunderson -Date: Wed Sep 13 22:19:39 CEST 2006 - - Document sensitive gids - - The exports(8) man page already mentions that some non-root users, - such as bin, might be just as sensitive as root, and that root_squash - thus might not be as effective as one could hope for. Update the - documentation to also mention that this could be the case for non-root - groups, such as staff. - -Author: NeilBrown -Date: Mon Aug 7 16:35:03 AEST 2006 - - Set version to 1.0.10 - Note: 1.0.10 should be used in preference to - 1.0.9 especially with kernels 2.6.18 and later - otherwise 'rpc.nfsd N' won't work to change the - number of threads after nfsd has been started. - -Author: NeilBrown -Date: Mon Aug 7 16:35:03 AEST 2006 - - support/nfs/nfssvc.c: if any ports are already open, - don't try to open any more. - This means that once nfsd is running - rpc.nfsd X - will just change the number of threads, not the - ports in use. - -Author: NeilBrown -Date: Mon Aug 7 14:01:35 AEST 2006 - - Remove warning if neither 'sync' or 'async' present. - Add warning of neither 'subtree_check' or 'no_subtree_check' present. - -commit 7194d7d6320736c14f40d31c3738d40f3119ead5 -Author: Kevin Coffman -Date: Sat Jul 8 10:01:40 2006 +1000 +commit 3030aded70e616cdeac4223785754b86a33b587d +Author: Eberhard Kuemmerle +Date: Mon Sep 27 13:24:48 2010 -0400 - Use uid/gid of -1 to indicate the export's anonuid/anongid should be used - - Kernel routine nfsd_setuser() in fs/nfsd/auth.c checks for the - value -1 and defaults the credential's fsuid/fsgid to the - correct anonuid/anongid values for the given export. We should - be passing this value (-1) down when a name mapping cannot be found. - Thanks to J. Bruce Fields for the reference. + Added the -p flag to the svcgssd manpage - Signed-off-by: Kevin Coffman - Acked-by: J. Bruce Fields - -commit b0604c623f7a98c6061dff19988722d3ae848bd7 -Author: Kevin Coffman -Date: Sat Jul 8 09:58:03 2006 +1000 - - Change svcgssd_LDFLAGS to match gssd_LDFLAGS + Signed-off-by: Eberhard Kuemmerle + Signed-off-by: Steve Dickson -commit 99414bd3eecf93f23c378d3bb3d45bc98f364abc -Author: Neil Brown -Date: Sat Jul 8 09:41:58 2006 +1000 +commit 6cc96cada639a823961d5d8a136cbcdc8b8952b8 +Author: Eberhard Kuemmerle +Date: Mon Sep 27 13:16:23 2010 -0400 - Disable building/installing mount.nfs by default. + svcgssd: Adding a <-p principal> flag - mount.nfs does not yet support 'user' option and some others. - To make it support this we need to make it setuid-root, and - some security isses need to be resolved before that can be done - safely. - -commit b0c3cbfee702c019dab0a22557bbf38e24dfcee1 -Author: Steve Dickson -Date: Sat Jul 8 09:35:02 2006 +1000 - - Call nfssvc_versbits before nfssvc_setfds + Allow the principal that is used to get the machines creds definable + on the command like with the new '-p '. This is useful + in cluster environments. - nfssvc_versbits() has to be called before nfssvc_setfds() - for the version processing to work correctly + Signed-off-by: Eberhard Kuemmerle + Signed-off-by: Steve Dickson -commit 26fff911b21943f20e3937ae3f2d29a1572d2309 -Author: Neil Brown -Date: Thu Jul 6 13:05:11 2006 +1000 +commit 837796686ad8f9178c7b6855ada728a53ae511e3 +Author: David Lecorfe +Date: Mon Sep 27 13:29:31 2010 -0400 - Only use -rpath for Kerberos libs when actually needed. + nfs-iostat.py: don't wait for an extra interval when given a count - Avoid usage of -rpath is generally safer, and is required by Debian policy. + If I invoke the tool with an interval of 10 and a count of 2, it will: + - show the summary + - sleep 10s + - show the stats for the last 10s + - sleep 10s + - exit + + Signed-off-by: David Lecorfe + Signed-off-by: Steve Dickson -commit 28a7603b719f8d35bf22fd3018b610b489fec78f -Author: Neil Brown -Date: Thu Jul 6 12:28:33 2006 +1000 +commit eaa588a137b0b2f38aa9e9c542635a222e51ee48 +Author: Chuck Lever +Date: Mon Sep 27 10:16:34 2010 -0400 - Use 65534 instead of -2 in svcgssd_proc.c + nfsd: Enable IPv6 support in rpc.nfsd again. - as this is more consistant across achitectures. + Revert commit b2a3cd59 so that rpc.nfsd can create IPv6 listener + sockets for the kernel. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 904de920ea4da3ad5604c417f0d784fcda83ed2a -Author: Shankar Anand -Date: Tue Jul 4 08:50:56 2006 -0600 +commit c18e9a780f376b868e62b75abe64b0fd9915ada5 +Author: Chuck Lever +Date: Mon Sep 27 10:14:34 2010 -0400 - This patch adds code to nfsstat to read /proc/net/rpc/nfsd for nfsv4 server statistics and print them. + mountd: Update mountd/exportfs man pages to reflect IPv6 changes + + Document IPv6 support in rpc.mountd and exportfs, and clarify existing + language in the man page. + + Clean up: Use bold consistently for program names, and italics + consistently for file names. Use "rpc.mountd" consistently as the + name of the mountd daemon. - Submitted by: Shankar Anand + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 2179c112b9a386ca3d51d0e19390ddfadd745030 -Author: Steinar H. Gunderson -Date: Wed Jul 5 15:55:45 2006 +1000 +commit 7e454e03131f56872639fe7b62b726479b22c087 +Author: Chuck Lever +Date: Mon Sep 27 10:13:39 2010 -0400 - Fix typos in various man pages. + mountd: Use MNT status values instead of NFSERR + + Clean up: The MNT protocol has its own enum type defining error + status values. While the values can be the same as the NFSERR enum + type on some systems, it's not guaranteed to be true everywhere. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 3419e37500dfd19cb2c246260dbd2bc0ee4704d4 -Author: Steinar H. Gunderson -Date: Wed Jul 5 15:51:30 2006 +1000 +commit ef32b76ae37926faacaf4b8121eba638567c4692 +Author: Chuck Lever +Date: Mon Sep 27 10:11:18 2010 -0400 - Use 65534 for anon uid/gid rather than -2 + mountd: Fix up version and usage messages - This is more consistant across platforms. + Clean up: rpc.mountd is no longer known as kmountd. Use the program's + basename rather than the full pathname for the usage message. Display + a version message at start up similar to statd's. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 65735eef8a9441901245f6047edafc50f2d97c97 -Author: Greg Banks -Date: Wed Jul 5 13:37:21 2006 +1000 +commit 2c15cf2963367dee7106964c38ab7b1e30ba347d +Author: Chuck Lever +Date: Mon Sep 27 10:09:49 2010 -0400 - Update rpcdebug to know about new 2.6 debug flags. Added - a manpage and installed rpcdebug (in sbindir). + mountd: Unregister mountd if my_svc_run() returns + + Fix a long standing bug: when my_svc_run() returns, mountd should + unregister itself with the local rpcbind so that it can subsequently + start cleanly. + + Log a more helpful error message in this case. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 23b3a9d0284d78cb6bf96b8cd44e9a4662ff60ae -Author: Greg Banks -Date: Wed Jul 5 12:22:45 2006 +1000 +commit b551b1fd0052de9b8c674b30c39d9f2a1e9d79cc +Author: Chuck Lever +Date: Mon Sep 27 10:09:10 2010 -0400 - Ignore new generated files. + mountd: Support TI-RPC mountd listener + + If TI-RPC is available, use it to create mountd's svc listener. If + not, use the old function, rpc_init(), to create mountd's listener. + + IPv6 can be supported if TI-RPC is available. In this case, + /etc/netconfig is searched to determine which transports to advertise. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 89053f3f440b629911cb994a293d5be73bb79bf9 -Author: Greg Banks -Date: Wed Jul 5 12:20:20 2006 +1000 +commit c5571da8e92f87fc9ec6e8aa8075c69497361c87 +Author: Chuck Lever +Date: Mon Sep 27 10:06:35 2010 -0400 - Add rquota.h to BUILT_SOURCES so rquotad builds on the first try. + mountd: Make NFS version checks more strict + + Ensure users and programmers specify NFS version numbers correctly. + This also makes the next patch more clean. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 66f9d8251c92124e46a209c47e5c0f7d3a0c4e6e -Author: Neil Brown -Date: Wed Jul 5 11:06:09 2006 +1000 +commit 05f93b531d59df6e976d9b40c97b51546524040a +Author: Chuck Lever +Date: Mon Sep 27 09:50:11 2010 -0400 - Generate rquota_xdr.c and rquota.h from rquota.x + nfs-utils: Fix source code character encoding + + Minor clean up. + + Most modern Linux distributions set UTF-8 locales. Standardize the + character encoding of source files on UTF-8, to squelch vim com- + plaints. + + I probably missed a few spots. - rquota_svc.c is still by-hand as it contains alot of extras. - These should really be moved to rquota_server.c + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 9f5b40b7a68fe0a2648565ecbd4b08bf60287130 -Author: Neil Brown -Date: Wed Jul 5 10:41:03 2006 +1000 +commit 5341111d4b34bcd1b1263d5ed215cbe375aa9314 +Author: Steve Dickson +Date: Mon Sep 27 09:35:26 2010 -0400 - Remove some files that old, unused, unneeded. + libnfs.a: Remove support/nfs/fstab.c - deleted: support/export/keys.c - deleted: support/include/rpcdispatch.h - deleted: support/include/rpcsec.h - deleted: support/include/version.h - deleted: support/include/ypupdate.h - deleted: support/nfs/clients.c - deleted: support/nfs/keytab.c - deleted: support/nfs/ypupdate_xdr.c - deleted: support/rpc/include/Makefile.am - deleted: tools/rpcdebug/neat_idea.c - deleted: utils/mountd/mount_xdr.c - deleted: utils/rquotad/pathnames.h + Signed-off-by: Steve Dickson -commit fbb1602bbd34cbe89dd55ca6eaaa19432237db1d -Author: Neil Brown -Date: Wed Jul 5 10:30:51 2006 +1000 +commit 72ae199db4be7bf0092e15adaa8a43ce2434bf9f +Author: Jeff Layton +Date: Thu Sep 16 14:34:39 2010 -0400 - Avoid error creating an existing symlink + rpc.nfsd: mount up nfsdfs is it doesn't appear to be mounted yet + + There's a bit of a chicken and egg problem when nfsd is run the first + time. On Fedora/RHEL at least, /proc/fs/nfsd is mounted up whenever nfsd + is plugged in via a modprobe.conf "install" directive. - Just remove the link first. + If someone runs rpc.nfsd without plugging in nfsd.ko first, + /proc/fs/nfsd won't be mounted and rpc.nfsd will end up using the legacy + nfsctl interface. After that, nfsd will be plugged in and subsequent + rpc.nfsd invocations will use that instead. + + This is a problem as some nfsd command-line options are ignored when the + legacy interface is used. It'll also be a problem for people who want + IPv6 enabled servers. The upshot is that we really don't want to use the + legacy interface unless there is no other option. + + To avoid this situation, have rpc.nfsd check to see if the "threads" + file is already present. If it's not, then make an attempt to mount + /proc/fs/nfsd. This is a "best-effort" sort of thing, however so we + just ignore the return code from the mount attempt and fall back to + using nfsctl() if it fails. + + Signed-off-by: Jeff Layton + Signed-off-by: Steve Dickson -commit 0bc710a5a2b695039613a917e009dba3552ab1cc -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:33:54 2006 -0400 +commit 63afb96b9d36e72782ad25ca496896029a9d9061 +Author: Chuck Lever +Date: Thu Sep 16 14:25:52 2010 -0400 - Don't depend on Kerberos headers when checking librpcsecgss in configure + libexport.a: Enable IPv6 support in hostname.c - Signed-off-by: Kevin Coffman + If --enable-ipv6 is specified when building nfs-utils, libexport's + host_foo() helpers can now return both IPv4 and IPv6 addresses. - Older versions of MIT Kerberos are missing an OID definition, causing - the configure checks for librpcsecgss to fail. We shouldn't be depending - on their libraries during the configure. + This means IPv6 presentation addresses and IPv6 DNS resolution + results are handled properly in the mountd cache and /etc/exports, + but does not yet enable IPv6 mountd listeners. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 5bfa10c94c44f082dc211a5fb431e2202ea9bb35 -Author: Greg Banks -Date: Tue Jul 4 18:33:56 2006 +1000 +commit d901e329e380a2adc22783b1b241e414aa24cf51 +Author: Chuck Lever +Date: Thu Sep 16 14:21:48 2010 -0400 - Eliminate warnings from code generated by rpcgen + mountd: Ensure cache downcall can handle IPv6 addresses - - unused variable 'buf' - - emit a declaration for `buf' on demand. - - unused variable 'i' - - declare i immediately before use - - unused value from IXDR_PUT_ - - cast to (void) - - type-punned pointer reference - - cast to (void*) first :-( + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit acae444246635ec2ca8990d53e685c9062d73091 -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:34:43 2006 -0400 +commit 1ba28ec59f39de0bc4953b42556d847efbb508eb +Author: Chuck Lever +Date: Thu Sep 16 14:21:08 2010 -0400 - Handle mapping failure from get_ids. - - Signed-off-by: Kevin Coffman + mountd: Handle IPv6 addresses in kernel auth_unix_ip upcalls - Temporary patch to do default mapping if we get an error while trying to - map a gss principal to the appropriate uid/gid. This currently returns - hardcoded values. This may be correct, or we may need to try and figure - out the correct values to match the anonuid/anongid for the export. + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 1f1b05a65ef3dc6597c7bc1e2a38f38ae95bf230 -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:34:38 2006 -0400 +commit ffe8c9a084fec4fdd3acfcf4b36fbe434d297b82 +Author: Chuck Lever +Date: Thu Sep 16 14:19:19 2010 -0400 - Properly report errors in readline() function + mountd: clean up cache API + + Clean up: Squelch compiler warnings and document public parts of + cache API. - Signed-off-by: Kevin Coffman + cache.c: At top level: + cache.c:67: warning: no previous prototype for auth_unix_ip + cache.c:123: warning: no previous prototype for auth_unix_gid + cache.c:217: warning: no previous prototype for get_uuid + cache.c:247: warning: no previous prototype for uuid_by_path + cache.c:326: warning: no previous prototype for nfsd_fh + cache.c:745: warning: no previous prototype for nfsd_export + cache.c:820: warning: no previous prototype for cache_open + cache.c:832: warning: no previous prototype for cache_set_fd + cache.c:841: warning: no previous prototype for + cache_process_req + cache.c:921: warning: no previous prototype for cache_export + cache.c:953: warning: no previous prototype for + cache_get_filehandle - Change message priorities for errors and debug messages. + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit ee664fd246d77010af13fb557407c612752a5ea8 -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:34:33 2006 -0400 +commit 6f189dae5eb38800c8ae3e2d5c098d11fb44d7d5 +Author: Chuck Lever +Date: Thu Sep 16 14:17:08 2010 -0400 - Change default buffer size increment for readline() + exportfs: Enable IPv6 support in matchhostname() + + To gain IPv6 support in matchhostname(), simply replace the socket + address comparison helpers with the generic versions that can handle + IPv4 and IPv6. - Signed-off-by: Kevin Coffman + host_addrinfo() (called by matchhostname()) returns IPv6 addresses + only if IPv6 support is enabled. - The readline routine expects much smaller messages than we are passing. - Change the default initial allocation and increment value from 128 - to 2048. This saves many calls to realloc(). + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 3da69ce5c4fac5677e91aa20e60750ab8de2ab97 -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:34:27 2006 -0400 +commit 10a6b17d3588647ab5e1ee81ba40f1ce12a5184d +Author: Chuck Lever +Date: Thu Sep 16 13:54:21 2010 -0400 - Clean up the printerr() logging function. + mountd: Support IPv6 in mountlist_list() - Signed-off-by: Kevin Coffman + Replace inet_aton(3) and gethostbyaddr(3) calls in mountlist_list() + with calls to the new host_foo() DNS helpers. - Update the printerr() function to: + The new functions will support IPv6 without additional changes, once + IPv6 is enabled in the generic hostname helpers. - 1) Determine whether we'll print the message before going to all the - work of formatting it. - 2) Don't just toss away messages that are too long for the buffer. - Print what we can and give an indication of the truncation with - "..." at the end. - 3) Use a single buffer rather than two. - 4) Messages either go to syslog (with level ERR) or stderr. Don't - send some messages to syslog level DEBUG. + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 0b2a5b574c7ffd99aa3226d36e1d261826405625 -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:34:21 2006 -0400 +commit 76209cdbe989ee4cdfbf489f2695ac779457e763 +Author: Chuck Lever +Date: Thu Sep 16 13:51:51 2010 -0400 - Use setfsuid() rather than seteuid() while creating contexts + mountd: Handle memory exhaustion in mountlist_list() - Signed-off-by: Kevin Coffman + I'm about to replace inet_aton(3)/gethostbyaddr(3) with + host_pton()/host_canonname() in mountlist_list(). - As suggested by Olaf Kirch , use setfsuid() rather than - seteuid() when creating a gss context. This prevents users from using - credentials that do not belong to them, while also preventing them from - doing things like killing, renicing, or changing the priority of the - gssd process while it is processing the context creation. + Since host_canonname() returns a string allocated with strdup(3) + instead of xstrdup(), mountlist_list() must now deal with memory + exhaustion properly. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 0f899e6d862994ffb437ae73e087c4a21ab59723 -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:34:16 2006 -0400 +commit a8348c2c48d45f991995707fa22a2fa441aaa907 +Author: Chuck Lever +Date: Thu Sep 16 13:48:38 2010 -0400 - Limit acquire_cred call to to Kerberos only + mountd: Add mountlist_freeall() - Signed-off-by: Kevin Coffman + I'm about to add a second bit of logic that needs to free all + mountlist records, so introduce a helper for freeing them. - Specify that the acquire_cred call should only be concerned with returning - Kerberos credentials since this is Kerberos-only functionality. + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 3829bb90e764cd72c0009cb32a8b39d0fab89d81 -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:34:10 2006 -0400 +commit 454aea5dad83ca75f3154ff12ecff39169703e69 +Author: Chuck Lever +Date: Thu Sep 16 13:46:26 2010 -0400 - Check that the gssapi library is usable early on. + mountd: support IPv6 in mountlist_del_all() - Signed-off-by: Kevin Coffman + Replace IPv4-specific code in the mountlist_del_all() path with code + that is address family agnostic. - Do a call to determine mechanisms supported by the gssapi library early. - This allows us to discover early in case the gssapi library is somehow - misconfigured. We can bail out early and give a meaningful message - rather than getting errors on each attempt at a context negotiation. + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 119c3e9aafe84c0f7c2846c46ad5e6f5eeece0da -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:34:05 2006 -0400 +commit 4210d6f0c9cad57907877bf1e5d32ebe4a27bf17 +Author: Chuck Lever +Date: Thu Sep 16 13:44:02 2010 -0400 - Fix problems with 64-bit big-endian machines + mountd: Support IPv6 in mountd's svc routines - Signed-off-by: Kevin Coffman + Replace IPv4-specific code with use of our generic hostname helpers + in the routines that handle incoming MNT RPC requests. - Correct the definition of mech_used in the gss context to use gss_OID_desc. - This fixes problems on 64-bit machines when referencing the OID. + These functions will support IPv6 without additional changes, once + IPv6 is enabled in the generic hostname helpers. - Also updates write_buffer function to use u_int rather than size_t when - doing calculations. + As part of this update, I've modified all of mountd's _svc routines + to use a debug message format that is consistent with statd. It may + be overkill for some of these; if so we can pull them out later. + + Signed-off-by: Steve Dickson -commit c3f05548d7b3d586e7eebbdde9339617e88530f3 -Author: kwc@citi.umich.edu -Date: Mon Jul 3 18:33:59 2006 -0400 +commit f35762f959cc5f29ad7817f8b7968e3792132651 +Author: Chuck Lever +Date: Thu Sep 16 13:39:39 2010 -0400 - Define CFLAGS for gss_clnt_send_err compile + mountd: add IPv6 support in auth_authenticate() - Signed-off-by: Kevin Coffman + Make the entire auth_authenticate() code path address-family agnostic. - Add CFLAGS to make sure we find and use the correct gssapi.h when - building gss_clnt_send_err - -commit 4e9ed06f8f8a0cd9f34a6830c0ff14344a528042 -Author: Greg Banks -Date: Mon Jul 3 15:59:54 2006 +1000 - - Use socklen_t some more to avoid warnings. - -commit 6c40236820fda8960af891f41aa9d53f8bbe50a2 -Author: Greg Banks -Date: Mon Jul 3 15:39:41 2006 +1000 + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - Fix warning about pointer signedness differing. +commit 29b8a7700129d9768e3e2d94c81eec9f84ba8691 +Author: Chuck Lever +Date: Thu Sep 16 09:32:52 2010 -0400 -commit 3bf702b1a914b3867117b74d519c55fa68f4dc28 -Author: Greg Banks -Date: Mon Jul 3 15:17:34 2006 +1000 + libnfs.a: Fix API for getfh() & friends + + This is more of a clean-up than a behavioral change. + + POSIX requires that a "struct sockaddr" is the same size as a "struct + sockaddr_in". Therefore, a variable or field of type "struct sockaddr" + cannot contain an AF_INET6 address. However, "struct sockaddr *" is + often used to reference a generic (ie non-address family specific) + socket address, generating some confusion about this. + + The nfsctl_arg struct uses a struct sockaddr (not a pointer) to pass + the client's IP address to the kernel. This means the legacy nfsctl() + kernel API can never support IPv6. Fortunately for us, this legacy + interface was replaced by a text-based cache interface a few years + back. We don't need to support non-AF_INET addresses here. + + The getfh() functions in nfs-utils provide a handy C API for the + kernel's nfsctl interface. The getfh() functions still take a struct + sockaddr *, though, and that can imply that a non-IPv4 address can be + passed via this API. To make it abundantly clear that only IPv4 + addresses can be used with this interface, change the synopses of + getfh() and friends to take a struct sockaddr_in * instead of a struct + sockaddr * . + + This makes these functions conform with other places in mountd and + exportfs that already grok the difference between a struct sockaddr + and a struct sockaddr_in. + + While we're here... + + Introduce some nice documenting comments for the get_fh() functions, + and... + + Since mountd will support IPv6 in the near future, assert that the + family of client addresses passed to this API is indeed AF_INET, in + order to prevent non-AF_INET addresses from ever being passed to the + legacy nfsctl() interface. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - Include the right header to get xmalloc() declaration. +commit a88c279992f4b63e3dcaac9930e300fd4bb03dd7 +Author: Chuck Lever +Date: Thu Sep 16 07:28:18 2010 -0400 -commit 940c7c304d4a43c00c27529cdddc7c87db6eef87 -Merge: b90d201... a503848... -Author: Greg Banks -Date: Mon Jul 3 14:21:48 2006 +1000 + mount.nfs: Don't do anything fancy if this is a remount + + We don't want to append "vers=4" or perform any negotiation if the + "remount" mount option was specified. It will just end in tears. + + This attempts to address + + https://qa.mandriva.com/show_bug.cgi?id=60311 + + and + + https://bugzilla.linux-nfs.org/show_bug.cgi?id=187 + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - Merge branch 'master' of git://linux-nfs.org/nfs-utils +commit 6f73daf5a5711dc0620f7d43c61c4fd57c0d3f80 +Author: Chuck Lever +Date: Thu Sep 16 07:26:07 2010 -0400 -commit b90d201551aaa712c011c3d5de900fad714a26a6 -Author: Greg Banks -Date: Tue Jun 27 21:30:18 2006 +1000 + mount.nfs: Refactor mount version and protocol autonegotiation + + Clean up. + + I'm beginning to agree with Bruce and Steve's assessment that the + fallthrough switch case in nfs_try_mount() is more difficult to read + and understand than it needs to be. The logic that manages + negotiating NFS version and protocol settings is getting more complex + over time anyway. + + So let's split the autonegotiation piece out of nfs_try_mount(). + + We can reduce indenting, and use cleaner switch-based logic. Also, + adding more comments can only help. + + Neil also suggested replacing the pre-call "errno = 0" trick. The + lower-level functions may try to mount several times (given a list of + addresses to try). errno could be set by any of those. The mount + request will succeed at some point, and "success" is returned, but + errno is still set to some non-zero value. + + The kernel version check in nfs_try_mount() is more or less loop + invariant: it's impossible for the result of that test to change + between retries. So we should be able to safely move it to the logic + that sets the initial value of mi->version. + + This patch is not supposed to cause a behavioral change. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - Comment out unused variable. +commit 64bf8db367fd43e80dd135b460afc157808647fa +Author: Bian Naimeng +Date: Thu Sep 16 07:12:47 2010 -0400 -commit 33beb42d3d2cd13a82ddbbdc4275d2a048030ae3 -Author: Greg Banks -Date: Tue Jun 27 21:22:59 2006 +1000 + rpc.idmapd: Type of idmap client should be defined by ic_id not ic_clid. + + The type of idmap_client is defined by idmap_client.ic_id for nfs, + so nfsd should have the same style. + + Signed-off-by: Bian Naimeng + Signed-off-by: Steve Dickson - Comment out the decades-old SCCS id strings from the original Sun - distribution. They cause compile warnings, there is no longer any - reason to try to build them into the binaries, and gcc seems to be - eliding some of them anyway. +commit 7f77ef90ad52eced1552efc2242e063aa4501ddc +Author: Benny Halevy +Date: Tue Jul 20 08:40:34 2010 +0300 -commit 3172063ead6b99611d049a59938808a6358f48a4 -Author: Greg Banks -Date: Tue Jun 27 20:55:07 2006 +1000 + nfsstat: add release_lockowner to client stats + + Signed-off-by: Benny Halevy - Detect if glibc provides socklen_t and use that instead - of int in those cases which generate compile warnings, - e.g. the last argument of recvfrom(). +commit bf6da0a22d971364dae25ec2f62c01fbd2960f07 +Author: Steve Dickson +Date: Thu Sep 9 10:47:32 2010 -0400 -commit a09eeb36c2c45151b9bb89f5015da0c584799716 -Author: Greg Banks -Date: Tue Jun 27 20:28:02 2006 +1000 + Cleaned up a warning from commit 44f09b7 + + Signed-off-by: Steve Dickson - Replace the deprecated sigblock() with more modern - signal functions to avoid compile warnings. +commit 911630538580cdaaee1c37cdf1a8b35b8ed6b23f +Author: Chuck Lever +Date: Wed Sep 8 13:28:24 2010 -0400 -commit 93608a52655abf5ac23404c4b5cc05fe575a9c04 -Author: Greg Banks -Date: Thu Jun 22 18:01:10 2006 +1000 + mount.nfs: Prepare way for "vers=4,rdma" mounts + + At some point, when the kernel starts to support "vers=4,rdma" mounts, + we will want the mount.nfs command to pass "vers=4,rdma" mounts + instead of rejecting them. + + Assuming that the kernel will reject these today with EPROTONOSUPPORT, + that would cause the version fallback logic to go to "vers=3,rdma" + automatically. So the extra check we have now is not needed anyway. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - Fix a number of the easier compile warnings: unused variables, - unused labels, constness, signedness. +commit f99d1b8e8768ab96b51bed52f21a626ac9a4797f +Author: Chuck Lever +Date: Wed Sep 8 13:27:31 2010 -0400 -commit a07343ee0da4f0974a23b673ae1b0d482c7426a1 -Author: Greg Banks -Date: Thu Jun 22 17:31:24 2006 +1000 + mount.nfs: Support an "rdma" mount option + + The kernel NFS client's mount option parser recognizes a stand-alone + "rdma" mount option, similar to the legacy "udp" and "tcp" options. + + The mount.nfs command text-based mount option parser used to pass + "rdma" straight to the kernel, but since we've started handling MNT in + the kernel instead of in user space, "rdma" on the command line has + not worked. + + Until now, no-one has noticed, especially since an "rdma" mount option + isn't documented in nfs(5). + + Support "rdma" in mount.nfs command, and document it in nfs(5). + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - Detect presence of nfs4_set_debug() in libnfsidmap and - don't bother calling it if it's missing. +commit 44f09b7c4c79ca184a29138078c68a4db7aeb85a +Author: Chuck Lever +Date: Wed Sep 8 13:26:34 2010 -0400 -commit dcfcb677b39443b6392db3234fd50498bc158507 -Author: Greg Banks -Date: Thu Jun 22 17:19:17 2006 +1000 + mount.nfs: Use nfs_nfs_protocol() for checking for proto=rdma + + Clean up: Now that nfs_get_proto() can recognize "rdma" we can re-use + nfs_nfs_protocol() instead of ad hoc checks for "proto=rdma". + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - Remove useless m4 quoting around args to PKG_CHECK_MODULES(). +commit a77ca5c6a79486dc8c5a4c327fe5310f5d497766 +Author: Chuck Lever +Date: Wed Sep 8 13:25:56 2010 -0400 -commit 24d303ffae686192bda0a5996e8590219dcc82e7 -Author: Greg Banks -Date: Thu Jun 22 17:16:19 2006 +1000 + getport: Recognize "rdma" and "rdma6" netid + + The mount.nfs command must recognize the values of "rdma" and "rdma6" + with the "proto=" mount option. Typically the mount.nfs command + relies on libtirpc or getprotobyname(3) to recognize netids and + translate them to protocol numbers. + + RFCs 5665 and 5666 define the "rdma" and "rdma6" netids. IANA defines + a specific port number for NFS over RDMA (20049), but has not provided + a protocol name and number for RDMA transports, and is not expected + to. The best we can do is translate these by hand, as needed, to get + RDMA mount requests to the kernel without erroring out. + + Only the forward translation is needed until such time that "rdma" and + "rdma6" start to appear in rpcbind registries. For now, the version + and transport negotiation logic is skipped, avoiding rpcbind queries + for RDMA mounts. + + Note: As of kernel 2.6.36, the kernel's NFS over RDMA transport + capability does not support IPv6. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - Do m4 quoting of AC_MSG_ERROR() and AC_MSG_WARN() as - the autoconf people intended. This avoids errors in - autoconf on SLES10. +commit 57f36cd692c56b3b62705b5fafef4c25561a39ff +Author: Guillaume Rousse +Date: Thu Sep 9 10:33:47 2010 -0400 -commit 66a699d953727d3a992cc09ed5304b83d661a737 -Author: Greg Banks -Date: Thu Jun 22 16:51:44 2006 +1000 + Clarification about options supported by different versions + + Signed-off-by: Guillaume Rousse + Signed-off-by: Steve Dickson - Add a .gitignore file to suppress the files generated - during autogen, configure and build. -commit 49b164d978ee6266df7ba0bd335cb34337e7c381 -Author: Steve Dickson -Date: Mon Jul 3 09:52:00 2006 +1000 +commit b7df3370555877598d9f2ef49fae2ad4458e9f72 +Author: Chuck Lever +Date: Thu Sep 9 10:27:17 2010 -0400 - Allow rpc.nfsd to suppress tcp or udp, and listen on a specific address. + libexport.a: Refactor init_netmask() + + Instead of a single function that can handle both AF_INET and AF_INET6 + addresses, two separate functions might be cleaner. + + The original plan was to keep code redundancy at a minimum, but the + resulting code was cumbersome at best. I think I've traded a little + extra code for something that will be much easier to read, understand, + and maintain. - -T - will suppressing listening for TCP connection. - -U - will suppress UDP - -H host - will only listen on that local address - -p port - will listen on that port. + I've also eliminated the "#if / #endif" instances inside the functions. - This requires kernel patches which will hopefully be in 2.6.19 and possibly some - earlier test and vendor kernels. + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit fde2ae7794047a698feeaf17963d690a1e660a80 -Author: Steve Dickson -Date: Mon Jun 26 15:23:19 2006 +1000 +commit 60abb9889cea52022adf9c8bb946e9d19d79f9ed +Author: Chuck Lever +Date: Tue Aug 31 15:31:57 2010 -0400 - Add support for suppressing different NFS versions. + libexport.a: IPv6 support in client_check() + + Introduce support for IPv6 in client_check()'s helpers. The local + addrs_match() twins are no longer needed since we can use + nfs_compare_addrs() now. - e.g. -N 2 - means that NFSv2 won't be supported, just v3 and v4 (if the kernel - supports them). + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 0523fd513c6baa8dbf45d1a7afea2044262aeb3d -Author: Neil Brown -Date: Fri Jun 23 17:10:56 2006 +1000 +commit 965b15b855c0c621462256b0ab687fc32644255a +Author: Chuck Lever +Date: Tue Aug 31 15:30:14 2010 -0400 - Further coverity related cleanups. + libexport.a: IPv6 support for client_init_subnet() + + To parse and store an IPv6 host or subnet address, init_netmask() + needs to handle 128 bit subnet masks. - Greg Banks suggested some variations, particularly improved - use of xmalloc/xstrdup functions. Thanks. + Unfortunately what once was a pretty simple little function has grown + much larger. This logic must now not only parse IPv6 addresses + correctly, but must also distinguish between IPv4 and IPv6. + + To avoid code duplication, I'm "bending" the cardinal rule of not + using "#ifdef" inside functions. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 2e075a16da4963f54cd556403ca9e15a68de27fd -Author: Neil Brown -Date: Fri Jun 23 14:38:33 2006 +1000 +commit 2824097496f6b154befbf3b3d15dacf237b07f83 +Author: Chuck Lever +Date: Tue Aug 31 15:29:02 2010 -0400 - Fix various issues discovered by Coverity + libexport.a: Prepare init_subnetwork() for IPv6 support + + Retire the slash32 logic in inet_netmask() in favor of a more generic + netmask parser that can support IPv6 addresses. - Thanks to Michael Halcrow for finding them. + If an invalid IP address string is given to inet_addr(3), it returns + INADDR_NONE, which is actually a "valid" address (255.255.255.255). + We're none the wiser to the substitution until something breaks later. + + This patch provides better sanity checking of the parsed address, now + that such an error can be reported to client_init()'s callers. + We can also check the prefixlen value a little more carefully as well. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit ff42180930a444cea7f19e55e2cd2bfe6d3f108b -Author: Neil Brown -Date: Fri Jun 23 14:06:00 2006 +1000 +commit 03fc34b23c2bff48f54c2d889d7851a31fb64a3d +Author: Chuck Lever +Date: Tue Aug 31 15:27:19 2010 -0400 - Fix comment parsing (again) + libexport.a: Use host helper to parse address in client_init() - Bruce Fields noticed that I broke comment parsing... + Take the first step towards making it possible to parse either IPv4 or + IPv6 addresses in client_init(). It won't handle IPv6 until + host_pton() has IPv6 support enabled, and it still doesn't deal with + IPv6 netmasks yet. - as xskip() is always called before xgettok(), that is the - best place to put xskipcomment and still maintain proper - semantics of xskip and xgettok. + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit bec968578d97eabc63ae4a12bdeb2b33f40baec4 -Author: Amit Gud -Date: Thu Jun 22 12:51:04 2006 -0400 +commit 502edf1df5e727cf88b19b634f60392652f35ddc +Author: Chuck Lever +Date: Tue Aug 31 15:25:35 2010 -0400 - Change mount configure option to --enable-mount + libexport.a: Prepare to recognize IPv6 addresses in client_gettype() - Change the configure option from --with-mount to --enable-mount. + The current open-coded parsing logic in client_gettype() will be hard + to modify to recognize IPv6 addresses. Use a more generic mechanism + for detecting IP presentation addresses. - Signed-off-by: Amit Gud + IPv6 will be enabled automatically in client_gettype() when host_pton() + is changed to support IPv6 addresses. + + Signed-off-by: Chuck Lever Signed-off-by: Steve Dickson -commit ceeffc1f76485b4084b2c61f4ff3c40e4f51c3b8 -Author: Amit Gud -Date: Thu Jun 22 12:49:24 2006 -0400 +commit 26fd34002585e6a5aa09204b0b01d836fa83dcf3 +Author: Chuck Lever +Date: Tue Aug 24 07:19:34 2010 -0400 - Merge nfsmount.x and mount.x into mount.x + exportfs: Use xlog() for error reporting + exportfs already invokes xlog_open() because libexport.a uses xlog() + exclusively for error reporting and debugging messages. If we can + use xlog() throughout exportfs itself, that enables xlog debugging + messages everywhere in the code path. - Merge utils/mount/nfsmount.x and support/export/mount.x into support/export/mount.x. + In addition, use xlog() instead of fprintf(stderr) for reporting + errors in exportfs.c, to be consistent with libexport.a and other + components of nfs-utils. - Signed-off-by: Amit Gud + Signed-off-by: Chuck Lever Signed-off-by: Steve Dickson -commit c2db41e8abb6ddc9d03a0c91c6db043fa0f85a8f -Author: Neil Brown -Date: Fri Jun 23 13:37:08 2006 +1000 +commit 6d7babe6afae068e8a1054f785785d374788f5ee +Author: Chuck Lever +Date: Tue Aug 24 07:18:04 2010 -0400 - Try to make sure that clientid used for NFSv4 is reliable. + exportfs: exportfs.c no longer needs #include "xmalloc.h" - We need to give an IP address to identify this client to the - server. - The current code does a gethostbyname of the hostname. One - some systems this returns 127.0.0.1 or similar, which is not useful. + Clean up: No calls to xmalloc() or xstrdup() here. No need for the + double #include of xmalloc.h. - Instead, use getsockname of the sock used to connect to the server - to confirm that the server is working. This gives the address on the - interface that was chosen to talk to that server, which is the - best address we can find (if there is a NAT in the way, it might - still not work, but in that case there is nothing we can do). + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -commit 11d34d11153df198103a57291937ea9ff8b7356e -Author: Greg Banks -Date: Wed Jun 14 22:48:10 2006 +1000 +commit e22f5a9c8e53a2373e8a939771e964ad315cdc5f +Author: Chuck Lever +Date: Tue Aug 24 07:16:10 2010 -0400 - multiple threads for mountd + statd: statd fails to monitor if no reverse mapping of mon_name exists + Commit 8ce130c4 switched in the new statd_canonical_name() function + that constructs a "unique" name statd can use to uniquely identify a + monitor record. - How about the attached patch against nfs-utils tot? It - adds a -t option to set the number of forked workers. - Default is 1 thread, i.e. the old behaviour. + The legacy statd would monitor a client that sent an IP address with + no reverse map as its caller_name. To remain bug-for-bug compatible, + allow this case in the new statd. - I've verified that showmount -e, the Ogata mount client, - and a real mount from Linux and IRIX boxes work with and - without the new option. + This shouldn't be a problem: statd_canonical_name() needs to create + a unique name for the monitored host so it can keep track of monitor + requests from the same remote. The IP address itself should work as + well as the host's canonical name, in case there is no reverse + mapping. - I've verified that you can manually kill any of the workers - without the portmap registration going away, that killing - all the workers causes the manager process to wake up and - unregister, and killing the manager process causes the - workers to be killed and portmap unregistered. + We still enforce the requirement that a mon_name that is a DNS name + must have a forward map to an IP address. - I've verified that all the workers have file descriptors - for the udp socket and the tcp rendezvous socket, that - connections are balanced across all the workers if service - times are sufficiently long, and that performance is - improved by that parallelism, at least for small numbers - of threads. For example, with 60 parallel MOUNT calls - and a testing patch to make DNS lookups take 100 milliseconds - time to perform all mounts (averaged over 5 runs) is: - - num elapsed - threads time (sec) - ------ ---------- - 1 13.125 - 2 6.859 - 3 4.836 - 4 3.841 - 5 3.303 - 6 3.100 - 7 3.078 - 8 3.018 - - Greg. - -- - Greg Banks, R&D Software Engineer, SGI Australian Software Group. - I don't speak for SGI. - -commit db96d056578338dd1bb0371dc84638973c187ec6 -Author: Neil Brown -Date: Fri Jun 16 13:16:09 2006 +1000 - - Remove some temporary files that shouldn't be in 'git'. - - deleted: compile - deleted: config.guess - deleted: config.sub - deleted: depcomp - deleted: install-sh - deleted: ltmain.sh - deleted: missing - -commit 82b53188aaffad0e237461f8f1274794166feb3a -Author: Neil Brown -Date: Fri Jun 16 13:09:26 2006 +1000 - - Add support to auto-generate nfsmount* files for new nfs.mount program - -commit 4e2bae795e5eaf9922f0b966ab5df64994c836a2 -Author: Amit Gud -Date: Mon Jun 12 19:08:27 2006 -0400 - - Move NFS mount code from util-linux to nfs-utils - part 2 - - Adds the support functions needed for mount and umount. This - functionality will someday be available in the form of shared mount - library. - - Signed-off-by: Amit Gud - Signed-off-by: Steve Dickson - -commit a0520fa1a41bd33815b331b660b4545f2723495c -Author: Amit Gud -Date: Mon Jun 12 19:06:36 2006 -0400 - - Move NFS mount code from util-linux to nfs-utils - part 1 - - Adds the mount directory and the code to mount and umount the NFS file system. - - Signed-off-by: Amit Gud - Signed-off-by: Steve Dickson - -2006-06-05 NeilBrown - - Remove debian/ at request of Debian maintainer "Steinar H. Gunderson" - - fix_exportfs_with_multiple_matches.diff: Fixes a problem with exportfs -o - and multiple entries of the same type for the same patch that matches - a given client. The entire rationale and problem description can be found - at http://bugs.debian.org/245449 (fumihiko kakuma ) - - escape hashes in exports - Makes sure any # signs in the printed-out exports file are - escaped (as with quotes, spaces, etc.), so they won't be treated - as a comment when they're read back in again. - "Steinar H. Gunderson" - - Only treat '#' as starting a comment when at the start of a - token, otherwise '#' in filenames cannot be read. - NeilBrown - - document sync option: - Document the 'sync' option in the exports(5) man page -- ATM - only the 'async' option is documented, which is not very - symmetric. :-) "Steinar H. Gunderson" - - mountd state directory: - Let the user select (via a new parameter) the path to the NFS - state directory for mountd, to match the statd functionality. - "Steinar H. Gunderson" - - fix nhfsrun signal: - nhfsrun is supposed to be able to be signalled with SIGUSR1, but - the signal trapped is number 30, which is something else - entirely (SIGPWR). This patch simply changes it to say "USR1", - which gets it right no matter what the value is. - "Steinar H. Gunderson" - - Minor man page tidy up - -2006-04-12 NeilBrown - Remove **/Makefile.in, aclocal.m4, configure, and - support/include/config.h.in from source control - These are auto autogenerated by - aclocal -I aclocal ; autoheader ; automake ; autoconf - -2006-04-12 NeilBrown - utils/statd/rmtcall.c: use HAVE_IFADDRS_H to control compilation - of code using ifaddrs.h - configure.in: test for present of ifaddrs.h - - Old glibc's don't have ifaddrs.h - -2006-06-12 Amit Gud - Added the mount functionality from util-linux. - Added --without-mount configure option. - -2006-04-12 NeilBrown - Set version to 1.0.8, - aclocal -I aclocal ; autoheader ; automake ; autoconf - -2006-04-10 NeilBrown - Various paranoia checks: - gssd_proc.c: pass max_field sizes to sscanf to avoid buffer - overflow - svcgssd_proc.c: range_check name.length, to ensure name.length+1 - doesn't wrap - idmapd.c(nfsdcb): make sure at least one byte is read before - zeroing the last byte that was read, otherwise memory corruption - is possible. - - Found by SuSE security audit. - -2006-04-10 "Kevin Coffman" - Check for sufficient version of librpcsecgss and libgssapi - in configure.in - -2006-04-10 "Kevin Coffman" - Update aclocal/tcp-wrappers.m4 to define HAVE_LIBWRAP and - HAVE_TCP_WRAPPERS as appropriate. - -2006-04-10 NeilBrown - Add checking for innetgr back to configure.in - -2006-04-10 kwc@citi.umich.edu - Update calls to gss_export_lucid_sec_context() - - Change the calls to gss_export_lucid_sec_context() to match the corrected - interface definition in libgssapi-0.9. - -2006-04-10 kwc@citi.umich.edu - Plug memory leaks in svcgssd - - Various memory leaks in the svcgssd context processing are eliminated. - -2006-04-10 kwc@citi.umich.edu - Fix memory leak of the AUTH structure on context negotiations - - Free AUTH structure after completing context negotiation and sending - context information to the kernel. - -2006-04-10 kwc@citi.umich.edu - Fix support/include/config.h.in such as would be done be running autoheader. - -2006-03-28 NeilBrown - 1.0.8-pre3, aclocal/autoconf/automake - -2006-03-28 kwc@citi.umich.edu - Use PKGCONFIG to locate gssapi and rpcsecgss header files - - Instead of having separate copies of the gssapi and rpcsecgss - header files, or depending on the Kerberos gssapi header, - locate the headers now installed with the libgssapi and librpcsecgss - libraries. - - Remove local copies of the gssapi and rpcsecgss header files. - - This depends on the configure_use_autotools patch. - -2006-03-28 kwc@citi.umich.edu - Add debugging to better detect negotiation of enctype not supported by kernel - - Print debugging message indicating the type of encryption keys being sent - down to the kernel. This should make it easier to detect cases where - unsupported encryption types are being negotiated. - (really this time) - -2006-03-28 kwc@citi.umich.edu - - Don't close and reopen all pipes on every DNOTIFY signal. - - From: Vince Busam - Signed-off-by: Kevin Coffman - - Don't unnecessarily close and re-open all pipes after every DNOTIFY - signal. These unnecessary closes were triggering a kernel Oops. - Original patch modified to correct segfault when unmounting last - NFSv4 mount. - -2006-03-28 kwc@citi.umich.edu - Add option to specify directory to search for credentials cache files - - - From: Vince Busam - Signed-off-by: Kevin Coffman - - Add command line option to specify which directory should be searched - to find credentials caches. - (really this time) - -2006-03-28 kwc@citi.umich.edu - Must still use knowledge of the glue context for pre-1.4 versions of MIT krb5 - - We need to get access to the internal krb5 context pointer for - older (pre-1.4) versions of MIT Kerberos. We get a pointer to - the gss glue's context. Get the right pointer before accessing - the context information. - (really this time) - -2006-03-28 kwc@citi.umich.edu - - Remove unused groups variable from get_ids() which was causing a compiler warning. - (really this time) - -2006-03-28 kwc@citi.umich.edu - Update krb5 code to use glue routine lucid context functions - - - - The gssd code should not know about the glue layer's context structure. - A previous patch added gss_export_lucid_sec_context() and - gss_free_lucid_sec_context() functions to the gssapi glue layer. - Use these functions rather than calling directly to the Kerberos - gssapi code (which requires the Kerberos context handle rather - than the glue's context handle). - - (really this time) - -2006-03-28 kwc@citi.umich.edu - - Separate out context handling code for MIT Kerberos and SPKM3 - into their own file. - (Really this time) - -2006-03-28 Kevin Coffman - User-selectable idmapping cache lifetime - - Read and process new configuration option, Cache-Expiration, and use - the value to determine how long idmapping entries are cached. - (Really this time) - -2006-03-27 NeilBrown - 1.0.8-rc3 - -2006-03-27 kwc@citi.umich.edu - Add debugging to better detect negotiation of enctype not supported by kernel - - Print debugging message indicating the type of encryption keys being sent - down to the kernel. This should make it easier to detect cases where - unsupported encryption types are being negotiated. - -2006-03-27 - Don't close and reopen all pipes on every DNOTIFY signal. - - Don't unnecessarily close and re-open all pipes after every DNOTIFY - signal. These unnecessary closes were triggering a kernel Oops. - Original patch modified to correct segfault when unmounting last - NFSv4 mount. - -2006-03-27 - Add option to specify directory to search for credentials cache files - - Add command line option to specify which directory should be searched - to find credentials caches. - -2006-03-27 kwc@citi.umich.edu - Must still use knowledge of the glue context for pre-1.4 versions of MIT krb5 - - We need to get access to the internal krb5 context pointer for - older (pre-1.4) versions of MIT Kerberos. We get a pointer to - the gss glue's context. Get the right pointer before accessing - the context information. - -2006-03-27 Kevin Coffman - Remove unused variable causing compile warning - - Remove unused groups variable from get_ids() which was causing a compiler warning. - -2006-03-27 kwc@citi.umich.edu - Update krb5 code to use glue routine lucid context functions - - The gssd code should not know about the glue layer's context structure. - A previous patch added gss_export_lucid_sec_context() and - gss_free_lucid_sec_context() functions to the gssapi glue layer. - Use these functions rather than calling directly to the Kerberos - gssapi code (which requires the Kerberos context handle rather - than the glue's context handle). - -2006-03-27 Kevin Coffman - Separate out context handling code for MIT Kerberos and SPKM3 - into their own file. - -2006-03-27 Kevin Coffman - Consolidate gssd and svcgssd since they share much code - - Remove directory svcgssd which was only created because the old - build system could not handle building two daemons in the same - directory. This eliminates build complications since gssd and - svcgssd also share many source files. - - This patch effectively removes the utils/svcgssd directory, moving - all its files to the utils/gssd directory. File utils/gssd/Makefile.am - is modified with directions to build both gssd and svcgssd. - -2006-03-27 Kevin Coffman - Use PKGCONFIG to locate gssapi and rpcsecgss header files - - Instead of having separate copies of the gssapi and rpcsecgss - header files, or depending on the Kerberos gssapi header, - locate the headers now installed with the libgssapi and librpcsecgss - libraries. - - Remove local copies of the gssapi and rpcsecgss header files. - - This depends on the configure_use_autotools patch. - -2006-03-27 Kevin Coffman - User-selectable idmapping cache lifetime - - Read and process new configuration option, Cache-Expiration, and use - the value to determine how long idmapping entries are cached. - -2006-03-27 Steve Dickson - Set libnfsidmap library debugging level and logging function. - - This patch adds a call to the new libnfsidmap library function - nfs4_set_debug(), which defines the verbosity level libnfsidmap - should use as well as the logging function. - -2006-03-27 Kevin Coffman - Don't close file descriptor until after calling event_del(). - - Delete event processing for a file descriptor before closing it. - This was causing hangs when used in combination with libevent-1.0b. - -2006-03-27 kwc@citi.umich.edu - Find krb5-config on SuSE 10 - - SuSE 10.0 puts krb5-config in yet another obscure location. - Look for it there and use it if found. - -2006-03-27 Kevin Coffman - Update debian package information. - -2006-03-27 Kevin Coffman - Install /var/lib/nfs files using DESTDIR and add rpcsec headers to distribution - - Add "$(DESTDIR)" to the paths for the "$(statedir)" files so they are - put in the right place when DESTDIR is defined. - - Add the rpcsec header files to EXTRA_DIST list. - -2005-12-21 NeilBrown - *utils/rquotad/rquota_server.c: Detect and handle both old-style - (2.4) and new-style(2.6) quotactl. - *utils/gssd/gss_destroy_cred: remove dependence on "head -1" which - might need to be "head -n 1" - *utils/nhfsstone/nhfsrun: convert "tail -1" to "tail -n 1" - -2005-12-20 Kevin Coffman NeilBrown - Substantial Makefile/configure rewrite. - Run 'autogen.sh' to create "Makefile.in" etc. - - Also add -D_FILE_OFFSET_BITS=64 to CPP_FLAGS so that mountd can - stat and export files larger than 2Gig. - - 1.0.8-rc2 released - -2005-12-20 NeilBrown - support/nfs/exports.c(getexportent): is a null host name is given, - replace it with '*' so we have a non-empty host name for messages - etc. - utils/exportfs/exportfs.man: Correct documentation about default - export options. - -2005-12-20 Kevin Coffman - utils/gssd/gssd_proc.c(create_auth_rpc_client): Use service - portion of clp->servicename rather than hard-coding "nfs". - -2005-12-16 NeilBrown - 1.0.8-rc1 released - -2005-12-16 Kevin Coffman - svcgssd needs -lnfs when using new function closeall(). - - --- - Remove unused argument from nfsdopen() - - After previous changes, the arguement to nfsdopen() has become unused. - Remove it. - - --- - Fix idmapd error reporting after call to mydaemon() - - After call to mydaemon(), calls to err[x] and warn[x] result - in the message going nowhere. Change to using idmapd_* - versions of these routines which write to syslog. - Original problem reported by Vincent Roqueta - with a different patch. - - --- - Don't add @domain to names that cannot be mapped. - - Per rfc3530 section 5.8: when unable to map a uid to a name, don't - add the @domain to the "nobody" name. - - --- - Fix idmapd for systems where sizeof(uid_t)!=4 and sizeof(gid_t)!=4 - - Fix conversion cases where uid_t and gid_t are not 32 bits. - - --- - Don't segfault because mech wasn't filled in because of an error - - From Kevin Coffman - - Initialize mech to null to avoid segfault if an error occurs - and mech is never returned from gss_accept_sec_context. - - --- - Remove use of static buffer in do_downcall - - Signed-off-by: Kevin Coffman - - Dynamically allocate buffer of the correct length rather - than using fixed-length buffer. - - --- - Print better error message if rpc routine clnt_create() fails. - - --- - Print appropriate error messages after gss calls. - - Print gss error messages after calls to gss functions, even if they - are for Kerberos only. - - --- - Update gssd and svcgssd to use the new gss mech glue lucid context calls. - - Signed-off-by: Kevin Coffman - - Update gssd and svcgssd to use a lucid context from SPKM3 to send down - to the kernel. - Update gssd and svcgssd to use the new gss mech glue lucid context calls. - Add configure check to see if spkm3 support is available. - - --- - Add support for CONTINUE_NEEDED return from gss_accept_sec_context. - - Signed-off-by: Kevin Coffman - - Add CONTINUE_INIT handling to svcgssd. Store the partially complete spkm - context handle in the out_handle of CONTINUE_INIT messages so that it is - returned in the in_handle of subsequent messages. - - --- - Replace GSS_C_ANON_FLAG with GSS_C_MUTUAL_FLAG. - - Signed-off-by: Kevin Coffman - - Specify GSS_C_MUTUAL_FLAG rather than GSS_C_ANON_FLAG for - spkm3. - - NOTE: we need a way to pass the appropriate value rather than - hard-coding this flag. - - --- - Increase size of rpc send/receive buffers - - Change the clnt_create() to use routines which allow us to set the - send and receive buffer size. This is needed for larger spkm3 - exchanges including certificate chains. - - This has the side-effect of skipping the portmap call since - we specify the port (by specifying the service) when getting - the server's address information. - - --- - Define _LINUX_QUOTA_VERSION to 1 - - The rquotad code is written against the "old" kernel quota interface. - Fedora Core 4 is the only platform known to check for different - versions, so this should not have any affect on other platforms - and fixes the build for FC4. - - --- - -2005-12-12 Usha Ketineni , NeilBrown - *support/nfs/rpcmisc.c(rpc_init): is stdin is a socket, but - is already connected (as e.g. from ssh), don't assume we - were started by inetd. - -2005-11-03 Steve Dickson NeilBrown - *utils/idmapd/idmaps.c: - - I've recently updated the nfs-utils in rawhide with the - latest patches from the SourceForge CVS tree and the - latest CITI patches (1.0.7-4). - - In testing these patches, I notice that when the server was started - and a SIGHUP was sent to rpc.idmapd to open the nfs4.nametoid/channel - and nfs4.idtoname/channel files, the second open (the nfs4.idtoname one) - failed because the path (i.e. ic->ic_path) was NULL. - - Now the reason the ic_path was NULL was because it was never set - during the call to nfsdopen(). nfsdopen() looks like: - nfsdopen(char *path) - { - return ((nfsdopenone(&nfsd_ic[IC_NAMEID], IC_NAMEID, path) == 0 && - nfsdopenone(&nfsd_ic[IC_IDNAME], IC_IDNAME, path) == 0) ? 0 - : -1); - } - - Note: the call to nfsdopenone() is how the path is set in each nfsd_ic[] - entry and nfsdopen() is only called once. - - So when rpc.idmap comes up and the first call to nfsdopenone() fails - (because the server is not running) the path in nfsd_ic[IC_IDNAME] is - never filled in because the second nfsdopenone() never happen... - - Now there was a CITI patche (idmapd_revert_fix_reopen_on_sighup.dif) - that tried to address this problem but did seem to fix it.. The - attached patch fix the problem by initializing both nfsd_ic[IC_IDNAME] - and nfsd_ic[IC_NAMEID] structures with the needed info... - I figured since there is no way of changing these paths or filenames - by command line args, why not just set them during compile time... - so that's what this patch does. - - This patch also changes how nfsdreopen_one() handles the - case where the event has already been set. Unlike the CITI - patch (idmapd_revert_fix_reopen_on_sighup.dif) which just - just does not register the second event, my patch deletes - the old event and the registers the new one. It just seems like - the right thing to do since a SIGHUP means a new server just - started so we probably should create a new event as well... - - steved. - -2005-10-14 NeilBrown - *utils/mountd/cache.c(nfsd_fh): Understand type 2 and type 3 - filesystem identifiers, which are used with device numbers - That don't fit into 16 bits. - -2005-10-07 Olaf Kirch - * utils/mountd/mountd.c(get_exportlist): Without this patch, - showmount -e would sometimes display host names that should really - have been subsumed under a wildcard entry. - - The problem was that the code in get_exportlist would always - skip the next group entry after removing one FQDN. - -2005-10-06 Steve Dickson NeilBrown - * support/nfs/export.c: don't warn about sync/async for readonly - exports - * support/nfs/closeall.c: new file with function to close all - file descriptors from a give minimum upwards. - * nfsd/mountd/statd/idmapd/gsssvcd: use closeall. - * utils/mountd/mountd.c: Eliminate 3 syslog message that are - logged for successful events. - * utils/mountd/mountd.c: make sure the correct hostname is used in - the SM_NOTIFY message that is sent from a rebooted server which - has multiple network interfaces. (bz 139101) - - Details can be found in: - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139101 - - *utils/idmapd/idmapd.c:Fixed subscripting problem in idmapd (bz - 158188) This fixes the following problem: - rpc.idmapd: nfsdreopen: Opening '' failed: errno 2 (No such file or directory) - - Details can be found in: - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158188 - - *utils/statd/statd.c(drop_privs): clear st_gid as well as st_uid - of stat fails. - *utils/statd/svc_run.c(my_svc_run): remove usage of undocumented - %m format specifier. - *utils/statd/montor.c(sm_mon_1_svc): as above - *support/nfs/xlog.c(xlog): Changed xlog to use LOG_INFO instead of - LOG_DEBUG so debug messages will appear w/out any config changes - to syslog.conf. - - -2005-09-02 Mike Frysinger - * utils/rquotad/rquota_server.c(getquotainfo): use explicit - struture-member copying rather than memcpy, as the element - sizes are the same on all architectures. - -2005-08-26 Kevin Coffman - Add option to set rpcsec_gss debugging level (if available) - - Changes to allow gssd/svcgssd to build when using Hiemdal Kerberos - libraries. Note that there are still run-time issues preventing - this from working when shared libraries for libgssapi and librpcsecgss - are used. - -2005-08-26 Kevin Coffman - Remove the rpcsec_gss code and rely on an external library instead. - -2005-08-26 Kevin Coffman - *utils/mountd/mountd.c: - mountd currently always returns AUTH_NULL and AUTH_SYS as the - allowable flavors in mount replies. We want it to also return gss - flavors when appropriate. For now as a hack we just have it always - return the KRB5 flavors as well. - - *utils/mountd/cache.c: - - When attempting to mount an NFSv4 pseudofilesystem (fsid=0) and the - actual exported directory does not exist on the server, rpc.mountd - doesn't check the directory exists (when fsidtype=1, i.e. using fsid, - but does check for fsidtype=0, i.e. using dev/ino). The non-existent - exported directory path with fsid=0 is written to the kernel via - /proc/net/rpc/nfsd.export/channel, which leads to path_lookup() to - return ENOENT (seems appropriate). Unfortunately, the new_cache - approach ignores errors returned when writing via the channel file so - that particular error is lost and the mount request is silently ignored. - - Assuming it doesn't make sense to revamp the new_cache/up-call method to - not ignore returned errors, it seems appropriate to fix the case where - rpc.mountd doesn't check for the existence of an exported directory with - fsid= semantics. The following patch does this by moving the stat() up - so it is done for both fsidtype's. I'm not certain whether the other - tests need to be executed for fsidtype=1, but it doesn't appear to hurt - [Not exactly true: the comparison of inode numbers caused problems so - now it's kept for fsidtype=0 only]. - - Would it be also desirable to log a warning for every error, if any, - returned by a write to any of the /proc/net/rpc/*/channel files which - would otherwise be ignored (maybe under a debug flag)? - - * gssd/mountd/svcgssd: Changes gssd, svcgssd, and mountd to ignore a - SIGHUP rather than dying. - - * many: Remove the gssapi code and rely on an external library instead. - -2005-08-26 Kevin Coffman - * utils/exportfs/exports.man: Document the "crossmnt" export export option - * utils/gssd/krb5_util.c: - Add better debugging and partially revert the function - check for gss_krb5_ccache_name. - - For MIT Kerberos releases up to and including 1.3.1, we *must* - use the routine gss_krb5_ccache_name to get the K5 gssapi code - to use a different credentials cache. - - For releases 1.3.2 and on, we want to use the KRB5CCNAME - environment variable to tell it what to use. - (A problem was reported where 1.3.5 was being used, our - code was using gss_krb5_ccache_name, but the underlying - code continued to use the first (or default?) credentials - cache. Switching to using the env variable fixed the problem. - I cannot recreate this problem. - - *utils/gssd/krb5_util.c: - Andrew Mahone reported that reiser4 - always has DT_UNKNOWN. He supplied patch to move the check - for regular files after the stat() call to correctly find - ccache files in reiser4 filesystem. - - Also change the name comparison so that the wrong file is - not selected when the substring comparison is done. - - *utils/gssd/krb5_util.c: - Limit the set of encryption types that can be negotiated by - the Kerberos library to those that the kernel code currently - supports. - - This should eventually query the kernel for the list of - supported enctypes. - - *utils/gssd/gss_util.c, utils/svcgssd/svcgssd_main_loop.c: - Print more information in error messages to help debugging failures. - - *utils/svcgssd/svcgssd_proc.c: Increase token buffer size and - update error handling so that a response is always sent. - - *utils/svcgssd/svcgssd_proc.c: Add support to retrieve - supplementary groups. - - -2005-08-26 Kevin Coffman - * configure.in etc - Consolidate some of the Kerberos checking instead of repeating - the same things for MIT and Heimdal. - Also adds more checks to distinguish 32-bit from 64-bit - (mainly for gssapi.h) - Fix svcgssd Makefile so make TOP=../../ works correctly there. - Enable running a modern autoheader. - * utils/gssd/gss_oids.c: Use correct OID value for SPKM-3 - * utils/gssd/gss_util.c: Fix build with older MIT releases that do not define GSS_C_NT_HOSTBASED_SERVICE - * utils/gssd/write_bytes.h, support/include/gssapi/gssapi.h: - Length of gss_buffer_desc is a size_t which is 64-bits on a - 64-bit machine. Kernel code expects 32-bit integer for length. - Coerce length value into a 32-bit value when reading from or - writing to the kernel. - Change gssapi.h to use datatype size values obtained from - configure rather than hard-coded values. - * utils/idmapd/idmapd.c: The EV_INIT check here was wrong, and was - causing idmapd to become unresponsive to server requests after - receiving a sighup. - * utils/idmapd/idmapd.c: Idmapd should flush the server id<->name - caches when its started. - -2005-04-12 G. Allen Morris III - - * All Makefile: added TOP as needed for easier compile. - - * utils/nfsstat/nfsstat.c: added NFS V4 support; added the -m - option; Added -2, -3, and -4 options; changed -a option to -v - option; added long options; changed default output to not - show V2 NFS statistics unless used. - - * utils/nfsstat/nfsstat.man: Documented above changes; changed - authors email address; added BUGS section. - -2005-04-07 Chip Salzenberg - - * debian/changelog: Version 1.0.7-2. - -2005-04-06 Chip Salzenberg - - * config.guess, config.sub: Update. - - * support/rpc/svc_auth_gss.c (_svcauth_gss): Avoid using a cast as - an lvalue, as it is non-portable. - - * support/nfs/exports.c (parseopts): Accept "acl" option to mean - ~NFSEXP_NOACL, and "no_acl" to mean NFSEXP_NOACL. - (putexportent): Report NFSEXP_NOACL as "no_acl", and ~NFSEXP_NOACL - as "acl". - * utils/exportfs/exportfs.c (dump): Report NFSEXP_NOACL as - "no_acl". - * utils/exportfs/exports.man: Document "no_acl". - -2005-03-14 NeilBrown - Denis Vlasenko - * support/export/client.c(client_init and client_gettype): - treat N.N.N.N as a special case of MCL_SUBNETWORK instead of - MCL_FQDN - -2005-03-06 G. Allen Morris III - * support/nfs/cacheio.c(readline): Could not read lines greater - than 128 bytes. [1157791] - * utils/exportfs/exports.man: Added a SEE ALSO section and - fixed 2 typos. [1018450] - -2005-02-28 Trond Myklebust - * utils/statd/rmtcall.c(statd_get_socket): If a port number is - explicitly given, make sure to try to bind to that. - -2005-01-11 Chip Salzenberg - - * debian/changelog: Version 1.0.7-1. - * debian/nfs-common.default (NEED_IDMAPD, NEED_GSSD): - Disable by default, on advice of upstream. - * debian/nfs-kernel-server.default (NEED_SVCGSSD): - Likewise. - - * utils/svcgssd/Makefile (predep): Symbolically link duplicated - source files. - (distclean): Remove symlinks to duplicated files. - -2004-12-17 NeilBrown - Release 1.0.7 - - * config.mk, configure.in: update version number, run autoconf - * configure.in: require nfsidmap.h if gss is enabled. - -2004-12-10 NeilBrown - Release 1.0.7-pre2 - - * config.mk, configure.in: update version number, run autoconf - -2004-12-10 Neil Brown - * README : note dependancy on kerberos, libevent, and nfsidmap - * configure.in : fail if --enable-nfsv4 and libevent or - libnfsidmap are missing. - * configuyre.in: improve message if krb5 support is missing - -2004-12-06 Paul Clements - * support/include/ha-callout.h: get return status from waitpid - correctly. - * support/include/ha-callout.h: don't ignore SIGCHLD while waiting - for a callout to complete. - * utils/statd/statd.c(sigusr): print current start when re-reading - notify list due to SIGUSR1 - * utils/statd/svc_run.c(my_svc_run): call change_state when - re-notifying clients. - -2004-12-06 Marc Eshel - * utils/statd/svc_run.c(my_svc_run): allow loop to exit when in - MODE_NOTIFY_ONLY - *utils/statd/rmtcall.c(statd_get_socket): if a hostname is given - to statd with -n, prefer it's IP address to the default for - listening on. - -2004-12-06 Bruce Allan - * utils/mountd/auth.c(auth_reload) Clear the "my_client" cache on - an auth_reload to avoid old data getting used. - -2004-12-03 NeilBrown - Release 1.0.7-pre1 for testing - - * config.mk, configure.in: update version number, run autoconf - -2004-12-03 Trond Myklebust - - * utils/statd/statd.c(main): ignore SIGPIPE - -2004-11-22 "J. Bruce Fields" - - * tools/rpcdebug/rpcdebug.c: support aliases "nfsdebug" and - "nfsddebug" and update flag names. - * configure.in, nodist/* redhat/* nfs-utils.spec*: remove redhat - specific files (as no-one actually uses them, especially not - redhat), and the nodist /etc files (as they drift out-of-date, and - the debian directory provides a suitable example. - * utils/svcgssd_proc.c(get_ids): fix memory leak - * utils/svcgssd/svcgssd_proc.c: Rely on count of the number of - groups instead of using a special guard value to identify the end - of the list. - * utils/idmapd/idmapd.c: don't allow Default domain and anon-uid - or -gid to be specified on command line. - * utils/idmapd/idmapd.c: improve error messages - * utils/idmapd/idmapd.c: Reopen nfsd files on sighup. Allows us - to start up client side only (even when nfsd module not loaded), - and then sighup later after insmodding nfsd module. - * utils/idmapd/idmapd.c: Make sure we catch all errors on - daemonizing by waiting for child to report succesfull startup - using a pipe. - * utils/idmapd/idmapd.c: Let libnfsidmapd parse the idmapd.conf - file for the default domain, instead of doing that ourselves. - * utils/gssd/gssd_proc.c: Make sure we get an error when a gssd - downcall fails. - * utils/gssd/gssd_proc.c: We were forgetting to restore the euid - on certain failures, which meant gssd could get stuck in a state - where it didn't have permissions to read the files in rpc_pipefs - that it needed to. - * utils/gssd/gssd_proc.c: Use libnfsidmapd to map gss principals - to uids. - * debian/nfs-kernel-server.default: Document the NEED_SVCGSSD - variable in /etc/default/nfs-kernel-server. - - -2004-11-22 NeilBrown - - * utils/exportfs/nfsd.man: corrected typo in .BR macro usage - - reported by Eric Raymond - -2004-10-19 "J. Bruce Fields" - - * support/gssapi/* support/rpc/* utils/gssd/* utils/svcgssd/* etc - initial support for GSSAPI authentication - -2004-09-15 Neil Brown - - * utils/statd/monitor.c(sm_unmon_1_svc): is RESTRICTED_STATD, then - check IP address and force my_name to 127.0.0.1 to match - what happens in sm_mon_1_svc. This avoid spurious "erroneous - SM_UNMON" messages. - * utils/statd.monitor.c(sm_unmon_all_1_svc): likewise - -2004-09-15 "J. Bruce Fields" - - * Assorted changes to support "gss/*" style authentication - * utils/idmapd: new idmapd daemon for nfsv4 username lookup - -2004-09-06 Trond Myklebust - Neil Brown - - * utils/mountd/auth.c(auth_authenticate_internal): fix - uninitialsed variable problem (causes bad error messages). - -2004-09-06 Paul Clements - Neil Brown - - * utils/mountd/mountd.c(main): support --ha-callout (-H) for - specifying a callout program - * utils/mountd/rmtab.c: Call ha_callout on mount/unmount - * utils/statd/monitor.c: Call ha_callout on add/del client - * utils/statd/rmtcall.c: as above - * utils/statd/statd.c: handle --ha-callout (-H) - * utils/statd/svc_run.c: call notify_hosts is we have received a - sighup - * support/include/ha-callout.h: define ha_callout function - - -2004-08-31 NeilBrown - * utils/mountd/cache.c(cache_process_req): clear fd after - processing so as not to confused libc/sunrpc into thinking - it need to do something with that fd. - -2004-08-31 NeilBrown - - * debian/nfs-kernel-server.init(start,stop) mount the nfsd - filesystem, if available, before starting nfs services, and - unmount it afterwards. - * etc/nodist/nfs-server: ditto - * etc/redhat/nfs.init: likewise - * etc/redhat/nfs: add "MOUNT_NFSD" flag to control above. - -2004-06-08 NeilBrown - - * utils/exportfs/exportfs.c: Don't rmtab_read if new_cache, it - isn't necessary. - * support/nfs/cacheio.c(cache_flush): Change order in which caches - are flushed so that dependancies don't keep things in the cache - too long. - -2004-03-18 Chip Salzenberg - - * debian/changelog: Version 1.0.6-2. - -2004-02-24 NeilBrown - from "J. Bruce Fields" - - * utils/mountd/cache.c: call auth_reload to make sure auth data is - current before responding to kernel upcall. - -2004-02-24 NeilBrown - Based on patch from Greg Banks - - * utils/exportfs/exports.man: Document fsid= option. - -2003-09-15 NeilBrown - - Release 1.0.6 - - * rules.mk: Add dep: rule when no OBJS, so "make dep" works in - support/include, and depend in "predep" - * support/export/Makefile, tools/rpcgen/Makefile, - utils/statd/Makefile: add "predep" rule so that "make dep" works. - * Makefile: allow a simple "make" to run ./configure and "make dep" - if needed. - * configure.in, nfs-utils.spec: Update version to 1.0.6 - * run autoconf - -2003-09-12 Chip Salzenberg - - * debian/changelog: Version 1.0.6-1. - -2003-09-12 NeilBrown - - * utils/mountd/mountd.c(main): Impose FD_SETSIZE as an upper limit - for RLIMIT_NOFILE - * utils/statd/statd.c(main): Ditto. - - michael discovered that svc_setreqsize - in glibc can segfault if RLIMIT_NOFILE is bigger than - FD_SETSIZE, so a simple solution is to impose a hard limit. - -2003-09-09 Chip Salzenberg - - * debian/changelog: Version 1.0.5-3. - * support/export/hostname.c (get_reliable_hostbyaddr): Fix crash - on invalid reverse DNS. - * utils/showmount/showmount.c (main): Fix inet_ntoa() parameter. - * tools/rpcgen/rpc_cout.c (print_header): Remove unused vars. - * tools/rpcgen/rpc_parse.c (def_union): Likewise. - -2003-08-22 Chip Salzenberg - - * utils/statd/{log.h,log.c}: Rename log() to note() and L_* to - N_*, to avoid conflict with ISO C built-in log() function. - * utils/statd/*.c: Use note(). - -2003-08-20 Chip Salzenberg - - * debian/changelog: Version 1.0.5-2. - -2003-08-11 NeilBrown - - * utils/mountd/cache.c(cache_get_filehandle): close the filehandle - before returning. - -2003-08-04 NeilBrown - - * support/include/nfs/export.h, support/nfs/exports.c, - utils/exportfs/exports.c, utils/mountd/mountd.c: change - NFSEXP_CROSSMNT to NFSEXP_CROSSMOUNT to avoid confusion with older - meaning. Also remove meaningless - NFSEXP_{UIDMAP,KERBEROS,SUNSECURE} - -2003-08-04 NeilBrown - - * support/export/xtab.c, support/include/nfslib.h, - support/nfs/cacheio.c, support/nfs/nfssvc.c, - utils/exportfs/exportfs.c, utils/exportfs/exportfs.man, - utils/exportfs/nfsd.man, utils/mountd/cache.c: support - /proc/fs/nfsd/* as a perferred alternate to /proc/fs/nfs/* - (nfs-utils-1.0.5-post2) - -2003-08-04 NeilBrown - - * support/nfs/nfsexport.c: open channel file O_WRONLY when - only writing. - * utils/mountd/cache.c: maintain mountlist when new_cache is - active. Also use O_WRONLY for channel files. - * utils/mountd/mountd.h: mountlist_{del,add} now take a host name - rather than an nfs_export. - * utils/mountd/rmtab.c: ditto. - (nfs-utils-1.5.0-post1) - -2003-07-24 Chip Salzenberg - - * support/nfs/xlog.c (xlog): Revise buffer-overflow fix to - use Debian security team's cleaner approach. - * debian/changelog: Version 1.0.5-1. - * debian/nfs-kernel-server.init: Cosmetic changes. - -2003-07-18 NeilBrown - - Release 1.0.5: - 1.0.4 was a bit of a brown-paper-bag-release because of the extra - 'free' in auth.c. So I'm releasing this just a few days later. - - * support/nfs/cacheio.c(cache_flush): Correct test for 'open - failed' - * utils/exportfs/exportfs.c(main): If "-f" given as lone option, - check if new_cache is enabled, error if not, flush and exit if it - is. - * utils/exportfs/exportfs.man: Explain -f option and explain the - two different modes that exportfs can work in. - * utils/mountd/mountd.c: Do not change RLIMIT_NOFILE if the -o - option wasn't given. - * utils/mountd/mountd.man: Record the change if default behaviour - for RLIMIT_NOFILE. - * configure.in, nfs-utils.spec: update version to 1.0.5 and - run autoconf - -2003-07-15 NeilBrown - - * utils/mountd/mountd.c(main): getopt string fix for 'o' - * utils/mountd/auth.c(auth_authenticate): remove extra 'free' - * utils/exportfs/exportfs.c(main): make 'exportfs -f' just flush - the caches. - * support/include/nfs/export.h: Reserve a bit for possible ACL - related use. - -2003-07-03 NeilBrown - - * utils/exportfs/nfsd.man: new man page for nfsd filesystem. Also - assorted changed to cope with section 7 of the manual. - * configure.in, nfs-utils.spec: Update version to 1.0.4 - * run autoconf - - This is a 'pre-release' for 1.1.0 Hopefully 1.1.0 will be the - baseline for 2.6 and 2.8. I.e. it should continue to work right - through the 2.8 (or 3.0) kernel series. Previous releases wont. - -2003-07-04 NeilBrown - Steve Dickson - - statd cleanup: - * utils/statd/statd.c: create a pidfile with pid of statd, and - truncate it when statd exists. - * utils/statd/statd.c: drop privs by setuid to owner of SM_DIR, - and warn if this is root. - * utils/statd/statd.c: when statd forks, connect child to parent - with a pipe, and send a byte down the pipe once the child is - working properly. - * Makefile: create and chown sm, sm.bak, state when "make install" - * configure.in: add --with-statduser= option which defaults to - "rpcuser" or "nobody" - * config.mk.in: pass "statduser" through to Makefile - -2003-07-03 NeilBrown - - * support/include/nfs/nfs.h: Make sure correct __kernel_dev_t is - used as the size was changed somewhere in 2.5.60-2.5.70. Without - this nfs-utils compiles against 2.6 headers will not work on a - 2.4 kernel. - -2003-07-03 NeilBrown - - * support/nfs/nfssvc.c(nfssvc): If /proc/fs/nfs/threads exists, - set number of threads by writing to there. This means it will - still work when the syscall interface goes away in 2.7. - -2003-07-03 NeilBrown - fumihiko kakuma - - * utils/exportfs/exportfs.c(unexportfs): improve host comparison - so as to only export the wildcard exports that were asked for. - * support/export/export.c(export_allowed): changed to return the - nfs_export rather than a "struct exportent", as m_changed is - needed by called - * support/export/rmtab.c(rmtab_read): modified to deal with - interface change for export_allowed(), and enhanced to preserve - m_changed flag when a wild-card export causes the creation of - a non-wildcard export. - -2003-07-02 NeilBrown - Steve Dickson - - * utils/mountd/mountd.man: Add valid kinds of debugging. - * utils/mountd/mountd.c(main): ignore SIGPIPE - * utils/nfsstat/nfsstat.c: fine-tune printing of warning so - we don't get warnings about unavailable stats that weren't asked - for. - -2003-06-24 NeilBrown - - * support/nfs/nfsexport.c(exp_unexp): When unexporting filesystems - via /rpc/net/rpc/nfsd*/channel, set the expiry date to 1, not - 'forever', so things disappear out of the cache rather than just - be ignored. - -2003-06-16 "J. Bruce Fields" - - * utils/mountd/cache.c(nfsd_fh): don't export the export_ent - if it wasn't found. - -2003-06-16 NeilBrown - - * debian/nfs-kernel-server.init,etc/nodist/nfs-server, - etc/redhat/nfs.init: when checking if V3 is supported, make sure - nfs server 'knows' about 127.0.0.1 first. - -2003-06-10 Chip Salzenberg - - * support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug. - * debian/changelog: Version 1.0.3-2. - -2003-05-30 Michael Griffith - NeilBrown - - utils/nfsstat/nfsstat.c(print_callstats): use unsigned - long long to avoid overflow when printing stats. - -2003-05-30 NeilBrown - - * support/export/export.c, support/include/nfslib.h, - support/nfs/export.c, utils/exportfs/exportfs.c, - utils/mountd/mountd.c: new export option "mountpoint" - If no path is given, then the export point must be a - mount point, or it won't be exported. If a path is - given (e.g. mountpoint=/path) then that path must be - a mountpoint or the exportpoint won't be exported. - * utils/exportfs/exportfs.man: document mountpoint option. - * support/misc/mountpoint.c: New file with is_mountpoint() - to determine if something is a mountpoint. - -2003-05-23 NeilBrown - - * utils/mountd/cache.c(cache_get_filehandle): take a separate path - argument as we might not be getting the filehandle for the - mountpoint. - * utils/mountd/mountd.c(get_rootfh): pass real path when calling - cache_get_filehandle. - * utils/mountd/mountd.c(get_rootfh): check export point and - requested directory are on the same filesystem, and complain if - not. - -2003-05-22 NeilBrown - - * utils/mountd/auth.c(auth_authenticate_internal): make sure - portnumber is still checked when using new cache lookup. - -2003-05-21 NeilBrown - - * utils/exportfs/exportfs.c: Use check_new_cache and cache_flush - Don't actually talk to kernel when new cache is in effect, except - to flush - * utils/exportfs/exportfs.c: add -f option to fully flush cache. - * support/export/xtab.c: Only rename new xtab into place if it has - changed, thus preserving modify date for exportfs to use when - flushing. - * support/nfs/cacheio.c: Add cache_flush - * support/export/xtab.c: Only rename new xtab into place if it has - changed, thus preserving modify date for exportfs to use when - flushing. - -2003-05-21 NeilBrown - - * support/export/client.c: Add client_compose, client_member to - handle new composite client names - * support/include/exportfs.h: Declare above functions. - * utils/mountd/auth.c: use client_compose to determine calling - client if new cache is being used. - * utils/mountd/auth.c: call cache_export to export a filesystem if - new_cache, check if new cache is used, and call my_svc_run instead - of svc_run - * utils/mountd/svc_run.c: new file defining my_svc_run - * utils/mountd/cache.c: new file for handling cache upcalls. - * support/nfs/cacheio.c(check_new_cache): new function to check if - new cache should be used. - - -2003-05-21 NeilBrown - - * support/include/nfs/export.h: New CROSSMNT distinct from NOHIDE - * support/nfs/exports.c: Make CROSSMNT distinct from NOHIDE - * utils/exportfs/exportfs.c(dump): ditto - -2003-05-21 NeilBrown - - * support/export/hostname.c(get_reliable_hostbyaddr): new function - to get host name from address with full checking of authenticity. - * support/include/misc.h: declare above function - * utils/mountd/auth.c(auth_authenticate_internal): remove all - logic for authenticating address. - * utils/mountd/auth.c(auth_authenticate): call new - get_reliable_hostbyaddr to to hostname lookup before calling _internal. - - -2003-03-30 NeilBrown - - * tools/rpcgen/rpc_main.c(find_cpp): removed - * tools/rpcgen/rpc_main.c(open_input): use execvp to find "cpp", - then try hard-coded paths. - -2003-03-26 Chip Salzenberg - - * debian/changelog: Version 1.0.3-1. - -2003-03-26 NeilBrown - - * utils/mountd/rmtab.c (slink_safe_rename): real_newpath should be - "const char*", not "char*". - -2003-03-26 NeilBrown - - * configure.in (VERSION): Set to "1.0.3". - * nfs-utils.spec: Likewise. - * configure: Regenerated. - -2003-03-26 NeilBrown - - * support/nfs/cacheio.c: New File - support for read/writing - to export cache in /proc/rpc/*/channel - * support/nfs/Makefile: compile cacheio.c - * support/include/nfslib.h: declare cacheio.c functions - * support/nfs/nfsexport.c: export and unexport through - /proc/rpc/*/channel if possible, as old syscall interface - may not survive into 2.6 on all architectures. - -2003-02-19 NeilBrown - Ben Leslie - - * support/nfs/rpcmisc.c(rpc_init): change test for ignoring - "defport" from (__rpcfdtype == 0) to (__rpcpmstart==0). The - former would incorectly ignore defport if the application - explicitly set __rpcfdtype. The later is sufficient to avoid the - special handling in the case where stdin is an internet socket. - - * utils/mountd/mountd.c(main): Add 'n' to option list in - getopt_long as this is a short form of --no-tcp which want being - checked. - -2003-02-12 Chip Salzenberg + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * debian/changelog: Version 1.0.2-2. +commit 1bb84a09ff58d1314826945db2f3f1f63015e263 +Author: Chuck Lever +Date: Tue Aug 24 07:13:54 2010 -0400 -2002-11-27 Chip Salzenberg + libexport: Fix IP address check in check_netgroup() + + Neil Brown reports that recent changes to replace + gethostby{addr,name}(3) with get{addr,info}name(3) may have + inadvertently broken netgroup support. + + There used to be a gethostbyaddr(3) call in the third paragraph in + check_netgroup(). The reason for that gethostbyaddr(3) call was that + the first innetgr(3) call has already confirmed that hname is not a + member of the netgroup. We also need to confirm that, if hname + happens to be an IP address, the hostname bound to that IP address is + not a member of the netgroup, either. + + Fix this by restoring appropriate address to hostname mapping of hname + before retrying the innetgr(3) call. + + See http://marc.info/?l=linux-nfs&m=128084830214653&w=2 . + + Introduced by commit 0509d3428f523776ddd9d6e9fa318587d3ec7d84. + + Reviewed-by: Neil Brown + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * utils/mountd/rmtab.c (slink_safe_rename): Fix off-by-one buffer - overflow bug. Reformat per rest of source file. +commit abdc32b6af6f38a741a481aeefb5623916152498 +Author: Chuck Lever +Date: Tue Aug 24 07:06:14 2010 -0400 -2002-11-19 NeilBrown + bexport: Add a common exit label to check_netgroup() + + check_netgroup() is going to be changed to free dynamically + allocated resources before it returns, so a common + exit point is needed. + + Reviewed-by: Neil Brown + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * utils/exportfs/exports.man: Correct notes about whether the wild - card characters match a period. They do. - -2002-10-15 Juan Gomez +commit 396aac50f5addea2f4d62c25600ca68788a56d97 +Author: Guillaume Rousse +Date: Tue Aug 17 17:47:38 2010 -0400 - * utils/mountd/rmtab.c (slink_safe_rename): New. Support - symlink. - (mountlist_add): Call slink_safe_rename instead of rename. + Fix the description of nfsversion mount option in the man nfs page + + Signed-off-by: Steve Dickson -2002-10-11 H.J. Lu +commit e2003650c68cf47806fb24f7d88fae5524b70aab +Author: Steve Dickson +Date: Mon Jul 19 12:12:52 2010 -0400 - * support/include/exportfs.h (export_errno): New. + Remove warnings from nfsctl.c + + nfsctl.c: In function 'expsetup': + nfsctl.c:112: warning: signed and unsigned type in conditional expression + + Signed-off-by: Steve Dickson - * support/nfs/exports.c: Include . - (export_errno): New. - (getexportent): Set export_errno to EINVAL for bad option. - (parseopts): Likewise. - Report the location of the default sync/async option. +commit 1e472b3476cc6d7b95573b7d630d0fc51bebadf3 +Author: Steve Dickson +Date: Wed Aug 4 10:48:17 2010 -0400 - * utils/exportfs/exportfs.c (main): Initialize export_errno to - 0. Return export_errno. + Removed warnings from mountd.c + + mountd.c: In function 'mount_null_1_svc': + mountd.c:195: warning: unused parameter 'rqstp' + mountd.c:195: warning: unused parameter 'argp' + mountd.c:195: warning: unused parameter 'resp' + mountd.c: In function 'mount_dump_1_svc': + mountd.c:213: warning: unused parameter 'argp' + mountd.c: In function 'mount_umnt_1_svc': + mountd.c:224: warning: unused parameter 'resp' + mountd.c: In function 'mount_umntall_1_svc': + mountd.c:248: warning: unused parameter 'argp' + mountd.c:248: warning: unused parameter 'resp' + mountd.c: In function 'mount_export_1_svc': + mountd.c:258: warning: unused parameter 'argp' + mountd.c: In function 'mount_exportall_1_svc': + mountd.c:269: warning: unused parameter 'argp' + mountd.c: In function 'mount_dump_1_svc': + mountd.c:216: warning: unused parameter 'argp' + mountd.c: In function 'mount_umnt_1_svc': + mountd.c:227: warning: unused parameter 'resp' + mountd.c: In function 'mount_umntall_1_svc': + mountd.c:251: warning: unused parameter 'argp' + mountd.c:251: warning: unused parameter 'resp' + mountd.c: In function 'mount_export_1_svc': + mountd.c:261: warning: unused parameter 'argp' + mountd.c: In function 'mount_exportall_1_svc': + mountd.c:272: warning: unused parameter 'argp' + + Signed-off-by: Steve Dickson -2002-10-11 Juan Gomez - NeilBrown +commit 14e6ec262e58e962c2d7e9161ca9c56529de3170 +Author: Steve Dickson +Date: Wed Aug 4 10:41:18 2010 -0400 - utils/statd/statd.c(killer): don't pmap_unset if in notify_only mode - utils/statd/statd.c(main): don't pmap_unset if in notify_only mode - -2002-09-16 Chip Salzenberg + Removed warnings from idmapd.c + + idmapd.c:120: warning: missing initializer + idmapd.c:120: warning: (near initialization for 'nfsd_ic[0].ic_event') + idmapd.c:121: warning: missing initializer + idmapd.c:121: warning: (near initialization for 'nfsd_ic[1].ic_event') + idmapd.c: In function 'flush_nfsd_cache': + idmapd.c:173: warning: comparison between signed and unsigned integer expressions + idmapd.c: In function 'dirscancb': + idmapd.c:384: warning: unused parameter 'fd' + idmapd.c:384: warning: unused parameter 'which' + idmapd.c: In function 'svrreopen': + idmapd.c:468: warning: unused parameter 'fd' + idmapd.c:468: warning: unused parameter 'which' + idmapd.c:468: warning: unused parameter 'data' + idmapd.c: In function 'clntscancb': + idmapd.c:474: warning: unused parameter 'fd' + idmapd.c:474: warning: unused parameter 'which' + idmapd.c: In function 'nfsdcb': + idmapd.c:488: warning: unused parameter 'fd' + idmapd.c: In function 'nfscb': + idmapd.c:663: warning: unused parameter 'fd' + idmapd.c: In function 'validateascii': + idmapd.c:850: warning: comparison between signed and unsigned integer expressions + idmapd.c:858: warning: comparison between signed and unsigned integer expressions + idmapd.c: In function 'getfield': + idmapd.c:916: warning: comparison between signed and unsigned integer expressions + + Signed-off-by: Steve Dickson - * utils/rquotad/rquota_svc.c (main): Use int for value of getopt. +commit 2ccfd2d5f390bcac7a44f8887cd3f15df1966e0f +Author: Steve Dickson +Date: Wed Aug 4 10:29:28 2010 -0400 -2002-09-15 Chip Salzenberg + Removed warnings from configfile.c + + configfile.c:195: warning: 'inline' is not at beginning of declaration + configfile.c:232: warning: 'inline' is not at beginning of declaration + + Signed-off-by: Steve Dickson - * support/nfs/rpcmisc.c (rpc_init): Allow stdin to be a non-INET - socket, as occurs when run from sshd. - * debian/changelog: Version 1.0.2-1. +commit bc8fdd5ebcabe57cacd382673ca9e4a79ff7b18e +Author: Steve Dickson +Date: Wed Aug 4 10:26:13 2010 -0400 -2002-09-12 H.J. Lu + Removed warnings from svcgssd_proc.c + + svcgssd_proc.c: In function 'send_response': + svcgssd_proc.c:135: warning: unused parameter 'f' + svcgssd_proc.c: In function 'handle_nullreq': + svcgssd_proc.c:434: warning: comparison of unsigned expression < 0 is always false + + Signed-off-by: Steve Dickson - * support/nfs/svc_socket.c: Remove HAVE_SVCTCP_SOCKET and - HAVE_SVCUDP_SOCKET. +commit be5b2ed57b0e0a3da91f4ec785718302d0351199 +Author: Steve Dickson +Date: Wed Aug 4 10:22:13 2010 -0400 -2002-09-12 H.J. Lu + Removed warnings from network.c + + network.c: In function 'nfs_verify_family': + network.c:1366: warning: unused parameter 'family' + + Signed-off-by: Steve Dickson - * configure.in: Remove checking svctcp_socket and svcudp_socket. - * configure: Regenerated. +commit 6b8d7c05fe738a4c7295754b4be552c703024f58 +Author: Steve Dickson +Date: Tue Jul 20 18:43:46 2010 -0400 - * support/include/config.h.in (HAVE_SVCTCP_SOCKET): Removed. - (HAVE_SVCUDP_SOCKET): Removed. + Removed warnings from nfs4mount.c + + nfs4mount.c: In function 'fill_ipv4_sockaddr': + nfs4mount.c:149: warning: comparison between signed and unsigned integer expressions + + Signed-off-by: Steve Dickson - * support/include/nfslib.h: Undo the last change. +commit cf2fd4869fdb77741bca9e3f713af49b889661b3 +Author: Steve Dickson +Date: Tue Jul 20 18:40:31 2010 -0400 -2002-09-12 H.J. Lu + Removed warnings from nfsmount.c + + nfsmount.c: In function 'nfsmount': + nfsmount.c:513: warning: missing initializer + nfsmount.c:513: warning: (near initialization for 'mnt_server.saddr') + nfsmount.c:514: warning: missing initializer + nfsmount.c:514: warning: (near initialization for 'nfs_server.saddr') + + Signed-off-by: Steve Dickson - * support/include/nfslib.h (svctcp_socket): Protect it with - HAVE_SVCTCP_SOCKET. - (svcudp_socket): Protect it with HAVE_SVCUDP_SOCKET. +commit 45a73911fff657942ec67317d000badb8e2c5282 +Author: Steve Dickson +Date: Tue Jul 20 18:22:32 2010 -0400 -2002-09-12 H.J. Lu + Removed warnings from svcgssd.c + + svcgssd.c: In function 'sig_hup': + svcgssd.c:160: warning: unused parameter 'signal' + + Signed-off-by: Steve Dickson - * configure.in (VERSION): Set to "1.0.2". - * configure: Regenerated. - * nfs-utils.spec: Likewise. +commit b8ba21cedc6aac3b2847217caf55885bb1a74805 +Author: Steve Dickson +Date: Tue Jul 20 18:13:45 2010 -0400 -2002-09-12 H.J. Lu + Removed warnings from gssd_proc.c + + gssd_proc.c: In function 'create_auth_rpc_client': + gssd_proc.c:939: warning: comparison between signed and unsigned integer expressions + gssd_proc.c:939: warning: comparison between signed and unsigned integer expressions + gssd_proc.c: In function 'handle_krb5_upcall': + gssd_proc.c:1164: warning: comparison between signed and unsigned integer expressions + gssd_proc.c: In function 'handle_spkm3_upcall': + gssd_proc.c:1178: warning: comparison between signed and unsigned integer expressions + + Signed-off-by: Steve Dickson - * configure.in: Check svctcp_socket and svcudp_socket. - * configure: Regenerated. +commit f4321ac3466aa9d4c4e11ba232f1ff9bea561288 +Author: Steve Dickson +Date: Tue Jul 20 18:08:13 2010 -0400 - * support/include/config.h.in (HAVE_SVCTCP_SOCKET): New. - (HAVE_SVCUDP_SOCKET): New. + Removed warnings from krb5_util.c + + krb5_util.c: In function 'realm_and_service_match': + krb5_util.c:617: warning: unused parameter 'context' + krb5_util.c: In function 'limit_krb5_enctypes': + krb5_util.c:1275: warning: unused parameter 'uid' + + Signed-off-by: Steve Dickson - * support/include/nfslib.h (svctcp_socket): New. - (svcudp_socket): New. +commit f89b109c04a8eab81bfa8b8fcdc7692673e13e49 +Author: Steve Dickson +Date: Tue Jul 20 17:53:47 2010 -0400 - * support/nfs/Makefile (OBJS): Add svc_socket.o. + Removed warnings from gssd_main_loop.c + + gssd_main_loop.c: In function 'dir_notify_handler': + gssd_main_loop.c:64: warning: unused parameter 'sig' + gssd_main_loop.c:64: warning: unused parameter 'si' + gssd_main_loop.c:64: warning: unused parameter 'data' + + Signed-off-by: Steve Dickson - * support/nfs/svc_socket.c: New. +commit d2c329ba4b7ccdea76bcc857a73206eab68428f8 +Author: Steve Dickson +Date: Tue Jul 20 17:45:17 2010 -0400 - * support/nfs/rpcmisc.c (rpc_init): Call svctcp_socket and - svcudp_socket if port is unspecified. + Removed warnings from gssd.c + + gssd.c: In function 'sig_hup': + gssd.c:78: warning: unused parameter 'signal' + + Signed-off-by: Steve Dickson - * utils/nfsd/nfsd.c (main): Call getservbyname for port. +commit 8a72ac3280ce8f9d0f48383d47dd06c80567bc09 +Author: Steve Dickson +Date: Tue Jul 20 17:19:20 2010 -0400 - * utils/rquotad/rquota_svc.c: Include . - (killer): New. Signal handler to unregister. - (main): Use killer. Call svcudp_socket to get the default - socket. + Removed warnings from atomicio.c + + atomicio.c: In function 'atomicio': + atomicio.c:48: warning: comparison between signed and unsigned integer expressions + + Signed-off-by: Steve Dickson -2002-09-02 Juan Gomez - NeilBrown +commit 14becdb7bc23f075f786325f7e953c2f928fe385 +Author: Steve Dickson +Date: Mon Jul 19 14:54:51 2010 -0400 - Add -N option to statd to run in notify-only mode. + Removed warnings from nfsstat.c + + nfsstat.c: In function 'print_callstats': + nfsstat.c:797: warning: comparison between signed and unsigned integer + expressions + nfsstat.c:801: warning: comparison between signed and unsigned integer + expressions + nfsstat.c:802: warning: comparison between signed and unsigned integer + expressions + nfsstat.c:805: warning: comparison between signed and unsigned integer + expressions + + nfsstat.c: In function 'print_callstats_list': + nfsstat.c:821: warning: comparison between signed and unsigned integer + expressions + nfsstat.c:828: warning: comparison between signed and unsigned integer + expressions + + nfsstat.c: In function 'unpause': + nfsstat.c:1111: warning: unused parameter 'sig' + Signed-off-by: Steve Dickson - * utils/statd/statd.h: uncomment MODE_NOTIFY_ONLY - * utils/statd/statd.man: document -N - * utils/statd/statd.c: enabled -N, largely exists but needed to be - uncommented and completed - -2002-09-02 Juan Gomez - NeilBrown +commit b594ee2b2a1b9c0c5823a7af279488f113f91be4 +Author: Steve Dickson +Date: Mon Jul 19 14:48:37 2010 -0400 - statd to have " -P directory" arg to use that directory instead - of /var/lib/nfs. This is useful for fail-over clusters. - - * utils/statd/statd.h: define SM_DIR etc as var, not const. - * utils/statd/statd.c: define "-P" option to set SM_* - appropriately. - * utils/statd/monitor.c: sprintf to cope with SM_DIR not being - a constant any more. - * utils/statd/notify.c: ditto. - * utils/statd/statd.man: document -P option. - -2002-08-26 Chip Salzenberg + Removed warnings from nfssvc.c + + nfssvc.c:184: warning: comparison between signed and unsigned integer expressions + nfssvc.c: In function 'nfssvc_setvers': + nfssvc.c:254: warning: comparison between signed and unsigned integer expressions + nfssvc.c: In function 'nfssvc_threads': + nfssvc.c:280: warning: comparison between signed and unsigned integer expressions + + Signed-off-by: Steve Dickson - * utils/nfsd/nfsd.man: Fix typo. - * debian/changelog: Version 1.0.1-1. +commit 7b331fb9d24a71242a6c0a45a06c49174b552c64 +Author: Steve Dickson +Date: Mon Jul 19 14:43:26 2010 -0400 -2002-05-29 NeilBrown + Removed warnings from cache.c + + cache.c:812: warning: missing initializer + cache.c:812: warning: (near initialization for 'cachelist[0].f') + cache.c:813: warning: missing initializer + cache.c:813: warning: (near initialization for 'cachelist[1].f') + cache.c:814: warning: missing initializer + cache.c:814: warning: (near initialization for 'cachelist[2].f') + cache.c:815: warning: missing initializer + cache.c:815: warning: (near initialization for 'cachelist[3].f') + cache.c:816: warning: missing initializer + cache.c:816: warning: (near initialization for 'cachelist[4].f') + cache.c: In function 'cache_export_ent': + cache.c:887: warning: comparison between signed and unsigned integer expressions + cache.c:907: warning: comparison between signed and unsigned integer expressions + + Signed-off-by: Steve Dickson - * let parseopts know if /etc/exports was being read or not, - and have it only print "no sync or async" warning in that case. - -2002-05-06 Tom McNeal - NeilBrown +commit 9d5eaa2e939723c47649f0f112b43cc8ff414740 +Author: Steve Dickson +Date: Mon Jul 19 13:07:00 2010 -0400 - * utils/nfsstat/nfsstat.c: Handle differing format for - /proc/net/rpc/nfsd between pre and post 2.4.0 - -2002-04-09 NeilBrown - James Pearson + Removed warnings from fsloc.c + + fsloc.c: In function 'replicas_lookup': + fsloc.c:149: warning: unused parameter 'key' + + Signed-off-by: Steve Dickson - * support/nfs/rmtab.c(fendrmtabent): sync changes to - storage before returning, as this is critical state +commit e10000740fc4c323dbc8d501d7c0caeae12c19b5 +Author: Steve Dickson +Date: Mon Jul 19 12:39:52 2010 -0400 -2002-04-08 Sean O'Connell - H.J. Lu + Removed warnings from conffile.c + + conffile.c: In function 'conf_parse_line': + conffile.c:301: warning: comparison between signed and unsigned integer expressions + + conffile.c: In function 'conf_load_defaults': + conffile.c:356: warning: unused parameter 'tr' + + Signed-off-by: Steve Dickson - * etc/redhat/nfs: New. +commit 8810c9dd5b66a097a235e6eabd399739a44df63e +Author: Steve Dickson +Date: Mon Jul 19 12:34:14 2010 -0400 -2002-04-08 H.J. Lu + Remove warnings from nfs_mntent.c + + nfs_mntent.c: In function 'mangle': + nfs_mntent.c:36: warning: comparison between signed and unsigned integer expressions + + Signed-off-by: Steve Dickson - * etc/redhat/nfs.init: Updated. +commit 1ca569633e14c844e32d8e5e3a1c54be01a8b633 +Author: Steve Dickson +Date: Mon Jul 19 12:31:48 2010 -0400 - * nfs-utils.spec.in: Updated. - * nfs-utils.spec: Regenerated. + emove warnings from cacheio.c + + cacheio.c: In function 'cache_flush': + cacheio.c:352: warning: comparison between signed and unsigned integer expressions + + Signed-off-by: Steve Dickson - * utils/mountd/mountd.c (longopts): Fix a typo. +commit 0cdfd35cecc17eb1927f15d33205e43ec66675f2 +Author: Steve Dickson +Date: Mon Jul 19 12:28:09 2010 -0400 - * utils/mountd/mountd.man: Updated. + Remove warnings from svc_socket.c + + svc_socket.c: In function 'svcudp_socket': + svc_socket.c:160: warning: unused parameter 'reuse' + + Signed-off-by: Steve Dickson -2002-04-07 H.J. Lu +commit 9c99b4633b185452614eb6c5630a30b30626a838 +Author: Steve Dickson +Date: Mon Jul 19 12:17:24 2010 -0400 - * etc/redhat/nfslock.init (restart): Just do stop and start. + Removed warnings from rpcdispatch.c + + rpcdispatch.c: In function 'rpc_dispatch': + rpcdispatch.c:30: warning: comparison between signed and unsigned + integer expressions + rpcdispatch.c:35: warning: comparison between signed and unsigned + integer expressions + + Signed-off-by: Steve Dickson - * etc/redhat/nfs.init: Fix a typo. +commit b6e0ddd7bb3843bb8bb5ff56816b31bcf17adacd +Author: Steve Dickson +Date: Mon Jul 19 12:05:51 2010 -0400 -2002-04-07 H.J. Lu + Enable extra compile warnings (-Wextra) by default. + + Added -Wextra to the CFLAGS which enables more checking + during compilation, which in turn, will hopefully flag + potential problems before they occur. + + Signed-off-by: Steve Dickson - * configure.in (VERSION): Set to "1.0.1". - * configure: Regenerated. - * nfs-utils.spec: Likewise. +commit 12af21aca517dfbaec465447d8336bcc4769f71d +Author: Doug Nazar +Date: Mon Jul 19 11:08:46 2010 -0400 - * README: Updated for 1.0.1. - -2002-04-07 Sean O'Connell - H.J. Lu - - * etc/redhat/nfs.init: Read /etc/sysconfig/nfsd for NFS tuning. - -2002-02-28 Steven Whitehouse - NeilBrown - - Add support for fsid=nn export option so that device - numbers don't go in filehandles. - * support/export/nfsctl.c(expsetup): if exporting and NFSEXP_FSID - is set, pass the fsid in-place of the device number - * support/nfs/exports.c: parse and print fsid= option. - Also check if efname has been set, and use "command line" - instead in error messages. - Also, use strtol instead of atoi for anon[ug]id= so that - bad numbers cause errors. - -2002-01-17 Adrian Drzewiecki - NeilBrown - - * support/nfs/exports.c: remove NFSEXP_ASYNC as a default - flag so that "sync" becomes the default. - Check that either "sync" or "async" is given as an option - and warn if neither are present - * utils/exportfs/exports.man: change documentation for "sync" - to be documentation for "async". - * utils/exportfs/exportfs.man: note that "sync" is the default - rather than "async" - - -2002-01-02 Chip Salzenberg - - * support/export/nfsctl.c (expsetup): Don't export entries that - specify id mappings not supported by the kernel. No extant kernel - supports any significant mapping, only 'identity' (i.e. none). - When other mappings are supported, this code will need changing. - * debian/changelog: Version 1.0-2. + gssd: picking wrong creds + + When not using machine credentials for root, if the machine + credential cache file is newer than the root credential file + the wrong file will get picked. Ignore the machine file in + this case. + + Signed-off-by: Steve Dickson -2001-12-26 Chip Salzenberg +commit e2aa2c8c4cc21eb312a301855c2e211dedf93146 +Author: Doug Nazar +Date: Mon Jul 19 10:58:47 2010 -0400 - * nfs-utils.spec (Version): Set to "1.0". - * configure.in (VERSION): Likewise. - * configure: Regenerated. - * README: Rewritten. - * debian/changelog: Version 1.0-1. + mountd: Fix memcmp result comparison error for uuid match. + + Fixed Small typo in the new fs uuid comparison code + + Signed-off-by: Steve Dickson - * utils/exportfs/exports.man: Emphasize the need for options to - immediately follow client names. Explain that wildcards don't - usually work on addresses, but may work when reverse DNS fails. - Comment out a leftover TP that was TPing our indentation. - * utils/mountd/mountd.man, utils/rquotad/rquotad.man, - utils/statd/statd.man: Remove refs to non-existent "hosts_allow(5)". - * debian/changelog: Version 0.3.3-6. +commit eafc5a8873b09482c71313f425080cce2031010a +Author: Doug Nazar +Date: Mon Jul 19 10:48:34 2010 -0400 -2001-12-20 NeilBrown + gssd: Fix endtime issue + + Commit 4c5ff6d4 removed the setting of endtime for a few contexts by + accident. + + Now to figure out why I get stale handles on submounts. + + Signed-off-by: Steve Dickson - * support/export/client.c(client_lookup): If a host has multiple - IP addresses, then we must always use the result of a - gethostbyname, not that of gethostbyaddr for exporting - -2001-12-20 NeilBrown +commit 0bd7e91cea26bcfc5581290e4cdd87870da29b9e +Author: Chuck Lever +Date: Mon Jul 19 10:09:12 2010 -0400 - * support/export/client.c (client_lookup): use strcasecmp when - comparing host names - * support/nfs/export.c (getexportent): add fromkernel arg and use - different defaults as kernels prior to 2.4.11 assume different - defaults in /proc/fs/nfs/exports - * support/include/nfslib.h, support/export/export.c, - support/export/xtab.c: support extra "fromkernel" arg for - getexportent. - -2001-12-13 Chip Salzenberg - - * debian/changelog: Version 0.3.3-5. - -2001-11-26 TAKAI Kousuke - - * support/nfs/xio.c (xskip): Call `xungetc' instead of - `ungetc' to keep x_line more properly. - -2001-11-26 Chip Salzenberg - - * utils/showmount/showmount.c (main): Don't assume that strings - starting with digits are IP addresses. - * utils/nfsd/nfsd.c (main): Close all fds and reopen 0,1,2 on - /dev/null before nfssvc(). Use syslog to report nfssvc errors. - * support/misc/tcpwrapper.c, utils/mountd/mountd.man, - utils/rquotad/rquotad.man, utils/statd/statd.man: Fix comments and - man pages: We check host names *and* addresses with tcpwrappers. - * debian/changelog: Version 0.3.3-4. - -2001-11-21 Chip Salzenberg - - * support/nfs/clients.c (cfname): Added: current clients file name. - (setnfsclntent): Set it. - ({get,end}nfsclntent, syntaxerr): Use it. - * support/nfs/exports.c (efname): Added: current exports file name. - (setnfsexportent): Set it. - (endnfsexportent, parseopts, getexport, syntaxerr): Use it. - (parseopts): Accept old-style "crossmnt" option, for old xtabs. - * debian/changelog: Version 0.3.3-3. - -2001-10-11 Chip Salzenberg - - * utils/mountd/mountd.c (main): Close fds > 2 _before_ RPC init. - * debian/changelog: Version 0.3.3-2. - -2001-10-08 Chip Salzenberg - - * utils/mountd/mountd.c (main): When daemonizing, close all fds > 2. - * utils/Makefile.in: Remove old Makefile in target 'distclean'. - * utils/mountd/mountd.man: Update paths to /var/lib. - * debian/*: Version 0.3.3-1, with Debian-specific fixes. - -2001-10-06 Preston Brown - - * utils/nfsstat/nfsstat.man: Updated. - -2001-09-24 H.J. Lu - - * configure.in (VERSION): Set to "0.3.3". - * configure: Regenerated. - * nfs-utils.spec: Likewise. - - * README: Updated for 0.3.3. - -2001-09-20 NeilBrown - - Arrange that "exportfs -au" never does DNS lookup: - - * support/export/client.c (client_lookup) : add "canonical" - flag which says that the hostname is known to be canonical, so - don't do a lookup - - * support/export/export.c (export_create) : add "canonical" - flag to be passed down to client_lookup - * support/export/export.c (export_lookup) : Likewise - - * support/export/xtab.c (xtab_read) : pass appropriate - "canonical" flag to export_lookup and export_create: - set if reading list of filesystems currently exports - (is_export != 1). - - * support/export/export.c (export_read) : pass 0 as - "canonical" flag to export_lookup and export_create - * support/export/rmtab.s (rmtab_read) : Likewise - - * support/include/exportfs.h : redeclare various routines - to have "canonical" flag - - * utils/exportfs/exportfs.c (main) : redo logic for - "-au" to read in what is currently exported, but never even - look at what "should" be exported. - - * utils/exportfs/exportfs.c (unexportall) : remove this - routine. Functionality is completely included in - exports_update - - * utils/exportfs/exportfs.c (exportfs) : set "canonical" - flag to zero in calls to export_lookup and export_create. - - -2001-09-20 NeilBrown - Anne Milicia - - * support/export/client.c (client_lookup) call gethostbyadd - to make sure that we have a canonical hostname, even for - dotted-quads - * utils/exportfs/exportfs.c (exportfs) Likewise - -2001-09-12 NeilBrown - - * support/nfs/exports.c (putexportent): \octal quote any spaces - etc in a path name - * support/nfs/xio.c (xgettok): recognise double-quote and - \octal quoting in path names - * utils/exportfs/exports.man: document quoting conventions - for path names - -2001-09-12 NeilBrown - - * utils/mountd/auth.c (auth_authenticate_internal): Reverse - change from 2000-08-02: It causes problems if someone exports - to both a hostname and IP addresses. nfs-utils must be - consistant about the canonical name that it chooses. - -2001-08-17 Ragnar Kjørstad - H.J. Lu - - * etc/redhat/nfslock.init (STATDARG): New. Pass it to rpc.statd. - - * utils/statd/statd.c (longopts): Add "name". - (usage): Add "-n/--name". - (main): Set MY_NAME with "-n/--name". - - * utils/statd/state.c (change_state): Set MY_NAME only if it - is NULL. - - * utils/statd/statd.man: Updated for "-n/--name". - -2001-07-26 H.J. Lu - - * nfs-utils.spec (Release): Set to 8. - -2001-07-25 H.J. Lu - - * etc/redhat/nfs.init: Check if rpc.rquotad exists before doing - anything about it. - -2001-06-27 H.J. Lu - - * etc/redhat/nfs.init: Run rpc.rquotad only if it exists. - -2001-06-27 H.J. Lu - - * utils/rquotad/rquota_server.c: Don't call statfs () for - the block size. Use BLOCK_SIZE instead. - -2001-06-27 H.J. Lu - - * config.mk.in (CC_FOR_BUILD): Renamed from BUILD_CC. - (CFLAGS_FOR_BUILD): New. Don't use @CFLAGS@. - - * configure.in (enable_nfsv3): Set to yes by default. - (--enable-rquotad): Added - (AC_PROG_CXX): Removed. - (AC_OUTPUT): Add utils/Makefile. - (CC_FOR_BUILD): Renamed from BUILD_CC. - * configure: Regenerated. - - * utils/Makefile: Removed. - - * utils/Makefile.in: New. - - * nfs-utils.spec.in (rquotad): New. Set to 0 to disable - rquotad. - (CC_FOR_BUILD): Renamed from BUILD_CC. - * nfs-utils.spec: Regenerated. - -2001-06-15 Chip Salzenberg - - * debian/changelog: Version 0.3.2-2. - * debian/*.init: Minor fixes. - -2001-06-07 Lon H. Hohberger - - * etc/nodist/nfs-server: Fixed a bug where the script would - disable mounts from NFSv3 clients if NFSv3 is present. - -2001-06-05 H.J. Lu - - * utils/mountd/mountd.c (longopts): Add "descriptors/o". - (main): Support --descriptors/-o to set the limit of the number - of open file descriptors. - (usage): Updated. - - * utils/mountd/mountd.man: Updated for --descriptors/-o. - -2001-06-04 H.J. Lu - - * nfs-utils.spec (Release): Set to 6. - -2001-05-28 H.J. Lu - - * utils/lockd/lockd.c (main): chdir to NFS_STATEDIR. - * utils/mountd/mountd.c (main): Likewise. - * utils/nfsd/nfsd.c (main): Likewise. - * utils/rquotad/rquota_svc.c (main): Likewise. - -2001-05-06 Anne Milicia - - * support/export/client.c (client_check): Check IP address - againet netgroup. - -2001-05-06 Neil Brown - - * support/export/client.c (client_gettype): Treat `*' as - MCL_ANONYMOUS. - -2001-04-22 H.J. Lu - - * nfs-utils.spec.in: Fix a typo. - * nfs-utils.spec: Regenerated. - -2001-04-21 H.J. Lu - - * nfs-utils.spec.in: Fix cross build. - * nfs-utils.spec: Regenerated. - (Release): Set to 5. - -2001-04-18 H.J. Lu - - * nfs-utils.spec.in: Support cross build. - * nfs-utils.spec: Regenerated. - (Release): Set to 4. - - * config.sub: New. - * config.guess: New. - - * config.mk.in (BUILD_CC): New. - (CC): Set to $(BUILD_CC) if BUILD is defined. - (AR): Set to @AR@. - (LD): Set to @LD@. - (RANLIB): Set to @RANLIB@. - - * configure.in: Check BUILD_CC, RANLIB, AR and LD. - * configure: Regenerated. - - * tools/rpcgen/Makefile (BUILD): Set to true. - -2001-04-01 Chip Salzenberg - - * tools/rpcgen/rpc_svcout.c (write_timeout_func): Remove - redundant, and sometimes broken, declaration of svc_fdset; - it may be a macro. - * support/nfs/rpcmisc.c (closedown): Likewise. - -2001-03-21 H.J. Lu - - * nfs-utils.spec: Regenerated. - (Release): Set to 3. - -2001-03-21 Ion Badulescu - - * utils/statd/statd.c (main): make sure file descriptors 0-2 - are open to /dev/null. - -2001-03-21 H.J. Lu - - * support/nfs/rpcmisc.c: Restore the change made on 2001-03-10. - * support/nfs/rpcmisc.c: Likewise. - * utils/rquotad/rquota_svc.c: Likewise. - * utils/rquotad/rquotad.man: Likewise. - * utils/statd/Makefile: Likewise. - * utils/statd/rmtcall.c: Likewise. - * utils/statd/simulate.c: Likewise. - * utils/statd/statd.c: Likewise. - * utils/statd/statd.man: Likewise. - -2001-03-11 H.J. Lu - - * configure.in (RELEASE): New. Default to 1, set by - --with-release=XXX. Substitute nfs-utils.spec. - * nfs-utils.spec.in (Release): Set to @RELEASE@. - * configure: Regenerated. - * nfs-utils.spec: Likewise. - -2001-03-11 H.J. Lu - - * utils/rquotad/rquotad.man: Fix a typo. - -2001-03-11 H.J. Lu - - * support/include/rpcmisc.h: Undo the change made on 2001-03-10. - * support/nfs/rpcmisc.c: Likewise. - * utils/rquotad/rquota_svc.c: Likewise. - * utils/rquotad/rquotad.man: Likewise. - * utils/statd/Makefile: Likewise. - * utils/statd/rmtcall.c: Likewise. - * utils/statd/simulate.c: Likewise. - * utils/statd/statd.c: Likewise. - * utils/statd/statd.man: Likewise. - -2001-03-10 H.J. Lu - - * configure.in (VERSION): Set to "0.3.2". - * configure: Regenerated. - * nfs-utils.spec: Likewise. - - * README: Updated for 0.3.2. - -2001-03-10 Tavis Barr - - * utils/rquotad/rquotad.man: Updated for -p. - * utils/statd/statd.man: Likewise. - -2001-03-10 Ion Badulescu - - * support/nfs/rpcmisc.c: export makesock() - - * support/include/rpcmisc.h (makesock): Declared. - - * utils/rquotad/rquota_svc.c: added longopts, added support for - specifying the port to bind to on the command line. - - * utils/statd/statd.c: ditto, also specify port used for - outgoing connections. - (do_regist): Removed. - - * utils/statd/rmtcall.c (statd_get_socket): Renamed from - get_socket. Make it extern. - - * utils/statd/simulate.c (daemon_simulator): Call rpc_init - instead of do_regist. - - * utils/statd/Makefile (LIBS): link with our own libnfs - -2001-03-09 H.J. Lu - - * etc/redhat/nfslock.init: Changed chkconfig line to 60 86. - * etc/nodist/nfs-client: Likewise. - -2001-02-26 Chip Salzenberg - - * debian/changelog: Version 0.3.1-1. - * Mention upstream source and license in copyright file. - * Add build-Depends for debhelper and libwrap0-dev. - -2001-02-20 Lon Hohberger - - * etc/nodist/nfs-server: Changed chkconfig line to 60 20 - * etc/nodist/nfs-client: Likewise. - -2001-02-18 Lon Hohberger - - * utils/statd/statd.man: Changed /usr/sbin/rpc.statd to - /sbin/rpc.statd. - -2001-02-17 Patrick J. LoPresti - - * utils/statd/log.c (log_init): Use LOG_DAEMON instead of - LOG_LOCAL5. - -2001-02-14 H.J. Lu - - * utils/statd/rmtcall.c: Include . - * utils/statd/svc_run.c: Likewise. - -2001-02-14 H.J. Lu - - * configure.in (VERSION): Set to "0.3.1". - * configure: Regenerated. - * nfs-utils.spec: Likewise. - - * README: Updated for 0.3.1. - -2001-02-14 H.J. Lu - - * support/nfs/rpcmisc.c: Include . - -2001-02-14 Chip Salzenberg - - * debian/control: Change priority of nhfsstone package to 'extra'. - -2001-02-12 Chip Salzenberg - - * debian/changelog: Version 0.3-2. - -2001-02-02 H.J. Lu - - * support/include/rpcmisc.h (rpc_init): Remove bufsize. - - * support/nfs/rpcmisc.c (makesock): Remove socksz and comment - out SO_SNDBUF/SO_RCVBUF. - (rpc_init): Remove bufsize and remove socksz in calls to - makesock (). - - * utils/mountd/mountd.c (main): Remove bufsize in calls to - rpc_init (). - -2001-01-28 Chip Salzenberg - - * debian/changelog: Version 0.3-1. - -2001-01-25 H.J. Lu - - * configure.in (VERSION): Set to "0.3". - * configure: Regenerated. - * nfs-utils.spec: Likewise. - - * README: Updated for 0.3. - -2001-01-25 H.J. Lu - - * utils/lockd/lockd.c (main): Ignore errno == EINVAL. - -2001-01-20 Chip Salzenberg - - * support/include/xio.h (xgetc): Declare to return int. - * support/nfs/xio.c (xgetc): Return int. - (xgettok, xskip, xskipcomment): Use int for value of xgetc. - * utils/statd/statd.c (main): Use int for value of getopt. - * debian/changelog: Version 0.2.1-5. - -2000-12-10 Chip Salzenberg - - * utils/statd/monitor.c (sm_mon_1_svc): Fix buggy check for - program and procedure numbers of kernel lockd's callback. Also, - besides the old (and broken) procedure #24, allow #16 per Trond. - -2000-12-03 Chip Salzenberg - - * support/nfs/xio.c (xfopen): Initialize x_line to one, not zero. - * debian/control: Let nhfsstone replace files in nfs-kernel-server. - * debian/changelog: Version 0.2.1-4. - -2000-11-27 Tobias Ringstrom - - * utils/mountd/auth.c (auth_authenticate): Log the bad path - warning. - -2000-11-24 Neil Brown - - * support/nfs/exports.c (getexportent): Check for host name - without option, or options without hostname, and print a warning, - as this is most likely a typo. - -2000-11-19 Chip Salzenberg - - * debian/control: Add dependency on portmap. - * debian/changelog: Version 0.2.1-3. - -2000-11-10 H.J. Lu - - * nfs-utils.spec.in: Don't use libtool. - Add ChangeLog and COPYING to doc. - * nfs-utils.spec: Rebuild. - -2000-11-09 H.J. Lu - - * etc/redhat/nfs.init (start): Back out the last change. - -2000-11-09 H.J. Lu - - * etc/redhat/nfs.init (start): Pass --no-tcp to mountd if - TCP is not supported by kernel. - - * support/nfs/rpcmisc.c (rpc_init): Don't set _rpcfdtype to 0. - - * utils/mountd/mountd.c (longopts): Add "-n/--no-tcp". - (main): Set to _rpcfdtype to SOCK_DGRAM for "-n/--no-tcp". - - * utils/mountd/mountd.man: Updated for "-n/--no-tcp". - -2000-10-24 Lon Hohberger - - * utils/statd/callback.c: Fix bug preventing callbacks to local lockd. - * utils/statd/rmtcall.c: Add some IP address paranoia when doing - callbacks to local lockd. - -2000-10-18 Scott McDermott - - * utils/exportfs/exports.man: Updated for CIDR netmask. - -2000-10-17 Scott McDermott - - * support/export/client.c (client_init): Support CIDR netmask - in /etc/exports. - -2000-10-11 H.J. Lu - - * aclocal.m4 (AC_TCP_WRAPPER): Fix a typo. - * configure: Rebuilt. - -2000-10-06 Lon Hohberger - - * utils/statd/statd.man: Change "/var/lib/nfs/sm/state" to - "/var/lib/nfs/state". - -2000-10-05 Lon Hohberger - - * utils/statd/statd.h (run_mode): New global bitmask of runtime - behaviors: fg/bg, logging, etc. - * utils/statd/statd.c: New command line options: -V -h -? -d . - * utils/statd/statd.man: Update for changes to statd. - - * utils/statd/log.h (log_init): Remove parameter of function; use - global variable "name_p" instead. - * utils/statd/log.c: Add support for logging to stderr. - - * utils/statd/notlist.c: Partially rewrite notify list handling - functions. Eliminate run-off-end-of-list bug when calling - nlist_insert_timer. Add lots of comments. - -2000-09-27 H.J. Lu - - * README: Updated for RedHat 7.0. - -2000-09-27 H.J. Lu - - * nfs-utils.spec: Rebuild. - -2000-09-27 H.J. Lu - - * README: Updated for 0.2.1. - -2000-09-27 H.J. Lu - - * nfs-utils.spec.in: Updated to use rpm macros and support - RedHat 7.0. - -2000-09-25 H.J. Lu - - * configure.in (VERSION): Set to "0.2.1". - * configure: Regenerated. - * nfs-utils.spec: Updated. - -2000-09-25 H.J. Lu - - * utils/mountd/auth.c (auth_authenticate_internal): Make sure a - non-NULL hostent is always returned. - -2000-09-11 Ion Badulescu - - * etc/redhat/nfslock.init: don't kill lockd processes that do not - have an executable (i.e. kernel threads) - -2000-09-01 H.J. Lu - - * README: Updated for 0.2. - -2000-09-01 Jay Weber - - * etc/redhat/nfs.init: Added ability for rpc.mountd to default to - supporting version 3 of nfs if available, else it will fall back to - version 2 support only. - -2000-08-30 H.J. Lu - - * configure.in (VERSION): Set to "0.2". - * configure: Regenerated. - * nfs-utils.spec: Updated. - -2000-08-25 H.J. Lu - - * support/misc/tcpwrapper.c (logit): Modify the log output. - -2000-08-25 Ion Badulescu - - * utils/rquotad/rquotad.man, utils/statd/statd.man, - utils/mountd/mountd.man: updated - - * utils/mountd/Makefile (LIBS): added -lmisc $(LIBWRAP) $(LIBNSL) - * utils/rquotad/Makefile: fix comment - - * support/misc/tcpwrapper.c (logit): added comment about waiting - for the children after fork() - - * utils/mountd/mountd.c (main): ignore SIGCHLD to prevent leaving - zombies behind (from logit()'s fork) - * utils/rquotad/rquota_svc.c (main): ditto - * utils/statd/statd.c (main): ditto - - * utils/rquotad/rquota_svc.c (rquotaprog_1): pass RQUOTAPROG - to check_default instead of 0, for prognum - - * utils/statd/statd.c (sm_prog_1_wrapper): pass SM_PROG - to check_default instead of 0, for prognum - - * utils/mountd/mount_dispatch.c: Include "tcpwrapper.h" if - HAVE_TCP_WRAPPER is defined. - (mount_dispatch): Call check_default () if HAVE_TCP_WRAPPER is - defined. Reject an RPC call if check_default () fails. - -2000-08-25 H.J. Lu - - * support/include/tcpwrapper.h: New for the tcp wrapper - support. - * support/misc/Makefile: Likewise. - * support/misc/from_local.c: Likewise. - * support/misc/tcpwrapper.c: Likewise. - - * aclocal.m4 (AC_TCP_WRAPPER): New. - * configure.in: Use it. Substitute LIBWRAP. - * configure: Rebuilt. - - * config.mk.in (LIBNSL): New. - (LIBWRAP): Likewise. - - * support/Makefile (SUBDIRS): Add misc. - - * support/lib/Makefile (LIBS): Add libmisc.a. - - * utils/rquotad/Makefile (LIBS): Add - - -lmisc $(LIBWRAP) $(LIBNSL) - - * utils/statd/Makefile (LIBS): Likewise. - - * utils/rquotad/rquota_svc.c: Include "tcpwrapper.h" if - HAVE_TCP_WRAPPER is defined. - (rquotaprog_1): Call check_default () if HAVE_TCP_WRAPPER is - defined. Reject an RPC call if check_default () fails. - - * utils/statd/statd.c: Include "tcpwrapper.h" if - HAVE_TCP_WRAPPER is defined. - (sm_prog_1_wrapper): New. A wrapper for sm_prog_1. Call - check_default () before calling sm_prog_1 (). Define it as - sm_prog_1_wrapper if HAVE_TCP_WRAPPER is defined. - -2000-08-25 Chip Salzenberg - - * debian/*: Complete Debian build support. - * etc/debian/*: Remove. - -2000-08-24 Neil Brown - - * support/export/client.c(client_check): removed the "dot+1" as a - ypdomain argument to innetgr as this is entirely bogus. - It should always be NULL. - -2000-08-23 Neil Brown - - * support/export/xtab.c(xtab_read): introduce new mode for - reading xtab. i.e. a list of exports that might be known to the - kernel, or might not. These are flagged as m_exported == -1 - * support/export/xtab.c(xtab_mount_read): call xtab_read with new - value "2" for xtab, meaning don't trust this too much. - * support/include/exportfs.h(struct mexport): changed m_exported - from one bit to an int so that it can hold new value - * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the - kernel if it is uncertain whether the kernel knows (m_exported == -1) - * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if - status is uncertain - - * support/nfs/xio.c(xflock): added O_CREAT when getting - a write lock so that missing files aren't fatal. - - * etc/debian/nfs-common: new file from "potato" - * etc/debian/nfs-kernel-server: new file from "potato" plus fixes. - -2000-08-09 H.J. Lu - - * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during - startup to ensure all existing clients work fine. - - * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0 - to xtab_read () for reading _PATH_XTAB. - -2000-08-02 H.J. Lu - - * utils/mountd/auth.c (auth_authenticate_internal): Try to - avoid the reverse name lookup. - -2000-07-04 H.J. Lu - - * utils/statd/log.c: Include for exit (). - - * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the - gcc warning. - -2000-07-04 H.J. Lu - - * configure.in (VERSION): Set to "0.1.9.1". - * configure: Regenerated. - * nfs-utils.spec: Updated. - - * README: Updated. - -2000-07-04 Neil Brown - - * support/export/hostname.c (hostent_dup): Handle the NULL - h_aliases field. - -2000-07-03 H.J. Lu - - * README: Update the util-linux requirement. - -2000-07-03 H.J. Lu - - * configure.in (VERSION): Set to "0.1.9". - * configure: Regenerated. - * nfs-utils.spec: Updated. - - * README: Updated. - -2000-07-03 H.J. Lu - - * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during - stop to ensure all clients can still access the server - before it is shutdown. - -2000-06-30 Jeff Uphoff - - * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog() - calls with format string. - -2000-06-28 Chip Salzenberg - - * utils/statd/log.c (log): Call syslog with format string. - -2000-06-27 H.J. Lu - - * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX) - instead of OPEN_MAX. - -2000-06-27 H.J. Lu - - * README: Updated. - -2000-06-27 H.J. Lu - - * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during - startup to ensure all existing clients are exported. - - * configure.in (VERSION): Set to "0.1.8.2". - * configure: Regenerated. - * nfs-utils.spec: Updated. - -2000-06-06 H.J. Lu - - * configure.in (VERSION): Set to "0.1.8.1". - * configure: Regenerated. - * nfs-utils.spec: Updated. - -2000-06-06 H.J. Lu - - * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller - to "struct sockaddr_in *" for glibc 2.2. - (mount_umnt_1_svc): Likewise. - (mount_umntall_1_svc): Likewise. - (mount_export_1_svc): Likewise. - (mount_exportall_1_svc): Likewise. - (mount_pathconf_2_svc): Likewise. - (get_rootfh): Likewise. - -2000-06-04 H.J. Lu - - * etc/redhat/nfs.init: Fix a typo in comment. - -2000-05-31 H.J. Lu - - * configure.in (VERSION): Set to "0.1.8". - * configure: Regenerated. - * nfs-utils.spec: Updated. - - * README: Updated. - -2000-05-31 H.J. Lu - - * configure.in (VERSION): Set to "0.1.7.5". - * configure: Regenerated. - * nfs-utils.spec: Updated. - - * support/include/nfslib.h (exportent): Add a new field, - r_count, to count the number of mounts from a client. - (getrmtabent): Take a new argument for position in file. - (putrmtabent): Likewise. - (fgetrmtabent): Likewise. - (fputrmtabent): Likewise. - * support/nfs/rmtab.c (getrmtabent): Handle the new argument - for position in file. - (fgetrmtabent): Likewise. - (putrmtabent): Likewise. - (fputrmtabent): Likewise. - - * support/nfs/rmtab.c (fgetrmtabent): Get value for the new - field, r_count. - - * support/export/rmtab.c (rmtab_read): Pass NULL as the new - argument to getrmtabent (), fgetrmtabent (), putrmtabent () - and fputrmtabent (). - * utils/mountd/rmtab.c (mountlist_add): Likewise. - (mountlist_del): Likewise. - (mountlist_del_all): Likewise. - (mountlist_list): Likewise. - - * utils/mountd/rmtab.c (mountlist_add): Increment "r_count" - for the existing entry and initialize "r_count" to 1. - (mountlist_del): Decrement "r_count". - -2000-05-18 H.J. Lu - - * configure.in (VERSION): Set to "0.1.7.4". - * configure: Regenerated. - * nfs-utils.spec: Updated. - -2000-05-18 H.J. Lu - - * etc/redhat/nfs.init (restart): Just do stop and start. - -2000-05-09 Jay Weber - - * utils/rquotad/hasquota.c: added support for ext3 recognition - in rquotad. - * utils/rquotad/mntent.h: Likewise. - -2000-05-01 H.J. Lu - - * configure.in (VERSION): Set to "0.1.7.3". - * configure: Regenerated. - * nfs-utils.spec: Updated. - -2000-05-01 H.J. Lu - - * utils/rquotad/rquota_server.c (getquotainfo): Skip bad - mounting poins in /etc/fstab. - -2000-05-01 H.J. Lu - - * configure.in (VERSION): Set to "0.1.7.2". - * configure: Regenerated. - * nfs-utils.spec: Updated. - -2000-05-01 H.J. Lu - - * utils/rquotad/rquota_server.c (getquotainfo): Call stat () - to check for the mounting point. - -2000-04-29 Chip Salzenberg - Neil Brown - - * Really re-use RPC ports. - (Fixes earlier patch. Sorry, Neil.) - -2000-04-26 H.J. Lu - - * configure.in (VERSION): Set to "0.1.7.1". - * configure: Regenerated. - * nfs-utils.spec: Updated. - -2000-04-26 H.J. Lu - - * etc/redhat/nfslock.init: Check if lockd exits before killing - it. - -2000-04-25 H.J. Lu - - * README: Require util-linux-2.10f-mount-rpc.patch for mount. - -2000-03-21 Michael Weiser - - * support/nfs/exports.c (parsesquash): Correctly set the - return pointer. - -Tue Mar 21 11:38:48 EST 2000 NeilBrown - - * support/include/nfs/nfs.h: Removed knowledge of internals of - kernel filehandles (which can change) and defined nfs_fh_size - which has variable size - - * support/nfs/getfh.c: defined getfh_size to use new syscall to - get variable sized file handles, and change getfh{,old} to - use nfs_fh_size - - * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for - NFSv3 file handles - - * tools/Makefile, tools/nlmtest/nlmtest.c - nlmtest.c depended on internel format of file handles, so now - doesn't work. - - -2000-03-12 Chip Salzenberg - Neil Brown - - * support/nfs/rpcmisc.c (rpc_init): Share transports. - -2000-03-13 H.J. Lu - - * etc/redhat/nfsd.init: Updated. - - * etc/redhat/nfslock.init: Updated. - - * nfs-utils.spec.in: Updated. - - * configure.in (VERSION): Set to "0.1.7". - * configure: Regenerated. - * nfs-utils.spec: Updated. - - * README: Updated. - -Wed Mar 8 09:42:43 2000 Neil Brown - - * utils/exportfs/exportfs.c (dump): Included printing of - nohide, no_subtree_check, and insecure_locks - -2000-02-26 Chip Salzenberg - - * config.mk.in (INSTALLSUID): Strip ("-s"). - (INSTALLSCRIPT): Define. - * utils/nhfsstone/Makefile: Use it. - -2000-02-26 Chip Salzenberg - - * utils/lockd/lockd.man: Create. - * utils/lockd/Makefile: Install it. - * utils/nhfsstone/nhfs{run,nums,graph}.man: Create. - * utils/nhfsstone/nhfsstone.man: Change suffix from ".1". - * utils/nhfsstone/Makefile: Install the helper scripts and - all four man pages. - * utils/exportfs/exports.man: Fix typo. - -2000-02-26 Chip Salzenberg - - * support/nfs/xio.c (xungetc): Decrement line number when - character to unget is newline. Make first parameter int, so - it can distinguish EOF from \377. - * support/include/xio.h (xungetc): Adjust prototype. - -Fri Feb 4 23:42:23 2000 Neil Brown - - * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM - * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM - * utils/exportfs/exports.man: added documentation for no_auth_nlm. - - This is for supporting a new option introduced in 2.3.42 - -Thu Feb 3 14:55:48 2000 H.J. Lu - - * COPYING: Added. GPL. - -Thu Feb 03 14:40:40 2000 Cristian Gafton - - * utils/rquotad/rquota_server.c (getquotainfo): Call statfs () - to get the block size. - -Tue Jan 25 11:04:17 2000 H.J. Lu - - * nfs-utils.spec.in: Update ftp site. - -Mon Jan 17 11:48:18 2000 H.J. Lu - - * README: Update hostnames. - -Tue Jan 11 10:06:22 2000 H.J. Lu - - * configure.in (VERSION): Set to "0.1.6". - * configure: Regenerated. - * nfs-utils.spec: Updated. - - * README: Updated. - -Mon Jan 10 14:26:33 2000 H.J. Lu + nfs-utils: Fix C aliasing rules violation in nfs_getrpccaller() + + Squelch compiler warnings reported with -Wextra: + + In file included from statd.c:24: + ../../support/include/rpcmisc.h: In function nfs_getrpccaller_in: + ../../support/include/rpcmisc.h:58: warning: dereferencing type-punned + pointer might break strict-aliasing rules + ../../support/include/rpcmisc.h: In function nfs_getrpccaller: + ../../support/include/rpcmisc.h:63: warning: dereferencing type-punned + pointer might break strict-aliasing rules + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * utils/mountd/auth.c (auth_authenticate_internal): Call - xstrdup for hostname before passing it to gethostbyname. +commit a8715bec8bd671135f20fc0422d2a9fc0993758a +Author: Kevin Constantine +Date: Tue Jun 22 17:43:19 2010 -0400 - * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead - of strdup. + nfs-iostat.py: divide by zero with fresh mount + + When an export is freshly mounted, /proc/self/mountstats displays age = 0. + This causes nfs-iostat.py to divide by zero throwing an error. When we + have age = 0, other stats are greater than 0, so we'll set age = 1 and + print the relevant stats. + + Signed-off-by: Kevin Constantine + Signed-off-by: Steve Dickson -Sun Dec 19 09:35:01 1999 H.J. Lu +commit 9c3f7a220b4812c5d560db5fcacad790fc8b17af +Author: Chuck Lever +Date: Tue Jun 22 13:31:38 2010 -0400 - * README: Update the mailing list address. + libexport.a: Remove unused hostent-based DNS helper functions + + Clean up: Get rid of hostent-based DNS helper functions in + libexport.a that have been replaced by addrinfo-based DNS helpers. + + None of the original code remains, so replace the copyright notice as + well. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -Sun Dec 19 09:22:28 1999 H.J. Lu +commit 21015ace7d0a356b24a57540ccfeb41d941e78ed +Author: Chuck Lever +Date: Tue Jun 22 13:06:40 2010 -0400 - * configure.in (VERSION): Set to "0.1.5". - * configure: Regenerated. - * nfs-utils.spec: Updated. + libexport.a: Replace matchhostname() + + So that exportfs can eventually support IPv6 addresses, copy statd's + getaddrinfo(3)-based matchhostname to exportfs, with adjustments for + dealing with export wildcards and netgroups. Until exportfs has full + IPv6 support, however, we want to ensure that IPv6 addresses continue + to remain blocked in the address comparison code used by exportfs. At + a later point we'll replace much of this with the generic functions + in sockaddr.h. + + Since it contains special logic for handling wildcard and netgroups, + this function is specialized for exportfs, and does not belong in + one of the shared libraries. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * README: Updated. +commit 22d6566d473f71e241c791a02435d414648c99e8 +Author: Chuck Lever +Date: Tue Jun 22 12:51:42 2010 -0400 -Mon Dec 13 13:40:20 1999 H.J. Lu + libexport.a: Add documenting comments + + Clean up. Add a few additional documenting comments for globally + visible functions. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * utils/rquotad/hasquota.c (hasquota): Malloc one more char - for '/'. +commit 53928c0166dcc0acceaa995edb8551b48968b5dd +Author: Chuck Lever +Date: Tue Jun 22 12:44:44 2010 -0400 -Mon Dec 6 09:42:45 1999 H.J. Lu + libexport.a: Make export_add() static + + Clean up: export_add() is not called from outside of export.c, so make + it a static helper. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * configure.in (VERSION): Set to "0.1.4". - * configure: Regenerated. - * nfs-utils.spec: Updated. +commit 8940675a20967145b37a596334c25a54804435cc +Author: Chuck Lever +Date: Tue Jun 22 12:43:55 2010 -0400 - * README: Updated. + libexport.a: Make export_read() return void + + Clean up: export_read()'s return value is always zero, and its only + caller never checks it. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -Mon Dec 6 09:28:07 1999 H.J. Lu +commit 0509d3428f523776ddd9d6e9fa318587d3ec7d84 +Author: Chuck Lever +Date: Tue Jun 22 12:43:01 2010 -0400 - * nfs-utils.spec.in: New file. + mountd: Replace "struct hostent" with "struct addrinfo" + + struct hostent can store either IPv4 or IPv6 addresses, but it can't + store both address families concurrently for the same host. Neither + can hostent deal with parts of socket addresses that are outside of + the sin{,6}_addr field. + + Replace the use of "struct hostent" everywhere in libexport.a, mountd, + and exportfs with "struct addrinfo". This is a large change, but + there are so many strong dependencies on struct hostent that this + can't easily be broken into smaller pieces. + + One benefit of this change is that hostent_dup() is no longer + required, since the results of getaddrinfo(3) are already dynamically + allocated. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@". +commit 3ca5879be32c4c11750e12230ff588195fff0738 +Author: Chuck Lever +Date: Tue Jun 22 12:40:27 2010 -0400 - * configure.in (nfs-utils.spec): Added to AC_OUTPUT. + exportfs: Add a common exit label in exportfs() + + Clean up: Reduce code duplication by introducing a goto label for + freeing hp and exiting. This will make replacing "struct hostent *" + with "struct addrinfo *" more straightforward in this code. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -1999-12-04 Chip Salzenberg +commit 94ce1eb94babb4c587b2826452fb053cba745098 +Author: Chuck Lever +Date: Tue Jun 22 10:41:03 2010 -0400 - * config.mk.in: Use $(CC) as set by configure. + libexport.a: Add helpers to manage DNS lookups + + Introduce DNS query helpers based on getaddrinfo(3) and + getnameinfo(3). These will eventually replace the existing + hostent-based functions in support/export/hostname.c. + + Put some of these new helpers to immediate use, where convenient. + + As they are part of libexport.a, I've added the forward declarations + for these new functions in exportfs.h rather than misc.h, where the + hostent-based forward declarations are currently. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -1999-12-04 Chip Salzenberg +commit 8d61f2518bebe11c5fd0624857f83de1dceca991 +Author: NeilBrown +Date: Tue Jun 22 10:37:25 2010 -0400 - * rules.mk: Call $(MAKE) with $(MFLAGS). + Improve support for exporting btrfs subvolumes + + If you export two subvolumes of a btrfs filesystem, they will both be + given the same uuid so lookups will be confused. + blkid cannot differentiate the two, so we must use the fsid from + statfs64 to identify the filesystem. + + We cannot tell if blkid or statfs is best without knowing internal + details of the filesystem in question, so we need to encode specific + knowledge of btrfs in mountd. This is unfortunate. + + To ensure smooth handling of this and possible future changes in uuid + generation, we add infrastructure for multiple different uuids to be + recognised on old filehandles, but only the preferred on is used on + new filehandles. + + Signed-off-by: NeilBrown + Signed-off-by: Steve Dickson -Mon Nov 29 11:17:35 1999 H.J. Lu +commit 9ac7a15017b876d4d8d3a4502ebaf954f36f7f54 +Author: Steve Dickson +Date: Thu Jun 3 08:53:22 2010 -0400 - * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32, - IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32. + mount.nfs: silently fails when the network protocol is not found + + mount.nfs should display some type of error diagnostics when + the network protocol can not be determined. + + Signed-off-by: Steve Dickson -Mon Nov 29 11:17:35 1999 H.J. Lu +commit 740171dea45a57e396a86fbda1579a465f101854 +Author: Steve Dickson +Date: Thu Jun 3 08:32:56 2010 -0400 - * nfs-utils.spec (Version): Set to 0.1.3. + mount: silently fails when bad option values are given + + mount.nfs should not only fail when an invalid option values + are supplied (as it does), it should also print a diagnostic + message identifying the problem + + Signed-off-by: Steve Dickson - * configure.in (VERSION): Set to "nfs-utils 0.1.3". - * configure: Regenerated. +commit 94c3d7c91de582cf29ff9100950ecd4a5fd1606b +Author: Kevin Constantine +Date: Wed Jun 2 08:34:14 2010 -0400 - * README: Updated. + nfsiostat.man: Add linebreak before --version option + + The nfsiostat man file was missing a linebreak before the --verbose option + + Signed-off-by: Kevin Constantine + Signed-off-by: Steve Dickson -Mon Nov 29 11:15:47 1999 H.J. Lu +commit 291b329ad1f5a65270097f4ec3a8dd465df42669 +Author: Chuck Lever +Date: Mon May 24 06:02:22 2010 -0400 - * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed. - (_PATH_DEV_DSK): Likewise. - (getquotainfo): Match the mounting point from /etc/mtab - instead of calling nfsmount_to_devname (). + mountd: Convert colons in IPv6 presentation addresses tosemicolons + + The /var/lib/nfs/rmtab file delineates fields in each of its lines + with a ":". The first field contains the IP address of a client, in + presentation format. IPv6 presentation format addresses contain + colons, which screws up the field delineation of rmtab. + + Use a simple simple scheme to convert the colons in incoming client + names to some other character, and then convert them back when the + rmtab file is read. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -1999-11-24 Chip Salzenberg +commit 9e398e49be79af62fca8efb21849d8a2714dc92a +Author: Chuck Lever +Date: Mon May 24 06:01:22 2010 -0400 - * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks - to the new port 24 as well as the historical port 100021. + libexport.a: Refactor rmtab_read() + + Clean up: Make it easier to add IPv6 support by refactoring part of + rmtab_read() into a helper function. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -Tue Nov 23 10:21:34 1999 Neil Brown +commit 2fd2dfd9ebb2de145d50039233bd2a53b7f03062 +Author: NeilBrown +Date: Mon May 24 05:55:26 2010 -0400 - * etc/redhat/nfsd.init (stop): moved exportfs -ua after - stopping nfsd to stop spurious ESTALE on server shutdown. - -Tue Nov 23 10:13:39 1999 Neil Brown + Mountd listens on 2 different versions for NFSv2 (MOUNTv1 and MOUNTv2) + and one for NFSv3 (MOUNTv3) + + When --no-nfs-version requests an NFS version to be disabled, the + code actually disabled the MOUNT version. This works is several cases, + but requires --no-nfs-version 1 to completely disable NFSv2, which + is wrong. + + So if we do disable 1, 2, and 3. mountd complain and won't run, it + is not possible to run just v4 - i.e. not listening for MOUNT requests + at all (as v4 doesn't need them). + + So change the handling of "--no-nfs-version 2" it disable MOUNTv1 as + well as + MOUNTv2, and allow mountd to continue running as long as one of + NFSv2 NFSv3 NFSv4 is enabled. + + Signed-off-by: NeilBrown + Signed-off-by: Steve Dickson - * support/nfs/exports.c (parseopts): make copy of opt string - before 'nul'ing out commas so that +commit 6299a310d77e6495efdf7c50491f0b055fee2cfe +Author: Chuck Lever +Date: Wed May 5 15:41:07 2010 -0400 - # exportfs -o option1,option2 hosta:/fs hostb:/fs + mountd/exportfs: Make m_addrlist field a nfs_sockaddr + + To store non-AF_INET addresses in the nfs_client structure, we need to + use more than in_addr for the m_addrlist field. Make m_addrlist + larger, then add a few helper functions to handle type casting and + array indexing cleanly. + + We could treat the nfs_client address list as if all the addresses + in the list were the same family. This might work for MCL_SUBNETWORK + type nfs_clients. However, during the transition to IPv6, most hosts + will have at least one IPv4 and one IPv6 address. For MCL_FQDN, I + think we need to have the ability to store addresses from both + families in one nfs_client. + + Additionally, IPv6 scope IDs are not part of struct sin6_addr. To + support link-local IPv6 addresses and the like, a scope ID must be + stored. + + Thus, each slot in the address list needs to be capable of storing an + entire socket address, and not simply the network address part. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - applies both options to both exports. +commit 6ff1fd42db18c657fbc5f81169a566b41d53e731 +Author: Chuck Lever +Date: Wed May 5 14:42:01 2010 -0400 -Thu Oct 28 12:55:42 1999 H.J. Lu + libexport.a: Clean up client_add() + + Clean up: client_add()'s current callers never set unknown m_type + values, so the m_type check is unnecessary. + + All of client_add()'s callers are in the same source file where it is + defined, so make it a static helper function. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * README: Fix a few typos. +commit 9bb85c5e8d2285f82367c75df5530a71a9a5a5f2 +Author: Chuck Lever +Date: Wed May 5 14:37:13 2010 -0400 - * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead - of long. - * tools/rpcgen/rpc_hout.c (pdefine): Likewise. - * tools/rpcgen/rpc_main.c (c_initialize): Likewise. - * tools/rpcgen/rpc_parse.c (get_type): Likewise. - (unsigned_dec): Likewise. - * tools/rpcgen/rpc_scan.c (symbols): Likewise. - * tools/rpcgen/rpc_util.c (tokstrings): Likewise. + libexport.a: Refactor client_init() + + Clean up: Move subnet hostname parsing logic out of client_init() to + make it simpler to introduce IPv6 support. + + Make client_init() a helper, since it's already static. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32 - instead of LONG. - * tools/rpcgen/rpc_parse.c (get_type): Likewise. - (unsigned_dec): Likewise. - * tools/rpcgen/rpc_scan.c (symbols): Likewise. - * tools/rpcgen/rpc_scan.h (tok_kind): Likewise. - * tools/rpcgen/rpc_util.c (tokstrings): Likewise. +commit 0a8bd742cc1412e2553f152ee0c3aab8c5570212 +Author: Mike Frysinger +Date: Fri Apr 23 12:22:53 2010 -0400 -Thu Oct 28 11:27:51 1999 Neil Brown + Make capabilities support optional + + The new code using libcap is quite minor, so rather than always reqiure + libcap support, make it a normal --enable type flag. Current default + behavior is retained -- if libcap is found, it is enabled, else it is + disabled like every nfs-utils version in the past. + + Signed-off-by: Mike Frysinger + Signed-off-by: Steve Dickson - * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK - * support/nfs/exports.c: added {no_,}subtree_check and changed - crossmnt to nohide - * utils/exportfs/exports.man: added no_subtree_check and nohide - and removed irrelevant stuff from unfsd. - * support/export/rmtab.c: rmtab_read didn't quite do the right - thing if a pathname from rmtab was a subdirectory of an export-point +commit fbc038b7a5c7f5f102bf2c4fb149030d0092eec8 +Author: Mike Frysinger +Date: Fri Apr 23 12:18:27 2010 -0400 -Tue Oct 26 17:22:40 1999 H.J. Lu + set +x on autogen.sh + + Signed-off-by: Steve Dickson - * README: Updated ftp site. +commit 08e1512e4a932f41867f0b515348b9402db50cbd +Author: Chuck Lever +Date: Fri Apr 23 12:09:35 2010 -0400 -Mon Oct 25 18:12:45 1999 H.J. Lu + libexport.a: Allow malloc(3) failures in client_lookup() and friends + + Clean up: Use malloc(3) instead of xmalloc() in client_lookup() and + client_dup(), ensuring that a failed memory allocation here doesn't + cause our process to exit suddenly. + + Allocation of nfs_client records and the m_hostname string are now + consistently handled with malloc(3), calloc(3), strdup(3), and + free(3). + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * nfs-utils.spec (Version): Set to 0.1.2. +commit aa4b66b12b631885ed85f3ebe97e68b033407178 +Author: Chuck Lever +Date: Fri Apr 23 12:08:49 2010 -0400 - * configure.in (VERSION): Set to "nfs-utils 0.1.2". - * configure: Regenerated. + libexport.a: Allow m_hostname allocation to fail instead of exit + + Clean up: Replace xstrdup() with strdup(3) in client_init(), to + prevent the process from exiting if the memory allocation fails. + + Note that both of client_init()'s callers set m_hostname equal to NULL + before calling, thus the extra free(3) at the top of client_init() is + unneeded. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * README: Updated. +commit 5d954d871fb265af584faef5df6e2e7e6ada7c3b +Author: Chuck Lever +Date: Fri Apr 23 12:02:34 2010 -0400 -Mon Oct 25 18:11:21 1999 H.J. Lu + libexport.a: Allow client_init() to fail instead of exit + + client_init()'s current callers can now deal correctly with a failure. + Get rid of code that can cause our process to exit in client_init(), + if address mask parsing or memory allocation fails. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * utils/mountd/auth.c (auth_error): Add "no_forward_dns". - (auth_authenticate_internal): Check for NULL return on forward - DNS lookup. - (auth_authenticate): Handle "no_forward_dns". +commit 75cbc8d3fc9e7c3750629bd72519770ab58b868f +Author: Chuck Lever +Date: Fri Apr 23 12:00:28 2010 -0400 -Thu Oct 21 16:22:06 1999 H.J. Lu + libexport.a: Add client_free() + + Clean up: Introduce a helper to free a nfs_client record. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - * Version 0.1.1 released. +commit 7fc6f6c6b68ba7fa1be6de05ce3b9e2d97b82ea4 +Author: Steve Dickson +Date: Fri Apr 16 10:56:29 2010 -0400 - * nfs-utils.spec (Version): Set to 0.1.1. + Add in autoconf support for mountstats and nfsiostats + + Signed-off-by: Steve Dickson - * configure.in (VERSION): Set to "nfs-utils 0.1.1". - * configure: Regenerated. +commit d8ff9ef2828059bb2ee115d22f3c9579421daf54 +Author: Steve Dickson +Date: Fri Apr 16 10:49:10 2010 -0400 - * README: Updated. + Introduce man page for the nfsiostats command + + Signed-off-by: Steve Dickson -Mon Oct 18 17:43:29 1999 H.J. Lu +commit c03fe46d62bc78cb52d400fa5a52dc4ce9947945 +Author: Steve Dickson +Date: Fri Apr 16 10:46:41 2010 -0400 - * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client - to knfsd-clients. - (Provides): Likewise. + Introduce man page for the mountstats command + + Signed-off-by: Steve Dickson -Mon Oct 18 14:56:22 1999 H.J. Lu +commit c4b2281c6c748b768de7a49af89660c9c1a68b11 +Author: Steve Dickson +Date: Fri Apr 16 13:31:57 2010 -0400 - * Initial version 0.1 released. + Removed some miscellaneous warnings in the new gssd code. + + Signed-off-by: Steve Dickson - * configure.in (VERSION): Set to "nfs-utils 0.1". - * configure: Regenerated. +commit 4c5ff6d48021731128c4fc13d51610645a6fcf5c +Author: Kevin Coffman +Date: Mon Apr 12 17:13:25 2010 -0400 -Mon Oct 18 14:54:57 1999 H.J. Lu + Add support for non-DES encryption types. + + Sends a new format of context information to the kernel. + (Requires kernel support to do anything useful.) + + Signed-off-by: Steve Dickson - * utils/mountd/mountd.c (get_exportlist): Cleanup. +commit 76be349d5dd07f55797cb9920cc275667258f10f +Author: Kevin Coffman +Date: Thu Apr 15 08:32:20 2010 -0400 - * utils/exportfs/exportfs.c (unexport_all): Unexport from - kernel only if the entry is exported to kernel. - (unexportfs): Likewise. + Try to use kernel function to determine supported Kerberos enctypes. + + This patch replaces a hard-coded list with a function to obtain + the Kerberos encryption types that the kernel's rpcsec_gss code + can support. Defaults to old behavior if kernel does not supply + information. + + Signed-off-by: Steve Dickson -Wed Sep 08 16:49:32 1999 Neil Brown +commit 48d13033dcb27eb3d9ea78c39692ff7c54095950 +Author: Kevin Coffman +Date: Mon Apr 12 17:06:30 2010 -0400 -1/ utils/mountd/rmtab.c::mountlist_list + gssd: move function limit_krb5_enctypes into the exported functions area + + cleanup: Move function limit_krb5_enctypes() from the section + containing static functions into the section containing + externally visible functions. + + Signed-off-by: Steve Dickson - This routine stats the rmtab file to see if it has changed. It - if has, it cleans up it's old copy of the data. But it still - always re-read the file, thus returning multiple copies of the - data on consecutive calls without intervening changes. - "Showmount -a" didn't show this as it appears to sort/unique the - data, but 'strace showmount -a' showed that the size of the - datagram that it received grew. +commit 470448e77bd673b206cf40820f966dcb8f029f27 +Author: Chuck Lever +Date: Fri Apr 16 13:03:20 2010 -0400 - I moved the getrmtabent loop inside the mtime test. + libexport.a: export_find() should handle address parsing errors + + An address mask parsing error can cause client_init(), and therefore + client_dup(), to make our process exit suddenly. Soon we want to add + more complex address parsing in client_init(), so we need this + interface to be a little more robust. + + Since export_find() can return NULL in some cases, it can handle NULL + returns from its subroutines if an address parsing error occurs, or if + memory is exhausted. Allow for client_dup() to return NULL instead of + exiting sideways. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -2/ utils/exportfs/exportfs.c - - Many routines used the m_path field of m_export instead of - e_path. - According to the comment in nfslib.h, m_path should only - be used when processing a mount request (i.e. in mountd) - where the mountpoint may be a subdirectory of the export point. +commit 9b7cc679c70d00af3f44dc6a8b44a360a2423d64 +Author: Chuck Lever +Date: Fri Apr 16 13:02:15 2010 -0400 - I changed all occurances of m_path to e_path + libexport.a: Add export_free() + + Clean up: Introduce a helper to free an nfs_export record. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson +commit 30eff9c26141746fb26efb1af60d5cbe7a16ebae +Author: Chuck Lever +Date: Thu Apr 15 08:59:18 2010 -0400 -3/ utils/exportfs/exportfs.c:main + libexport.a: Add helper for populating m_addrlist[] + + Clean up: Move common code that populates an nfs_client record's + m_addrlist to a helper function. This eliminates a little code + duplication, and makes it simpler to add IPv6 support later. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - extra arguments are not meaningful with -a or -r, but - exportfs accepted them and then ignored the -a/-r, expect that - -r would still unexport everything first. +commit e1c93f691348392ee36b763bf57946540891ff16 +Author: Chuck Lever +Date: Thu Apr 15 08:57:29 2010 -0400 - I generate an error if there are extra args and f_all + libexport.a: Reduce code duplication in client_init() + + Clean up: Most cases in client_init() set clp->m_naddr to zero. Move + it to the common part of the function, and simplify the logic. This + will make adding IPv6 support here more straightforward. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -4/ utils/exportfs/exportfs.c:main - extract dump out as a special case. +commit 1fc99e6d5d6b9401e380ee756a4251c86a3b8d54 +Author: Mike Frysinger +Date: Thu Apr 15 08:49:28 2010 -0400 -5/ utils/exportfs/exportfs.c - made f_reexport a local variable. + set +x on t0001-statd-basic-mon-unmon.sh + + The test framework tries to exec this script, but it fails because it + lacks the +x bit. + + Signed-off-by: Mike Frysinger + Signed-off-by: Steve Dickson +commit bf867b09201abb155b52e81aeb08757b2f7c6937 +Author: Chuck Lever +Date: Thu Apr 8 11:01:14 2010 -0400 -6/ utils/exportfs/exportfs.c:main,exportall + libexport.a: replace xlog(L_FATAL) in client_check() + + Clean up: Prevent the process from exiting in client_check(). Report + bad m_type values, but return 0. + + This removes another site where a mountd or exportfs process can exit + sideways. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - support/export/rmtab.c - only mayexport on newly created entries, don't set xtabent at all +commit a39b43b81a8e7b70310f250c5ffd77816577cd6c +Author: Chuck Lever +Date: Thu Apr 8 10:55:02 2010 -0400 -7/ support/include/nfslib.h + libexport.a: Refactor wildcard checking in client_check() + + Clean up: refactor wildcard logic out of client_check() to make it + easier to introduce IPv6 support. + + Match the style used for client_check_{fqdn,subnetwork,netgroup}. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports +commit 346ca35298e45e55a58d0f566c3b32b69102c6de +Author: Chuck Lever +Date: Thu Apr 8 10:54:01 2010 -0400 -8/ support/export/xtab.c + libexport.a: Refactor netgroup checking in client_check() + + Clean up: refactor netgroup logic out of client_check() to make it + easier to introduce IPv6 support. + + + Use preferred style of keeping #ifdef out of the middle of + function definitions. Squelch compiler warnings for "#ifndef + HAVE_INNETGR" by using __attribute__((unused)). + + + Use preferred style of not using curly braces around switch cases. + + + Match style used for check_{fqdn,subnetwork}. + + + Clarify comment documenting use of h_aliases + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists, - else from xtab +commit 3455138100064d0213b124c72453accde2276be5 +Author: Chuck Lever +Date: Thu Apr 8 10:52:33 2010 -0400 + libexport.a: Remove unused function client_checkaddr() + + Clean up. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -9/ support/export/xtab.c +commit a4e3d5c53195c789ae26697a0b2ecdf05d76a85b +Author: Chuck Lever +Date: Thu Apr 8 10:51:54 2010 -0400 - xtab_mount_read now sets m_exported, and NOT - xtabent and mayexport + libexport.a: Factor SUBNETWORK checking out of check_client() + + Clean up: Factor the MCL_SUBNETWORK case out of check_client() and + client_checkaddr(). This will make it easier to add IPv6 support + eventually. + + The logic in the new helper function will get a little more tangled + once IPv6 support is introduced. Each slot in the clp address list + eventually may contain an address from either address family. + + Note that the switch statement in client_checkaddr() is redundant, + since clp->cl_mtype is loop invariant. This change makes SUBNETWORK + client checking more computationally efficient, at the cost of a few + extra lines of code. + + This commit should not change code behavior in any way. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - removed the append arguement from xtab_write as it was - never used. +commit 6abde64e6a605443dfc283ffb2642cb853f8b5b0 +Author: Chuck Lever +Date: Thu Apr 8 10:50:41 2010 -0400 - added is_export flag to xtab_write similar to xtab_read - if is_export, only write entries with m_xtabent or m_addxtab - if !is_export, only write entries with m_exported - -10/ support/export/export.c::export_allowed_internal + libexport.a: Factor FQDN checking out of check_client() + + Clean up: Factor the MCL_FQDN case out of check_client() and + client_checkaddr(). This will make it easier to add IPv6 support + eventually. + + The logic in the new helper function will get a little more tangled + once IPv6 support is introduced. Each slot in the clp address list + eventually may contain an address from either address family. + + Note that the switch statement in client_checkaddr() is redundant, + since clp->cl_mtype is loop invariant. This change makes FQDN client + checking more computationally efficient, at the cost of a few extra + lines of code. + + This commit should not change code behavior in any way. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - added test for exp->m_mayexport, as the export tree - may have entries that are no longer allowed to be exported, - and so shouldn't caused deduced exported by rmtab_read +commit e8a54a3d5e32c9de009f84d1ef3f26d2dffbf226 +Author: Steve Dickson +Date: Thu Apr 8 10:43:49 2010 -0400 -11/ utils/exportfs/exportfs.c::main - error checking of flags. + Remove some warnings that were introduced by commit 6ca440c + + Signed-off-by: Steve Dickson -12/ utils/exportfs/exportfs.c +commit 132744e9f8885254bcf213c90009d40adeb716bc +Author: Chuck Lever +Date: Mon Mar 22 10:18:00 2010 -0400 - total rewrite of export and unexport logic. - We now: - - build an exportslist of valid exports, based on - current etab file and arguments, - - read rmtab to instantiate relevant wild card entries - - read etab to find out what is currently exported - - synchronise intention with reality - - write out etab and xtab + libexport.a: e_fslocdata should be freed with free(3) + + Clean up: Since e_fslocdata is allocated with strdup(3), and not + xstrdup(), it should be freed with free(3), and not xfree(). + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -13/ various - discard the m_addxtab flag - add m_changed flag so we know what to report in exportfs +commit e3b0046b4b12a6e05c0a7afd59ca5431ded51e96 +Author: Chuck Lever +Date: Mon Mar 22 10:16:04 2010 -0400 -14/ utils/mountd/auth.c:auth_authenticate + libexport.a: Fix whitespace damage in support/export/export.c + + Clean up whitespace damage introduced by commit 4cacc965. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - the value returned by gethostbyaddr was trusted. +commit 5f722d8855ebcb2d041e182c8c69c8cbee4bf408 +Author: Chuck Lever +Date: Mon Mar 22 10:13:15 2010 -0400 - It now follows this with a call to gethostbyname - and checks that the address is in the list. + libexport.a: Clean up client_compose() and client_member() + + Clean up: Replace outdated comments, and fix some function + declarations. Use proper type for a couple of automatic variables. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -15/ support/export/nfsctl.c::cltsetup,expsetup +commit aa4c771fc359e097a3a6c3637f78c7bed7c450e9 +Author: Chuck Lever +Date: Mon Mar 22 10:10:59 2010 -0400 - force client names to lowercase as kernel is - sensitive to case + libexport.a: Remove dead code + + Clean up: I can't find any call sites for client_find() or + client_match(). + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson -16/ quietened a few compiler warnings +commit 0935cebc1e130c6adfd870c88a6493277c84d47f +Author: Chuck Lever +Date: Fri Mar 19 16:14:26 2010 -0400 -17/ support/export/client:client_lookup + mount: Mount should retry unreachable hosts + + Currently if a server is up but not responding (ie, it answers ARP + requests, but not NFS or RPC requests), mount retries or backgrounds + itself waiting for the server. + + If the server is not responding on the network at all, mount fails + the mount request immediately. + + Users might find it more useful if mount retried in both cases. + + Note that this change means attempting to mount using a misspelled + server name will "hang" for the retry amount. I suppose the error + message isn't very helpful whether it fails immediately or waits + a couple of minutes, though I imagine that an unreachable server is a + much more common occurrence than a misspelling. + + Reported-by: Daniel Goering + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - look for pre-existing client with same name before creating - a new one. +commit baa41b2c78e796540c45692ea35214f7090a78cb +Author: Chuck Lever +Date: Fri Mar 19 16:03:45 2010 -0400 -18/ support/include/exportfs.h + sm-notify: Send fully-qualified and unqualified mon_names + + During any file locking interaction between an NFS client and server, + the client tells the server what hostname it will use as the mon_name + argument of the SM_NOTIFY request sent by the client when it reboots. + This is the "caller_name" argument of an NLMPROC_LOCK request. + + The server, however, never tells the client what mon_name argument + it will use when sending an SM_NOTIFY request. In order to recognize + the server, clients usually guess what mon_name the server might + send, by using the server hostname provided by the user on the mount + command line. + + Frequently, the user provides an unqualified server name on the mount + command. The server might then call the client back with a fully + qualified domain name, which might not match in some cases. + + Solaris, and perhaps other implementations, attempt to mitigate this + problem by sending two SM_NOTIFY requests to each peer: one with an + unqualified mon_name argument, and one with a fully qualified mon_name. + + Implement such a scheme for sm-notify. + + Since my_name is almost always the fully-qualified hostname associated + with the local system, just wiping the left-most '.' in the my_name + argument and sending another SM_NOTIFY is nearly always sufficient. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson - The ordering of the MCL_* enum was: - ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP +commit 900df0e7c0b9006d72d8459b30dc2cd69ce495a5 +Author: Chuck Lever +Date: Wed Mar 17 06:15:08 2010 -0400 - I moved ANONYMOUS to the end. + sm-notify: Use my_name when sending SM_NOTIFY requests + + The mon_name argument of an SM_NOTIFY request is a string that + identifies the rebooting host. + + sm-notify should send the my_name provided by the local lockd at the + time the remote was monitored, rather than cocking up a mon_name + argument based on the present return value of gethostname(3). If the + local system's hostname happened to change after the last reboot, then + the string returned by gethostname(3) will not be recognized by the + remote. Thus the remote will never initiate lock recovery for the + original named host, possibly leaving stale locks. + + The existing behavior of using the -v command line option as the + mon_name argument is preserved, but we now prevent sending an IP + presentation address, as some non-Linux implementations don't + recognize addresses as valid mon_names. + + Signed-off-by: Chuck Lever + Reviewed-by: Jeff Layton + Signed-off-by: Steve Dickson - The ordering is significant when an export entry is being searched for to - match a given address. There are two problems with ANONYMOUS being first. +commit 70c59e231e7257ac93b68ba4b844f8d10a6af4a8 +Author: J. Bruce Fields +Date: Mon Mar 8 15:02:26 2010 -0500 - 1/ if a directory is exported rw to a couple of hosts and ro to everyone else, - then the ro case will always be found first and the privileged hosts won't get - their privilege - 2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN - export entry for the specific host, and writes it to xtab. - When another request comes from the same host, the ANONYMOUS entry is found again, - before the new FQDN entry, so it creates another FQDN entry and writes it to xtab - again. If causes bloat in xtab. + mountd: trivial: name parameters for clarity + + Part of the reason for the previous bug was confusion between "subpath" + and "path"; which is the shorter path, and which the longer? + + "child" and "parent" seem less ambiguous. + + Signed-off-by: J. Bruce Fields + Signed-off-by: Steve Dickson - Putting ANONYMOUS at the end reflects it's nature as a catch-all +commit a064fde8c2615333227de97d159bb338d4ac640d +Author: J. Bruce Fields +Date: Mon Mar 8 14:59:01 2010 -0500 -19/ utils/exportfs/exportfs.man - many updates to the man page to reflect changes to the code + mountd: fix path comparison for v4 crossmnt + + This was obviously wrong, since path[strlen(path)] == '\0' + should always be true. + + Signed-off-by: J. Bruce Fields + Signed-off-by: Steve Dickson ------------------------ +commit 6ca440c2661dccb05ae74ffb65817e9c30f05c8a +Author: Steve Dickson +Date: Mon Mar 8 11:22:46 2010 -0500 + mountd: fix --manage-gids hang due to int/uint bug + + A uid or gid should be represented as unsigned, not signed. + + The conversion to signed here could cause a hang on access by an unknown + user to a server running mountd with --manage-gids; such a user is + likely to be mapped to 232-1, which may be converted to 231-1 when + represented as an int, resulting in a downcall for uid 231-1, hence the + original rpc hanging forever waiting for a cache downcall for 232-1. + + Signed-off-by: J. Bruce Fields + Signed-off-by: Steve Dickson +commit 84346b7d7e69c113d6dbf03f2646a47b0e74a6b8 +Author: Steve Dickson +Date: Mon Mar 8 10:24:44 2010 -0500 -TODO: + Use authunix_create() instead of authsys_create() to fix regression. + + Commit 409b8 introduced a regression when the --disable-tirpc + configuration flag is set. The authsys_create() interface, which + was introduced, does not exist in the legacy glibc library. + + Since the authsys_create() interface is a redefined of the + authunix_create() interface, which is defined in glibc, using + authunix_create() resolves the regression, + + Acked-by: Jeff Layton + Signed-off-by: Steve Dickson -- allow exportfs to modify rmtab file -- make sure kernel never gets two clients with same IP address - - possible kernel should reject - - needs to be some way to lookup client in kernel by IP address -- maybe get kernel to do case-insensitive comparisons on client names -- remove unused clients from kernel +commit 409b89cc7106154780400c6b2bdce46bc9d5db4b +Author: Jeff Layton +Date: Mon Mar 1 08:07:34 2010 -0500 -- change etab to xtab and xtab to xtab.active + nfs-utils: add and use nfs_authsys_create + + The current mount, umount and showmount code uses + authunix_create_default to get an auth handle. The one provided by glibc + returned a truncated list of groups when there were more than 16 groups. + libtirpc however currently does an abort() in this case, which causes + the program to crash and dump core. + + nfs-utils just uses these auth handles for the MNT protocol, so the + group list doesn't make a lot of difference here. Add a new function + that creates an auth handle with a supplemental gids list that consists + only of the primary gid. Have nfs-utils use that function anywhere that + it currently uses authunix_create_default. Also, have the caller + properly check for a NULL return from that function. + + Signed-off-by: Jeff Layton + Signed-off-by: Steve Dickson -- timestamp and/or statd-stamp in rmtab for removing old entries. +commit 9c8c2cd50d3cf0316c2a1bdf6cb9efc7e1a20be9 +Author: Trond Myklebust +Date: Mon Mar 1 07:37:49 2010 -0500 -Mon Oct 18 11:48:07 1999 H.J. Lu + Fix a typo in commit 6d5ac3fa (nfsd: Disble NFS 4.1 functionality by + default). + + We did not really intend to make NFSv4.0 support conditional on NFSv4.1 + being enabled. + + Signed-off-by: Steve Dickson - * linux-nfs: New directory. - * linux-nfs/ChangeLog: Moved from .. - * linux-nfs/INSTALL: Likewise. - * linux-nfs/KNOWNBUGS: Likewise. - * linux-nfs/NEW: Likewise. - * linux-nfs/README: Likewise. - * linux-nfs/THANKS: Likewise. - * linux-nfs/TODO: Likewise. +commit 639b63394c6dd66e06423bfe810366277955c570 +Author: Steve Dickson +Date: Thu Feb 18 07:35:00 2010 -0500 - * Starting from knfsd 1.4.7. + Release 1.2.2 + + Signed-off-by: Steve Dickson diff --git a/configure.ac b/configure.ac index 7c9e61a..3058be6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. dnl -AC_INIT([linux nfs-utils],[1.2.2],[linux-nfs@vger.kernel.org],[nfs-utils]) +AC_INIT([linux nfs-utils],[1.2.3],[linux-nfs@vger.kernel.org],[nfs-utils]) AC_CANONICAL_BUILD([]) AC_CANONICAL_HOST([]) AC_CONFIG_MACRO_DIR(aclocal)