X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=ChangeLog;h=062ed67716545c548b330742c97d3dccaf091c5f;hp=7fdc5cc5c88732a64b3797895fd80073cccedee9;hb=014e00dfaea0efc92150e2aedc5ca43aa337545e;hpb=930119075722c6e2e42a5f20ec4c42579ea6cf1a diff --git a/ChangeLog b/ChangeLog index 7fdc5cc..062ed67 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,2636 +1,1527 @@ -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 - - * debian/changelog: Version 1.0.2-2. - -2002-11-27 Chip Salzenberg - - * utils/mountd/rmtab.c (slink_safe_rename): Fix off-by-one buffer - overflow bug. Reformat per rest of source file. - -2002-11-19 NeilBrown - - * utils/exportfs/exports.man: Correct notes about whether the wild - card characters match a period. They do. - -2002-10-15 Juan Gomez - - * utils/mountd/rmtab.c (slink_safe_rename): New. Support - symlink. - (mountlist_add): Call slink_safe_rename instead of rename. - -2002-10-11 H.J. Lu - - * support/include/exportfs.h (export_errno): New. - - * 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. - - * utils/exportfs/exportfs.c (main): Initialize export_errno to - 0. Return export_errno. - -2002-10-11 Juan Gomez - NeilBrown - - 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 - - * utils/rquotad/rquota_svc.c (main): Use int for value of getopt. - -2002-09-15 Chip Salzenberg - - * 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. - -2002-09-12 H.J. Lu - - * support/nfs/svc_socket.c: Remove HAVE_SVCTCP_SOCKET and - HAVE_SVCUDP_SOCKET. - -2002-09-12 H.J. Lu - - * configure.in: Remove checking svctcp_socket and svcudp_socket. - * configure: Regenerated. - - * support/include/config.h.in (HAVE_SVCTCP_SOCKET): Removed. - (HAVE_SVCUDP_SOCKET): Removed. - - * support/include/nfslib.h: Undo the last change. - -2002-09-12 H.J. Lu - - * support/include/nfslib.h (svctcp_socket): Protect it with - HAVE_SVCTCP_SOCKET. - (svcudp_socket): Protect it with HAVE_SVCUDP_SOCKET. - -2002-09-12 H.J. Lu - - * configure.in (VERSION): Set to "1.0.2". - * configure: Regenerated. - * nfs-utils.spec: Likewise. - -2002-09-12 H.J. Lu - - * configure.in: Check svctcp_socket and svcudp_socket. - * configure: Regenerated. - - * support/include/config.h.in (HAVE_SVCTCP_SOCKET): New. - (HAVE_SVCUDP_SOCKET): New. - - * support/include/nfslib.h (svctcp_socket): New. - (svcudp_socket): New. - - * support/nfs/Makefile (OBJS): Add svc_socket.o. - - * support/nfs/svc_socket.c: New. - - * support/nfs/rpcmisc.c (rpc_init): Call svctcp_socket and - svcudp_socket if port is unspecified. - - * utils/nfsd/nfsd.c (main): Call getservbyname for port. - - * utils/rquotad/rquota_svc.c: Include . - (killer): New. Signal handler to unregister. - (main): Use killer. Call svcudp_socket to get the default - socket. - -2002-09-02 Juan Gomez - NeilBrown - - Add -N option to statd to run in notify-only mode. - - * 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 - - 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 - - * utils/nfsd/nfsd.man: Fix typo. - * debian/changelog: Version 1.0.1-1. - -2002-05-29 NeilBrown - - * 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 - - * 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 - - * support/nfs/rmtab.c(fendrmtabent): sync changes to - storage before returning, as this is critical state - -2002-04-08 Sean O'Connell - H.J. Lu - - * etc/redhat/nfs: New. - -2002-04-08 H.J. Lu - - * etc/redhat/nfs.init: Updated. - - * nfs-utils.spec.in: Updated. - * nfs-utils.spec: Regenerated. - - * utils/mountd/mountd.c (longopts): Fix a typo. - - * utils/mountd/mountd.man: Updated. - -2002-04-07 H.J. Lu - - * etc/redhat/nfslock.init (restart): Just do stop and start. - - * etc/redhat/nfs.init: Fix a typo. - -2002-04-07 H.J. Lu - - * configure.in (VERSION): Set to "1.0.1". - * configure: Regenerated. - * nfs-utils.spec: Likewise. - - * 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. - -2001-12-26 Chip Salzenberg - - * nfs-utils.spec (Version): Set to "1.0". - * configure.in (VERSION): Likewise. - * configure: Regenerated. - * README: Rewritten. - * debian/changelog: Version 1.0-1. - - * 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. - -2001-12-20 NeilBrown - - * 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 - - * 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 - - * utils/mountd/auth.c (auth_authenticate_internal): Call - xstrdup for hostname before passing it to gethostbyname. - - * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead - of strdup. - -Sun Dec 19 09:35:01 1999 H.J. Lu - - * README: Update the mailing list address. - -Sun Dec 19 09:22:28 1999 H.J. Lu - - * configure.in (VERSION): Set to "0.1.5". - * configure: Regenerated. - * nfs-utils.spec: Updated. - - * README: Updated. - -Mon Dec 13 13:40:20 1999 H.J. Lu - - * utils/rquotad/hasquota.c (hasquota): Malloc one more char - for '/'. - -Mon Dec 6 09:42:45 1999 H.J. Lu - - * configure.in (VERSION): Set to "0.1.4". - * configure: Regenerated. - * nfs-utils.spec: Updated. - - * README: Updated. - -Mon Dec 6 09:28:07 1999 H.J. Lu - - * nfs-utils.spec.in: New file. - - * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@". - - * configure.in (nfs-utils.spec): Added to AC_OUTPUT. - -1999-12-04 Chip Salzenberg - - * config.mk.in: Use $(CC) as set by configure. - -1999-12-04 Chip Salzenberg - - * rules.mk: Call $(MAKE) with $(MFLAGS). - -Mon Nov 29 11:17:35 1999 H.J. Lu - - * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32, - IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32. - -Mon Nov 29 11:17:35 1999 H.J. Lu - - * nfs-utils.spec (Version): Set to 0.1.3. - - * configure.in (VERSION): Set to "nfs-utils 0.1.3". - * configure: Regenerated. - - * README: Updated. - -Mon Nov 29 11:15:47 1999 H.J. Lu - - * 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 (). - -1999-11-24 Chip Salzenberg - - * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks - to the new port 24 as well as the historical port 100021. - -Tue Nov 23 10:21:34 1999 Neil Brown - - * 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 - - * support/nfs/exports.c (parseopts): make copy of opt string - before 'nul'ing out commas so that - - # exportfs -o option1,option2 hosta:/fs hostb:/fs - - applies both options to both exports. - -Thu Oct 28 12:55:42 1999 H.J. Lu - - * README: Fix a few typos. - - * 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. - - * 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. - -Thu Oct 28 11:27:51 1999 Neil Brown - - * 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 - -Tue Oct 26 17:22:40 1999 H.J. Lu - - * README: Updated ftp site. - -Mon Oct 25 18:12:45 1999 H.J. Lu - - * nfs-utils.spec (Version): Set to 0.1.2. - - * configure.in (VERSION): Set to "nfs-utils 0.1.2". - * configure: Regenerated. - - * README: Updated. - -Mon Oct 25 18:11:21 1999 H.J. Lu - - * 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". - -Thu Oct 21 16:22:06 1999 H.J. Lu - - * Version 0.1.1 released. - - * nfs-utils.spec (Version): Set to 0.1.1. - - * configure.in (VERSION): Set to "nfs-utils 0.1.1". - * configure: Regenerated. - - * README: Updated. - -Mon Oct 18 17:43:29 1999 H.J. Lu - - * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client - to knfsd-clients. - (Provides): Likewise. - -Mon Oct 18 14:56:22 1999 H.J. Lu - - * Initial version 0.1 released. - - * configure.in (VERSION): Set to "nfs-utils 0.1". - * configure: Regenerated. - -Mon Oct 18 14:54:57 1999 H.J. Lu - - * utils/mountd/mountd.c (get_exportlist): Cleanup. - - * utils/exportfs/exportfs.c (unexport_all): Unexport from - kernel only if the entry is exported to kernel. - (unexportfs): Likewise. - -Wed Sep 08 16:49:32 1999 Neil Brown - -1/ utils/mountd/rmtab.c::mountlist_list - - 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. - - I moved the getrmtabent loop inside the mtime test. - -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. - - I changed all occurances of m_path to e_path - - -3/ utils/exportfs/exportfs.c:main - - 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. - - I generate an error if there are extra args and f_all - -4/ utils/exportfs/exportfs.c:main - extract dump out as a special case. - -5/ utils/exportfs/exportfs.c - made f_reexport a local variable. - - -6/ utils/exportfs/exportfs.c:main,exportall - - support/export/rmtab.c - only mayexport on newly created entries, don't set xtabent at all - -7/ support/include/nfslib.h - - add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports - -8/ support/export/xtab.c - - xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists, - else from xtab - - -9/ support/export/xtab.c - - xtab_mount_read now sets m_exported, and NOT - xtabent and mayexport - - removed the append arguement from xtab_write as it was - never used. - - 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 - - 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 - -11/ utils/exportfs/exportfs.c::main - error checking of flags. - -12/ utils/exportfs/exportfs.c - - 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 - -13/ various - discard the m_addxtab flag - add m_changed flag so we know what to report in exportfs - -14/ utils/mountd/auth.c:auth_authenticate - - the value returned by gethostbyaddr was trusted. - - It now follows this with a call to gethostbyname - and checks that the address is in the list. - -15/ support/export/nfsctl.c::cltsetup,expsetup - - force client names to lowercase as kernel is - sensitive to case - -16/ quietened a few compiler warnings - -17/ support/export/client:client_lookup - - look for pre-existing client with same name before creating - a new one. - -18/ support/include/exportfs.h - - The ordering of the MCL_* enum was: - ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP - - I moved ANONYMOUS to the end. - - 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. - - 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. - - Putting ANONYMOUS at the end reflects it's nature as a catch-all - -19/ utils/exportfs/exportfs.man - many updates to the man page to reflect changes to the code - ------------------------ - - - -TODO: - -- 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 - -- change etab to xtab and xtab to xtab.active - -- timestamp and/or statd-stamp in rmtab for removing old entries. - -Mon Oct 18 11:48:07 1999 H.J. Lu - - * 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. - - * Starting from knfsd 1.4.7. +commit 684cf4a5e0e84a1367690d7ecf4882cbdf4f3228 +Author: Prem Karat +Date: Thu Jun 30 07:29:20 2011 -0400 + + mount.nfs: Fix for the bug in v1.2.4 that breaks mount.nfs + + commit 30ebf047 failed to include these changes that breaks mount.nfs. + mount.nfs will continue to work fine with these changes + + Signed-off-by: Steve Dickson + +commit 057d2add27d1e05fed3ae7206ee043b6c1fda45a +Author: NeilBrown +Date: Tue Jun 28 13:24:33 2011 -0400 + + Do not compile unnecessary files when the libmount code is enable + + Signed-off-by: Steve Dickson + +commit 30ebf04700654deddbf5f57d95e84ec69cea8610 +Author: Prem Karat +Date: Tue Jun 28 11:53:40 2011 -0400 + + mount.nfs: Don't hard code source and destination + + Currently souce and destination parameters should be passed as first and + second paramter while using mount.nfs. This patch allows them to be passed + anywhere while mounting. + + Current functionality is + mount.nfs source destn -o + This patch will allow to do this + mount.nfs -o source destn + or + mount.nfs -o source -o destn + + Signed-off-by: Prem Karat + Signed-off-by: Steve Dickson + +commit b3e190c4adfc9ec47567c968bd000d282d07b05e +Author: NeilBrown +Date: Tue Jun 28 11:36:31 2011 -0400 + + mount: improve signal management when locking mtab + + As mount.nfs can run setuid it must be careful about how the user can + interact with in. In particular it needs to ensure it does not + respond badly to any signals that the user might be able to generate. + + This is particularly an issue while updating /etc/mtab (when that is + not linked to /proc/mounts). If the user can generate a signal which + kills mount.nfs while /etc/mtab is locked, then it will leave the file + locked, and could possibly corrupt mtab (particularly if 'ulimit 1' + was previously issued). + + Currently lock_mtab does set some handlers for signals, but not + enough. It arranges for every signal up to (but not including) + SIGCHLD to cause mount.nfs to unlock mdadm promptly exit ... even if + the default behaviour would be to ignore the signal. SIGALRM is + handled specially, and signals after SIGCHLD are left with their + default behaviour. This includes for example SIGXFSZ which can be + generated by the user running "ulimit 1". + + So: change this so that some signals are left unchanged, SIGALRM is + handled as required, and all signals that the user can generate are + explicitly ignored. + + The remainder still cause mount.nfs to print a message, unlock mtab, and + exit. + + Signed-off-by: NeilBrown + Signed-off-by: Steve Dickson + +commit a99b7846e2abec5e26ab6b764b921d79559e0a0f +Author: J. Bruce Fields +Date: Mon Jun 27 12:31:07 2011 -0400 + + mountd: move fsidtype-specific code to helpers + + Now we can move these big switch statements into helper functions. + + Signed-off-by: J. Bruce Fields + Signed-off-by: Steve Dickson + +commit e6559fd0b7b63f5d152d33d598dc74d78df30ecb +Author: J. Bruce Fields +Date: Mon Jun 27 12:30:36 2011 -0400 + + mountd: gather fsid information into one struct + + A large part of nfsd_fh() is concerned with extracting + fsid-type-specific information from the fsid, then matching that + information with information from the export list and the filesystem. + + Moving all that information into one struct will allow some further + simplifications. + + Signed-off-by: J. Bruce Fields + Signed-off-by: Steve Dickson + +commit 13a0a61d037f2cc09e7997a96ce5822b9317883b +Author: J. Bruce Fields +Date: Mon Jun 27 12:29:51 2011 -0400 + + mountd: prefer explicit subexports over crossmnt parents + + If a parent is exported with crossmnt, and if a child is also explicitly + exported, then both exports could potentially produce matches in this + loop; that isn't a bug. + + Instead of warning and ignoring the second match we find, we should + instead prefer whichever export is deeper in the tree, so that + children's options can override those of their parents. + + Reported-by: Olga Kornievskaia + Signed-off-by: J. Bruce Fields + Signed-off-by: Steve Dickson + +commit f8d26c1db9a260597828685c7f62e1b29e78285f +Author: Jeff Layton +Date: Wed Jun 22 15:52:55 2011 -0400 + + manpage: add section on character class matches to exports(5) + + Signed-off-by: Jeff Layton + Signed-off-by: Steve Dickson + +commit cb6676aea5bcfcbeaf868e53177eff51f4efe9a8 +Author: James Pearson +Date: Wed Jun 22 15:51:47 2011 -0400 + + nfs-utils: remove possibly false statement from exports.man + + A very minor change suggested by J. Bruce Fields + to remove the statement that exporting to a single host or IP address is + the "most common format" - as it probably isn't. + + Signed-off-by: James Pearson + Signed-off-by: Steve Dickson + +commit 7d71ff8e3825a7f8c2d5c9b5b9344e95e7aa1392 +Author: Jeff Layton +Date: Wed Jun 22 15:51:02 2011 -0400 + + manpage: add info about IPv6 configuration to exports(5) + + The parts of the exports(5) manpage that discuss IP addressing neglect + IPv6 configuration. Update to include info on how to export to IPv6 + subnets and addresses, and add a line demonstrating that to the EXAMPLE + section. + + Signed-off-by: Jeff Layton + Signed-off-by: Steve Dickson + +commit 545ea1098089d6396d5a70111ec231c4de967faa +Author: Benny Halevy +Date: Wed Jun 22 15:44:17 2011 -0400 + + nfsstat: reorder nfs4 stats for 2.6.39 + + Signed-off-by: Benny Halevy + Signed-off-by: Steve Dickson + +commit c7ce7a4674ad446bee4dd3baf90155ce6b216816 +Author: Mi Jinlong +Date: Wed Jun 22 15:41:27 2011 -0400 + + libexport.a: fix using bad index for loop at cltsetup() + + In cltsetup(), when checking the address, use clp's naddr for index, + instead of cltarg's naddr, which it's always zero there. + + Signed-off-by: Mi Jinlong + Signed-off-by: Steve Dickson + +commit b50ad13298b3e9519a9bdecb8c146c9ecf39cef8 +Author: Jeff Layton +Date: Wed Jun 22 14:51:38 2011 -0400 + + nfs: fix host_reliable_addrinfo + + According to Neil Brown: + + The point of the word 'reliable' is to check that the name we get + really does belong to the host in question - ie that both the + forward and reverse maps agree. + + But the new code doesn't do that check at all. Rather it simply + maps the address to a name, then discards the address and maps the + name back to a list of addresses and uses that list of addresses as + "where the request came from" for permission checking. + + This bug is exploitable via the following scenario and could allow an + attacker access to data that they shouldn't be able to access. + + Suppose you export a filesystem to some subnet or FQDN and also to a + wildcard or netgroup, and I know the details of this (maybe + showmount -e tells me) Suppose further that I can get IP packets to + your server.. + + Then I create a reverse mapping for my ipaddress to a domain that I + own, say "black.hat.org", and a forward mapping from that domain to + my IP address, and one of your IP addresses. + + Then I try to mount your filesystem. The IP address gets correctly + mapped to "black.hat.org" and then mapped to both my IP address and + your IP address. + + Then you search through all of your exports and find that one of the + addresses: yours - is allowed to access the filesystem. + + So you create an export based on the addrinfo you have which allows + my IP address the same access as your IP address. + + Fix this by instead using the forward lookup of the hostname just to + verify that the original address is in the list. Then do a numeric + lookup using the address and stick the hostname in the ai_canonname. + + Reviewed-by: NeilBrown + Signed-off-by: Jeff Layton + Signed-off-by: Steve Dickson + +commit 7235a2164aabfd8dba1f7e1577047bda45053db0 +Author: James Pearson +Date: Tue Jun 7 16:25:13 2011 -0400 + + exports: Clearly Defining Exports Priorities + + Added some verbiage to the exports(5) man page + that clearly explains the precedence around + how exports will work with regard to netgroups. + + Signed-off-by: Steve Dickson + +commit a36f2437caffb23c68fdc0900544d59198bd52b6 +Author: Neil Brown +Date: Tue Jun 7 13:18:55 2011 -0400 + + Document "-n" for svcgssd + + The svcgssd man page doesn't mention the "-n" flag. + + Signed-off-by: NeilBrown + Signed-off-by: Steve Dickson + +commit 40aed2c3fb5164195a9975ae7f15ebd4b992839d +Author: Pavel Shilovsky +Date: Tue Jun 7 13:18:13 2011 -0400 + + mountd: Fix missing varialble assignment in auth_unix_gid + + When we get into auth_unix_gid at the second time, groups_len + is not 0 and ngroups variable leave as 0. Then we use ngroups + in getgrouplist that fails in this case. This patch fixes it. + + Signed-off-by: Pavel Shilovsky + Signed-off-by: Steve Dickson + +commit 8935933dedcd820c2fb3dddff8b79fd5841dc217 +Author: Benny Halevy +Date: Mon May 23 08:37:17 2011 -0400 + + nfsstat: reorder nfs4 stats for 2.6.38 and up + + match order in 2.6.38, 2.6.39 (-rc3) and development tree + while at it, get rid of obsolete ds_write and ds_commit + + Signed-off-by: Benny Halevy + Signed-off-by: Steve Dickson + +commit 27dcd8a775024160e741cce53e4a402eaac3501d +Author: NeilBrown +Date: Mon May 23 08:23:51 2011 -0400 + + supress socket error when address family is not supported + + From: Suresh Jayaraman + + It was observed that when ipv6 module was not loaded and cannot be auto-loaded, + when starting NFS server, the following error occurs: + "rpc.nfsd: unable to create inet6 TCP socket: errno 97 (Address + family not supported by protocol)" + + This is obviously a true message, but does not represent an "error" when ipv6 + is not enabled. Rather, it is an expected condition. As such, it can be + confusing / misleading / distracting to display it in this scenario. + + This patch instead of throwing error when a socket call fails with + EAFNOSUPPORT, makes it as a NOTICE. + + Signed-off-by: Suresh Jayaraman + Signed-off-by: Neil Brown + Signed-off-by: Steve Dickson + +commit 7a802337bfc92d0b30fe94dbd0fa231990a26161 +Author: NeilBrown +Date: Mon May 23 08:19:57 2011 -0400 + + Remove risk of nfs_addmntent corrupting mtab + + nfs_addmntent is used to append directly to /etc/mtab. + If the write partially fail, e.g. due to RLIMIT_FSIZE, + truncate back to original size and return an error. + + See also https://bugzilla.redhat.com/show_bug.cgi?id=697975 + (CVE-2011-1749) CVE-2011-1749 nfs-utils: mount.nfs fails to anticipate RLIMIT_FSIZE + + Signed-off-by: NeilBrown + Signed-off-by: Steve Dickson + +commit 56f537535190d034039570bafd9a0de71b79b8f1 +Author: Ben Myers +Date: Mon May 23 08:07:00 2011 -0400 + + exportfs: getexportent interprets -test-client- as default options + + With commit 1374c3861abdc66f3a1410e26cc85f86760b51dd Neil added a + -test-client- export to test the exportability of filesystems when exportfs + is run. When using the old cache controls (i.e. /proc/fs/nfsd is not + mounted) exportfs will read /proc/fs/nfs/exports to process existing + exports and find these test client entries. The dash at the beginning of + -test-client- will be cause getexportent to look for default options in the + rest of the string, which test-client- will not match: + + exportfs: /proc/fs/nfs/exports:1: unknown keyword "test-client-(rw" + + This patch resolves that problem (as Steve suggested) by not processing any + default options if we are reading the list of existing exports from the + kernel. Default options are converted to individual exports by exportfs so + the kernel won't have any regardless. + + Signed-off-by: Ben Myers + Signed-off-by: Steve Dickson + +commit c8e802c036a3f0fcd4481dae8b3ec09fb71f4118 +Author: Jim Rees +Date: Wed May 18 12:42:02 2011 -0400 + + Removed compilation warnings from mountd/cache.c + + Commit 5604b35a6 introduced a number of missing initializer + warnings that were missed. This patch removes those warnings. + + Signed-off-by: Steve Dickson + +commit 68f7938c85258a8c54b13169dcdeae61cc1bf286 +Author: Steve Dickson +Date: Tue Apr 26 13:32:35 2011 -0400 + + nfsstat: Output headings mislabled + + The badclnt and badauth headers were reversed + when the server side rpc stats (-s -o rpc) were + displayed. + + Signed-off-by: Steve Dickson + +commit 2e4a7e9b50a641dc8640a5dd911ee4a2f0b2c073 +Author: Steve Dickson +Date: Tue Apr 19 12:31:30 2011 -0400 + + rpc.svcgssd: Segmentation fault on error + + Commit 544ed73d introduced a regression that caused + rpc.svcgssd to seg fault on "Wrong principal in request" + errors in gss_accept_sec_context() + + Signed-off-by: Steve Dickson + +commit 5604b35a61e22930873ffc4e9971002f578e7978 +Author: Sean Finney +Date: Tue Apr 19 11:04:35 2011 -0400 + + nfs-utils: Increase the stdio file buffer size for procfs files + + Previously, when writing to /proc/net/rpc/*/channel, if a cache line + were larger than the default buffer size (likely 1024 bytes), mountd + and svcgssd would split writes into a number of buffer-sized writes. + Each of these writes would get an EINVAL error back from the kernel + procfs handle (it expects line-oriented input and does not account for + multiple/split writes), and no cache update would occur. + + When such behavior occurs, NFS clients depending on mountd to finish + the cache operation would block/hang, or receive EPERM, depending on + the context of the operation. This is likely to happen if a user is a + member of a large (~100-200) number of groups. + + Instead, every fopen() on the procfs files in question is followed by + a call to setvbuf(), using a per-file dedicated buffer of + RPC_CHAN_BUF_SIZE length. + + Really, mountd should not be using stdio-style buffered file operations + on files in /proc to begin with. A better solution would be to use + internally managed buffers and calls to write() instead of these stdio + calls, but that would be a more extensive change; so this is proposed + as a quick and not-so-dirty fix in the meantime. + + Signed-off-by: Sean Finney + Signed-off-by: Steve Dickson + +commit 9274e94db85bac04e170414cb8e0f4be271cde90 +Author: Sean Finney +Date: Tue Apr 19 11:05:47 2011 -0400 + + mountd: Use a dynamic buffer for storing lists of gid's + + Previously, in auth_unix_gid, group lists were stored in an array of + hard-coded length 100, and in the situation that the group lists for a + particular call were too large, the array was swapped with a dynamically + allocated/freed buffer. For environments where users are commonly in + a large number of groups, this isn't an ideal approach. + + Instead, use malloc/realloc to grow the list on an as-needed basis. + + Signed-off-by: Sean Finney + Signed-off-by: Steve Dickson + +commit a99269230a0e77e7bed4fa31c9547f0d61c7f206 +Author: Karel Zak +Date: Wed Apr 6 12:39:21 2011 -0400 + + mount: add --enable-libmount-mount + + This patch allows to link mount.nfs with libmount from util-linux >= + v2.19. The new libmount based code is enabled by CONFIG_LIBMOUNT and + is stored in mount_libmount.c. The old code is not affected by this + change. + + The libmount does not have officially stable API yet, so the + --enable-libmount-mount is marked as experimental in the configure + help output. + + The ./configure option is the same as we use in util-linux to enable + support for libmount in mount(8). + + The addr= (and some other options necessary for remount/umount) are + stored to /etc/mtab or to /dev/.mount/utab. The utab file is *private* + libmount file. It's possible that some mount options (for example + user=) will be moved to kernel, so the utab will not be necessary. + + About libmount: + + * supports systems without and with regular /etc/mtab + * does not store VFS and FS mount options in userspace + * manages user= option and evaluate permissions + * parses VFS mount options and generate MS_* flags + * parses /etc/{fstab,mtab}, /proc/mounts or /proc/self/mountinfo + * long-term goal is to use the same code in all mount. helpers + + Note, use + + LIBMOUNT_DEBUG=0xffff mount.nfs foo:/path /path + + to debug the library. + + On systems with util-linux v2.19 the findmnt(8) command uses libmount + to list all/selected mount points: + + $ findmnt /path + $ findmnt --mtab /path + + the --mtab appends userspace mount options (e.g. user=) to the output. + + CC: Chuck Lever + Signed-off-by: Karel Zak + Signed-off-by: Steve Dickson + +commit c01e5ca6179b8f5b041605d9bbd75a0f76812d54 +Author: Karel Zak +Date: Wed Apr 6 11:36:40 2011 -0400 + + mount: move generic functions to utils.c and network.c + + Move generic code that could be shared between standard mount.nfs and + libmount version to utils.c and network.c. + + CC: Chuck Lever + Signed-off-by: Karel Zak + Signed-off-by: Steve Dickson + +commit d6c1b35c6b40243bfd6fba2591c9f8f2653078c0 +Author: Kevin Coffman +Date: Wed Apr 6 11:25:03 2011 -0400 + + nfs-utils: Add support to svcgssd to limit the negotiated enctypes + + Recent versions of Kerberos libraries negotiate and use + an "acceptor subkey". This negotiation does not consider + that a service may have limited the encryption keys in its + keytab. A patch (http://src.mit.edu/fisheye/changelog/krb5/?cs=24603) + has been added to the MIT Kerberos code to allow an application + to indicate that it wants to limit the encryption types negotiated. + (This functionality has been available on the client/initiator + side for a while. The new patch adds this support to the + server/acceptor side.) + + This patch adds support to read a recently added nfsd + proc file to determine the encryption types supported by + the kernel and calls the function to limit encryption + types negotiated for the acceptor subkey. + + Signed-off-by: Kevin Coffman + Signed-off-by: Steve Dickson + +commit 73840ef610accf4cf667427bc64805377c0d8394 +Author: Chuck Lever +Date: Wed Apr 6 10:53:57 2011 -0400 + + exports: add a configurable time-to-live for the kernel cache entries + + From: Trond Myklebust + + The fedfs ldap server will specify a ttl for its entries. + + Signed-off-by: Trond Myklebust + + This is a refactoring change only. There should be no change in + behavior. + + Original patch had updates to utils/mountd/junctions.c, which no + longer exists. These are not included here. + + Create a macro for the default cache TTL, which is used in several + places besides the export cache. + + Make e_ttl unsigned. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 38e4c685410885a6d464ddd44eff4fd5e7f8459f +Author: Chuck Lever +Date: Wed Apr 6 10:49:52 2011 -0400 + + statd: Remove vestigial "-w" option from man page synopsis + + The synopsis of rpc.statd in its man page lists "-w" as a valid + option. There is currently no support in the source code for a "-w" + option. + + BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=199 + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit b57cd77c13831051ad974ae027d96cd88a8d0c59 +Author: Chuck Lever +Date: Wed Apr 6 10:48:38 2011 -0400 + + mount.nfs: Don't leak socket in nfs_ca_sockname() + + Ensure the test socket is always closed before nfs_ca_sockname() + returns. Otherwise it's orphaned. + + BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=197 + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 502eef09d8050ffb87d394397c2780e1ef042d68 +Author: Steve Dickson +Date: Wed Apr 6 10:46:06 2011 -0400 + + Removed a warning from v4root.c + + v4root.c:176:9: warning: variable 'ret' set but not used + + Signed-off-by: Steve Dickson + +commit c2fa189a0467c25666f014cf9ff2576a9f54d682 +Author: Steve Dickson +Date: Wed Apr 6 10:39:10 2011 -0400 + + Removed a warning from exportfs.c + + exportfs.c:280:29: warning: 'exp' may be used uninitialized in this function + + Signed-off-by: Steve Dickson + +commit b98ae9df8c4904289c9390288325058b24caa423 +Author: Steve Dickson +Date: Wed Apr 6 10:36:30 2011 -0400 + + Removed a warning from conffile.c + + conffile.c:258:19: warning: 'j' may be used uninitialized in this function + + Signed-off-by: Steve Dickson + +commit 012e1a4bf2a002e8cd4d5be3478bfa20a91cbfed +Author: Masatake YAMATO +Date: Mon Mar 7 08:36:19 2011 -0500 + + Update man pages for /etc/exports.d + + Man page updates for /etc/exports.d. + + Signed-off-by: Masatake YAMATO + Signed-off-by: Steve Dickson + +commit c7427b57e2be8ef0d57ad0618d4590c062b130f5 +Author: Masatake YAMATO +Date: Mon Mar 7 08:18:51 2011 -0500 + + Read /etc/exports.d/*.export as extra export files + + This patch adding a capability to read /etc/exports.d/*.exports as + extra export files to exportfs. + + If one wants to add or remove an export entry in a script, currently + one may have to use sed or something tool for adding or removing the + line for the entry in /etc/exports file. + + With the patch, adding and removing an entry from a script is much + easier. + cat< + Signed-off-by: Steve Dickson + +commit edb9b7f2ab9806afb9af31eabeb505fe454c51df +Author: Steve Dickson +Date: Sat Mar 5 16:17:01 2011 -0500 + + Cleaned up a warning in rpcdispatch.c + + rpcdispatch.c:40:20: warning: comparison between signed and unsigned + integer expressions + + Signed-off-by: Steve Dickson + +commit 930323817b61877d61fb8ef57229013daa2e6091 +Author: Steve Dickson +Date: Sat Mar 5 16:13:01 2011 -0500 + + mount: Remove MOUNT_CONFIG warnings + + The following changes are needed to remove compile warnings when + MOUNT_CONFIG is not defined + + Signed-off-by: Steve Dickson + +commit 3ef3dc8f1e87ba7a6eaa3c2a6965aff6c80ba414 +Author: Chuck Lever +Date: Thu Mar 3 17:26:33 2011 -0500 + + mount: Recognize zero as a valid value for the port= option + + While zero is not a valid IP port number, zero does represent a valid + value for "port=". It means "query rpcbind to discover the actual + non-zero port number to use". So the parsing functions that handle + "port=" should not flag zero as an invalid value. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit b3a4dbfb61dad59829f5191d727267b2ea45937a +Author: Mi Jinlong +Date: Wed Feb 9 11:29:42 2011 -0500 + + Gssd: modify wrong err message at handle_gssd_upcall + + Modify wrong err message at handle_gssd_upcall when + sscanf encryption types fail. + + Signed-off-by: Mi Jinlong + Signed-off-by: Steve Dickson + +commit 45e4597bd570ed40221f51887cde7d7f096f55e7 +Author: Jason Gunthorpe +Date: Wed Feb 9 11:27:19 2011 -0500 + + Support AD style kerberos automatically in rpc.gss + + An Active Directory KDC will only grant a TGT for UPNs, getting + a TGT for SPNs is not possible: + + $ kinit -k host/ib5@ADS.ORCORP.CA + kinit: Client not found in Kerberos database while getting initial + credentials + + The correct thing to do for machine credentials is to get a TGT + for the computer UPN $@REALM: + $ kinit -k IB5\$ + $ klist + 12/22/10 11:43:47 12/22/10 21:43:47 krbtgt/ADS.ORCORP.CA@ADS.ORCORP.CA + + Samba automatically creates /etc/krb5.keytab entry for the computer UPN, + this patch makes gssd_refresh_krb5_machine_credential prefer it above + the SPNs if it is present. + + The net result is that nfs client works automatically out of the box + if samba has been used to setup kerberos via 'net ads join' 'net ads + keytab create' + + Tested using Windows Server 2003 R2 as the AD server. + + Signed-off-by: Jason Gunthorpe + Signed-off-by: Steve Dickson + +commit 730f6986f86873513fa021a450eb55ccd0f2fbff +Author: Steve Dickson +Date: Wed Jan 26 07:49:19 2011 -0500 + + Fixed segfault in rpc.mountd + + A unallocated piece of memory, instead of a NULL point, was being + used to initialize a ->next point in the mount link list which + caused a segfault after a few remote accesses via the showmount + command. + + Signed-off-by: Steve Dickson + +commit 544ed73d5ab27c1390833d5cf93b9585c151667d +Author: Steve Dickson +Date: Fri Jan 14 10:12:28 2011 -0500 + + Improve debugging in svcgssd + + Added in gss_display_error() which translates the GSS error into the + actual GSS macro name. Currently only the translation of these errors + are logged. Since those translations are buried deep in the kerberos + library code, having the actual GSS macro name makes it easier to + follow the code. + + Moved the nfs4_init_name_mapping() call into main() so if debug is + enabled the DNS name and realms will be logged during start up. + + Signed-off-by: Steve Dickson + +commit 57be18b9ab08148a1cc9d5af588119885720be8b +Author: Mi Jinlong +Date: Tue Jan 4 11:16:45 2011 -0500 + + libnsm.a: modify return value to false from 0 at nsm_drop_privileges() + + At nsm_drop_privileges(), for improving readability, unify + the return value. + + Signed-off-by: Mi Jinlong + Signed-off-by: Steve Dickson + +commit 5c498280fd9353ded3ea169841079bdae23418e2 +Author: Chuck Lever +Date: Mon Dec 13 14:50:45 2010 -0500 + + libnsm.a: sm-notify sometimes ignores monitored hosts + + Monitored host information is stored in files under /var/lib/nfs. + When visiting entries in the monitored hosts directory, libnsm.a + examines the value of dirent.d_type to determine if an entry is a + regular file. + + According to readdir(3), the d_type field is not supported by all + file system types. My root file system happens to be one where d_type + isn't supported. Typical installations that use an ext-derived root + file system are not exposed to this issue, but those who use xfs, for + instance, are. + + On such file systems, not only are remote peers not notified of + reboots, but the NSM state number is never incremented. A statd warm + restart would not re-monitor any hosts that were monitored before + the restart. + + When writing support/nsm/file.c, I copied the use of d_type from the + original statd code, so this has likely been an issue for some time. + + Replace the use of d_type in support/nsm/file.c with a call to + lstat(2). It's extra code, but is guaranteed to work on all file + system types. + + Note there is a usage of d_type in gssd. I'll let gssd and rpcpipefs + experts decide whether that's worth changing. + + Fix for: + + https://bugzilla.linux-nfs.org/show_bug.cgi?id=193 + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 089df7c754d9ebab0a7b804f396626ac95fee2e6 +Author: Chuck Lever +Date: Mon Dec 13 14:47:42 2010 -0500 + + libnsm.a: Replace __attribute_noinline__ + + Replace the __attribute_noinline__ form with + + __attribute__((__noinline__)). + + Even though the compiler didn't complain about __attribute_malloc__, + also replace those in order to maintain consistent style throughout the + source file. + + Fix for: + + https://bugzilla.linux-nfs.org/show_bug.cgi?id=194 + + Reported-by: "Gabor Z. Papp" + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 7869a76207d3f4b3bd4ab57b4a7a8807ac2ff0c6 +Author: Chuck Lever +Date: Mon Dec 13 14:36:15 2010 -0500 + + sm-notify: Make use of AI_NUMERICSERV conditional + + Gabor Papp reports nfs-utils-1.2.3 doesn't build on his system that + uses glibc-2.2.5: + + make[3]: Entering directory + `/home/gzp/src/nfs-utils-1.2.3/utils/statd' + gcc -DHAVE_CONFIG_H -I. -I../../support/include -D_GNU_SOURCE -Wall + -Wextra -Wstrict-prototypes -pipe -g -O2 -MT sm-notify.o -MD + -MP -MF .deps/sm-notify.Tpo -c -o sm-notify.o sm-notify.c + sm-notify.c: In function 'smn_bind_address': + sm-notify.c:247: error: 'AI_NUMERICSERV' undeclared (first use in this + function) + sm-notify.c:247: error: (Each undeclared identifier is reported only + once + sm-notify.c:247: error: for each function it appears in.) + make[3]: *** [sm-notify.o] Error 1 + + According to the getaddrinfo(3) man page, AI_NUMERICSERV is available + only since glibc 2.3.4. getaddrinfo(3) seems to convert strings + containing a number to the right port value without the use of + AI_NUMERICSERV, so I think we can survive on older glibc's without it. + It will allow admins to specify service names as well as port numbers + on those versions. + + There are uses of AI_NUMERICSERV in gssd and in nfs_svc_create(). The + one in nfs_svc_create() is behind HAVE_LIBTIRPC, and the other is a + issue only for those who want to deploy Kerberos -- likely in both + cases, a more modern glibc will be present. I'm going to leave those + two. + + Fix for: + + https://bugzilla.linux-nfs.org/show_bug.cgi?id=195 + + Reported-by: "Gabor Z. Papp" + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit e8dbaddc8465dcd07b53f8e80a537703dd0248ca +Author: Sid Moore +Date: Fri Dec 3 09:19:06 2010 -0500 + + rpc.mountd: Checking RPC Procedure ID before process it + + Signed-off-by: Steve Dickson + +commit 3c6973c595d62dc6452967d50ae8abe69f9f8bad +Author: Mi Jinlong +Date: Mon Nov 29 10:59:10 2010 -0500 + + libnfs.a: fix a bug when parse section's arg + + When parsing section's arg at configure file, the pointer + should stop when fetch ']', and give the warning message. + + Signed-off-by: Steve Dickson + +commit 86f7be64cafd17d4a3f164603484eaedb4757431 +Author: Harshula Jayasuriya +Date: Mon Nov 22 11:22:31 2010 -0500 + + nfs-utils: nfsstat: has_stats() does not function correctly for NFSv4 client stats + + The NFSv4 client procs/ops in "struct rpc_procinfo nfs4_procedures" is + used to generate the NFS client stats interface: + ------------------------------------------------------------ + net 0 0 0 0 + rpc 15 0 0 + proc2 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + proc3 22 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 + proc4 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 + 0 0 0 0 0 0 0 + ------------------------------------------------------------ + Note, for proc4, the number 42. That is the number of stats that follow + on the same line. Currently nfsstat's has_stats() relies on this number + to be equal to CLTPROC4_SZ. Unfortunately this is not the case. I have + changed has_stats() not to rely on these two values being equal. This + should also allow nfsstat to work with different kernel versions that + expose a different number of NFS client ops. + + * Fix has_stats() + * Stop print_clnt_list() printing server stats! + * Describe the option -3 and -4 completely in the nfsstat manpage. + + Signed-off-by: Harshula Jayasuriya + Signed-off-by: Steve Dickson + +commit 0868dcccb9a3bf3d022a32ff31311fe371484e77 +Author: Steve Dickson +Date: Sat Nov 20 15:01:21 2010 -0500 + + Enable nfsidmap to compile + + Only enable the compilation of nfsidmap when libnfsidmap support it. + + Signed-off-by: Steve Dickson + +commit 6f07548141e710767d425e119d9823691293771d +Author: Bryan Schumaker +Date: Fri Nov 19 12:01:10 2010 -0500 + + Add the new nfsidmap program + + This patch adds the nfsidmap program to nfs-utils. This program is + called by the nfs idmapper through request-keys to map between + uid / user name and gid / group name. + + Signed-off-by: Bryan Schumaker + Signed-off-by: Trond Myklebust + Signed-off-by: Steve Dickson + +commit 409487978593de13ae36be0ee56d8111ad6b3319 +Author: Steve Dickson +Date: Mon Nov 22 11:33:37 2010 -0500 + + Removed a couple warnings from utils/mount/stropts.c + + stropts.c:740:6: warning: 'ret' may be used uninitialized in this function + stropts.c:653:6: warning: 'ret' may be used uninitialized in this function + + Signed-off-by: Steve Dickson + +commit f4968a724c1d4162a8e2b9f6a19c460cc56c95f7 +Author: Chuck Lever +Date: Fri Oct 29 12:56:21 2010 -0400 + + nfs(5): Document remount behavior + + It appears that, for a long while, NFS "remount" mounts have + completely wiped the existing mount options in /etc/mtab for a given + mount point. This is a problem for umount.nfs, since it reads its + options out of /etc/mtab to find out how to do the unmount. + + The mount(8) command provides the NFS mount subcommand with the mount + options to perform the remount. There are four cases to consider: + + 1. Both the device and mount directory are specified on the + command line, and the target mount point is in /etc/fstab + + 2. Only one of the device and mount directory is specified on + the command line, and the target mount point is in + /etc/fstab + + 3. Both the device and mount directory are specified on the + command line, and the target mount point is not in /etc/fstab + + 4. Only one of the device and mount directory is specified on + the command line, and the target mount point is not in + /etc/fstab + + Currently only case 4 works correctly. In that case, mount(8) + provides the correct set of mount options to the mount.nfs + subcommand and it can update /etc/mtab correctly. + + Cases 1 and 3 replace all mount options in /etc/mtab with the options + provided on the command line during a remount. Case 2 replaces the + mount options in /etc/mtab with a mix of options from /etc/fstab and + /etc/mtab. + + Cases 1 and 3 are historical behavior. Basically this is a formal + interface to allow administrators to replace the mount options in + /etc/mtab completely, instead of merging in new ones. The present + patch documents that behavior in nfs(5), and provides best practice + for remounting NFS mount points. + + There are near-term plans to address case 2 by fixing mount(8) + (provided by utils-linux-ng in most distributions). + + This is a partial fix for: + + https://bugzilla.linux-nfs.org/show_bug.cgi?id=188 + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 6d1a82b005994f759f2c847c0354413a24643da5 +Author: Chuck Lever +Date: Thu Oct 28 13:15:22 2010 -0400 + + nfs(5): Grammar and style fixes + + Clean up grammar and style issues introduced by recent updates. Also, + I'm not certain inappropriate options are always ignored. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit ab2cdb859f738a25e2567a2ec674cfa78a0a175d +Author: Chuck Lever +Date: Thu Oct 28 13:13:19 2010 -0400 + + mount.nfs: mnt_freq and mnt_pass are always zero + + Clean up. + + No need to pass constant zeros to add_mtab() from its only call site. + Ensure that initialization of a struct mntent is consistent in both + places that it is done. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit bc4a0c42570d5620cc1bb32428e16b9c9b5f3863 +Author: Chuck Lever +Date: Thu Oct 28 13:10:48 2010 -0400 + + mount.nfs: Fix memory leak in nfs_sys_mount() + + This appears to have been left behind by last year's adjustments to + how the extra_opts string is constructed. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 1f237ac72e6f563908b350e11fd2bb866c003028 +Author: Chuck Lever +Date: Thu Oct 28 13:09:38 2010 -0400 + + mount: Fix compiler warning in nfs_parse_retry_option() + + stropts.c: In function nfs_parse_retry_option: + stropts.c:131: warning: conversion to unsigned int from long int may + alter its value + + Make it more clear what the second argument is for, and flag the + switch fallthrough case. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 1ea2c3be33f2eb4630c5cdb78edf2bb670b294ab +Author: Chuck Lever +Date: Thu Oct 28 12:12:12 2010 -0400 + + nfs-utils: Remove all uses of AI_ADDRCONFIG + + It was reported that, if only "lo" is up, + + mount.nfs 127.0.0.1:/export /mount + + fails with "Name or service not known". + + "man 3 getaddrinfo" says this: + + If hints.ai_flags includes the AI_ADDRCONFIG flag, then IPv4 + addresses are returned in the list pointed to by res only if the + local system has at least one IPv4 address configured, and IPv6 + addresses are only returned if the local system has at least + one IPv6 address configured. + + The man page oversimplifies here. A review of glibc shows that + getaddrinfo(3) explicitly ignores loopback addresses when deciding + whether an IPv4 or IPv6 address is configured. + + This behavior around loopback is a problem not just for mount.nfs, + but also for RPC daemons that have to start up before a system's + networking is fully configured and started. Given the history of + other problems with AI_ADDRCONFIG and the unpredictable behavior it + introduces, let's just remove it everywhere in nfs-utils. + + This fix addresses: + + https://bugzilla.linux-nfs.org/show_bug.cgi?id=191 + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit f8e315543b7f1db7f37a4bfe8ede3020cef62868 +Author: Jeff Layton +Date: Thu Oct 28 09:18:33 2010 -0400 + + nfs-utils: fix default value for --enable-tirpc + + We need $enable_tirpc to be a tristate. 'yes' means that someone + explicitly requested building with tirpc. 'no' means that it was + explicitly disabled. Anything else means that no one specified a value. + + Fix it by setting the value to a blank string so that the default is + properly undefined. + + Reported-by: Chuck Lever + Signed-off-by: Jeff Layton + Signed-off-by: Steve Dickson + +commit c62d756402509ca5d07c1fd4d2e5a9d78dc4171b +Author: Steve Dickson +Date: Tue Oct 19 15:54:35 2010 -0400 + + Updated rpc.mountd man page + + Updated the rpc.mountd man page to no longer reference + v3 as the "newer" version and also mentioned v4 as + a supported version. + + Signed-off-by: Steve Dickson + +commit 79e9079e9af4e5c2aa1d77815df1147b26876eb8 +Author: Steve Dickson +Date: Tue Oct 19 15:54:04 2010 -0400 + + Cleared up the sync option in exportfs man page + + Signed-off-by: Steve Dickson + +commit 6f228ea26be06572de245aed5496aaa122cca5a8 +Author: Steve Dickson +Date: Fri Oct 15 17:20:28 2010 -0400 + + Removed duplicate entries in export man page + + The man page's paragraphs about "refer=" and "replicas=" + each appear twice. + + Signed-off-by: Steve Dickson + +commit 849b7072a04975bb5da09245fbcacb0cb754a909 +Author: Chuck Lever +Date: Thu Oct 14 10:33:25 2010 -0400 + + mountd: Clear mountd registrations at start up + + Clear stale MNT registrations before mountd tries to create fresh + listeners, to ensure that mountd starts. This is also what statd does. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 93dcf64cc4a9e67f693aea35c8193428015f4a30 +Author: Chuck Lever +Date: Wed Oct 13 13:57:52 2010 -0400 + + behavior as file systems that use the monolithic /sbin/mount command. + See the MS_NOMTAB macro in utils-linux-ng/mount/mount.c. + + Note that mount(8) has MS_USERS and MS_USER in the "nomtab" category + as well, but mount.nfs needs to record those values so that unmounting + a user-mounted NFS file system can work. + + While we're here, fix some white space damage in fix_opts_string(). + + This is a partial fix for: + + https://bugzilla.linux-nfs.org/show_bug.cgi?id=188 + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit dc08c702a6c7f824f317af561f491635ee898a71 +Author: Chuck Lever +Date: Wed Oct 13 13:55:10 2010 -0400 + + umount.nfs: Distinguish between nfs4 and nfs mounts + + Neil Brown reports that umount.nfs is still confused by "-t nfs -o + vers=4" mounts. + + /etc/mtab can be confused. /proc/mounts is authoritative on the + fstype of a mount. Have umount.nfs consult it to determine which + mechanism to use for unmounting. The code to read /proc/mounts was + lifted from the nfsstat command. + + The code introduced by this patch may look like belt-n-suspenders, but + we have two use cases to consider: + + 1. Old kernels don't support the "vers=4" mount option, so + umount.nfs must look for the "nfs4" fstype + 2. Upcoming kernels may eliminate support the "nfs4" fstype, so + umount.nfs must look for the "vers=4" mount option + + Thus this logic checks for "nfs4" first then looks for the NFS version + setting. + + Note that we could handle unmounting entirely in the kernel, but that + won't help older kernels that have this issue. + + See: + https://bugzilla.linux-nfs.org/show_bug.cgi?id=189 + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 17962b82afb68ca8e6b0d3f432d36c6c7c4980ea +Author: Chuck Lever +Date: Wed Oct 13 13:01:51 2010 -0400 + + mount.nfs: mountproto does not support RDMA + + Clean up. Our client does not support the MNT protocol on RDMA. + + nfs_mount_protocol() isn't invoked for RDMA mounts (they are shunted + off before nfs_options2pmap() is invoked). But in case it ever is, + it should return the expected response. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 73c61fa5cd114fa6eae0e095724ed63aa66a4a6b +Author: NeilBrown +Date: Wed Oct 13 12:08:41 2010 -0400 + + gcc complained: + + client.c: In function 'init_netmask6': + client.c:181:1: warning: no return statement in function returning + non-void + + and Suse' build system complained + + I: Program returns random data in a function + E: nfs-utils no-return-in-nonvoid-function client.c:181 + + when I built without --enable-ipv6 + + Reviewed-by: Chuck Lever + Signed-off-by: NeilBrown + Signed-off-by: Steve Dickson + +commit 7e90281b88c05b01c61152b54a0cf2faec45b09c +Author: Chuck Lever +Date: Wed Oct 13 12:02:32 2010 -0400 + + mount.nfs: Eliminate compiler warnings in utils/mount/network.c + + Clean up. + + network.c: In function get_socket: + network.c:431: warning: dereferencing type-punned pointer might break + strict-aliasing rules + + network.c: In function probe_bothports: + network.c:759: warning: dereferencing type-punned pointer might break + strict-aliasing rules + network.c:762: warning: dereferencing type-punned pointer might break + strict-aliasing rules + + network.c: In function nfs_probe_statd: + network.c:775: warning: dereferencing type-punned pointer might break + strict-aliasing rules + + network.c: In function nfs_call_umount: + network.c:904: warning: dereferencing type-punned pointer might break + strict-aliasing rules + + network.c: In function nfs_ca_sockname: + network.c:1106: warning: dereferencing type-punned pointer might break + strict-aliasing rules + network.c:1112: warning: dereferencing type-punned pointer might break + strict-aliasing rules + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 57385cf87790c0cbdfddfccdde66bd2c8da45923 +Author: Chuck Lever +Date: Wed Oct 13 11:59:30 2010 -0400 + + mount.nfs: Eliminate compiler warning in utils/mount/parse_opt.c + + parse_opt.c: In function po_rightmost: + parse_opt.c:517: warning: conversion to int from unsigned int may + change the sign of the result + + "i" contains the function's result value, so it should be defined as + the same type as the function's return type. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 1ee10ef034cbca86da4df271ac4097a948e7ab59 +Author: Chuck Lever +Date: Wed Oct 13 11:58:27 2010 -0400 + + mount.nfs: Eliminate compiler warning in utils/mount/nfsumount.c + + Clean up. + + nfsumount.c:374: warning: ISO C forbids omitting the middle term of + a ?: expression + + This is also probably harmless, but let's make the code unambiguous. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit e9c97e4f7075e563d7a442ca8298ac56bafba0d5 +Author: Chuck Lever +Date: Wed Oct 13 11:56:58 2010 -0400 + + mount.nfs: Eliminate compiler warning in utils/mount/nfsumount.c + + Clean up. + + nfsumount.c:265: warning: no previous prototype for nfsumount + + It's also a good idea if the compiler can ensure that the prototype + in nfsmount.h matches the actual function defined in nfsumount.c. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit e2b6d9cbaf20df26dd371a715fce3ae158f37126 +Author: Chuck Lever +Date: Wed Oct 13 11:54:49 2010 -0400 + + mount.nfs: Eliminate compiler warnings in utils/mount/mount.c + + Clean up. + + mount.c: In function parse_opt: + mount.c:354: warning: conversion to size_t from int may change the + sign of the result + mount.c:354: warning: conversion to int from size_t may change the + sign of the result + mount.c:359: warning: conversion to size_t from int may change the + sign of the result + mount.c:359: warning: conversion to int from size_t may change the + sign of the result + mount.c: In function parse_opts: + mount.c:374: warning: conversion to int from size_t may change the + sign of the result + mount.c:377: warning: conversion to size_t from int may change the + sign of the result + + Character string lengths are usually size_t anyway. We can easily + avoid the implicit type cast here. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 013e8ec9ffb9f28f97e58299719023faf846a029 +Author: Chuck Lever +Date: Wed Oct 13 11:53:44 2010 -0400 + + mount.nfs: Eliminate compiler warning in utils/mount/mount.c + + Clean up. + + mount.c: At top level: + mount.c:324: warning: no previous prototype for ?mount_usage? + + mount_usage() has no callers outside of utils/mount/mount.c and no + prototype is provided in a header file. Make it static. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 47480475c99335c1203e81662f815b62573c19e8 +Author: Chuck Lever +Date: Wed Oct 13 11:50:57 2010 -0400 + + mount.nfs: Eliminate compiler warnings in utils/mount/version.h + + Clean up. + + In file included from mount.c:50: + version.h: In function linux_version_code: + version.h:48: warning: conversion to unsigned int from int may + change the sign of the result + version.h:48: warning: conversion to unsigned int from int may + change the sign of the result + version.h:48: warning: conversion to unsigned int from int may + change the sign of the result + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 00885013dccbe00f5cc4e19223cf18e85a8e616a +Author: Chuck Lever +Date: Wed Oct 13 11:44:23 2010 -0400 + + mount.nfs: Eliminate compiler warning in utils/mount/mount.c + + Clean up. + + In file included from mount.c:41: + mount_config.h:35: warning: no previous prototype for mount_config_opts + + Functions defined in include files are usually declared as "static + inline," eliminating the need for a forward declaration. + + While I was there, I also fixed the macro that prevents including + mount_config.h multiple times, and fixed some white space damage. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit ffa577350b03ddd421d455a8cd4cff86e3718264 +Author: Chuck Lever +Date: Wed Oct 13 11:38:22 2010 -0400 + + mount.nfs: Eliminate compiler warnings + + Clean up. + + fstab.c: In function ?lock_mtab?: + fstab.c:385: warning: declaration of ?errsv? shadows a previous local + fstab.c:367: warning: shadowed declaration is here + fstab.c:407: warning: declaration of ?errsv? shadows a previous local + fstab.c:367: warning: shadowed declaration is here + fstab.c:417: warning: declaration of ?tries? shadows a previous local + fstab.c:325: warning: shadowed declaration is here + fstab.c:422: warning: declaration of ?errsv? shadows a previous local + fstab.c:367: warning: shadowed declaration is here + + These are probably harmless. Reusing a variable name, however, is a + little confusing to follow when reading the code. + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 5fe118b838254023d83424c5010ae73a91ec267d +Author: Trond Myklebust +Date: Wed Oct 13 11:27:21 2010 -0400 + + export: Ensure that we free struct exportent->e_uuid + + Currently, the exportent->e_uuid is initialised in + support/nfs/exports.c:parseopts(), but it is never freed. + + Also ensure that exportent->e_uuid is duplicated correctly in + dupexportent(). + + Adjusted to account for the new export_free() helper. + + Also, e_uuid points to memory that is always allocated with strdup(3), + not with xstrdup(). Thus it must be freed via free(3) and not via + xfree(). + + Signed-off-by: Trond Myklebust + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 656028f9925f5817c5a37565d27159973db84ec3 +Author: Chuck Lever +Date: Wed Oct 13 11:22:07 2010 -0400 + + libnfs.a: Allow multiple RPC listeners to share listener port number + + Normally, when "-p" is not specified on the mountd command line, the + TI-RPC library chooses random port numbers for each listener. If a + port number _is_ specified on the command line, all the listeners + will get the same port number, so SO_REUSEADDR needs to be set on + each socket. + + Thus we can't let TI-RPC create the listener sockets for us in this + case; we must create them ourselves and then set SO_REUSEADDR (and + other socket options) by hand. + + Different versions of the same RPC program have to share the same + listener and SVCXPRT, so we have to cache xprts we create, and re-use + them when additional requests for registration come from the + application. + + Though it doesn't look like it, this fix was "copied" from the legacy + rpc_init() function. It's more complicated for TI-RPC, of course, + since a TI-RPC application can set up listeners with a nearly + arbitrary number of address families and socket types, not just the + two listeners that legacy RPC applications can set up (one for AF_INET + UDP and one for AF_INET TCP). + + See: + https://bugzilla.linux-nfs.org/show_bug.cgi?id=190 + + Signed-off-by: Chuck Lever + Signed-off-by: Steve Dickson + +commit 1296be71ebae4c0d7da61cc1077d97562d3bc549 +Author: Steve Dickson +Date: Wed Oct 13 10:17:58 2010 -0400 + + nfs-utils: Fixed typo in NFS man page + + Chuck pointed out there was a grammar typo in addition to the spelling + typo. Here is a revised version of the patch. + + Signed-off-by: Jim Rees + Signed-off-by: Steve Dickson + +commit 9afbdbad4436df6f7a5a501c6e4db04c3a5bbb08 +Author: Steve Dickson +Date: Wed Oct 13 10:15:12 2010 -0400 + + Fix style nits in atomicio.c + + Signed-off-by: Jim Rees + Signed-off-by: Steve Dickson + +commit c117b7a1f29db65d139824ba5bab2a58bf5609e2 +Author: Steve Dickson +Date: Wed Oct 13 10:09:53 2010 -0400 + + nfs-utils: Move common code into support + + There are several source files and headers present in the ./utils/idmapd + directory which are also usable in a doimapd daemon. Because of this we + move that support into the support directory such that it can be shared by + both daemons. + + Signed-off-by: Jim Rees + Signed-off-by: Steve Dickson + +commit 8c217b9623c8304608196aeb2f7360abfdf987c8 +Author: Suresh Jayaraman +Date: Wed Sep 29 07:14:14 2010 -0400 + + The kernel 2.6.37 has a add new mount option: local_lock. + Document the new option in the nfs(5) man page. + + Signed-off-by: Suresh Jayaraman + Signed-off-by: Steve Dickson + +commit 554df6bc8456c6971c1c597f70d3b9131e4e5e11 +Author: Steve Dickson +Date: Tue Sep 28 08:24:16 2010 -0400 + + Revert "nfs-iostat.py: don't wait for an extra interval when given a count" + + This reverts commit 837796686ad8f9178c7b6855ada728a53ae511e3.