1 2004-09-06 Trond Myklebust <trond.myklebust@fys.uio.no>
2 Neil Brown <neilb@cse.unsw.edu.au>
4 * utils/mountd/auth.c(auth_authenticate_internal): fix
5 uninitialsed variable problem (causes bad error messages).
7 2004-09-06 Paul Clements <paul.clements@steeleye.com>
8 Neil Brown <neilb@cse.unsw.edu.au>
10 * utils/mountd/mountd.c(main): support --ha-callout (-H) for
11 specifying a callout program
12 * utils/mountd/rmtab.c: Call ha_callout on mount/unmount
13 * utils/statd/monitor.c: Call ha_callout on add/del client
14 * utils/statd/rmtcall.c: as above
15 * utils/statd/statd.c: handle --ha-callout (-H)
16 * utils/statd/svc_run.c: call notify_hosts is we have received a
18 * support/include/ha-callout.h: define ha_callout function
21 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
22 * utils/mountd/cache.c(cache_process_req): clear fd after
23 processing so as not to confused libc/sunrpc into thinking
24 it need to do something with that fd.
26 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
28 * debian/nfs-kernel-server.init(start,stop) mount the nfsd
29 filesystem, if available, before starting nfs services, and
30 unmount it afterwards.
31 * etc/nodist/nfs-server: ditto
32 * etc/redhat/nfs.init: likewise
33 * etc/redhat/nfs: add "MOUNT_NFSD" flag to control above.
35 2004-06-08 NeilBrown <neilb@cse.unsw.edu.au>
37 * utils/exportfs/exportfs.c: Don't rmtab_read if new_cache, it
39 * support/nfs/cacheio.c(cache_flush): Change order in which caches
40 are flushed so that dependancies don't keep things in the cache
43 2004-03-18 Chip Salzenberg <chip@pobox.com>
45 * debian/changelog: Version 1.0.6-2.
47 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
48 from "J. Bruce Fields" <bfields@fieldses.org>
50 * utils/mountd/cache.c: call auth_reload to make sure auth data is
51 current before responding to kernel upcall.
53 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
54 Based on patch from Greg Banks <gnb@melbourne.sgi.com>
56 * utils/exportfs/exports.man: Document fsid= option.
58 2003-09-15 NeilBrown <neilb@cse.unsw.edu.au>
62 * rules.mk: Add dep: rule when no OBJS, so "make dep" works in
63 support/include, and depend in "predep"
64 * support/export/Makefile, tools/rpcgen/Makefile,
65 utils/statd/Makefile: add "predep" rule so that "make dep" works.
66 * Makefile: allow a simple "make" to run ./configure and "make dep"
68 * configure.in, nfs-utils.spec: Update version to 1.0.6
71 2003-09-12 Chip Salzenberg <chip@pobox.com>
73 * debian/changelog: Version 1.0.6-1.
75 2003-09-12 NeilBrown <neilb@cse.unsw.edu.au>
77 * utils/mountd/mountd.c(main): Impose FD_SETSIZE as an upper limit
79 * utils/statd/statd.c(main): Ditto.
81 michael <michael@newdream.net> discovered that svc_setreqsize
82 in glibc can segfault if RLIMIT_NOFILE is bigger than
83 FD_SETSIZE, so a simple solution is to impose a hard limit.
85 2003-09-09 Chip Salzenberg <chip@pobox.com>
87 * debian/changelog: Version 1.0.5-3.
88 * support/export/hostname.c (get_reliable_hostbyaddr): Fix crash
89 on invalid reverse DNS.
90 * utils/showmount/showmount.c (main): Fix inet_ntoa() parameter.
91 * tools/rpcgen/rpc_cout.c (print_header): Remove unused vars.
92 * tools/rpcgen/rpc_parse.c (def_union): Likewise.
94 2003-08-22 Chip Salzenberg <chip@pobox.com>
96 * utils/statd/{log.h,log.c}: Rename log() to note() and L_* to
97 N_*, to avoid conflict with ISO C built-in log() function.
98 * utils/statd/*.c: Use note().
100 2003-08-20 Chip Salzenberg <chip@pobox.com>
102 * debian/changelog: Version 1.0.5-2.
104 2003-08-11 NeilBrown <neilb@cse.unsw.edu.au>
106 * utils/mountd/cache.c(cache_get_filehandle): close the filehandle
109 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
111 * support/include/nfs/export.h, support/nfs/exports.c,
112 utils/exportfs/exports.c, utils/mountd/mountd.c: change
113 NFSEXP_CROSSMNT to NFSEXP_CROSSMOUNT to avoid confusion with older
114 meaning. Also remove meaningless
115 NFSEXP_{UIDMAP,KERBEROS,SUNSECURE}
117 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
119 * support/export/xtab.c, support/include/nfslib.h,
120 support/nfs/cacheio.c, support/nfs/nfssvc.c,
121 utils/exportfs/exportfs.c, utils/exportfs/exportfs.man,
122 utils/exportfs/nfsd.man, utils/mountd/cache.c: support
123 /proc/fs/nfsd/* as a perferred alternate to /proc/fs/nfs/*
124 (nfs-utils-1.0.5-post2)
126 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
128 * support/nfs/nfsexport.c: open channel file O_WRONLY when
130 * utils/mountd/cache.c: maintain mountlist when new_cache is
131 active. Also use O_WRONLY for channel files.
132 * utils/mountd/mountd.h: mountlist_{del,add} now take a host name
133 rather than an nfs_export.
134 * utils/mountd/rmtab.c: ditto.
135 (nfs-utils-1.5.0-post1)
137 2003-07-24 Chip Salzenberg <chip@pobox.com>
139 * support/nfs/xlog.c (xlog): Revise buffer-overflow fix to
140 use Debian security team's cleaner approach.
141 * debian/changelog: Version 1.0.5-1.
142 * debian/nfs-kernel-server.init: Cosmetic changes.
144 2003-07-18 NeilBrown <neilb@cse.unsw.edu.au>
147 1.0.4 was a bit of a brown-paper-bag-release because of the extra
148 'free' in auth.c. So I'm releasing this just a few days later.
150 * support/nfs/cacheio.c(cache_flush): Correct test for 'open
152 * utils/exportfs/exportfs.c(main): If "-f" given as lone option,
153 check if new_cache is enabled, error if not, flush and exit if it
155 * utils/exportfs/exportfs.man: Explain -f option and explain the
156 two different modes that exportfs can work in.
157 * utils/mountd/mountd.c: Do not change RLIMIT_NOFILE if the -o
159 * utils/mountd/mountd.man: Record the change if default behaviour
161 * configure.in, nfs-utils.spec: update version to 1.0.5 and
164 2003-07-15 NeilBrown <neilb@cse.unsw.edu.au>
166 * utils/mountd/mountd.c(main): getopt string fix for 'o'
167 * utils/mountd/auth.c(auth_authenticate): remove extra 'free'
168 * utils/exportfs/exportfs.c(main): make 'exportfs -f' just flush
170 * support/include/nfs/export.h: Reserve a bit for possible ACL
173 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
175 * utils/exportfs/nfsd.man: new man page for nfsd filesystem. Also
176 assorted changed to cope with section 7 of the manual.
177 * configure.in, nfs-utils.spec: Update version to 1.0.4
180 This is a 'pre-release' for 1.1.0 Hopefully 1.1.0 will be the
181 baseline for 2.6 and 2.8. I.e. it should continue to work right
182 through the 2.8 (or 3.0) kernel series. Previous releases wont.
184 2003-07-04 NeilBrown <neilb@cse.unsw.edu.au>
185 Steve Dickson <SteveD@redhat.com>
188 * utils/statd/statd.c: create a pidfile with pid of statd, and
189 truncate it when statd exists.
190 * utils/statd/statd.c: drop privs by setuid to owner of SM_DIR,
191 and warn if this is root.
192 * utils/statd/statd.c: when statd forks, connect child to parent
193 with a pipe, and send a byte down the pipe once the child is
195 * Makefile: create and chown sm, sm.bak, state when "make install"
196 * configure.in: add --with-statduser= option which defaults to
197 "rpcuser" or "nobody"
198 * config.mk.in: pass "statduser" through to Makefile
200 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
202 * support/include/nfs/nfs.h: Make sure correct __kernel_dev_t is
203 used as the size was changed somewhere in 2.5.60-2.5.70. Without
204 this nfs-utils compiles against 2.6 headers will not work on a
207 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
209 * support/nfs/nfssvc.c(nfssvc): If /proc/fs/nfs/threads exists,
210 set number of threads by writing to there. This means it will
211 still work when the syscall interface goes away in 2.7.
213 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
214 fumihiko kakuma <kakmy@mvh.biglobe.ne.jp>
216 * utils/exportfs/exportfs.c(unexportfs): improve host comparison
217 so as to only export the wildcard exports that were asked for.
218 * support/export/export.c(export_allowed): changed to return the
219 nfs_export rather than a "struct exportent", as m_changed is
221 * support/export/rmtab.c(rmtab_read): modified to deal with
222 interface change for export_allowed(), and enhanced to preserve
223 m_changed flag when a wild-card export causes the creation of
224 a non-wildcard export.
226 2003-07-02 NeilBrown <neilb@cse.unsw.edu.au>
227 Steve Dickson <SteveD@redhat.com>
229 * utils/mountd/mountd.man: Add valid kinds of debugging.
230 * utils/mountd/mountd.c(main): ignore SIGPIPE
231 * utils/nfsstat/nfsstat.c: fine-tune printing of warning so
232 we don't get warnings about unavailable stats that weren't asked
235 2003-06-24 NeilBrown <neilb@cse.unsw.edu.au>
237 * support/nfs/nfsexport.c(exp_unexp): When unexporting filesystems
238 via /rpc/net/rpc/nfsd*/channel, set the expiry date to 1, not
239 'forever', so things disappear out of the cache rather than just
242 2003-06-16 "J. Bruce Fields" <bfields@fieldses.org>
244 * utils/mountd/cache.c(nfsd_fh): don't export the export_ent
247 2003-06-16 NeilBrown <neilb@cse.unsw.edu.au>
249 * debian/nfs-kernel-server.init,etc/nodist/nfs-server,
250 etc/redhat/nfs.init: when checking if V3 is supported, make sure
251 nfs server 'knows' about 127.0.0.1 first.
253 2003-06-10 Chip Salzenberg <chip@pobox.com>
255 * support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug.
256 * debian/changelog: Version 1.0.3-2.
258 2003-05-30 Michael Griffith <grif@michaelgriffith.com>
259 NeilBrown <neilb@cse.unsw.edu.au>
261 utils/nfsstat/nfsstat.c(print_callstats): use unsigned
262 long long to avoid overflow when printing stats.
264 2003-05-30 NeilBrown <neilb@cse.unsw.edu.au>
266 * support/export/export.c, support/include/nfslib.h,
267 support/nfs/export.c, utils/exportfs/exportfs.c,
268 utils/mountd/mountd.c: new export option "mountpoint"
269 If no path is given, then the export point must be a
270 mount point, or it won't be exported. If a path is
271 given (e.g. mountpoint=/path) then that path must be
272 a mountpoint or the exportpoint won't be exported.
273 * utils/exportfs/exportfs.man: document mountpoint option.
274 * support/misc/mountpoint.c: New file with is_mountpoint()
275 to determine if something is a mountpoint.
277 2003-05-23 NeilBrown <neilb@cse.unsw.edu.au>
279 * utils/mountd/cache.c(cache_get_filehandle): take a separate path
280 argument as we might not be getting the filehandle for the
282 * utils/mountd/mountd.c(get_rootfh): pass real path when calling
283 cache_get_filehandle.
284 * utils/mountd/mountd.c(get_rootfh): check export point and
285 requested directory are on the same filesystem, and complain if
288 2003-05-22 NeilBrown <neilb@cse.unsw.edu.au>
290 * utils/mountd/auth.c(auth_authenticate_internal): make sure
291 portnumber is still checked when using new cache lookup.
293 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
295 * utils/exportfs/exportfs.c: Use check_new_cache and cache_flush
296 Don't actually talk to kernel when new cache is in effect, except
298 * utils/exportfs/exportfs.c: add -f option to fully flush cache.
299 * support/export/xtab.c: Only rename new xtab into place if it has
300 changed, thus preserving modify date for exportfs to use when
302 * support/nfs/cacheio.c: Add cache_flush
303 * support/export/xtab.c: Only rename new xtab into place if it has
304 changed, thus preserving modify date for exportfs to use when
307 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
309 * support/export/client.c: Add client_compose, client_member to
310 handle new composite client names
311 * support/include/exportfs.h: Declare above functions.
312 * utils/mountd/auth.c: use client_compose to determine calling
313 client if new cache is being used.
314 * utils/mountd/auth.c: call cache_export to export a filesystem if
315 new_cache, check if new cache is used, and call my_svc_run instead
317 * utils/mountd/svc_run.c: new file defining my_svc_run
318 * utils/mountd/cache.c: new file for handling cache upcalls.
319 * support/nfs/cacheio.c(check_new_cache): new function to check if
320 new cache should be used.
323 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
325 * support/include/nfs/export.h: New CROSSMNT distinct from NOHIDE
326 * support/nfs/exports.c: Make CROSSMNT distinct from NOHIDE
327 * utils/exportfs/exportfs.c(dump): ditto
329 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
331 * support/export/hostname.c(get_reliable_hostbyaddr): new function
332 to get host name from address with full checking of authenticity.
333 * support/include/misc.h: declare above function
334 * utils/mountd/auth.c(auth_authenticate_internal): remove all
335 logic for authenticating address.
336 * utils/mountd/auth.c(auth_authenticate): call new
337 get_reliable_hostbyaddr to to hostname lookup before calling _internal.
340 2003-03-30 NeilBrown <neilb@cse.unsw.edu.au>
342 * tools/rpcgen/rpc_main.c(find_cpp): removed
343 * tools/rpcgen/rpc_main.c(open_input): use execvp to find "cpp",
344 then try hard-coded paths.
346 2003-03-26 Chip Salzenberg <chip@pobox.com>
348 * debian/changelog: Version 1.0.3-1.
350 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
352 * utils/mountd/rmtab.c (slink_safe_rename): real_newpath should be
353 "const char*", not "char*".
355 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
357 * configure.in (VERSION): Set to "1.0.3".
358 * nfs-utils.spec: Likewise.
359 * configure: Regenerated.
361 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
363 * support/nfs/cacheio.c: New File - support for read/writing
364 to export cache in /proc/rpc/*/channel
365 * support/nfs/Makefile: compile cacheio.c
366 * support/include/nfslib.h: declare cacheio.c functions
367 * support/nfs/nfsexport.c: export and unexport through
368 /proc/rpc/*/channel if possible, as old syscall interface
369 may not survive into 2.6 on all architectures.
371 2003-02-19 NeilBrown <neilb@cse.unsw.edu.au>
372 Ben Leslie <benno@sesgroup.net>
374 * support/nfs/rpcmisc.c(rpc_init): change test for ignoring
375 "defport" from (__rpcfdtype == 0) to (__rpcpmstart==0). The
376 former would incorectly ignore defport if the application
377 explicitly set __rpcfdtype. The later is sufficient to avoid the
378 special handling in the case where stdin is an internet socket.
380 * utils/mountd/mountd.c(main): Add 'n' to option list in
381 getopt_long as this is a short form of --no-tcp which want being
384 2003-02-12 Chip Salzenberg <chip@pobox.com>
386 * debian/changelog: Version 1.0.2-2.
388 2002-11-27 Chip Salzenberg <chip@pobox.com>
390 * utils/mountd/rmtab.c (slink_safe_rename): Fix off-by-one buffer
391 overflow bug. Reformat per rest of source file.
393 2002-11-19 NeilBrown <neilb@cse.unsw.edu.au>
395 * utils/exportfs/exports.man: Correct notes about whether the wild
396 card characters match a period. They do.
398 2002-10-15 Juan Gomez <juang@us.ibm.com>
400 * utils/mountd/rmtab.c (slink_safe_rename): New. Support
402 (mountlist_add): Call slink_safe_rename instead of rename.
404 2002-10-11 H.J. Lu <hjl@lucon.org>
406 * support/include/exportfs.h (export_errno): New.
408 * support/nfs/exports.c: Include <errno.h>.
410 (getexportent): Set export_errno to EINVAL for bad option.
411 (parseopts): Likewise.
412 Report the location of the default sync/async option.
414 * utils/exportfs/exportfs.c (main): Initialize export_errno to
415 0. Return export_errno.
417 2002-10-11 Juan Gomez <gomez@cs.sjsu.edu>
418 NeilBrown <neilb@cse.unsw.edu.au>
420 utils/statd/statd.c(killer): don't pmap_unset if in notify_only mode
421 utils/statd/statd.c(main): don't pmap_unset if in notify_only mode
423 2002-09-16 Chip Salzenberg <chip@pobox.com>
425 * utils/rquotad/rquota_svc.c (main): Use int for value of getopt.
427 2002-09-15 Chip Salzenberg <chip@pobox.com>
429 * support/nfs/rpcmisc.c (rpc_init): Allow stdin to be a non-INET
430 socket, as occurs when run from sshd.
431 * debian/changelog: Version 1.0.2-1.
433 2002-09-12 H.J. Lu <hjl@lucon.org>
435 * support/nfs/svc_socket.c: Remove HAVE_SVCTCP_SOCKET and
438 2002-09-12 H.J. Lu <hjl@lucon.org>
440 * configure.in: Remove checking svctcp_socket and svcudp_socket.
441 * configure: Regenerated.
443 * support/include/config.h.in (HAVE_SVCTCP_SOCKET): Removed.
444 (HAVE_SVCUDP_SOCKET): Removed.
446 * support/include/nfslib.h: Undo the last change.
448 2002-09-12 H.J. Lu <hjl@lucon.org>
450 * support/include/nfslib.h (svctcp_socket): Protect it with
452 (svcudp_socket): Protect it with HAVE_SVCUDP_SOCKET.
454 2002-09-12 H.J. Lu <hjl@lucon.org>
456 * configure.in (VERSION): Set to "1.0.2".
457 * configure: Regenerated.
458 * nfs-utils.spec: Likewise.
460 2002-09-12 H.J. Lu <hjl@lucon.org>
462 * configure.in: Check svctcp_socket and svcudp_socket.
463 * configure: Regenerated.
465 * support/include/config.h.in (HAVE_SVCTCP_SOCKET): New.
466 (HAVE_SVCUDP_SOCKET): New.
468 * support/include/nfslib.h (svctcp_socket): New.
469 (svcudp_socket): New.
471 * support/nfs/Makefile (OBJS): Add svc_socket.o.
473 * support/nfs/svc_socket.c: New.
475 * support/nfs/rpcmisc.c (rpc_init): Call svctcp_socket and
476 svcudp_socket if port is unspecified.
478 * utils/nfsd/nfsd.c (main): Call getservbyname for port.
480 * utils/rquotad/rquota_svc.c: Include <nfslib.h>.
481 (killer): New. Signal handler to unregister.
482 (main): Use killer. Call svcudp_socket to get the default
485 2002-09-02 Juan Gomez <juang@us.ibm.com>
486 NeilBrown <neilb@cse.unsw.edu.au>
488 Add -N option to statd to run in notify-only mode.
490 * utils/statd/statd.h: uncomment MODE_NOTIFY_ONLY
491 * utils/statd/statd.man: document -N
492 * utils/statd/statd.c: enabled -N, largely exists but needed to be
493 uncommented and completed
495 2002-09-02 Juan Gomez <juang@us.ibm.com>
496 NeilBrown <neilb@cse.unsw.edu.au>
498 statd to have " -P directory" arg to use that directory instead
499 of /var/lib/nfs. This is useful for fail-over clusters.
501 * utils/statd/statd.h: define SM_DIR etc as var, not const.
502 * utils/statd/statd.c: define "-P" option to set SM_*
504 * utils/statd/monitor.c: sprintf to cope with SM_DIR not being
506 * utils/statd/notify.c: ditto.
507 * utils/statd/statd.man: document -P option.
509 2002-08-26 Chip Salzenberg <chip@pobox.com>
511 * utils/nfsd/nfsd.man: Fix typo.
512 * debian/changelog: Version 1.0.1-1.
514 2002-05-29 NeilBrown <neilb@cse.unsw.edu.au>
516 * let parseopts know if /etc/exports was being read or not,
517 and have it only print "no sync or async" warning in that case.
519 2002-05-06 Tom McNeal <trmcneal@attbi.com>
520 NeilBrown <neilb@cse.unsw.edu.au>
522 * utils/nfsstat/nfsstat.c: Handle differing format for
523 /proc/net/rpc/nfsd between pre and post 2.4.0
525 2002-04-09 NeilBrown <neilb@cse.unsw.edu.au>
526 James Pearson <james-p@moving-picture.com>
528 * support/nfs/rmtab.c(fendrmtabent): sync changes to
529 storage before returning, as this is critical state
531 2002-04-08 Sean O'Connell <sean@ee.duke.edu>
532 H.J. Lu <hjl@lucon.org>
534 * etc/redhat/nfs: New.
536 2002-04-08 H.J. Lu <hjl@lucon.org>
538 * etc/redhat/nfs.init: Updated.
540 * nfs-utils.spec.in: Updated.
541 * nfs-utils.spec: Regenerated.
543 * utils/mountd/mountd.c (longopts): Fix a typo.
545 * utils/mountd/mountd.man: Updated.
547 2002-04-07 H.J. Lu <hjl@lucon.org>
549 * etc/redhat/nfslock.init (restart): Just do stop and start.
551 * etc/redhat/nfs.init: Fix a typo.
553 2002-04-07 H.J. Lu <hjl@lucon.org>
555 * configure.in (VERSION): Set to "1.0.1".
556 * configure: Regenerated.
557 * nfs-utils.spec: Likewise.
559 * README: Updated for 1.0.1.
561 2002-04-07 Sean O'Connell <sean@ee.duke.edu>
562 H.J. Lu <hjl@lucon.org>
564 * etc/redhat/nfs.init: Read /etc/sysconfig/nfsd for NFS tuning.
566 2002-02-28 Steven Whitehouse <steve@gw.chygwyn.com>
567 NeilBrown <neilb@cse.unsw.edu.au>
569 Add support for fsid=nn export option so that device
570 numbers don't go in filehandles.
571 * support/export/nfsctl.c(expsetup): if exporting and NFSEXP_FSID
572 is set, pass the fsid in-place of the device number
573 * support/nfs/exports.c: parse and print fsid= option.
574 Also check if efname has been set, and use "command line"
575 instead in error messages.
576 Also, use strtol instead of atoi for anon[ug]id= so that
577 bad numbers cause errors.
579 2002-01-17 Adrian Drzewiecki <drze@MissionCriticalLinux.com>
580 NeilBrown <neilb@cse.unsw.edu.au>
582 * support/nfs/exports.c: remove NFSEXP_ASYNC as a default
583 flag so that "sync" becomes the default.
584 Check that either "sync" or "async" is given as an option
585 and warn if neither are present
586 * utils/exportfs/exports.man: change documentation for "sync"
587 to be documentation for "async".
588 * utils/exportfs/exportfs.man: note that "sync" is the default
592 2002-01-02 Chip Salzenberg <chip@pobox.com>
594 * support/export/nfsctl.c (expsetup): Don't export entries that
595 specify id mappings not supported by the kernel. No extant kernel
596 supports any significant mapping, only 'identity' (i.e. none).
597 When other mappings are supported, this code will need changing.
598 * debian/changelog: Version 1.0-2.
600 2001-12-26 Chip Salzenberg <chip@pobox.com>
602 * nfs-utils.spec (Version): Set to "1.0".
603 * configure.in (VERSION): Likewise.
604 * configure: Regenerated.
606 * debian/changelog: Version 1.0-1.
608 * utils/exportfs/exports.man: Emphasize the need for options to
609 immediately follow client names. Explain that wildcards don't
610 usually work on addresses, but may work when reverse DNS fails.
611 Comment out a leftover TP that was TPing our indentation.
612 * utils/mountd/mountd.man, utils/rquotad/rquotad.man,
613 utils/statd/statd.man: Remove refs to non-existent "hosts_allow(5)".
614 * debian/changelog: Version 0.3.3-6.
616 2001-12-20 NeilBrown <neilb@cse.unsw.edu.au>
618 * support/export/client.c(client_lookup): If a host has multiple
619 IP addresses, then we must always use the result of a
620 gethostbyname, not that of gethostbyaddr for exporting
622 2001-12-20 NeilBrown <neilb@cse.unsw.edu.au>
624 * support/export/client.c (client_lookup): use strcasecmp when
626 * support/nfs/export.c (getexportent): add fromkernel arg and use
627 different defaults as kernels prior to 2.4.11 assume different
628 defaults in /proc/fs/nfs/exports
629 * support/include/nfslib.h, support/export/export.c,
630 support/export/xtab.c: support extra "fromkernel" arg for
633 2001-12-13 Chip Salzenberg <chip@pobox.com>
635 * debian/changelog: Version 0.3.3-5.
637 2001-11-26 TAKAI Kousuke <takai@vlsi.kuee.kyoto-u.ac.jp>
639 * support/nfs/xio.c (xskip): Call `xungetc' instead of
640 `ungetc' to keep x_line more properly.
642 2001-11-26 Chip Salzenberg <chip@pobox.com>
644 * utils/showmount/showmount.c (main): Don't assume that strings
645 starting with digits are IP addresses.
646 * utils/nfsd/nfsd.c (main): Close all fds and reopen 0,1,2 on
647 /dev/null before nfssvc(). Use syslog to report nfssvc errors.
648 * support/misc/tcpwrapper.c, utils/mountd/mountd.man,
649 utils/rquotad/rquotad.man, utils/statd/statd.man: Fix comments and
650 man pages: We check host names *and* addresses with tcpwrappers.
651 * debian/changelog: Version 0.3.3-4.
653 2001-11-21 Chip Salzenberg <chip@pobox.com>
655 * support/nfs/clients.c (cfname): Added: current clients file name.
656 (setnfsclntent): Set it.
657 ({get,end}nfsclntent, syntaxerr): Use it.
658 * support/nfs/exports.c (efname): Added: current exports file name.
659 (setnfsexportent): Set it.
660 (endnfsexportent, parseopts, getexport, syntaxerr): Use it.
661 (parseopts): Accept old-style "crossmnt" option, for old xtabs.
662 * debian/changelog: Version 0.3.3-3.
664 2001-10-11 Chip Salzenberg <chip@pobox.com>
666 * utils/mountd/mountd.c (main): Close fds > 2 _before_ RPC init.
667 * debian/changelog: Version 0.3.3-2.
669 2001-10-08 Chip Salzenberg <chip@pobox.com>
671 * utils/mountd/mountd.c (main): When daemonizing, close all fds > 2.
672 * utils/Makefile.in: Remove old Makefile in target 'distclean'.
673 * utils/mountd/mountd.man: Update paths to /var/lib.
674 * debian/*: Version 0.3.3-1, with Debian-specific fixes.
676 2001-10-06 Preston Brown <pbrown@redhat.com>
678 * utils/nfsstat/nfsstat.man: Updated.
680 2001-09-24 H.J. Lu <hjl@lucon.org>
682 * configure.in (VERSION): Set to "0.3.3".
683 * configure: Regenerated.
684 * nfs-utils.spec: Likewise.
686 * README: Updated for 0.3.3.
688 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
690 Arrange that "exportfs -au" never does DNS lookup:
692 * support/export/client.c (client_lookup) : add "canonical"
693 flag which says that the hostname is known to be canonical, so
696 * support/export/export.c (export_create) : add "canonical"
697 flag to be passed down to client_lookup
698 * support/export/export.c (export_lookup) : Likewise
700 * support/export/xtab.c (xtab_read) : pass appropriate
701 "canonical" flag to export_lookup and export_create:
702 set if reading list of filesystems currently exports
705 * support/export/export.c (export_read) : pass 0 as
706 "canonical" flag to export_lookup and export_create
707 * support/export/rmtab.s (rmtab_read) : Likewise
709 * support/include/exportfs.h : redeclare various routines
710 to have "canonical" flag
712 * utils/exportfs/exportfs.c (main) : redo logic for
713 "-au" to read in what is currently exported, but never even
714 look at what "should" be exported.
716 * utils/exportfs/exportfs.c (unexportall) : remove this
717 routine. Functionality is completely included in
720 * utils/exportfs/exportfs.c (exportfs) : set "canonical"
721 flag to zero in calls to export_lookup and export_create.
724 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
725 Anne Milicia <milicia@missioncriticallinux.com>
727 * support/export/client.c (client_lookup) call gethostbyadd
728 to make sure that we have a canonical hostname, even for
730 * utils/exportfs/exportfs.c (exportfs) Likewise
732 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
734 * support/nfs/exports.c (putexportent): \octal quote any spaces
736 * support/nfs/xio.c (xgettok): recognise double-quote and
737 \octal quoting in path names
738 * utils/exportfs/exports.man: document quoting conventions
741 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
743 * utils/mountd/auth.c (auth_authenticate_internal): Reverse
744 change from 2000-08-02: It causes problems if someone exports
745 to both a hostname and IP addresses. nfs-utils must be
746 consistant about the canonical name that it chooses.
748 2001-08-17 Ragnar Kjørstad <nfs@ragnark.vestdata.no>
749 H.J. Lu <hjl@lucon.org>
751 * etc/redhat/nfslock.init (STATDARG): New. Pass it to rpc.statd.
753 * utils/statd/statd.c (longopts): Add "name".
754 (usage): Add "-n/--name".
755 (main): Set MY_NAME with "-n/--name".
757 * utils/statd/state.c (change_state): Set MY_NAME only if it
760 * utils/statd/statd.man: Updated for "-n/--name".
762 2001-07-26 H.J. Lu <hjl@lucon.org>
764 * nfs-utils.spec (Release): Set to 8.
766 2001-07-25 H.J. Lu <hjl@lucon.org>
768 * etc/redhat/nfs.init: Check if rpc.rquotad exists before doing
771 2001-06-27 H.J. Lu <hjl@lucon.org>
773 * etc/redhat/nfs.init: Run rpc.rquotad only if it exists.
775 2001-06-27 H.J. Lu <hjl@lucon.org>
777 * utils/rquotad/rquota_server.c: Don't call statfs () for
778 the block size. Use BLOCK_SIZE instead.
780 2001-06-27 H.J. Lu <hjl@lucon.org>
782 * config.mk.in (CC_FOR_BUILD): Renamed from BUILD_CC.
783 (CFLAGS_FOR_BUILD): New. Don't use @CFLAGS@.
785 * configure.in (enable_nfsv3): Set to yes by default.
786 (--enable-rquotad): Added
787 (AC_PROG_CXX): Removed.
788 (AC_OUTPUT): Add utils/Makefile.
789 (CC_FOR_BUILD): Renamed from BUILD_CC.
790 * configure: Regenerated.
792 * utils/Makefile: Removed.
794 * utils/Makefile.in: New.
796 * nfs-utils.spec.in (rquotad): New. Set to 0 to disable
798 (CC_FOR_BUILD): Renamed from BUILD_CC.
799 * nfs-utils.spec: Regenerated.
801 2001-06-15 Chip Salzenberg <chip@debian.org>
803 * debian/changelog: Version 0.3.2-2.
804 * debian/*.init: Minor fixes.
806 2001-06-07 Lon H. Hohberger <hohberger@missioncriticallinux.com>
808 * etc/nodist/nfs-server: Fixed a bug where the script would
809 disable mounts from NFSv3 clients if NFSv3 is present.
811 2001-06-05 H.J. Lu <hjl@lucon.org>
813 * utils/mountd/mountd.c (longopts): Add "descriptors/o".
814 (main): Support --descriptors/-o to set the limit of the number
815 of open file descriptors.
818 * utils/mountd/mountd.man: Updated for --descriptors/-o.
820 2001-06-04 H.J. Lu <hjl@lucon.org>
822 * nfs-utils.spec (Release): Set to 6.
824 2001-05-28 H.J. Lu <hjl@lucon.org>
826 * utils/lockd/lockd.c (main): chdir to NFS_STATEDIR.
827 * utils/mountd/mountd.c (main): Likewise.
828 * utils/nfsd/nfsd.c (main): Likewise.
829 * utils/rquotad/rquota_svc.c (main): Likewise.
831 2001-05-06 Anne Milicia <milicia@missioncriticallinux.com>
833 * support/export/client.c (client_check): Check IP address
836 2001-05-06 Neil Brown <neilb@cse.unsw.edu.au>
838 * support/export/client.c (client_gettype): Treat `*' as
841 2001-04-22 H.J. Lu <hjl@lucon.org>
843 * nfs-utils.spec.in: Fix a typo.
844 * nfs-utils.spec: Regenerated.
846 2001-04-21 H.J. Lu <hjl@lucon.org>
848 * nfs-utils.spec.in: Fix cross build.
849 * nfs-utils.spec: Regenerated.
852 2001-04-18 H.J. Lu <hjl@lucon.org>
854 * nfs-utils.spec.in: Support cross build.
855 * nfs-utils.spec: Regenerated.
861 * config.mk.in (BUILD_CC): New.
862 (CC): Set to $(BUILD_CC) if BUILD is defined.
865 (RANLIB): Set to @RANLIB@.
867 * configure.in: Check BUILD_CC, RANLIB, AR and LD.
868 * configure: Regenerated.
870 * tools/rpcgen/Makefile (BUILD): Set to true.
872 2001-04-01 Chip Salzenberg <chip@valinux.com>
874 * tools/rpcgen/rpc_svcout.c (write_timeout_func): Remove
875 redundant, and sometimes broken, declaration of svc_fdset;
877 * support/nfs/rpcmisc.c (closedown): Likewise.
879 2001-03-21 H.J. Lu <hjl@lucon.org>
881 * nfs-utils.spec: Regenerated.
884 2001-03-21 Ion Badulescu <ionut@cs.columbia.edu>
886 * utils/statd/statd.c (main): make sure file descriptors 0-2
887 are open to /dev/null.
889 2001-03-21 H.J. Lu <hjl@lucon.org>
891 * support/nfs/rpcmisc.c: Restore the change made on 2001-03-10.
892 * support/nfs/rpcmisc.c: Likewise.
893 * utils/rquotad/rquota_svc.c: Likewise.
894 * utils/rquotad/rquotad.man: Likewise.
895 * utils/statd/Makefile: Likewise.
896 * utils/statd/rmtcall.c: Likewise.
897 * utils/statd/simulate.c: Likewise.
898 * utils/statd/statd.c: Likewise.
899 * utils/statd/statd.man: Likewise.
901 2001-03-11 H.J. Lu <hjl@lucon.org>
903 * configure.in (RELEASE): New. Default to 1, set by
904 --with-release=XXX. Substitute nfs-utils.spec.
905 * nfs-utils.spec.in (Release): Set to @RELEASE@.
906 * configure: Regenerated.
907 * nfs-utils.spec: Likewise.
909 2001-03-11 H.J. Lu <hjl@lucon.org>
911 * utils/rquotad/rquotad.man: Fix a typo.
913 2001-03-11 H.J. Lu <hjl@lucon.org>
915 * support/include/rpcmisc.h: Undo the change made on 2001-03-10.
916 * support/nfs/rpcmisc.c: Likewise.
917 * utils/rquotad/rquota_svc.c: Likewise.
918 * utils/rquotad/rquotad.man: Likewise.
919 * utils/statd/Makefile: Likewise.
920 * utils/statd/rmtcall.c: Likewise.
921 * utils/statd/simulate.c: Likewise.
922 * utils/statd/statd.c: Likewise.
923 * utils/statd/statd.man: Likewise.
925 2001-03-10 H.J. Lu <hjl@lucon.org>
927 * configure.in (VERSION): Set to "0.3.2".
928 * configure: Regenerated.
929 * nfs-utils.spec: Likewise.
931 * README: Updated for 0.3.2.
933 2001-03-10 Tavis Barr <tavis@boole.isetr.columbia.edu>
935 * utils/rquotad/rquotad.man: Updated for -p.
936 * utils/statd/statd.man: Likewise.
938 2001-03-10 Ion Badulescu <ionut@cs.columbia.edu>
940 * support/nfs/rpcmisc.c: export makesock()
942 * support/include/rpcmisc.h (makesock): Declared.
944 * utils/rquotad/rquota_svc.c: added longopts, added support for
945 specifying the port to bind to on the command line.
947 * utils/statd/statd.c: ditto, also specify port used for
948 outgoing connections.
949 (do_regist): Removed.
951 * utils/statd/rmtcall.c (statd_get_socket): Renamed from
952 get_socket. Make it extern.
954 * utils/statd/simulate.c (daemon_simulator): Call rpc_init
955 instead of do_regist.
957 * utils/statd/Makefile (LIBS): link with our own libnfs
959 2001-03-09 H.J. Lu <hjl@lucon.org>
961 * etc/redhat/nfslock.init: Changed chkconfig line to 60 86.
962 * etc/nodist/nfs-client: Likewise.
964 2001-02-26 Chip Salzenberg <chip@valinux.com>
966 * debian/changelog: Version 0.3.1-1.
967 * Mention upstream source and license in copyright file.
968 * Add build-Depends for debhelper and libwrap0-dev.
970 2001-02-20 Lon Hohberger <hohberger@missioncriticallinux.com>
972 * etc/nodist/nfs-server: Changed chkconfig line to 60 20
973 * etc/nodist/nfs-client: Likewise.
975 2001-02-18 Lon Hohberger <hohberger@missioncriticallinux.com>
977 * utils/statd/statd.man: Changed /usr/sbin/rpc.statd to
980 2001-02-17 Patrick J. LoPresti <patl@curl.com>
982 * utils/statd/log.c (log_init): Use LOG_DAEMON instead of
985 2001-02-14 H.J. Lu <hjl@lucon.org>
987 * utils/statd/rmtcall.c: Include <time.h>.
988 * utils/statd/svc_run.c: Likewise.
990 2001-02-14 H.J. Lu <hjl@lucon.org>
992 * configure.in (VERSION): Set to "0.3.1".
993 * configure: Regenerated.
994 * nfs-utils.spec: Likewise.
996 * README: Updated for 0.3.1.
998 2001-02-14 H.J. Lu <hjl@lucon.org>
1000 * support/nfs/rpcmisc.c: Include <time.h>.
1002 2001-02-14 Chip Salzenberg <chip@valinux.com>
1004 * debian/control: Change priority of nhfsstone package to 'extra'.
1006 2001-02-12 Chip Salzenberg <chip@valinux.com>
1008 * debian/changelog: Version 0.3-2.
1010 2001-02-02 H.J. Lu <hjl@lucon.org>
1012 * support/include/rpcmisc.h (rpc_init): Remove bufsize.
1014 * support/nfs/rpcmisc.c (makesock): Remove socksz and comment
1015 out SO_SNDBUF/SO_RCVBUF.
1016 (rpc_init): Remove bufsize and remove socksz in calls to
1019 * utils/mountd/mountd.c (main): Remove bufsize in calls to
1022 2001-01-28 Chip Salzenberg <chip@valinux.com>
1024 * debian/changelog: Version 0.3-1.
1026 2001-01-25 H.J. Lu <hjl@lucon.org>
1028 * configure.in (VERSION): Set to "0.3".
1029 * configure: Regenerated.
1030 * nfs-utils.spec: Likewise.
1032 * README: Updated for 0.3.
1034 2001-01-25 H.J. Lu <hjl@lucon.org>
1036 * utils/lockd/lockd.c (main): Ignore errno == EINVAL.
1038 2001-01-20 Chip Salzenberg <chip@valinux.com>
1040 * support/include/xio.h (xgetc): Declare to return int.
1041 * support/nfs/xio.c (xgetc): Return int.
1042 (xgettok, xskip, xskipcomment): Use int for value of xgetc.
1043 * utils/statd/statd.c (main): Use int for value of getopt.
1044 * debian/changelog: Version 0.2.1-5.
1046 2000-12-10 Chip Salzenberg <chip@valinux.com>
1048 * utils/statd/monitor.c (sm_mon_1_svc): Fix buggy check for
1049 program and procedure numbers of kernel lockd's callback. Also,
1050 besides the old (and broken) procedure #24, allow #16 per Trond.
1052 2000-12-03 Chip Salzenberg <chip@valinux.com>
1054 * support/nfs/xio.c (xfopen): Initialize x_line to one, not zero.
1055 * debian/control: Let nhfsstone replace files in nfs-kernel-server.
1056 * debian/changelog: Version 0.2.1-4.
1058 2000-11-27 Tobias Ringstrom <tori@tellus.mine.nu>
1060 * utils/mountd/auth.c (auth_authenticate): Log the bad path
1063 2000-11-24 Neil Brown <neilb@cse.unsw.edu.au>
1065 * support/nfs/exports.c (getexportent): Check for host name
1066 without option, or options without hostname, and print a warning,
1067 as this is most likely a typo.
1069 2000-11-19 Chip Salzenberg <chip@valinux.com>
1071 * debian/control: Add dependency on portmap.
1072 * debian/changelog: Version 0.2.1-3.
1074 2000-11-10 H.J. Lu <hjl@lucon.org>
1076 * nfs-utils.spec.in: Don't use libtool.
1077 Add ChangeLog and COPYING to doc.
1078 * nfs-utils.spec: Rebuild.
1080 2000-11-09 H.J. Lu <hjl@lucon.org>
1082 * etc/redhat/nfs.init (start): Back out the last change.
1084 2000-11-09 H.J. Lu <hjl@lucon.org>
1086 * etc/redhat/nfs.init (start): Pass --no-tcp to mountd if
1087 TCP is not supported by kernel.
1089 * support/nfs/rpcmisc.c (rpc_init): Don't set _rpcfdtype to 0.
1091 * utils/mountd/mountd.c (longopts): Add "-n/--no-tcp".
1092 (main): Set to _rpcfdtype to SOCK_DGRAM for "-n/--no-tcp".
1094 * utils/mountd/mountd.man: Updated for "-n/--no-tcp".
1096 2000-10-24 Lon Hohberger <hohberger@missioncriticallinux.com>
1098 * utils/statd/callback.c: Fix bug preventing callbacks to local lockd.
1099 * utils/statd/rmtcall.c: Add some IP address paranoia when doing
1100 callbacks to local lockd.
1102 2000-10-18 Scott McDermott <mcdermot@questra.com>
1104 * utils/exportfs/exports.man: Updated for CIDR netmask.
1106 2000-10-17 Scott McDermott <mcdermot@questra.com>
1108 * support/export/client.c (client_init): Support CIDR netmask
1111 2000-10-11 H.J. Lu <hjl@lucon.org>
1113 * aclocal.m4 (AC_TCP_WRAPPER): Fix a typo.
1114 * configure: Rebuilt.
1116 2000-10-06 Lon Hohberger <hohberger@missioncriticallinux.com>
1118 * utils/statd/statd.man: Change "/var/lib/nfs/sm/state" to
1119 "/var/lib/nfs/state".
1121 2000-10-05 Lon Hohberger <hohberger@missioncriticallinux.com>
1123 * utils/statd/statd.h (run_mode): New global bitmask of runtime
1124 behaviors: fg/bg, logging, etc.
1125 * utils/statd/statd.c: New command line options: -V -h -? -d .
1126 * utils/statd/statd.man: Update for changes to statd.
1128 * utils/statd/log.h (log_init): Remove parameter of function; use
1129 global variable "name_p" instead.
1130 * utils/statd/log.c: Add support for logging to stderr.
1132 * utils/statd/notlist.c: Partially rewrite notify list handling
1133 functions. Eliminate run-off-end-of-list bug when calling
1134 nlist_insert_timer. Add lots of comments.
1136 2000-09-27 H.J. Lu <hjl@lucon.org>
1138 * README: Updated for RedHat 7.0.
1140 2000-09-27 H.J. Lu <hjl@lucon.org>
1142 * nfs-utils.spec: Rebuild.
1144 2000-09-27 H.J. Lu <hjl@lucon.org>
1146 * README: Updated for 0.2.1.
1148 2000-09-27 H.J. Lu <hjl@lucon.org>
1150 * nfs-utils.spec.in: Updated to use rpm macros and support
1153 2000-09-25 H.J. Lu <hjl@lucon.org>
1155 * configure.in (VERSION): Set to "0.2.1".
1156 * configure: Regenerated.
1157 * nfs-utils.spec: Updated.
1159 2000-09-25 H.J. Lu <hjl@lucon.org>
1161 * utils/mountd/auth.c (auth_authenticate_internal): Make sure a
1162 non-NULL hostent is always returned.
1164 2000-09-11 Ion Badulescu <ionut@cs.columbia.edu>
1166 * etc/redhat/nfslock.init: don't kill lockd processes that do not
1167 have an executable (i.e. kernel threads)
1169 2000-09-01 H.J. Lu <hjl@lucon.org>
1171 * README: Updated for 0.2.
1173 2000-09-01 Jay Weber <jweber@valinux.com>
1175 * etc/redhat/nfs.init: Added ability for rpc.mountd to default to
1176 supporting version 3 of nfs if available, else it will fall back to
1177 version 2 support only.
1179 2000-08-30 H.J. Lu <hjl@lucon.org>
1181 * configure.in (VERSION): Set to "0.2".
1182 * configure: Regenerated.
1183 * nfs-utils.spec: Updated.
1185 2000-08-25 H.J. Lu <hjl@lucon.org>
1187 * support/misc/tcpwrapper.c (logit): Modify the log output.
1189 2000-08-25 Ion Badulescu <ionut@cs.columbia.edu>
1191 * utils/rquotad/rquotad.man, utils/statd/statd.man,
1192 utils/mountd/mountd.man: updated
1194 * utils/mountd/Makefile (LIBS): added -lmisc $(LIBWRAP) $(LIBNSL)
1195 * utils/rquotad/Makefile: fix comment
1197 * support/misc/tcpwrapper.c (logit): added comment about waiting
1198 for the children after fork()
1200 * utils/mountd/mountd.c (main): ignore SIGCHLD to prevent leaving
1201 zombies behind (from logit()'s fork)
1202 * utils/rquotad/rquota_svc.c (main): ditto
1203 * utils/statd/statd.c (main): ditto
1205 * utils/rquotad/rquota_svc.c (rquotaprog_1): pass RQUOTAPROG
1206 to check_default instead of 0, for prognum
1208 * utils/statd/statd.c (sm_prog_1_wrapper): pass SM_PROG
1209 to check_default instead of 0, for prognum
1211 * utils/mountd/mount_dispatch.c: Include "tcpwrapper.h" if
1212 HAVE_TCP_WRAPPER is defined.
1213 (mount_dispatch): Call check_default () if HAVE_TCP_WRAPPER is
1214 defined. Reject an RPC call if check_default () fails.
1216 2000-08-25 H.J. Lu <hjl@lucon.org>
1218 * support/include/tcpwrapper.h: New for the tcp wrapper
1220 * support/misc/Makefile: Likewise.
1221 * support/misc/from_local.c: Likewise.
1222 * support/misc/tcpwrapper.c: Likewise.
1224 * aclocal.m4 (AC_TCP_WRAPPER): New.
1225 * configure.in: Use it. Substitute LIBWRAP.
1226 * configure: Rebuilt.
1228 * config.mk.in (LIBNSL): New.
1229 (LIBWRAP): Likewise.
1231 * support/Makefile (SUBDIRS): Add misc.
1233 * support/lib/Makefile (LIBS): Add libmisc.a.
1235 * utils/rquotad/Makefile (LIBS): Add
1237 -lmisc $(LIBWRAP) $(LIBNSL)
1239 * utils/statd/Makefile (LIBS): Likewise.
1241 * utils/rquotad/rquota_svc.c: Include "tcpwrapper.h" if
1242 HAVE_TCP_WRAPPER is defined.
1243 (rquotaprog_1): Call check_default () if HAVE_TCP_WRAPPER is
1244 defined. Reject an RPC call if check_default () fails.
1246 * utils/statd/statd.c: Include "tcpwrapper.h" if
1247 HAVE_TCP_WRAPPER is defined.
1248 (sm_prog_1_wrapper): New. A wrapper for sm_prog_1. Call
1249 check_default () before calling sm_prog_1 (). Define it as
1250 sm_prog_1_wrapper if HAVE_TCP_WRAPPER is defined.
1252 2000-08-25 Chip Salzenberg <chip@valinux.com>
1254 * debian/*: Complete Debian build support.
1255 * etc/debian/*: Remove.
1257 2000-08-24 Neil Brown <neilb@cse.unsw.edu.au>
1259 * support/export/client.c(client_check): removed the "dot+1" as a
1260 ypdomain argument to innetgr as this is entirely bogus.
1261 It should always be NULL.
1263 2000-08-23 Neil Brown <neilb@cse.unsw.edu.au>
1265 * support/export/xtab.c(xtab_read): introduce new mode for
1266 reading xtab. i.e. a list of exports that might be known to the
1267 kernel, or might not. These are flagged as m_exported == -1
1268 * support/export/xtab.c(xtab_mount_read): call xtab_read with new
1269 value "2" for xtab, meaning don't trust this too much.
1270 * support/include/exportfs.h(struct mexport): changed m_exported
1271 from one bit to an int so that it can hold new value
1272 * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the
1273 kernel if it is uncertain whether the kernel knows (m_exported == -1)
1274 * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if
1277 * support/nfs/xio.c(xflock): added O_CREAT when getting
1278 a write lock so that missing files aren't fatal.
1280 * etc/debian/nfs-common: new file from "potato"
1281 * etc/debian/nfs-kernel-server: new file from "potato" plus fixes.
1283 2000-08-09 H.J. Lu <hjl@lucon.org>
1285 * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during
1286 startup to ensure all existing clients work fine.
1288 * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0
1289 to xtab_read () for reading _PATH_XTAB.
1291 2000-08-02 H.J. Lu <hjl@lucon.org>
1293 * utils/mountd/auth.c (auth_authenticate_internal): Try to
1294 avoid the reverse name lookup.
1296 2000-07-04 H.J. Lu <hjl@lucon.org>
1298 * utils/statd/log.c: Include <stdlib.h> for exit ().
1300 * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the
1303 2000-07-04 H.J. Lu <hjl@lucon.org>
1305 * configure.in (VERSION): Set to "0.1.9.1".
1306 * configure: Regenerated.
1307 * nfs-utils.spec: Updated.
1311 2000-07-04 Neil Brown <neilb@cse.unsw.edu.au>
1313 * support/export/hostname.c (hostent_dup): Handle the NULL
1316 2000-07-03 H.J. Lu <hjl@lucon.org>
1318 * README: Update the util-linux requirement.
1320 2000-07-03 H.J. Lu <hjl@lucon.org>
1322 * configure.in (VERSION): Set to "0.1.9".
1323 * configure: Regenerated.
1324 * nfs-utils.spec: Updated.
1328 2000-07-03 H.J. Lu <hjl@lucon.org>
1330 * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
1331 stop to ensure all clients can still access the server
1332 before it is shutdown.
1334 2000-06-30 Jeff Uphoff <juphoff@transmeta.com>
1336 * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog()
1337 calls with format string.
1339 2000-06-28 Chip Salzenberg <chip@valinux.com>
1341 * utils/statd/log.c (log): Call syslog with format string.
1343 2000-06-27 H.J. Lu <hjl@lucon.org>
1345 * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
1346 instead of OPEN_MAX.
1348 2000-06-27 H.J. Lu <hjl@lucon.org>
1352 2000-06-27 H.J. Lu <hjl@lucon.org>
1354 * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
1355 startup to ensure all existing clients are exported.
1357 * configure.in (VERSION): Set to "0.1.8.2".
1358 * configure: Regenerated.
1359 * nfs-utils.spec: Updated.
1361 2000-06-06 H.J. Lu <hjl@lucon.org>
1363 * configure.in (VERSION): Set to "0.1.8.1".
1364 * configure: Regenerated.
1365 * nfs-utils.spec: Updated.
1367 2000-06-06 H.J. Lu <hjl@lucon.org>
1369 * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
1370 to "struct sockaddr_in *" for glibc 2.2.
1371 (mount_umnt_1_svc): Likewise.
1372 (mount_umntall_1_svc): Likewise.
1373 (mount_export_1_svc): Likewise.
1374 (mount_exportall_1_svc): Likewise.
1375 (mount_pathconf_2_svc): Likewise.
1376 (get_rootfh): Likewise.
1378 2000-06-04 H.J. Lu <hjl@lucon.org>
1380 * etc/redhat/nfs.init: Fix a typo in comment.
1382 2000-05-31 H.J. Lu <hjl@lucon.org>
1384 * configure.in (VERSION): Set to "0.1.8".
1385 * configure: Regenerated.
1386 * nfs-utils.spec: Updated.
1390 2000-05-31 H.J. Lu <hjl@lucon.org>
1392 * configure.in (VERSION): Set to "0.1.7.5".
1393 * configure: Regenerated.
1394 * nfs-utils.spec: Updated.
1396 * support/include/nfslib.h (exportent): Add a new field,
1397 r_count, to count the number of mounts from a client.
1398 (getrmtabent): Take a new argument for position in file.
1399 (putrmtabent): Likewise.
1400 (fgetrmtabent): Likewise.
1401 (fputrmtabent): Likewise.
1402 * support/nfs/rmtab.c (getrmtabent): Handle the new argument
1403 for position in file.
1404 (fgetrmtabent): Likewise.
1405 (putrmtabent): Likewise.
1406 (fputrmtabent): Likewise.
1408 * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
1411 * support/export/rmtab.c (rmtab_read): Pass NULL as the new
1412 argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
1413 and fputrmtabent ().
1414 * utils/mountd/rmtab.c (mountlist_add): Likewise.
1415 (mountlist_del): Likewise.
1416 (mountlist_del_all): Likewise.
1417 (mountlist_list): Likewise.
1419 * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
1420 for the existing entry and initialize "r_count" to 1.
1421 (mountlist_del): Decrement "r_count".
1423 2000-05-18 H.J. Lu <hjl@lucon.org>
1425 * configure.in (VERSION): Set to "0.1.7.4".
1426 * configure: Regenerated.
1427 * nfs-utils.spec: Updated.
1429 2000-05-18 H.J. Lu <hjl@lucon.org>
1431 * etc/redhat/nfs.init (restart): Just do stop and start.
1433 2000-05-09 Jay Weber <jweber@valinux.com>
1435 * utils/rquotad/hasquota.c: added support for ext3 recognition
1437 * utils/rquotad/mntent.h: Likewise.
1439 2000-05-01 H.J. Lu <hjl@lucon.org>
1441 * configure.in (VERSION): Set to "0.1.7.3".
1442 * configure: Regenerated.
1443 * nfs-utils.spec: Updated.
1445 2000-05-01 H.J. Lu <hjl@lucon.org>
1447 * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
1448 mounting poins in /etc/fstab.
1450 2000-05-01 H.J. Lu <hjl@lucon.org>
1452 * configure.in (VERSION): Set to "0.1.7.2".
1453 * configure: Regenerated.
1454 * nfs-utils.spec: Updated.
1456 2000-05-01 H.J. Lu <hjl@lucon.org>
1458 * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
1459 to check for the mounting point.
1461 2000-04-29 Chip Salzenberg <chip@valinux.com>
1462 Neil Brown <neilb@cse.unsw.edu.au>
1464 * Really re-use RPC ports.
1465 (Fixes earlier patch. Sorry, Neil.)
1467 2000-04-26 H.J. Lu <hjl@lucon.org>
1469 * configure.in (VERSION): Set to "0.1.7.1".
1470 * configure: Regenerated.
1471 * nfs-utils.spec: Updated.
1473 2000-04-26 H.J. Lu <hjl@lucon.org>
1475 * etc/redhat/nfslock.init: Check if lockd exits before killing
1478 2000-04-25 H.J. Lu <hjl@lucon.org>
1480 * README: Require util-linux-2.10f-mount-rpc.patch for mount.
1482 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
1484 * support/nfs/exports.c (parsesquash): Correctly set the
1487 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
1489 * support/include/nfs/nfs.h: Removed knowledge of internals of
1490 kernel filehandles (which can change) and defined nfs_fh_size
1491 which has variable size
1493 * support/nfs/getfh.c: defined getfh_size to use new syscall to
1494 get variable sized file handles, and change getfh{,old} to
1497 * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
1500 * tools/Makefile, tools/nlmtest/nlmtest.c
1501 nlmtest.c depended on internel format of file handles, so now
1505 2000-03-12 Chip Salzenberg <chip@valinux.com>
1506 Neil Brown <neilb@cse.unsw.edu.au>
1508 * support/nfs/rpcmisc.c (rpc_init): Share transports.
1510 2000-03-13 H.J. Lu <hjl@lucon.org>
1512 * etc/redhat/nfsd.init: Updated.
1514 * etc/redhat/nfslock.init: Updated.
1516 * nfs-utils.spec.in: Updated.
1518 * configure.in (VERSION): Set to "0.1.7".
1519 * configure: Regenerated.
1520 * nfs-utils.spec: Updated.
1524 Wed Mar 8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
1526 * utils/exportfs/exportfs.c (dump): Included printing of
1527 nohide, no_subtree_check, and insecure_locks
1529 2000-02-26 Chip Salzenberg <chip@valinux.com>
1531 * config.mk.in (INSTALLSUID): Strip ("-s").
1532 (INSTALLSCRIPT): Define.
1533 * utils/nhfsstone/Makefile: Use it.
1535 2000-02-26 Chip Salzenberg <chip@valinux.com>
1537 * utils/lockd/lockd.man: Create.
1538 * utils/lockd/Makefile: Install it.
1539 * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
1540 * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
1541 * utils/nhfsstone/Makefile: Install the helper scripts and
1543 * utils/exportfs/exports.man: Fix typo.
1545 2000-02-26 Chip Salzenberg <chip@valinux.com>
1547 * support/nfs/xio.c (xungetc): Decrement line number when
1548 character to unget is newline. Make first parameter int, so
1549 it can distinguish EOF from \377.
1550 * support/include/xio.h (xungetc): Adjust prototype.
1552 Fri Feb 4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
1554 * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
1555 * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
1556 * utils/exportfs/exports.man: added documentation for no_auth_nlm.
1558 This is for supporting a new option introduced in 2.3.42
1560 Thu Feb 3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
1562 * COPYING: Added. GPL.
1564 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
1566 * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
1567 to get the block size.
1569 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
1571 * nfs-utils.spec.in: Update ftp site.
1573 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
1575 * README: Update hostnames.
1577 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
1579 * configure.in (VERSION): Set to "0.1.6".
1580 * configure: Regenerated.
1581 * nfs-utils.spec: Updated.
1585 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
1587 * utils/mountd/auth.c (auth_authenticate_internal): Call
1588 xstrdup for hostname before passing it to gethostbyname.
1590 * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
1593 Sun Dec 19 09:35:01 1999 H.J. Lu <hjl@lucon.org>
1595 * README: Update the mailing list address.
1597 Sun Dec 19 09:22:28 1999 H.J. Lu <hjl@lucon.org>
1599 * configure.in (VERSION): Set to "0.1.5".
1600 * configure: Regenerated.
1601 * nfs-utils.spec: Updated.
1605 Mon Dec 13 13:40:20 1999 H.J. Lu <hjl@lucon.org>
1607 * utils/rquotad/hasquota.c (hasquota): Malloc one more char
1610 Mon Dec 6 09:42:45 1999 H.J. Lu <hjl@lucon.org>
1612 * configure.in (VERSION): Set to "0.1.4".
1613 * configure: Regenerated.
1614 * nfs-utils.spec: Updated.
1618 Mon Dec 6 09:28:07 1999 H.J. Lu <hjl@lucon.org>
1620 * nfs-utils.spec.in: New file.
1622 * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
1624 * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
1626 1999-12-04 Chip Salzenberg <chip@valinux.com>
1628 * config.mk.in: Use $(CC) as set by configure.
1630 1999-12-04 Chip Salzenberg <chip@valinux.com>
1632 * rules.mk: Call $(MAKE) with $(MFLAGS).
1634 Mon Nov 29 11:17:35 1999 H.J. Lu <hjl@lucon.org>
1636 * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
1637 IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
1639 Mon Nov 29 11:17:35 1999 H.J. Lu <hjl@lucon.org>
1641 * nfs-utils.spec (Version): Set to 0.1.3.
1643 * configure.in (VERSION): Set to "nfs-utils 0.1.3".
1644 * configure: Regenerated.
1648 Mon Nov 29 11:15:47 1999 H.J. Lu <hjl@lucon.org>
1650 * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
1651 (_PATH_DEV_DSK): Likewise.
1652 (getquotainfo): Match the mounting point from /etc/mtab
1653 instead of calling nfsmount_to_devname ().
1655 1999-11-24 Chip Salzenberg <chip@valinux.com>
1657 * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
1658 to the new port 24 as well as the historical port 100021.
1660 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
1662 * etc/redhat/nfsd.init (stop): moved exportfs -ua after
1663 stopping nfsd to stop spurious ESTALE on server shutdown.
1665 Tue Nov 23 10:13:39 1999 Neil Brown <neilb@cse.unsw.edu.au>
1667 * support/nfs/exports.c (parseopts): make copy of opt string
1668 before 'nul'ing out commas so that
1670 # exportfs -o option1,option2 hosta:/fs hostb:/fs
1672 applies both options to both exports.
1674 Thu Oct 28 12:55:42 1999 H.J. Lu <hjl@lucon.org>
1676 * README: Fix a few typos.
1678 * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
1680 * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
1681 * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
1682 * tools/rpcgen/rpc_parse.c (get_type): Likewise.
1683 (unsigned_dec): Likewise.
1684 * tools/rpcgen/rpc_scan.c (symbols): Likewise.
1685 * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
1687 * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
1689 * tools/rpcgen/rpc_parse.c (get_type): Likewise.
1690 (unsigned_dec): Likewise.
1691 * tools/rpcgen/rpc_scan.c (symbols): Likewise.
1692 * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
1693 * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
1695 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
1697 * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
1698 * support/nfs/exports.c: added {no_,}subtree_check and changed
1700 * utils/exportfs/exports.man: added no_subtree_check and nohide
1701 and removed irrelevant stuff from unfsd.
1702 * support/export/rmtab.c: rmtab_read didn't quite do the right
1703 thing if a pathname from rmtab was a subdirectory of an export-point
1705 Tue Oct 26 17:22:40 1999 H.J. Lu <hjl@lucon.org>
1707 * README: Updated ftp site.
1709 Mon Oct 25 18:12:45 1999 H.J. Lu <hjl@lucon.org>
1711 * nfs-utils.spec (Version): Set to 0.1.2.
1713 * configure.in (VERSION): Set to "nfs-utils 0.1.2".
1714 * configure: Regenerated.
1718 Mon Oct 25 18:11:21 1999 H.J. Lu <hjl@lucon.org>
1720 * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
1721 (auth_authenticate_internal): Check for NULL return on forward
1723 (auth_authenticate): Handle "no_forward_dns".
1725 Thu Oct 21 16:22:06 1999 H.J. Lu <hjl@lucon.org>
1727 * Version 0.1.1 released.
1729 * nfs-utils.spec (Version): Set to 0.1.1.
1731 * configure.in (VERSION): Set to "nfs-utils 0.1.1".
1732 * configure: Regenerated.
1736 Mon Oct 18 17:43:29 1999 H.J. Lu <hjl@lucon.org>
1738 * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
1740 (Provides): Likewise.
1742 Mon Oct 18 14:56:22 1999 H.J. Lu <hjl@lucon.org>
1744 * Initial version 0.1 released.
1746 * configure.in (VERSION): Set to "nfs-utils 0.1".
1747 * configure: Regenerated.
1749 Mon Oct 18 14:54:57 1999 H.J. Lu <hjl@lucon.org>
1751 * utils/mountd/mountd.c (get_exportlist): Cleanup.
1753 * utils/exportfs/exportfs.c (unexport_all): Unexport from
1754 kernel only if the entry is exported to kernel.
1755 (unexportfs): Likewise.
1757 Wed Sep 08 16:49:32 1999 Neil Brown <neilb@cse.unsw.edu.au>
1759 1/ utils/mountd/rmtab.c::mountlist_list
1761 This routine stats the rmtab file to see if it has changed. It
1762 if has, it cleans up it's old copy of the data. But it still
1763 always re-read the file, thus returning multiple copies of the
1764 data on consecutive calls without intervening changes.
1765 "Showmount -a" didn't show this as it appears to sort/unique the
1766 data, but 'strace showmount -a' showed that the size of the
1767 datagram that it received grew.
1769 I moved the getrmtabent loop inside the mtime test.
1771 2/ utils/exportfs/exportfs.c
1773 Many routines used the m_path field of m_export instead of
1775 According to the comment in nfslib.h, m_path should only
1776 be used when processing a mount request (i.e. in mountd)
1777 where the mountpoint may be a subdirectory of the export point.
1779 I changed all occurances of m_path to e_path
1782 3/ utils/exportfs/exportfs.c:main
1784 extra arguments are not meaningful with -a or -r, but
1785 exportfs accepted them and then ignored the -a/-r, expect that
1786 -r would still unexport everything first.
1788 I generate an error if there are extra args and f_all
1790 4/ utils/exportfs/exportfs.c:main
1791 extract dump out as a special case.
1793 5/ utils/exportfs/exportfs.c
1794 made f_reexport a local variable.
1797 6/ utils/exportfs/exportfs.c:main,exportall
1799 support/export/rmtab.c
1800 only mayexport on newly created entries, don't set xtabent at all
1802 7/ support/include/nfslib.h
1804 add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
1806 8/ support/export/xtab.c
1808 xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
1812 9/ support/export/xtab.c
1814 xtab_mount_read now sets m_exported, and NOT
1815 xtabent and mayexport
1817 removed the append arguement from xtab_write as it was
1820 added is_export flag to xtab_write similar to xtab_read
1821 if is_export, only write entries with m_xtabent or m_addxtab
1822 if !is_export, only write entries with m_exported
1824 10/ support/export/export.c::export_allowed_internal
1826 added test for exp->m_mayexport, as the export tree
1827 may have entries that are no longer allowed to be exported,
1828 and so shouldn't caused deduced exported by rmtab_read
1830 11/ utils/exportfs/exportfs.c::main
1831 error checking of flags.
1833 12/ utils/exportfs/exportfs.c
1835 total rewrite of export and unexport logic.
1837 - build an exportslist of valid exports, based on
1838 current etab file and arguments,
1839 - read rmtab to instantiate relevant wild card entries
1840 - read etab to find out what is currently exported
1841 - synchronise intention with reality
1842 - write out etab and xtab
1845 discard the m_addxtab flag
1846 add m_changed flag so we know what to report in exportfs
1848 14/ utils/mountd/auth.c:auth_authenticate
1850 the value returned by gethostbyaddr was trusted.
1852 It now follows this with a call to gethostbyname
1853 and checks that the address is in the list.
1855 15/ support/export/nfsctl.c::cltsetup,expsetup
1857 force client names to lowercase as kernel is
1860 16/ quietened a few compiler warnings
1862 17/ support/export/client:client_lookup
1864 look for pre-existing client with same name before creating
1867 18/ support/include/exportfs.h
1869 The ordering of the MCL_* enum was:
1870 ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
1872 I moved ANONYMOUS to the end.
1874 The ordering is significant when an export entry is being searched for to
1875 match a given address. There are two problems with ANONYMOUS being first.
1877 1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
1878 then the ro case will always be found first and the privileged hosts won't get
1880 2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
1881 export entry for the specific host, and writes it to xtab.
1882 When another request comes from the same host, the ANONYMOUS entry is found again,
1883 before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
1884 again. If causes bloat in xtab.
1886 Putting ANONYMOUS at the end reflects it's nature as a catch-all
1888 19/ utils/exportfs/exportfs.man
1889 many updates to the man page to reflect changes to the code
1891 -----------------------
1897 - allow exportfs to modify rmtab file
1898 - make sure kernel never gets two clients with same IP address
1899 - possible kernel should reject
1900 - needs to be some way to lookup client in kernel by IP address
1901 - maybe get kernel to do case-insensitive comparisons on client names
1902 - remove unused clients from kernel
1904 - change etab to xtab and xtab to xtab.active
1906 - timestamp and/or statd-stamp in rmtab for removing old entries.
1908 Mon Oct 18 11:48:07 1999 H.J. Lu <hjl@lucon.org>
1910 * linux-nfs: New directory.
1911 * linux-nfs/ChangeLog: Moved from ..
1912 * linux-nfs/INSTALL: Likewise.
1913 * linux-nfs/KNOWNBUGS: Likewise.
1914 * linux-nfs/NEW: Likewise.
1915 * linux-nfs/README: Likewise.
1916 * linux-nfs/THANKS: Likewise.
1917 * linux-nfs/TODO: Likewise.
1919 * Starting from knfsd 1.4.7.