1 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
2 Consolidate gssd and svcgssd since they share much code
4 Remove directory svcgssd which was only created because the old
5 build system could not handle building two daemons in the same
6 directory. This eliminates build complications since gssd and
7 svcgssd also share many source files.
9 This patch effectively removes the utils/svcgssd directory, moving
10 all its files to the utils/gssd directory. File utils/gssd/Makefile.am
11 is modified with directions to build both gssd and svcgssd.
13 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
14 Use PKGCONFIG to locate gssapi and rpcsecgss header files
16 Instead of having separate copies of the gssapi and rpcsecgss
17 header files, or depending on the Kerberos gssapi header,
18 locate the headers now installed with the libgssapi and librpcsecgss
21 Remove local copies of the gssapi and rpcsecgss header files.
23 This depends on the configure_use_autotools patch.
25 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
26 User-selectable idmapping cache lifetime
28 Read and process new configuration option, Cache-Expiration, and use
29 the value to determine how long idmapping entries are cached.
31 2006-03-27 Steve Dickson <steved@redhat.com>
32 Set libnfsidmap library debugging level and logging function.
34 This patch adds a call to the new libnfsidmap library function
35 nfs4_set_debug(), which defines the verbosity level libnfsidmap
36 should use as well as the logging function.
38 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
39 Don't close file descriptor until after calling event_del().
41 Delete event processing for a file descriptor before closing it.
42 This was causing hangs when used in combination with libevent-1.0b.
44 2006-03-27 kwc@citi.umich.edu
45 Find krb5-config on SuSE 10
47 SuSE 10.0 puts krb5-config in yet another obscure location.
48 Look for it there and use it if found.
50 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
51 Update debian package information.
53 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
54 Install /var/lib/nfs files using DESTDIR and add rpcsec headers to distribution
56 Add "$(DESTDIR)" to the paths for the "$(statedir)" files so they are
57 put in the right place when DESTDIR is defined.
59 Add the rpcsec header files to EXTRA_DIST list.
61 2005-12-21 NeilBrown <neilb@suse.de>
62 *utils/rquotad/rquota_server.c: Detect and handle both old-style
63 (2.4) and new-style(2.6) quotactl.
64 *utils/gssd/gss_destroy_cred: remove dependence on "head -1" which
65 might need to be "head -n 1"
66 *utils/nhfsstone/nhfsrun: convert "tail -1" to "tail -n 1"
68 2005-12-20 Kevin Coffman <kwc@citi.umich.edu> NeilBrown <neilb@suse.de>
69 Substantial Makefile/configure rewrite.
70 Run 'autogen.sh' to create "Makefile.in" etc.
72 Also add -D_FILE_OFFSET_BITS=64 to CPP_FLAGS so that mountd can
73 stat and export files larger than 2Gig.
77 2005-12-20 NeilBrown <neilb@suse.de>
78 support/nfs/exports.c(getexportent): is a null host name is given,
79 replace it with '*' so we have a non-empty host name for messages
81 utils/exportfs/exportfs.man: Correct documentation about default
84 2005-12-20 Kevin Coffman <kwc@citi.umich.edu>
85 utils/gssd/gssd_proc.c(create_auth_rpc_client): Use service
86 portion of clp->servicename rather than hard-coding "nfs".
88 2005-12-16 NeilBrown <neilb@suse.de>
91 2005-12-16 Kevin Coffman <kwc@citi.umich.edu>
92 svcgssd needs -lnfs when using new function closeall().
95 Remove unused argument from nfsdopen()
97 After previous changes, the arguement to nfsdopen() has become unused.
101 Fix idmapd error reporting after call to mydaemon()
103 After call to mydaemon(), calls to err[x] and warn[x] result
104 in the message going nowhere. Change to using idmapd_*
105 versions of these routines which write to syslog.
106 Original problem reported by Vincent Roqueta <vincent.roqueta@ext.bull.net>
107 with a different patch.
110 Don't add @domain to names that cannot be mapped.
112 Per rfc3530 section 5.8: when unable to map a uid to a name, don't
113 add the @domain to the "nobody" name.
116 Fix idmapd for systems where sizeof(uid_t)!=4 and sizeof(gid_t)!=4
118 Fix conversion cases where uid_t and gid_t are not 32 bits.
121 Don't segfault because mech wasn't filled in because of an error
123 From Kevin Coffman <kwc@citi.umich.edu>
125 Initialize mech to null to avoid segfault if an error occurs
126 and mech is never returned from gss_accept_sec_context.
129 Remove use of static buffer in do_downcall
131 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
133 Dynamically allocate buffer of the correct length rather
134 than using fixed-length buffer.
137 Print better error message if rpc routine clnt_create() fails.
140 Print appropriate error messages after gss calls.
142 Print gss error messages after calls to gss functions, even if they
143 are for Kerberos only.
146 Update gssd and svcgssd to use the new gss mech glue lucid context calls.
148 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
150 Update gssd and svcgssd to use a lucid context from SPKM3 to send down
152 Update gssd and svcgssd to use the new gss mech glue lucid context calls.
153 Add configure check to see if spkm3 support is available.
156 Add support for CONTINUE_NEEDED return from gss_accept_sec_context.
158 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
160 Add CONTINUE_INIT handling to svcgssd. Store the partially complete spkm
161 context handle in the out_handle of CONTINUE_INIT messages so that it is
162 returned in the in_handle of subsequent messages.
165 Replace GSS_C_ANON_FLAG with GSS_C_MUTUAL_FLAG.
167 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
169 Specify GSS_C_MUTUAL_FLAG rather than GSS_C_ANON_FLAG for
172 NOTE: we need a way to pass the appropriate value rather than
173 hard-coding this flag.
176 Increase size of rpc send/receive buffers
178 Change the clnt_create() to use routines which allow us to set the
179 send and receive buffer size. This is needed for larger spkm3
180 exchanges including certificate chains.
182 This has the side-effect of skipping the portmap call since
183 we specify the port (by specifying the service) when getting
184 the server's address information.
187 Define _LINUX_QUOTA_VERSION to 1
189 The rquotad code is written against the "old" kernel quota interface.
190 Fedora Core 4 is the only platform known to check for different
191 versions, so this should not have any affect on other platforms
192 and fixes the build for FC4.
196 2005-12-12 Usha Ketineni <ketineni@us.ibm.com>, NeilBrown <neilb@suse.de>
197 *support/nfs/rpcmisc.c(rpc_init): is stdin is a socket, but
198 is already connected (as e.g. from ssh), don't assume we
199 were started by inetd.
201 2005-11-03 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
202 *utils/idmapd/idmaps.c:
204 I've recently updated the nfs-utils in rawhide with the
205 latest patches from the SourceForge CVS tree and the
206 latest CITI patches (1.0.7-4).
208 In testing these patches, I notice that when the server was started
209 and a SIGHUP was sent to rpc.idmapd to open the nfs4.nametoid/channel
210 and nfs4.idtoname/channel files, the second open (the nfs4.idtoname one)
211 failed because the path (i.e. ic->ic_path) was NULL.
213 Now the reason the ic_path was NULL was because it was never set
214 during the call to nfsdopen(). nfsdopen() looks like:
217 return ((nfsdopenone(&nfsd_ic[IC_NAMEID], IC_NAMEID, path) == 0 &&
218 nfsdopenone(&nfsd_ic[IC_IDNAME], IC_IDNAME, path) == 0) ? 0
222 Note: the call to nfsdopenone() is how the path is set in each nfsd_ic[]
223 entry and nfsdopen() is only called once.
225 So when rpc.idmap comes up and the first call to nfsdopenone() fails
226 (because the server is not running) the path in nfsd_ic[IC_IDNAME] is
227 never filled in because the second nfsdopenone() never happen...
229 Now there was a CITI patche (idmapd_revert_fix_reopen_on_sighup.dif)
230 that tried to address this problem but did seem to fix it.. The
231 attached patch fix the problem by initializing both nfsd_ic[IC_IDNAME]
232 and nfsd_ic[IC_NAMEID] structures with the needed info...
233 I figured since there is no way of changing these paths or filenames
234 by command line args, why not just set them during compile time...
235 so that's what this patch does.
237 This patch also changes how nfsdreopen_one() handles the
238 case where the event has already been set. Unlike the CITI
239 patch (idmapd_revert_fix_reopen_on_sighup.dif) which just
240 just does not register the second event, my patch deletes
241 the old event and the registers the new one. It just seems like
242 the right thing to do since a SIGHUP means a new server just
243 started so we probably should create a new event as well...
247 2005-10-14 NeilBrown <neilb@suse.de>
248 *utils/mountd/cache.c(nfsd_fh): Understand type 2 and type 3
249 filesystem identifiers, which are used with device numbers
250 That don't fit into 16 bits.
252 2005-10-07 Olaf Kirch <okir@suse.de>
253 * utils/mountd/mountd.c(get_exportlist): Without this patch,
254 showmount -e would sometimes display host names that should really
255 have been subsumed under a wildcard entry.
257 The problem was that the code in get_exportlist would always
258 skip the next group entry after removing one FQDN.
260 2005-10-06 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
261 * support/nfs/export.c: don't warn about sync/async for readonly
263 * support/nfs/closeall.c: new file with function to close all
264 file descriptors from a give minimum upwards.
265 * nfsd/mountd/statd/idmapd/gsssvcd: use closeall.
266 * utils/mountd/mountd.c: Eliminate 3 syslog message that are
267 logged for successful events.
268 * utils/mountd/mountd.c: make sure the correct hostname is used in
269 the SM_NOTIFY message that is sent from a rebooted server which
270 has multiple network interfaces. (bz 139101)
272 Details can be found in:
273 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139101
275 *utils/idmapd/idmapd.c:Fixed subscripting problem in idmapd (bz
276 158188) This fixes the following problem:
277 rpc.idmapd: nfsdreopen: Opening '' failed: errno 2 (No such file or directory)
279 Details can be found in:
280 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158188
282 *utils/statd/statd.c(drop_privs): clear st_gid as well as st_uid
284 *utils/statd/svc_run.c(my_svc_run): remove usage of undocumented
286 *utils/statd/montor.c(sm_mon_1_svc): as above
287 *support/nfs/xlog.c(xlog): Changed xlog to use LOG_INFO instead of
288 LOG_DEBUG so debug messages will appear w/out any config changes
292 2005-09-02 Mike Frysinger <vapier@gentoo.org>
293 * utils/rquotad/rquota_server.c(getquotainfo): use explicit
294 struture-member copying rather than memcpy, as the element
295 sizes are the same on all architectures.
297 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
298 Add option to set rpcsec_gss debugging level (if available)
300 Changes to allow gssd/svcgssd to build when using Hiemdal Kerberos
301 libraries. Note that there are still run-time issues preventing
302 this from working when shared libraries for libgssapi and librpcsecgss
305 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
306 Remove the rpcsec_gss code and rely on an external library instead.
308 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
309 *utils/mountd/mountd.c:
310 mountd currently always returns AUTH_NULL and AUTH_SYS as the
311 allowable flavors in mount replies. We want it to also return gss
312 flavors when appropriate. For now as a hack we just have it always
313 return the KRB5 flavors as well.
315 *utils/mountd/cache.c:
317 When attempting to mount an NFSv4 pseudofilesystem (fsid=0) and the
318 actual exported directory does not exist on the server, rpc.mountd
319 doesn't check the directory exists (when fsidtype=1, i.e. using fsid,
320 but does check for fsidtype=0, i.e. using dev/ino). The non-existent
321 exported directory path with fsid=0 is written to the kernel via
322 /proc/net/rpc/nfsd.export/channel, which leads to path_lookup() to
323 return ENOENT (seems appropriate). Unfortunately, the new_cache
324 approach ignores errors returned when writing via the channel file so
325 that particular error is lost and the mount request is silently ignored.
327 Assuming it doesn't make sense to revamp the new_cache/up-call method to
328 not ignore returned errors, it seems appropriate to fix the case where
329 rpc.mountd doesn't check for the existence of an exported directory with
330 fsid= semantics. The following patch does this by moving the stat() up
331 so it is done for both fsidtype's. I'm not certain whether the other
332 tests need to be executed for fsidtype=1, but it doesn't appear to hurt
333 [Not exactly true: the comparison of inode numbers caused problems so
334 now it's kept for fsidtype=0 only].
336 Would it be also desirable to log a warning for every error, if any,
337 returned by a write to any of the /proc/net/rpc/*/channel files which
338 would otherwise be ignored (maybe under a debug flag)?
340 * gssd/mountd/svcgssd: Changes gssd, svcgssd, and mountd to ignore a
341 SIGHUP rather than dying.
343 * many: Remove the gssapi code and rely on an external library instead.
345 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
346 * utils/exportfs/exports.man: Document the "crossmnt" export export option
347 * utils/gssd/krb5_util.c:
348 Add better debugging and partially revert the function
349 check for gss_krb5_ccache_name.
351 For MIT Kerberos releases up to and including 1.3.1, we *must*
352 use the routine gss_krb5_ccache_name to get the K5 gssapi code
353 to use a different credentials cache.
355 For releases 1.3.2 and on, we want to use the KRB5CCNAME
356 environment variable to tell it what to use.
357 (A problem was reported where 1.3.5 was being used, our
358 code was using gss_krb5_ccache_name, but the underlying
359 code continued to use the first (or default?) credentials
360 cache. Switching to using the env variable fixed the problem.
361 I cannot recreate this problem.
363 *utils/gssd/krb5_util.c:
364 Andrew Mahone <andrew.mahone@gmail.com> reported that reiser4
365 always has DT_UNKNOWN. He supplied patch to move the check
366 for regular files after the stat() call to correctly find
367 ccache files in reiser4 filesystem.
369 Also change the name comparison so that the wrong file is
370 not selected when the substring comparison is done.
372 *utils/gssd/krb5_util.c:
373 Limit the set of encryption types that can be negotiated by
374 the Kerberos library to those that the kernel code currently
377 This should eventually query the kernel for the list of
380 *utils/gssd/gss_util.c, utils/svcgssd/svcgssd_main_loop.c:
381 Print more information in error messages to help debugging failures.
383 *utils/svcgssd/svcgssd_proc.c: Increase token buffer size and
384 update error handling so that a response is always sent.
386 *utils/svcgssd/svcgssd_proc.c: Add support to retrieve
387 supplementary groups.
390 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
392 Consolidate some of the Kerberos checking instead of repeating
393 the same things for MIT and Heimdal.
394 Also adds more checks to distinguish 32-bit from 64-bit
395 (mainly for gssapi.h)
396 Fix svcgssd Makefile so make TOP=../../ works correctly there.
397 Enable running a modern autoheader.
398 * utils/gssd/gss_oids.c: Use correct OID value for SPKM-3
399 * utils/gssd/gss_util.c: Fix build with older MIT releases that do not define GSS_C_NT_HOSTBASED_SERVICE
400 * utils/gssd/write_bytes.h, support/include/gssapi/gssapi.h:
401 Length of gss_buffer_desc is a size_t which is 64-bits on a
402 64-bit machine. Kernel code expects 32-bit integer for length.
403 Coerce length value into a 32-bit value when reading from or
404 writing to the kernel.
405 Change gssapi.h to use datatype size values obtained from
406 configure rather than hard-coded values.
407 * utils/idmapd/idmapd.c: The EV_INIT check here was wrong, and was
408 causing idmapd to become unresponsive to server requests after
410 * utils/idmapd/idmapd.c: Idmapd should flush the server id<->name
411 caches when its started.
413 2005-04-12 G. Allen Morris III <gam3@gam3.net>
415 * All Makefile: added TOP as needed for easier compile.
417 * utils/nfsstat/nfsstat.c: added NFS V4 support; added the -m
418 option; Added -2, -3, and -4 options; changed -a option to -v
419 option; added long options; changed default output to not
420 show V2 NFS statistics unless used.
422 * utils/nfsstat/nfsstat.man: Documented above changes; changed
423 authors email address; added BUGS section.
425 2005-04-07 Chip Salzenberg <chip@pobox.com>
427 * debian/changelog: Version 1.0.7-2.
429 2005-04-06 Chip Salzenberg <chip@pobox.com>
431 * config.guess, config.sub: Update.
433 * support/rpc/svc_auth_gss.c (_svcauth_gss): Avoid using a cast as
434 an lvalue, as it is non-portable.
436 * support/nfs/exports.c (parseopts): Accept "acl" option to mean
437 ~NFSEXP_NOACL, and "no_acl" to mean NFSEXP_NOACL.
438 (putexportent): Report NFSEXP_NOACL as "no_acl", and ~NFSEXP_NOACL
440 * utils/exportfs/exportfs.c (dump): Report NFSEXP_NOACL as
442 * utils/exportfs/exports.man: Document "no_acl".
444 2005-03-14 NeilBrown <neilb@cse.unsw.edu.au>
445 Denis Vlasenko <vda@ilport.com.ua>
446 * support/export/client.c(client_init and client_gettype):
447 treat N.N.N.N as a special case of MCL_SUBNETWORK instead of
450 2005-03-06 G. Allen Morris III <gam3@gam3.net>
451 * support/nfs/cacheio.c(readline): Could not read lines greater
452 than 128 bytes. [1157791]
453 * utils/exportfs/exports.man: Added a SEE ALSO section and
454 fixed 2 typos. [1018450]
456 2005-02-28 Trond Myklebust <trond.myklebust@fys.uio.no>
457 * utils/statd/rmtcall.c(statd_get_socket): If a port number is
458 explicitly given, make sure to try to bind to that.
460 2005-01-11 Chip Salzenberg <chip@pobox.com>
462 * debian/changelog: Version 1.0.7-1.
463 * debian/nfs-common.default (NEED_IDMAPD, NEED_GSSD):
464 Disable by default, on advice of upstream.
465 * debian/nfs-kernel-server.default (NEED_SVCGSSD):
468 * utils/svcgssd/Makefile (predep): Symbolically link duplicated
470 (distclean): Remove symlinks to duplicated files.
472 2004-12-17 NeilBrown <neilb@cse.unsw.edu.au>
475 * config.mk, configure.in: update version number, run autoconf
476 * configure.in: require nfsidmap.h if gss is enabled.
478 2004-12-10 NeilBrown <neilb@cse.unsw.edu.au>
481 * config.mk, configure.in: update version number, run autoconf
483 2004-12-10 Neil Brown <neilb@cse.unsw.edu.au>
484 * README : note dependancy on kerberos, libevent, and nfsidmap
485 * configure.in : fail if --enable-nfsv4 and libevent or
486 libnfsidmap are missing.
487 * configuyre.in: improve message if krb5 support is missing
489 2004-12-06 Paul Clements <paul.clements@steeleye.com>
490 * support/include/ha-callout.h: get return status from waitpid
492 * support/include/ha-callout.h: don't ignore SIGCHLD while waiting
493 for a callout to complete.
494 * utils/statd/statd.c(sigusr): print current start when re-reading
495 notify list due to SIGUSR1
496 * utils/statd/svc_run.c(my_svc_run): call change_state when
497 re-notifying clients.
499 2004-12-06 Marc Eshel <eshel@almaden.ibm.com>
500 * utils/statd/svc_run.c(my_svc_run): allow loop to exit when in
502 *utils/statd/rmtcall.c(statd_get_socket): if a hostname is given
503 to statd with -n, prefer it's IP address to the default for
506 2004-12-06 Bruce Allan <bwa@us.ibm.com>
507 * utils/mountd/auth.c(auth_reload) Clear the "my_client" cache on
508 an auth_reload to avoid old data getting used.
510 2004-12-03 NeilBrown <neilb@cse.unsw.edu.au>
511 Release 1.0.7-pre1 for testing
513 * config.mk, configure.in: update version number, run autoconf
515 2004-12-03 Trond Myklebust <trond.myklebust@fys.uio.no>
517 * utils/statd/statd.c(main): ignore SIGPIPE
519 2004-11-22 "J. Bruce Fields" <bfields@fieldses.org>
521 * tools/rpcdebug/rpcdebug.c: support aliases "nfsdebug" and
522 "nfsddebug" and update flag names.
523 * configure.in, nodist/* redhat/* nfs-utils.spec*: remove redhat
524 specific files (as no-one actually uses them, especially not
525 redhat), and the nodist /etc files (as they drift out-of-date, and
526 the debian directory provides a suitable example.
527 * utils/svcgssd_proc.c(get_ids): fix memory leak
528 * utils/svcgssd/svcgssd_proc.c: Rely on count of the number of
529 groups instead of using a special guard value to identify the end
531 * utils/idmapd/idmapd.c: don't allow Default domain and anon-uid
532 or -gid to be specified on command line.
533 * utils/idmapd/idmapd.c: improve error messages
534 * utils/idmapd/idmapd.c: Reopen nfsd files on sighup. Allows us
535 to start up client side only (even when nfsd module not loaded),
536 and then sighup later after insmodding nfsd module.
537 * utils/idmapd/idmapd.c: Make sure we catch all errors on
538 daemonizing by waiting for child to report succesfull startup
540 * utils/idmapd/idmapd.c: Let libnfsidmapd parse the idmapd.conf
541 file for the default domain, instead of doing that ourselves.
542 * utils/gssd/gssd_proc.c: Make sure we get an error when a gssd
544 * utils/gssd/gssd_proc.c: We were forgetting to restore the euid
545 on certain failures, which meant gssd could get stuck in a state
546 where it didn't have permissions to read the files in rpc_pipefs
548 * utils/gssd/gssd_proc.c: Use libnfsidmapd to map gss principals
550 * debian/nfs-kernel-server.default: Document the NEED_SVCGSSD
551 variable in /etc/default/nfs-kernel-server.
554 2004-11-22 NeilBrown <neilb@cse.unsw.edu.au>
556 * utils/exportfs/nfsd.man: corrected typo in .BR macro usage -
557 reported by Eric Raymond
559 2004-10-19 "J. Bruce Fields" <bfields@fieldses.org>
561 * support/gssapi/* support/rpc/* utils/gssd/* utils/svcgssd/* etc
562 initial support for GSSAPI authentication
564 2004-09-15 Neil Brown <neilb@cse.unsw.edu.au>
566 * utils/statd/monitor.c(sm_unmon_1_svc): is RESTRICTED_STATD, then
567 check IP address and force my_name to 127.0.0.1 to match
568 what happens in sm_mon_1_svc. This avoid spurious "erroneous
570 * utils/statd.monitor.c(sm_unmon_all_1_svc): likewise
572 2004-09-15 "J. Bruce Fields" <bfields@fieldses.org>
574 * Assorted changes to support "gss/*" style authentication
575 * utils/idmapd: new idmapd daemon for nfsv4 username lookup
577 2004-09-06 Trond Myklebust <trond.myklebust@fys.uio.no>
578 Neil Brown <neilb@cse.unsw.edu.au>
580 * utils/mountd/auth.c(auth_authenticate_internal): fix
581 uninitialsed variable problem (causes bad error messages).
583 2004-09-06 Paul Clements <paul.clements@steeleye.com>
584 Neil Brown <neilb@cse.unsw.edu.au>
586 * utils/mountd/mountd.c(main): support --ha-callout (-H) for
587 specifying a callout program
588 * utils/mountd/rmtab.c: Call ha_callout on mount/unmount
589 * utils/statd/monitor.c: Call ha_callout on add/del client
590 * utils/statd/rmtcall.c: as above
591 * utils/statd/statd.c: handle --ha-callout (-H)
592 * utils/statd/svc_run.c: call notify_hosts is we have received a
594 * support/include/ha-callout.h: define ha_callout function
597 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
598 * utils/mountd/cache.c(cache_process_req): clear fd after
599 processing so as not to confused libc/sunrpc into thinking
600 it need to do something with that fd.
602 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
604 * debian/nfs-kernel-server.init(start,stop) mount the nfsd
605 filesystem, if available, before starting nfs services, and
606 unmount it afterwards.
607 * etc/nodist/nfs-server: ditto
608 * etc/redhat/nfs.init: likewise
609 * etc/redhat/nfs: add "MOUNT_NFSD" flag to control above.
611 2004-06-08 NeilBrown <neilb@cse.unsw.edu.au>
613 * utils/exportfs/exportfs.c: Don't rmtab_read if new_cache, it
615 * support/nfs/cacheio.c(cache_flush): Change order in which caches
616 are flushed so that dependancies don't keep things in the cache
619 2004-03-18 Chip Salzenberg <chip@pobox.com>
621 * debian/changelog: Version 1.0.6-2.
623 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
624 from "J. Bruce Fields" <bfields@fieldses.org>
626 * utils/mountd/cache.c: call auth_reload to make sure auth data is
627 current before responding to kernel upcall.
629 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
630 Based on patch from Greg Banks <gnb@melbourne.sgi.com>
632 * utils/exportfs/exports.man: Document fsid= option.
634 2003-09-15 NeilBrown <neilb@cse.unsw.edu.au>
638 * rules.mk: Add dep: rule when no OBJS, so "make dep" works in
639 support/include, and depend in "predep"
640 * support/export/Makefile, tools/rpcgen/Makefile,
641 utils/statd/Makefile: add "predep" rule so that "make dep" works.
642 * Makefile: allow a simple "make" to run ./configure and "make dep"
644 * configure.in, nfs-utils.spec: Update version to 1.0.6
647 2003-09-12 Chip Salzenberg <chip@pobox.com>
649 * debian/changelog: Version 1.0.6-1.
651 2003-09-12 NeilBrown <neilb@cse.unsw.edu.au>
653 * utils/mountd/mountd.c(main): Impose FD_SETSIZE as an upper limit
655 * utils/statd/statd.c(main): Ditto.
657 michael <michael@newdream.net> discovered that svc_setreqsize
658 in glibc can segfault if RLIMIT_NOFILE is bigger than
659 FD_SETSIZE, so a simple solution is to impose a hard limit.
661 2003-09-09 Chip Salzenberg <chip@pobox.com>
663 * debian/changelog: Version 1.0.5-3.
664 * support/export/hostname.c (get_reliable_hostbyaddr): Fix crash
665 on invalid reverse DNS.
666 * utils/showmount/showmount.c (main): Fix inet_ntoa() parameter.
667 * tools/rpcgen/rpc_cout.c (print_header): Remove unused vars.
668 * tools/rpcgen/rpc_parse.c (def_union): Likewise.
670 2003-08-22 Chip Salzenberg <chip@pobox.com>
672 * utils/statd/{log.h,log.c}: Rename log() to note() and L_* to
673 N_*, to avoid conflict with ISO C built-in log() function.
674 * utils/statd/*.c: Use note().
676 2003-08-20 Chip Salzenberg <chip@pobox.com>
678 * debian/changelog: Version 1.0.5-2.
680 2003-08-11 NeilBrown <neilb@cse.unsw.edu.au>
682 * utils/mountd/cache.c(cache_get_filehandle): close the filehandle
685 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
687 * support/include/nfs/export.h, support/nfs/exports.c,
688 utils/exportfs/exports.c, utils/mountd/mountd.c: change
689 NFSEXP_CROSSMNT to NFSEXP_CROSSMOUNT to avoid confusion with older
690 meaning. Also remove meaningless
691 NFSEXP_{UIDMAP,KERBEROS,SUNSECURE}
693 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
695 * support/export/xtab.c, support/include/nfslib.h,
696 support/nfs/cacheio.c, support/nfs/nfssvc.c,
697 utils/exportfs/exportfs.c, utils/exportfs/exportfs.man,
698 utils/exportfs/nfsd.man, utils/mountd/cache.c: support
699 /proc/fs/nfsd/* as a perferred alternate to /proc/fs/nfs/*
700 (nfs-utils-1.0.5-post2)
702 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
704 * support/nfs/nfsexport.c: open channel file O_WRONLY when
706 * utils/mountd/cache.c: maintain mountlist when new_cache is
707 active. Also use O_WRONLY for channel files.
708 * utils/mountd/mountd.h: mountlist_{del,add} now take a host name
709 rather than an nfs_export.
710 * utils/mountd/rmtab.c: ditto.
711 (nfs-utils-1.5.0-post1)
713 2003-07-24 Chip Salzenberg <chip@pobox.com>
715 * support/nfs/xlog.c (xlog): Revise buffer-overflow fix to
716 use Debian security team's cleaner approach.
717 * debian/changelog: Version 1.0.5-1.
718 * debian/nfs-kernel-server.init: Cosmetic changes.
720 2003-07-18 NeilBrown <neilb@cse.unsw.edu.au>
723 1.0.4 was a bit of a brown-paper-bag-release because of the extra
724 'free' in auth.c. So I'm releasing this just a few days later.
726 * support/nfs/cacheio.c(cache_flush): Correct test for 'open
728 * utils/exportfs/exportfs.c(main): If "-f" given as lone option,
729 check if new_cache is enabled, error if not, flush and exit if it
731 * utils/exportfs/exportfs.man: Explain -f option and explain the
732 two different modes that exportfs can work in.
733 * utils/mountd/mountd.c: Do not change RLIMIT_NOFILE if the -o
735 * utils/mountd/mountd.man: Record the change if default behaviour
737 * configure.in, nfs-utils.spec: update version to 1.0.5 and
740 2003-07-15 NeilBrown <neilb@cse.unsw.edu.au>
742 * utils/mountd/mountd.c(main): getopt string fix for 'o'
743 * utils/mountd/auth.c(auth_authenticate): remove extra 'free'
744 * utils/exportfs/exportfs.c(main): make 'exportfs -f' just flush
746 * support/include/nfs/export.h: Reserve a bit for possible ACL
749 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
751 * utils/exportfs/nfsd.man: new man page for nfsd filesystem. Also
752 assorted changed to cope with section 7 of the manual.
753 * configure.in, nfs-utils.spec: Update version to 1.0.4
756 This is a 'pre-release' for 1.1.0 Hopefully 1.1.0 will be the
757 baseline for 2.6 and 2.8. I.e. it should continue to work right
758 through the 2.8 (or 3.0) kernel series. Previous releases wont.
760 2003-07-04 NeilBrown <neilb@cse.unsw.edu.au>
761 Steve Dickson <SteveD@redhat.com>
764 * utils/statd/statd.c: create a pidfile with pid of statd, and
765 truncate it when statd exists.
766 * utils/statd/statd.c: drop privs by setuid to owner of SM_DIR,
767 and warn if this is root.
768 * utils/statd/statd.c: when statd forks, connect child to parent
769 with a pipe, and send a byte down the pipe once the child is
771 * Makefile: create and chown sm, sm.bak, state when "make install"
772 * configure.in: add --with-statduser= option which defaults to
773 "rpcuser" or "nobody"
774 * config.mk.in: pass "statduser" through to Makefile
776 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
778 * support/include/nfs/nfs.h: Make sure correct __kernel_dev_t is
779 used as the size was changed somewhere in 2.5.60-2.5.70. Without
780 this nfs-utils compiles against 2.6 headers will not work on a
783 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
785 * support/nfs/nfssvc.c(nfssvc): If /proc/fs/nfs/threads exists,
786 set number of threads by writing to there. This means it will
787 still work when the syscall interface goes away in 2.7.
789 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
790 fumihiko kakuma <kakmy@mvh.biglobe.ne.jp>
792 * utils/exportfs/exportfs.c(unexportfs): improve host comparison
793 so as to only export the wildcard exports that were asked for.
794 * support/export/export.c(export_allowed): changed to return the
795 nfs_export rather than a "struct exportent", as m_changed is
797 * support/export/rmtab.c(rmtab_read): modified to deal with
798 interface change for export_allowed(), and enhanced to preserve
799 m_changed flag when a wild-card export causes the creation of
800 a non-wildcard export.
802 2003-07-02 NeilBrown <neilb@cse.unsw.edu.au>
803 Steve Dickson <SteveD@redhat.com>
805 * utils/mountd/mountd.man: Add valid kinds of debugging.
806 * utils/mountd/mountd.c(main): ignore SIGPIPE
807 * utils/nfsstat/nfsstat.c: fine-tune printing of warning so
808 we don't get warnings about unavailable stats that weren't asked
811 2003-06-24 NeilBrown <neilb@cse.unsw.edu.au>
813 * support/nfs/nfsexport.c(exp_unexp): When unexporting filesystems
814 via /rpc/net/rpc/nfsd*/channel, set the expiry date to 1, not
815 'forever', so things disappear out of the cache rather than just
818 2003-06-16 "J. Bruce Fields" <bfields@fieldses.org>
820 * utils/mountd/cache.c(nfsd_fh): don't export the export_ent
823 2003-06-16 NeilBrown <neilb@cse.unsw.edu.au>
825 * debian/nfs-kernel-server.init,etc/nodist/nfs-server,
826 etc/redhat/nfs.init: when checking if V3 is supported, make sure
827 nfs server 'knows' about 127.0.0.1 first.
829 2003-06-10 Chip Salzenberg <chip@pobox.com>
831 * support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug.
832 * debian/changelog: Version 1.0.3-2.
834 2003-05-30 Michael Griffith <grif@michaelgriffith.com>
835 NeilBrown <neilb@cse.unsw.edu.au>
837 utils/nfsstat/nfsstat.c(print_callstats): use unsigned
838 long long to avoid overflow when printing stats.
840 2003-05-30 NeilBrown <neilb@cse.unsw.edu.au>
842 * support/export/export.c, support/include/nfslib.h,
843 support/nfs/export.c, utils/exportfs/exportfs.c,
844 utils/mountd/mountd.c: new export option "mountpoint"
845 If no path is given, then the export point must be a
846 mount point, or it won't be exported. If a path is
847 given (e.g. mountpoint=/path) then that path must be
848 a mountpoint or the exportpoint won't be exported.
849 * utils/exportfs/exportfs.man: document mountpoint option.
850 * support/misc/mountpoint.c: New file with is_mountpoint()
851 to determine if something is a mountpoint.
853 2003-05-23 NeilBrown <neilb@cse.unsw.edu.au>
855 * utils/mountd/cache.c(cache_get_filehandle): take a separate path
856 argument as we might not be getting the filehandle for the
858 * utils/mountd/mountd.c(get_rootfh): pass real path when calling
859 cache_get_filehandle.
860 * utils/mountd/mountd.c(get_rootfh): check export point and
861 requested directory are on the same filesystem, and complain if
864 2003-05-22 NeilBrown <neilb@cse.unsw.edu.au>
866 * utils/mountd/auth.c(auth_authenticate_internal): make sure
867 portnumber is still checked when using new cache lookup.
869 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
871 * utils/exportfs/exportfs.c: Use check_new_cache and cache_flush
872 Don't actually talk to kernel when new cache is in effect, except
874 * utils/exportfs/exportfs.c: add -f option to fully flush cache.
875 * support/export/xtab.c: Only rename new xtab into place if it has
876 changed, thus preserving modify date for exportfs to use when
878 * support/nfs/cacheio.c: Add cache_flush
879 * support/export/xtab.c: Only rename new xtab into place if it has
880 changed, thus preserving modify date for exportfs to use when
883 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
885 * support/export/client.c: Add client_compose, client_member to
886 handle new composite client names
887 * support/include/exportfs.h: Declare above functions.
888 * utils/mountd/auth.c: use client_compose to determine calling
889 client if new cache is being used.
890 * utils/mountd/auth.c: call cache_export to export a filesystem if
891 new_cache, check if new cache is used, and call my_svc_run instead
893 * utils/mountd/svc_run.c: new file defining my_svc_run
894 * utils/mountd/cache.c: new file for handling cache upcalls.
895 * support/nfs/cacheio.c(check_new_cache): new function to check if
896 new cache should be used.
899 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
901 * support/include/nfs/export.h: New CROSSMNT distinct from NOHIDE
902 * support/nfs/exports.c: Make CROSSMNT distinct from NOHIDE
903 * utils/exportfs/exportfs.c(dump): ditto
905 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
907 * support/export/hostname.c(get_reliable_hostbyaddr): new function
908 to get host name from address with full checking of authenticity.
909 * support/include/misc.h: declare above function
910 * utils/mountd/auth.c(auth_authenticate_internal): remove all
911 logic for authenticating address.
912 * utils/mountd/auth.c(auth_authenticate): call new
913 get_reliable_hostbyaddr to to hostname lookup before calling _internal.
916 2003-03-30 NeilBrown <neilb@cse.unsw.edu.au>
918 * tools/rpcgen/rpc_main.c(find_cpp): removed
919 * tools/rpcgen/rpc_main.c(open_input): use execvp to find "cpp",
920 then try hard-coded paths.
922 2003-03-26 Chip Salzenberg <chip@pobox.com>
924 * debian/changelog: Version 1.0.3-1.
926 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
928 * utils/mountd/rmtab.c (slink_safe_rename): real_newpath should be
929 "const char*", not "char*".
931 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
933 * configure.in (VERSION): Set to "1.0.3".
934 * nfs-utils.spec: Likewise.
935 * configure: Regenerated.
937 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
939 * support/nfs/cacheio.c: New File - support for read/writing
940 to export cache in /proc/rpc/*/channel
941 * support/nfs/Makefile: compile cacheio.c
942 * support/include/nfslib.h: declare cacheio.c functions
943 * support/nfs/nfsexport.c: export and unexport through
944 /proc/rpc/*/channel if possible, as old syscall interface
945 may not survive into 2.6 on all architectures.
947 2003-02-19 NeilBrown <neilb@cse.unsw.edu.au>
948 Ben Leslie <benno@sesgroup.net>
950 * support/nfs/rpcmisc.c(rpc_init): change test for ignoring
951 "defport" from (__rpcfdtype == 0) to (__rpcpmstart==0). The
952 former would incorectly ignore defport if the application
953 explicitly set __rpcfdtype. The later is sufficient to avoid the
954 special handling in the case where stdin is an internet socket.
956 * utils/mountd/mountd.c(main): Add 'n' to option list in
957 getopt_long as this is a short form of --no-tcp which want being
960 2003-02-12 Chip Salzenberg <chip@pobox.com>
962 * debian/changelog: Version 1.0.2-2.
964 2002-11-27 Chip Salzenberg <chip@pobox.com>
966 * utils/mountd/rmtab.c (slink_safe_rename): Fix off-by-one buffer
967 overflow bug. Reformat per rest of source file.
969 2002-11-19 NeilBrown <neilb@cse.unsw.edu.au>
971 * utils/exportfs/exports.man: Correct notes about whether the wild
972 card characters match a period. They do.
974 2002-10-15 Juan Gomez <juang@us.ibm.com>
976 * utils/mountd/rmtab.c (slink_safe_rename): New. Support
978 (mountlist_add): Call slink_safe_rename instead of rename.
980 2002-10-11 H.J. Lu <hjl@lucon.org>
982 * support/include/exportfs.h (export_errno): New.
984 * support/nfs/exports.c: Include <errno.h>.
986 (getexportent): Set export_errno to EINVAL for bad option.
987 (parseopts): Likewise.
988 Report the location of the default sync/async option.
990 * utils/exportfs/exportfs.c (main): Initialize export_errno to
991 0. Return export_errno.
993 2002-10-11 Juan Gomez <gomez@cs.sjsu.edu>
994 NeilBrown <neilb@cse.unsw.edu.au>
996 utils/statd/statd.c(killer): don't pmap_unset if in notify_only mode
997 utils/statd/statd.c(main): don't pmap_unset if in notify_only mode
999 2002-09-16 Chip Salzenberg <chip@pobox.com>
1001 * utils/rquotad/rquota_svc.c (main): Use int for value of getopt.
1003 2002-09-15 Chip Salzenberg <chip@pobox.com>
1005 * support/nfs/rpcmisc.c (rpc_init): Allow stdin to be a non-INET
1006 socket, as occurs when run from sshd.
1007 * debian/changelog: Version 1.0.2-1.
1009 2002-09-12 H.J. Lu <hjl@lucon.org>
1011 * support/nfs/svc_socket.c: Remove HAVE_SVCTCP_SOCKET and
1014 2002-09-12 H.J. Lu <hjl@lucon.org>
1016 * configure.in: Remove checking svctcp_socket and svcudp_socket.
1017 * configure: Regenerated.
1019 * support/include/config.h.in (HAVE_SVCTCP_SOCKET): Removed.
1020 (HAVE_SVCUDP_SOCKET): Removed.
1022 * support/include/nfslib.h: Undo the last change.
1024 2002-09-12 H.J. Lu <hjl@lucon.org>
1026 * support/include/nfslib.h (svctcp_socket): Protect it with
1028 (svcudp_socket): Protect it with HAVE_SVCUDP_SOCKET.
1030 2002-09-12 H.J. Lu <hjl@lucon.org>
1032 * configure.in (VERSION): Set to "1.0.2".
1033 * configure: Regenerated.
1034 * nfs-utils.spec: Likewise.
1036 2002-09-12 H.J. Lu <hjl@lucon.org>
1038 * configure.in: Check svctcp_socket and svcudp_socket.
1039 * configure: Regenerated.
1041 * support/include/config.h.in (HAVE_SVCTCP_SOCKET): New.
1042 (HAVE_SVCUDP_SOCKET): New.
1044 * support/include/nfslib.h (svctcp_socket): New.
1045 (svcudp_socket): New.
1047 * support/nfs/Makefile (OBJS): Add svc_socket.o.
1049 * support/nfs/svc_socket.c: New.
1051 * support/nfs/rpcmisc.c (rpc_init): Call svctcp_socket and
1052 svcudp_socket if port is unspecified.
1054 * utils/nfsd/nfsd.c (main): Call getservbyname for port.
1056 * utils/rquotad/rquota_svc.c: Include <nfslib.h>.
1057 (killer): New. Signal handler to unregister.
1058 (main): Use killer. Call svcudp_socket to get the default
1061 2002-09-02 Juan Gomez <juang@us.ibm.com>
1062 NeilBrown <neilb@cse.unsw.edu.au>
1064 Add -N option to statd to run in notify-only mode.
1066 * utils/statd/statd.h: uncomment MODE_NOTIFY_ONLY
1067 * utils/statd/statd.man: document -N
1068 * utils/statd/statd.c: enabled -N, largely exists but needed to be
1069 uncommented and completed
1071 2002-09-02 Juan Gomez <juang@us.ibm.com>
1072 NeilBrown <neilb@cse.unsw.edu.au>
1074 statd to have " -P directory" arg to use that directory instead
1075 of /var/lib/nfs. This is useful for fail-over clusters.
1077 * utils/statd/statd.h: define SM_DIR etc as var, not const.
1078 * utils/statd/statd.c: define "-P" option to set SM_*
1080 * utils/statd/monitor.c: sprintf to cope with SM_DIR not being
1081 a constant any more.
1082 * utils/statd/notify.c: ditto.
1083 * utils/statd/statd.man: document -P option.
1085 2002-08-26 Chip Salzenberg <chip@pobox.com>
1087 * utils/nfsd/nfsd.man: Fix typo.
1088 * debian/changelog: Version 1.0.1-1.
1090 2002-05-29 NeilBrown <neilb@cse.unsw.edu.au>
1092 * let parseopts know if /etc/exports was being read or not,
1093 and have it only print "no sync or async" warning in that case.
1095 2002-05-06 Tom McNeal <trmcneal@attbi.com>
1096 NeilBrown <neilb@cse.unsw.edu.au>
1098 * utils/nfsstat/nfsstat.c: Handle differing format for
1099 /proc/net/rpc/nfsd between pre and post 2.4.0
1101 2002-04-09 NeilBrown <neilb@cse.unsw.edu.au>
1102 James Pearson <james-p@moving-picture.com>
1104 * support/nfs/rmtab.c(fendrmtabent): sync changes to
1105 storage before returning, as this is critical state
1107 2002-04-08 Sean O'Connell <sean@ee.duke.edu>
1108 H.J. Lu <hjl@lucon.org>
1110 * etc/redhat/nfs: New.
1112 2002-04-08 H.J. Lu <hjl@lucon.org>
1114 * etc/redhat/nfs.init: Updated.
1116 * nfs-utils.spec.in: Updated.
1117 * nfs-utils.spec: Regenerated.
1119 * utils/mountd/mountd.c (longopts): Fix a typo.
1121 * utils/mountd/mountd.man: Updated.
1123 2002-04-07 H.J. Lu <hjl@lucon.org>
1125 * etc/redhat/nfslock.init (restart): Just do stop and start.
1127 * etc/redhat/nfs.init: Fix a typo.
1129 2002-04-07 H.J. Lu <hjl@lucon.org>
1131 * configure.in (VERSION): Set to "1.0.1".
1132 * configure: Regenerated.
1133 * nfs-utils.spec: Likewise.
1135 * README: Updated for 1.0.1.
1137 2002-04-07 Sean O'Connell <sean@ee.duke.edu>
1138 H.J. Lu <hjl@lucon.org>
1140 * etc/redhat/nfs.init: Read /etc/sysconfig/nfsd for NFS tuning.
1142 2002-02-28 Steven Whitehouse <steve@gw.chygwyn.com>
1143 NeilBrown <neilb@cse.unsw.edu.au>
1145 Add support for fsid=nn export option so that device
1146 numbers don't go in filehandles.
1147 * support/export/nfsctl.c(expsetup): if exporting and NFSEXP_FSID
1148 is set, pass the fsid in-place of the device number
1149 * support/nfs/exports.c: parse and print fsid= option.
1150 Also check if efname has been set, and use "command line"
1151 instead in error messages.
1152 Also, use strtol instead of atoi for anon[ug]id= so that
1153 bad numbers cause errors.
1155 2002-01-17 Adrian Drzewiecki <drze@MissionCriticalLinux.com>
1156 NeilBrown <neilb@cse.unsw.edu.au>
1158 * support/nfs/exports.c: remove NFSEXP_ASYNC as a default
1159 flag so that "sync" becomes the default.
1160 Check that either "sync" or "async" is given as an option
1161 and warn if neither are present
1162 * utils/exportfs/exports.man: change documentation for "sync"
1163 to be documentation for "async".
1164 * utils/exportfs/exportfs.man: note that "sync" is the default
1168 2002-01-02 Chip Salzenberg <chip@pobox.com>
1170 * support/export/nfsctl.c (expsetup): Don't export entries that
1171 specify id mappings not supported by the kernel. No extant kernel
1172 supports any significant mapping, only 'identity' (i.e. none).
1173 When other mappings are supported, this code will need changing.
1174 * debian/changelog: Version 1.0-2.
1176 2001-12-26 Chip Salzenberg <chip@pobox.com>
1178 * nfs-utils.spec (Version): Set to "1.0".
1179 * configure.in (VERSION): Likewise.
1180 * configure: Regenerated.
1181 * README: Rewritten.
1182 * debian/changelog: Version 1.0-1.
1184 * utils/exportfs/exports.man: Emphasize the need for options to
1185 immediately follow client names. Explain that wildcards don't
1186 usually work on addresses, but may work when reverse DNS fails.
1187 Comment out a leftover TP that was TPing our indentation.
1188 * utils/mountd/mountd.man, utils/rquotad/rquotad.man,
1189 utils/statd/statd.man: Remove refs to non-existent "hosts_allow(5)".
1190 * debian/changelog: Version 0.3.3-6.
1192 2001-12-20 NeilBrown <neilb@cse.unsw.edu.au>
1194 * support/export/client.c(client_lookup): If a host has multiple
1195 IP addresses, then we must always use the result of a
1196 gethostbyname, not that of gethostbyaddr for exporting
1198 2001-12-20 NeilBrown <neilb@cse.unsw.edu.au>
1200 * support/export/client.c (client_lookup): use strcasecmp when
1201 comparing host names
1202 * support/nfs/export.c (getexportent): add fromkernel arg and use
1203 different defaults as kernels prior to 2.4.11 assume different
1204 defaults in /proc/fs/nfs/exports
1205 * support/include/nfslib.h, support/export/export.c,
1206 support/export/xtab.c: support extra "fromkernel" arg for
1209 2001-12-13 Chip Salzenberg <chip@pobox.com>
1211 * debian/changelog: Version 0.3.3-5.
1213 2001-11-26 TAKAI Kousuke <takai@vlsi.kuee.kyoto-u.ac.jp>
1215 * support/nfs/xio.c (xskip): Call `xungetc' instead of
1216 `ungetc' to keep x_line more properly.
1218 2001-11-26 Chip Salzenberg <chip@pobox.com>
1220 * utils/showmount/showmount.c (main): Don't assume that strings
1221 starting with digits are IP addresses.
1222 * utils/nfsd/nfsd.c (main): Close all fds and reopen 0,1,2 on
1223 /dev/null before nfssvc(). Use syslog to report nfssvc errors.
1224 * support/misc/tcpwrapper.c, utils/mountd/mountd.man,
1225 utils/rquotad/rquotad.man, utils/statd/statd.man: Fix comments and
1226 man pages: We check host names *and* addresses with tcpwrappers.
1227 * debian/changelog: Version 0.3.3-4.
1229 2001-11-21 Chip Salzenberg <chip@pobox.com>
1231 * support/nfs/clients.c (cfname): Added: current clients file name.
1232 (setnfsclntent): Set it.
1233 ({get,end}nfsclntent, syntaxerr): Use it.
1234 * support/nfs/exports.c (efname): Added: current exports file name.
1235 (setnfsexportent): Set it.
1236 (endnfsexportent, parseopts, getexport, syntaxerr): Use it.
1237 (parseopts): Accept old-style "crossmnt" option, for old xtabs.
1238 * debian/changelog: Version 0.3.3-3.
1240 2001-10-11 Chip Salzenberg <chip@pobox.com>
1242 * utils/mountd/mountd.c (main): Close fds > 2 _before_ RPC init.
1243 * debian/changelog: Version 0.3.3-2.
1245 2001-10-08 Chip Salzenberg <chip@pobox.com>
1247 * utils/mountd/mountd.c (main): When daemonizing, close all fds > 2.
1248 * utils/Makefile.in: Remove old Makefile in target 'distclean'.
1249 * utils/mountd/mountd.man: Update paths to /var/lib.
1250 * debian/*: Version 0.3.3-1, with Debian-specific fixes.
1252 2001-10-06 Preston Brown <pbrown@redhat.com>
1254 * utils/nfsstat/nfsstat.man: Updated.
1256 2001-09-24 H.J. Lu <hjl@lucon.org>
1258 * configure.in (VERSION): Set to "0.3.3".
1259 * configure: Regenerated.
1260 * nfs-utils.spec: Likewise.
1262 * README: Updated for 0.3.3.
1264 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
1266 Arrange that "exportfs -au" never does DNS lookup:
1268 * support/export/client.c (client_lookup) : add "canonical"
1269 flag which says that the hostname is known to be canonical, so
1272 * support/export/export.c (export_create) : add "canonical"
1273 flag to be passed down to client_lookup
1274 * support/export/export.c (export_lookup) : Likewise
1276 * support/export/xtab.c (xtab_read) : pass appropriate
1277 "canonical" flag to export_lookup and export_create:
1278 set if reading list of filesystems currently exports
1281 * support/export/export.c (export_read) : pass 0 as
1282 "canonical" flag to export_lookup and export_create
1283 * support/export/rmtab.s (rmtab_read) : Likewise
1285 * support/include/exportfs.h : redeclare various routines
1286 to have "canonical" flag
1288 * utils/exportfs/exportfs.c (main) : redo logic for
1289 "-au" to read in what is currently exported, but never even
1290 look at what "should" be exported.
1292 * utils/exportfs/exportfs.c (unexportall) : remove this
1293 routine. Functionality is completely included in
1296 * utils/exportfs/exportfs.c (exportfs) : set "canonical"
1297 flag to zero in calls to export_lookup and export_create.
1300 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
1301 Anne Milicia <milicia@missioncriticallinux.com>
1303 * support/export/client.c (client_lookup) call gethostbyadd
1304 to make sure that we have a canonical hostname, even for
1306 * utils/exportfs/exportfs.c (exportfs) Likewise
1308 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
1310 * support/nfs/exports.c (putexportent): \octal quote any spaces
1312 * support/nfs/xio.c (xgettok): recognise double-quote and
1313 \octal quoting in path names
1314 * utils/exportfs/exports.man: document quoting conventions
1317 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
1319 * utils/mountd/auth.c (auth_authenticate_internal): Reverse
1320 change from 2000-08-02: It causes problems if someone exports
1321 to both a hostname and IP addresses. nfs-utils must be
1322 consistant about the canonical name that it chooses.
1324 2001-08-17 Ragnar Kjørstad <nfs@ragnark.vestdata.no>
1325 H.J. Lu <hjl@lucon.org>
1327 * etc/redhat/nfslock.init (STATDARG): New. Pass it to rpc.statd.
1329 * utils/statd/statd.c (longopts): Add "name".
1330 (usage): Add "-n/--name".
1331 (main): Set MY_NAME with "-n/--name".
1333 * utils/statd/state.c (change_state): Set MY_NAME only if it
1336 * utils/statd/statd.man: Updated for "-n/--name".
1338 2001-07-26 H.J. Lu <hjl@lucon.org>
1340 * nfs-utils.spec (Release): Set to 8.
1342 2001-07-25 H.J. Lu <hjl@lucon.org>
1344 * etc/redhat/nfs.init: Check if rpc.rquotad exists before doing
1347 2001-06-27 H.J. Lu <hjl@lucon.org>
1349 * etc/redhat/nfs.init: Run rpc.rquotad only if it exists.
1351 2001-06-27 H.J. Lu <hjl@lucon.org>
1353 * utils/rquotad/rquota_server.c: Don't call statfs () for
1354 the block size. Use BLOCK_SIZE instead.
1356 2001-06-27 H.J. Lu <hjl@lucon.org>
1358 * config.mk.in (CC_FOR_BUILD): Renamed from BUILD_CC.
1359 (CFLAGS_FOR_BUILD): New. Don't use @CFLAGS@.
1361 * configure.in (enable_nfsv3): Set to yes by default.
1362 (--enable-rquotad): Added
1363 (AC_PROG_CXX): Removed.
1364 (AC_OUTPUT): Add utils/Makefile.
1365 (CC_FOR_BUILD): Renamed from BUILD_CC.
1366 * configure: Regenerated.
1368 * utils/Makefile: Removed.
1370 * utils/Makefile.in: New.
1372 * nfs-utils.spec.in (rquotad): New. Set to 0 to disable
1374 (CC_FOR_BUILD): Renamed from BUILD_CC.
1375 * nfs-utils.spec: Regenerated.
1377 2001-06-15 Chip Salzenberg <chip@debian.org>
1379 * debian/changelog: Version 0.3.2-2.
1380 * debian/*.init: Minor fixes.
1382 2001-06-07 Lon H. Hohberger <hohberger@missioncriticallinux.com>
1384 * etc/nodist/nfs-server: Fixed a bug where the script would
1385 disable mounts from NFSv3 clients if NFSv3 is present.
1387 2001-06-05 H.J. Lu <hjl@lucon.org>
1389 * utils/mountd/mountd.c (longopts): Add "descriptors/o".
1390 (main): Support --descriptors/-o to set the limit of the number
1391 of open file descriptors.
1394 * utils/mountd/mountd.man: Updated for --descriptors/-o.
1396 2001-06-04 H.J. Lu <hjl@lucon.org>
1398 * nfs-utils.spec (Release): Set to 6.
1400 2001-05-28 H.J. Lu <hjl@lucon.org>
1402 * utils/lockd/lockd.c (main): chdir to NFS_STATEDIR.
1403 * utils/mountd/mountd.c (main): Likewise.
1404 * utils/nfsd/nfsd.c (main): Likewise.
1405 * utils/rquotad/rquota_svc.c (main): Likewise.
1407 2001-05-06 Anne Milicia <milicia@missioncriticallinux.com>
1409 * support/export/client.c (client_check): Check IP address
1412 2001-05-06 Neil Brown <neilb@cse.unsw.edu.au>
1414 * support/export/client.c (client_gettype): Treat `*' as
1417 2001-04-22 H.J. Lu <hjl@lucon.org>
1419 * nfs-utils.spec.in: Fix a typo.
1420 * nfs-utils.spec: Regenerated.
1422 2001-04-21 H.J. Lu <hjl@lucon.org>
1424 * nfs-utils.spec.in: Fix cross build.
1425 * nfs-utils.spec: Regenerated.
1426 (Release): Set to 5.
1428 2001-04-18 H.J. Lu <hjl@lucon.org>
1430 * nfs-utils.spec.in: Support cross build.
1431 * nfs-utils.spec: Regenerated.
1432 (Release): Set to 4.
1435 * config.guess: New.
1437 * config.mk.in (BUILD_CC): New.
1438 (CC): Set to $(BUILD_CC) if BUILD is defined.
1441 (RANLIB): Set to @RANLIB@.
1443 * configure.in: Check BUILD_CC, RANLIB, AR and LD.
1444 * configure: Regenerated.
1446 * tools/rpcgen/Makefile (BUILD): Set to true.
1448 2001-04-01 Chip Salzenberg <chip@valinux.com>
1450 * tools/rpcgen/rpc_svcout.c (write_timeout_func): Remove
1451 redundant, and sometimes broken, declaration of svc_fdset;
1453 * support/nfs/rpcmisc.c (closedown): Likewise.
1455 2001-03-21 H.J. Lu <hjl@lucon.org>
1457 * nfs-utils.spec: Regenerated.
1458 (Release): Set to 3.
1460 2001-03-21 Ion Badulescu <ionut@cs.columbia.edu>
1462 * utils/statd/statd.c (main): make sure file descriptors 0-2
1463 are open to /dev/null.
1465 2001-03-21 H.J. Lu <hjl@lucon.org>
1467 * support/nfs/rpcmisc.c: Restore the change made on 2001-03-10.
1468 * support/nfs/rpcmisc.c: Likewise.
1469 * utils/rquotad/rquota_svc.c: Likewise.
1470 * utils/rquotad/rquotad.man: Likewise.
1471 * utils/statd/Makefile: Likewise.
1472 * utils/statd/rmtcall.c: Likewise.
1473 * utils/statd/simulate.c: Likewise.
1474 * utils/statd/statd.c: Likewise.
1475 * utils/statd/statd.man: Likewise.
1477 2001-03-11 H.J. Lu <hjl@lucon.org>
1479 * configure.in (RELEASE): New. Default to 1, set by
1480 --with-release=XXX. Substitute nfs-utils.spec.
1481 * nfs-utils.spec.in (Release): Set to @RELEASE@.
1482 * configure: Regenerated.
1483 * nfs-utils.spec: Likewise.
1485 2001-03-11 H.J. Lu <hjl@lucon.org>
1487 * utils/rquotad/rquotad.man: Fix a typo.
1489 2001-03-11 H.J. Lu <hjl@lucon.org>
1491 * support/include/rpcmisc.h: Undo the change made on 2001-03-10.
1492 * support/nfs/rpcmisc.c: Likewise.
1493 * utils/rquotad/rquota_svc.c: Likewise.
1494 * utils/rquotad/rquotad.man: Likewise.
1495 * utils/statd/Makefile: Likewise.
1496 * utils/statd/rmtcall.c: Likewise.
1497 * utils/statd/simulate.c: Likewise.
1498 * utils/statd/statd.c: Likewise.
1499 * utils/statd/statd.man: Likewise.
1501 2001-03-10 H.J. Lu <hjl@lucon.org>
1503 * configure.in (VERSION): Set to "0.3.2".
1504 * configure: Regenerated.
1505 * nfs-utils.spec: Likewise.
1507 * README: Updated for 0.3.2.
1509 2001-03-10 Tavis Barr <tavis@boole.isetr.columbia.edu>
1511 * utils/rquotad/rquotad.man: Updated for -p.
1512 * utils/statd/statd.man: Likewise.
1514 2001-03-10 Ion Badulescu <ionut@cs.columbia.edu>
1516 * support/nfs/rpcmisc.c: export makesock()
1518 * support/include/rpcmisc.h (makesock): Declared.
1520 * utils/rquotad/rquota_svc.c: added longopts, added support for
1521 specifying the port to bind to on the command line.
1523 * utils/statd/statd.c: ditto, also specify port used for
1524 outgoing connections.
1525 (do_regist): Removed.
1527 * utils/statd/rmtcall.c (statd_get_socket): Renamed from
1528 get_socket. Make it extern.
1530 * utils/statd/simulate.c (daemon_simulator): Call rpc_init
1531 instead of do_regist.
1533 * utils/statd/Makefile (LIBS): link with our own libnfs
1535 2001-03-09 H.J. Lu <hjl@lucon.org>
1537 * etc/redhat/nfslock.init: Changed chkconfig line to 60 86.
1538 * etc/nodist/nfs-client: Likewise.
1540 2001-02-26 Chip Salzenberg <chip@valinux.com>
1542 * debian/changelog: Version 0.3.1-1.
1543 * Mention upstream source and license in copyright file.
1544 * Add build-Depends for debhelper and libwrap0-dev.
1546 2001-02-20 Lon Hohberger <hohberger@missioncriticallinux.com>
1548 * etc/nodist/nfs-server: Changed chkconfig line to 60 20
1549 * etc/nodist/nfs-client: Likewise.
1551 2001-02-18 Lon Hohberger <hohberger@missioncriticallinux.com>
1553 * utils/statd/statd.man: Changed /usr/sbin/rpc.statd to
1556 2001-02-17 Patrick J. LoPresti <patl@curl.com>
1558 * utils/statd/log.c (log_init): Use LOG_DAEMON instead of
1561 2001-02-14 H.J. Lu <hjl@lucon.org>
1563 * utils/statd/rmtcall.c: Include <time.h>.
1564 * utils/statd/svc_run.c: Likewise.
1566 2001-02-14 H.J. Lu <hjl@lucon.org>
1568 * configure.in (VERSION): Set to "0.3.1".
1569 * configure: Regenerated.
1570 * nfs-utils.spec: Likewise.
1572 * README: Updated for 0.3.1.
1574 2001-02-14 H.J. Lu <hjl@lucon.org>
1576 * support/nfs/rpcmisc.c: Include <time.h>.
1578 2001-02-14 Chip Salzenberg <chip@valinux.com>
1580 * debian/control: Change priority of nhfsstone package to 'extra'.
1582 2001-02-12 Chip Salzenberg <chip@valinux.com>
1584 * debian/changelog: Version 0.3-2.
1586 2001-02-02 H.J. Lu <hjl@lucon.org>
1588 * support/include/rpcmisc.h (rpc_init): Remove bufsize.
1590 * support/nfs/rpcmisc.c (makesock): Remove socksz and comment
1591 out SO_SNDBUF/SO_RCVBUF.
1592 (rpc_init): Remove bufsize and remove socksz in calls to
1595 * utils/mountd/mountd.c (main): Remove bufsize in calls to
1598 2001-01-28 Chip Salzenberg <chip@valinux.com>
1600 * debian/changelog: Version 0.3-1.
1602 2001-01-25 H.J. Lu <hjl@lucon.org>
1604 * configure.in (VERSION): Set to "0.3".
1605 * configure: Regenerated.
1606 * nfs-utils.spec: Likewise.
1608 * README: Updated for 0.3.
1610 2001-01-25 H.J. Lu <hjl@lucon.org>
1612 * utils/lockd/lockd.c (main): Ignore errno == EINVAL.
1614 2001-01-20 Chip Salzenberg <chip@valinux.com>
1616 * support/include/xio.h (xgetc): Declare to return int.
1617 * support/nfs/xio.c (xgetc): Return int.
1618 (xgettok, xskip, xskipcomment): Use int for value of xgetc.
1619 * utils/statd/statd.c (main): Use int for value of getopt.
1620 * debian/changelog: Version 0.2.1-5.
1622 2000-12-10 Chip Salzenberg <chip@valinux.com>
1624 * utils/statd/monitor.c (sm_mon_1_svc): Fix buggy check for
1625 program and procedure numbers of kernel lockd's callback. Also,
1626 besides the old (and broken) procedure #24, allow #16 per Trond.
1628 2000-12-03 Chip Salzenberg <chip@valinux.com>
1630 * support/nfs/xio.c (xfopen): Initialize x_line to one, not zero.
1631 * debian/control: Let nhfsstone replace files in nfs-kernel-server.
1632 * debian/changelog: Version 0.2.1-4.
1634 2000-11-27 Tobias Ringstrom <tori@tellus.mine.nu>
1636 * utils/mountd/auth.c (auth_authenticate): Log the bad path
1639 2000-11-24 Neil Brown <neilb@cse.unsw.edu.au>
1641 * support/nfs/exports.c (getexportent): Check for host name
1642 without option, or options without hostname, and print a warning,
1643 as this is most likely a typo.
1645 2000-11-19 Chip Salzenberg <chip@valinux.com>
1647 * debian/control: Add dependency on portmap.
1648 * debian/changelog: Version 0.2.1-3.
1650 2000-11-10 H.J. Lu <hjl@lucon.org>
1652 * nfs-utils.spec.in: Don't use libtool.
1653 Add ChangeLog and COPYING to doc.
1654 * nfs-utils.spec: Rebuild.
1656 2000-11-09 H.J. Lu <hjl@lucon.org>
1658 * etc/redhat/nfs.init (start): Back out the last change.
1660 2000-11-09 H.J. Lu <hjl@lucon.org>
1662 * etc/redhat/nfs.init (start): Pass --no-tcp to mountd if
1663 TCP is not supported by kernel.
1665 * support/nfs/rpcmisc.c (rpc_init): Don't set _rpcfdtype to 0.
1667 * utils/mountd/mountd.c (longopts): Add "-n/--no-tcp".
1668 (main): Set to _rpcfdtype to SOCK_DGRAM for "-n/--no-tcp".
1670 * utils/mountd/mountd.man: Updated for "-n/--no-tcp".
1672 2000-10-24 Lon Hohberger <hohberger@missioncriticallinux.com>
1674 * utils/statd/callback.c: Fix bug preventing callbacks to local lockd.
1675 * utils/statd/rmtcall.c: Add some IP address paranoia when doing
1676 callbacks to local lockd.
1678 2000-10-18 Scott McDermott <mcdermot@questra.com>
1680 * utils/exportfs/exports.man: Updated for CIDR netmask.
1682 2000-10-17 Scott McDermott <mcdermot@questra.com>
1684 * support/export/client.c (client_init): Support CIDR netmask
1687 2000-10-11 H.J. Lu <hjl@lucon.org>
1689 * aclocal.m4 (AC_TCP_WRAPPER): Fix a typo.
1690 * configure: Rebuilt.
1692 2000-10-06 Lon Hohberger <hohberger@missioncriticallinux.com>
1694 * utils/statd/statd.man: Change "/var/lib/nfs/sm/state" to
1695 "/var/lib/nfs/state".
1697 2000-10-05 Lon Hohberger <hohberger@missioncriticallinux.com>
1699 * utils/statd/statd.h (run_mode): New global bitmask of runtime
1700 behaviors: fg/bg, logging, etc.
1701 * utils/statd/statd.c: New command line options: -V -h -? -d .
1702 * utils/statd/statd.man: Update for changes to statd.
1704 * utils/statd/log.h (log_init): Remove parameter of function; use
1705 global variable "name_p" instead.
1706 * utils/statd/log.c: Add support for logging to stderr.
1708 * utils/statd/notlist.c: Partially rewrite notify list handling
1709 functions. Eliminate run-off-end-of-list bug when calling
1710 nlist_insert_timer. Add lots of comments.
1712 2000-09-27 H.J. Lu <hjl@lucon.org>
1714 * README: Updated for RedHat 7.0.
1716 2000-09-27 H.J. Lu <hjl@lucon.org>
1718 * nfs-utils.spec: Rebuild.
1720 2000-09-27 H.J. Lu <hjl@lucon.org>
1722 * README: Updated for 0.2.1.
1724 2000-09-27 H.J. Lu <hjl@lucon.org>
1726 * nfs-utils.spec.in: Updated to use rpm macros and support
1729 2000-09-25 H.J. Lu <hjl@lucon.org>
1731 * configure.in (VERSION): Set to "0.2.1".
1732 * configure: Regenerated.
1733 * nfs-utils.spec: Updated.
1735 2000-09-25 H.J. Lu <hjl@lucon.org>
1737 * utils/mountd/auth.c (auth_authenticate_internal): Make sure a
1738 non-NULL hostent is always returned.
1740 2000-09-11 Ion Badulescu <ionut@cs.columbia.edu>
1742 * etc/redhat/nfslock.init: don't kill lockd processes that do not
1743 have an executable (i.e. kernel threads)
1745 2000-09-01 H.J. Lu <hjl@lucon.org>
1747 * README: Updated for 0.2.
1749 2000-09-01 Jay Weber <jweber@valinux.com>
1751 * etc/redhat/nfs.init: Added ability for rpc.mountd to default to
1752 supporting version 3 of nfs if available, else it will fall back to
1753 version 2 support only.
1755 2000-08-30 H.J. Lu <hjl@lucon.org>
1757 * configure.in (VERSION): Set to "0.2".
1758 * configure: Regenerated.
1759 * nfs-utils.spec: Updated.
1761 2000-08-25 H.J. Lu <hjl@lucon.org>
1763 * support/misc/tcpwrapper.c (logit): Modify the log output.
1765 2000-08-25 Ion Badulescu <ionut@cs.columbia.edu>
1767 * utils/rquotad/rquotad.man, utils/statd/statd.man,
1768 utils/mountd/mountd.man: updated
1770 * utils/mountd/Makefile (LIBS): added -lmisc $(LIBWRAP) $(LIBNSL)
1771 * utils/rquotad/Makefile: fix comment
1773 * support/misc/tcpwrapper.c (logit): added comment about waiting
1774 for the children after fork()
1776 * utils/mountd/mountd.c (main): ignore SIGCHLD to prevent leaving
1777 zombies behind (from logit()'s fork)
1778 * utils/rquotad/rquota_svc.c (main): ditto
1779 * utils/statd/statd.c (main): ditto
1781 * utils/rquotad/rquota_svc.c (rquotaprog_1): pass RQUOTAPROG
1782 to check_default instead of 0, for prognum
1784 * utils/statd/statd.c (sm_prog_1_wrapper): pass SM_PROG
1785 to check_default instead of 0, for prognum
1787 * utils/mountd/mount_dispatch.c: Include "tcpwrapper.h" if
1788 HAVE_TCP_WRAPPER is defined.
1789 (mount_dispatch): Call check_default () if HAVE_TCP_WRAPPER is
1790 defined. Reject an RPC call if check_default () fails.
1792 2000-08-25 H.J. Lu <hjl@lucon.org>
1794 * support/include/tcpwrapper.h: New for the tcp wrapper
1796 * support/misc/Makefile: Likewise.
1797 * support/misc/from_local.c: Likewise.
1798 * support/misc/tcpwrapper.c: Likewise.
1800 * aclocal.m4 (AC_TCP_WRAPPER): New.
1801 * configure.in: Use it. Substitute LIBWRAP.
1802 * configure: Rebuilt.
1804 * config.mk.in (LIBNSL): New.
1805 (LIBWRAP): Likewise.
1807 * support/Makefile (SUBDIRS): Add misc.
1809 * support/lib/Makefile (LIBS): Add libmisc.a.
1811 * utils/rquotad/Makefile (LIBS): Add
1813 -lmisc $(LIBWRAP) $(LIBNSL)
1815 * utils/statd/Makefile (LIBS): Likewise.
1817 * utils/rquotad/rquota_svc.c: Include "tcpwrapper.h" if
1818 HAVE_TCP_WRAPPER is defined.
1819 (rquotaprog_1): Call check_default () if HAVE_TCP_WRAPPER is
1820 defined. Reject an RPC call if check_default () fails.
1822 * utils/statd/statd.c: Include "tcpwrapper.h" if
1823 HAVE_TCP_WRAPPER is defined.
1824 (sm_prog_1_wrapper): New. A wrapper for sm_prog_1. Call
1825 check_default () before calling sm_prog_1 (). Define it as
1826 sm_prog_1_wrapper if HAVE_TCP_WRAPPER is defined.
1828 2000-08-25 Chip Salzenberg <chip@valinux.com>
1830 * debian/*: Complete Debian build support.
1831 * etc/debian/*: Remove.
1833 2000-08-24 Neil Brown <neilb@cse.unsw.edu.au>
1835 * support/export/client.c(client_check): removed the "dot+1" as a
1836 ypdomain argument to innetgr as this is entirely bogus.
1837 It should always be NULL.
1839 2000-08-23 Neil Brown <neilb@cse.unsw.edu.au>
1841 * support/export/xtab.c(xtab_read): introduce new mode for
1842 reading xtab. i.e. a list of exports that might be known to the
1843 kernel, or might not. These are flagged as m_exported == -1
1844 * support/export/xtab.c(xtab_mount_read): call xtab_read with new
1845 value "2" for xtab, meaning don't trust this too much.
1846 * support/include/exportfs.h(struct mexport): changed m_exported
1847 from one bit to an int so that it can hold new value
1848 * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the
1849 kernel if it is uncertain whether the kernel knows (m_exported == -1)
1850 * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if
1853 * support/nfs/xio.c(xflock): added O_CREAT when getting
1854 a write lock so that missing files aren't fatal.
1856 * etc/debian/nfs-common: new file from "potato"
1857 * etc/debian/nfs-kernel-server: new file from "potato" plus fixes.
1859 2000-08-09 H.J. Lu <hjl@lucon.org>
1861 * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during
1862 startup to ensure all existing clients work fine.
1864 * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0
1865 to xtab_read () for reading _PATH_XTAB.
1867 2000-08-02 H.J. Lu <hjl@lucon.org>
1869 * utils/mountd/auth.c (auth_authenticate_internal): Try to
1870 avoid the reverse name lookup.
1872 2000-07-04 H.J. Lu <hjl@lucon.org>
1874 * utils/statd/log.c: Include <stdlib.h> for exit ().
1876 * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the
1879 2000-07-04 H.J. Lu <hjl@lucon.org>
1881 * configure.in (VERSION): Set to "0.1.9.1".
1882 * configure: Regenerated.
1883 * nfs-utils.spec: Updated.
1887 2000-07-04 Neil Brown <neilb@cse.unsw.edu.au>
1889 * support/export/hostname.c (hostent_dup): Handle the NULL
1892 2000-07-03 H.J. Lu <hjl@lucon.org>
1894 * README: Update the util-linux requirement.
1896 2000-07-03 H.J. Lu <hjl@lucon.org>
1898 * configure.in (VERSION): Set to "0.1.9".
1899 * configure: Regenerated.
1900 * nfs-utils.spec: Updated.
1904 2000-07-03 H.J. Lu <hjl@lucon.org>
1906 * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
1907 stop to ensure all clients can still access the server
1908 before it is shutdown.
1910 2000-06-30 Jeff Uphoff <juphoff@transmeta.com>
1912 * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog()
1913 calls with format string.
1915 2000-06-28 Chip Salzenberg <chip@valinux.com>
1917 * utils/statd/log.c (log): Call syslog with format string.
1919 2000-06-27 H.J. Lu <hjl@lucon.org>
1921 * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
1922 instead of OPEN_MAX.
1924 2000-06-27 H.J. Lu <hjl@lucon.org>
1928 2000-06-27 H.J. Lu <hjl@lucon.org>
1930 * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
1931 startup to ensure all existing clients are exported.
1933 * configure.in (VERSION): Set to "0.1.8.2".
1934 * configure: Regenerated.
1935 * nfs-utils.spec: Updated.
1937 2000-06-06 H.J. Lu <hjl@lucon.org>
1939 * configure.in (VERSION): Set to "0.1.8.1".
1940 * configure: Regenerated.
1941 * nfs-utils.spec: Updated.
1943 2000-06-06 H.J. Lu <hjl@lucon.org>
1945 * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
1946 to "struct sockaddr_in *" for glibc 2.2.
1947 (mount_umnt_1_svc): Likewise.
1948 (mount_umntall_1_svc): Likewise.
1949 (mount_export_1_svc): Likewise.
1950 (mount_exportall_1_svc): Likewise.
1951 (mount_pathconf_2_svc): Likewise.
1952 (get_rootfh): Likewise.
1954 2000-06-04 H.J. Lu <hjl@lucon.org>
1956 * etc/redhat/nfs.init: Fix a typo in comment.
1958 2000-05-31 H.J. Lu <hjl@lucon.org>
1960 * configure.in (VERSION): Set to "0.1.8".
1961 * configure: Regenerated.
1962 * nfs-utils.spec: Updated.
1966 2000-05-31 H.J. Lu <hjl@lucon.org>
1968 * configure.in (VERSION): Set to "0.1.7.5".
1969 * configure: Regenerated.
1970 * nfs-utils.spec: Updated.
1972 * support/include/nfslib.h (exportent): Add a new field,
1973 r_count, to count the number of mounts from a client.
1974 (getrmtabent): Take a new argument for position in file.
1975 (putrmtabent): Likewise.
1976 (fgetrmtabent): Likewise.
1977 (fputrmtabent): Likewise.
1978 * support/nfs/rmtab.c (getrmtabent): Handle the new argument
1979 for position in file.
1980 (fgetrmtabent): Likewise.
1981 (putrmtabent): Likewise.
1982 (fputrmtabent): Likewise.
1984 * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
1987 * support/export/rmtab.c (rmtab_read): Pass NULL as the new
1988 argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
1989 and fputrmtabent ().
1990 * utils/mountd/rmtab.c (mountlist_add): Likewise.
1991 (mountlist_del): Likewise.
1992 (mountlist_del_all): Likewise.
1993 (mountlist_list): Likewise.
1995 * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
1996 for the existing entry and initialize "r_count" to 1.
1997 (mountlist_del): Decrement "r_count".
1999 2000-05-18 H.J. Lu <hjl@lucon.org>
2001 * configure.in (VERSION): Set to "0.1.7.4".
2002 * configure: Regenerated.
2003 * nfs-utils.spec: Updated.
2005 2000-05-18 H.J. Lu <hjl@lucon.org>
2007 * etc/redhat/nfs.init (restart): Just do stop and start.
2009 2000-05-09 Jay Weber <jweber@valinux.com>
2011 * utils/rquotad/hasquota.c: added support for ext3 recognition
2013 * utils/rquotad/mntent.h: Likewise.
2015 2000-05-01 H.J. Lu <hjl@lucon.org>
2017 * configure.in (VERSION): Set to "0.1.7.3".
2018 * configure: Regenerated.
2019 * nfs-utils.spec: Updated.
2021 2000-05-01 H.J. Lu <hjl@lucon.org>
2023 * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
2024 mounting poins in /etc/fstab.
2026 2000-05-01 H.J. Lu <hjl@lucon.org>
2028 * configure.in (VERSION): Set to "0.1.7.2".
2029 * configure: Regenerated.
2030 * nfs-utils.spec: Updated.
2032 2000-05-01 H.J. Lu <hjl@lucon.org>
2034 * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
2035 to check for the mounting point.
2037 2000-04-29 Chip Salzenberg <chip@valinux.com>
2038 Neil Brown <neilb@cse.unsw.edu.au>
2040 * Really re-use RPC ports.
2041 (Fixes earlier patch. Sorry, Neil.)
2043 2000-04-26 H.J. Lu <hjl@lucon.org>
2045 * configure.in (VERSION): Set to "0.1.7.1".
2046 * configure: Regenerated.
2047 * nfs-utils.spec: Updated.
2049 2000-04-26 H.J. Lu <hjl@lucon.org>
2051 * etc/redhat/nfslock.init: Check if lockd exits before killing
2054 2000-04-25 H.J. Lu <hjl@lucon.org>
2056 * README: Require util-linux-2.10f-mount-rpc.patch for mount.
2058 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
2060 * support/nfs/exports.c (parsesquash): Correctly set the
2063 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
2065 * support/include/nfs/nfs.h: Removed knowledge of internals of
2066 kernel filehandles (which can change) and defined nfs_fh_size
2067 which has variable size
2069 * support/nfs/getfh.c: defined getfh_size to use new syscall to
2070 get variable sized file handles, and change getfh{,old} to
2073 * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
2076 * tools/Makefile, tools/nlmtest/nlmtest.c
2077 nlmtest.c depended on internel format of file handles, so now
2081 2000-03-12 Chip Salzenberg <chip@valinux.com>
2082 Neil Brown <neilb@cse.unsw.edu.au>
2084 * support/nfs/rpcmisc.c (rpc_init): Share transports.
2086 2000-03-13 H.J. Lu <hjl@lucon.org>
2088 * etc/redhat/nfsd.init: Updated.
2090 * etc/redhat/nfslock.init: Updated.
2092 * nfs-utils.spec.in: Updated.
2094 * configure.in (VERSION): Set to "0.1.7".
2095 * configure: Regenerated.
2096 * nfs-utils.spec: Updated.
2100 Wed Mar 8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
2102 * utils/exportfs/exportfs.c (dump): Included printing of
2103 nohide, no_subtree_check, and insecure_locks
2105 2000-02-26 Chip Salzenberg <chip@valinux.com>
2107 * config.mk.in (INSTALLSUID): Strip ("-s").
2108 (INSTALLSCRIPT): Define.
2109 * utils/nhfsstone/Makefile: Use it.
2111 2000-02-26 Chip Salzenberg <chip@valinux.com>
2113 * utils/lockd/lockd.man: Create.
2114 * utils/lockd/Makefile: Install it.
2115 * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
2116 * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
2117 * utils/nhfsstone/Makefile: Install the helper scripts and
2119 * utils/exportfs/exports.man: Fix typo.
2121 2000-02-26 Chip Salzenberg <chip@valinux.com>
2123 * support/nfs/xio.c (xungetc): Decrement line number when
2124 character to unget is newline. Make first parameter int, so
2125 it can distinguish EOF from \377.
2126 * support/include/xio.h (xungetc): Adjust prototype.
2128 Fri Feb 4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
2130 * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
2131 * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
2132 * utils/exportfs/exports.man: added documentation for no_auth_nlm.
2134 This is for supporting a new option introduced in 2.3.42
2136 Thu Feb 3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
2138 * COPYING: Added. GPL.
2140 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
2142 * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
2143 to get the block size.
2145 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
2147 * nfs-utils.spec.in: Update ftp site.
2149 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
2151 * README: Update hostnames.
2153 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
2155 * configure.in (VERSION): Set to "0.1.6".
2156 * configure: Regenerated.
2157 * nfs-utils.spec: Updated.
2161 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
2163 * utils/mountd/auth.c (auth_authenticate_internal): Call
2164 xstrdup for hostname before passing it to gethostbyname.
2166 * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
2169 Sun Dec 19 09:35:01 1999 H.J. Lu <hjl@lucon.org>
2171 * README: Update the mailing list address.
2173 Sun Dec 19 09:22:28 1999 H.J. Lu <hjl@lucon.org>
2175 * configure.in (VERSION): Set to "0.1.5".
2176 * configure: Regenerated.
2177 * nfs-utils.spec: Updated.
2181 Mon Dec 13 13:40:20 1999 H.J. Lu <hjl@lucon.org>
2183 * utils/rquotad/hasquota.c (hasquota): Malloc one more char
2186 Mon Dec 6 09:42:45 1999 H.J. Lu <hjl@lucon.org>
2188 * configure.in (VERSION): Set to "0.1.4".
2189 * configure: Regenerated.
2190 * nfs-utils.spec: Updated.
2194 Mon Dec 6 09:28:07 1999 H.J. Lu <hjl@lucon.org>
2196 * nfs-utils.spec.in: New file.
2198 * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
2200 * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
2202 1999-12-04 Chip Salzenberg <chip@valinux.com>
2204 * config.mk.in: Use $(CC) as set by configure.
2206 1999-12-04 Chip Salzenberg <chip@valinux.com>
2208 * rules.mk: Call $(MAKE) with $(MFLAGS).
2210 Mon Nov 29 11:17:35 1999 H.J. Lu <hjl@lucon.org>
2212 * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
2213 IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
2215 Mon Nov 29 11:17:35 1999 H.J. Lu <hjl@lucon.org>
2217 * nfs-utils.spec (Version): Set to 0.1.3.
2219 * configure.in (VERSION): Set to "nfs-utils 0.1.3".
2220 * configure: Regenerated.
2224 Mon Nov 29 11:15:47 1999 H.J. Lu <hjl@lucon.org>
2226 * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
2227 (_PATH_DEV_DSK): Likewise.
2228 (getquotainfo): Match the mounting point from /etc/mtab
2229 instead of calling nfsmount_to_devname ().
2231 1999-11-24 Chip Salzenberg <chip@valinux.com>
2233 * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
2234 to the new port 24 as well as the historical port 100021.
2236 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
2238 * etc/redhat/nfsd.init (stop): moved exportfs -ua after
2239 stopping nfsd to stop spurious ESTALE on server shutdown.
2241 Tue Nov 23 10:13:39 1999 Neil Brown <neilb@cse.unsw.edu.au>
2243 * support/nfs/exports.c (parseopts): make copy of opt string
2244 before 'nul'ing out commas so that
2246 # exportfs -o option1,option2 hosta:/fs hostb:/fs
2248 applies both options to both exports.
2250 Thu Oct 28 12:55:42 1999 H.J. Lu <hjl@lucon.org>
2252 * README: Fix a few typos.
2254 * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
2256 * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
2257 * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
2258 * tools/rpcgen/rpc_parse.c (get_type): Likewise.
2259 (unsigned_dec): Likewise.
2260 * tools/rpcgen/rpc_scan.c (symbols): Likewise.
2261 * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
2263 * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
2265 * tools/rpcgen/rpc_parse.c (get_type): Likewise.
2266 (unsigned_dec): Likewise.
2267 * tools/rpcgen/rpc_scan.c (symbols): Likewise.
2268 * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
2269 * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
2271 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
2273 * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
2274 * support/nfs/exports.c: added {no_,}subtree_check and changed
2276 * utils/exportfs/exports.man: added no_subtree_check and nohide
2277 and removed irrelevant stuff from unfsd.
2278 * support/export/rmtab.c: rmtab_read didn't quite do the right
2279 thing if a pathname from rmtab was a subdirectory of an export-point
2281 Tue Oct 26 17:22:40 1999 H.J. Lu <hjl@lucon.org>
2283 * README: Updated ftp site.
2285 Mon Oct 25 18:12:45 1999 H.J. Lu <hjl@lucon.org>
2287 * nfs-utils.spec (Version): Set to 0.1.2.
2289 * configure.in (VERSION): Set to "nfs-utils 0.1.2".
2290 * configure: Regenerated.
2294 Mon Oct 25 18:11:21 1999 H.J. Lu <hjl@lucon.org>
2296 * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
2297 (auth_authenticate_internal): Check for NULL return on forward
2299 (auth_authenticate): Handle "no_forward_dns".
2301 Thu Oct 21 16:22:06 1999 H.J. Lu <hjl@lucon.org>
2303 * Version 0.1.1 released.
2305 * nfs-utils.spec (Version): Set to 0.1.1.
2307 * configure.in (VERSION): Set to "nfs-utils 0.1.1".
2308 * configure: Regenerated.
2312 Mon Oct 18 17:43:29 1999 H.J. Lu <hjl@lucon.org>
2314 * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
2316 (Provides): Likewise.
2318 Mon Oct 18 14:56:22 1999 H.J. Lu <hjl@lucon.org>
2320 * Initial version 0.1 released.
2322 * configure.in (VERSION): Set to "nfs-utils 0.1".
2323 * configure: Regenerated.
2325 Mon Oct 18 14:54:57 1999 H.J. Lu <hjl@lucon.org>
2327 * utils/mountd/mountd.c (get_exportlist): Cleanup.
2329 * utils/exportfs/exportfs.c (unexport_all): Unexport from
2330 kernel only if the entry is exported to kernel.
2331 (unexportfs): Likewise.
2333 Wed Sep 08 16:49:32 1999 Neil Brown <neilb@cse.unsw.edu.au>
2335 1/ utils/mountd/rmtab.c::mountlist_list
2337 This routine stats the rmtab file to see if it has changed. It
2338 if has, it cleans up it's old copy of the data. But it still
2339 always re-read the file, thus returning multiple copies of the
2340 data on consecutive calls without intervening changes.
2341 "Showmount -a" didn't show this as it appears to sort/unique the
2342 data, but 'strace showmount -a' showed that the size of the
2343 datagram that it received grew.
2345 I moved the getrmtabent loop inside the mtime test.
2347 2/ utils/exportfs/exportfs.c
2349 Many routines used the m_path field of m_export instead of
2351 According to the comment in nfslib.h, m_path should only
2352 be used when processing a mount request (i.e. in mountd)
2353 where the mountpoint may be a subdirectory of the export point.
2355 I changed all occurances of m_path to e_path
2358 3/ utils/exportfs/exportfs.c:main
2360 extra arguments are not meaningful with -a or -r, but
2361 exportfs accepted them and then ignored the -a/-r, expect that
2362 -r would still unexport everything first.
2364 I generate an error if there are extra args and f_all
2366 4/ utils/exportfs/exportfs.c:main
2367 extract dump out as a special case.
2369 5/ utils/exportfs/exportfs.c
2370 made f_reexport a local variable.
2373 6/ utils/exportfs/exportfs.c:main,exportall
2375 support/export/rmtab.c
2376 only mayexport on newly created entries, don't set xtabent at all
2378 7/ support/include/nfslib.h
2380 add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
2382 8/ support/export/xtab.c
2384 xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
2388 9/ support/export/xtab.c
2390 xtab_mount_read now sets m_exported, and NOT
2391 xtabent and mayexport
2393 removed the append arguement from xtab_write as it was
2396 added is_export flag to xtab_write similar to xtab_read
2397 if is_export, only write entries with m_xtabent or m_addxtab
2398 if !is_export, only write entries with m_exported
2400 10/ support/export/export.c::export_allowed_internal
2402 added test for exp->m_mayexport, as the export tree
2403 may have entries that are no longer allowed to be exported,
2404 and so shouldn't caused deduced exported by rmtab_read
2406 11/ utils/exportfs/exportfs.c::main
2407 error checking of flags.
2409 12/ utils/exportfs/exportfs.c
2411 total rewrite of export and unexport logic.
2413 - build an exportslist of valid exports, based on
2414 current etab file and arguments,
2415 - read rmtab to instantiate relevant wild card entries
2416 - read etab to find out what is currently exported
2417 - synchronise intention with reality
2418 - write out etab and xtab
2421 discard the m_addxtab flag
2422 add m_changed flag so we know what to report in exportfs
2424 14/ utils/mountd/auth.c:auth_authenticate
2426 the value returned by gethostbyaddr was trusted.
2428 It now follows this with a call to gethostbyname
2429 and checks that the address is in the list.
2431 15/ support/export/nfsctl.c::cltsetup,expsetup
2433 force client names to lowercase as kernel is
2436 16/ quietened a few compiler warnings
2438 17/ support/export/client:client_lookup
2440 look for pre-existing client with same name before creating
2443 18/ support/include/exportfs.h
2445 The ordering of the MCL_* enum was:
2446 ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
2448 I moved ANONYMOUS to the end.
2450 The ordering is significant when an export entry is being searched for to
2451 match a given address. There are two problems with ANONYMOUS being first.
2453 1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
2454 then the ro case will always be found first and the privileged hosts won't get
2456 2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
2457 export entry for the specific host, and writes it to xtab.
2458 When another request comes from the same host, the ANONYMOUS entry is found again,
2459 before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
2460 again. If causes bloat in xtab.
2462 Putting ANONYMOUS at the end reflects it's nature as a catch-all
2464 19/ utils/exportfs/exportfs.man
2465 many updates to the man page to reflect changes to the code
2467 -----------------------
2473 - allow exportfs to modify rmtab file
2474 - make sure kernel never gets two clients with same IP address
2475 - possible kernel should reject
2476 - needs to be some way to lookup client in kernel by IP address
2477 - maybe get kernel to do case-insensitive comparisons on client names
2478 - remove unused clients from kernel
2480 - change etab to xtab and xtab to xtab.active
2482 - timestamp and/or statd-stamp in rmtab for removing old entries.
2484 Mon Oct 18 11:48:07 1999 H.J. Lu <hjl@lucon.org>
2486 * linux-nfs: New directory.
2487 * linux-nfs/ChangeLog: Moved from ..
2488 * linux-nfs/INSTALL: Likewise.
2489 * linux-nfs/KNOWNBUGS: Likewise.
2490 * linux-nfs/NEW: Likewise.
2491 * linux-nfs/README: Likewise.
2492 * linux-nfs/THANKS: Likewise.
2493 * linux-nfs/TODO: Likewise.
2495 * Starting from knfsd 1.4.7.