]> git.decadent.org.uk Git - nfs-utils.git/blob - ChangeLog
Fix rpc_init so it isn't confused by ssh
[nfs-utils.git] / ChangeLog
1 2005-12-12 Usha Ketineni <ketineni@us.ibm.com>, NeilBrown <neilb@suse.de>
2         *support/nfs/rpcmisc.c(rpc_init): is stdin is a socket, but
3         is already connected (as e.g. from ssh), don't assume we
4         were started by inetd.
5
6 2005-11-03 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
7         *utils/idmapd/idmaps.c:
8         
9         I've recently updated the nfs-utils in rawhide with the
10         latest patches from the SourceForge CVS tree and the
11         latest CITI patches (1.0.7-4).
12         
13         In testing these patches, I notice that when the server was started
14         and a SIGHUP was sent to rpc.idmapd to open the nfs4.nametoid/channel
15         and nfs4.idtoname/channel files, the second open (the nfs4.idtoname one)
16         failed because the path (i.e. ic->ic_path) was NULL.
17         
18         Now the reason the ic_path was NULL was because it was never set
19         during the call to nfsdopen(). nfsdopen() looks like:
20         nfsdopen(char *path)
21         {
22              return ((nfsdopenone(&nfsd_ic[IC_NAMEID], IC_NAMEID, path) == 0 &&
23              nfsdopenone(&nfsd_ic[IC_IDNAME], IC_IDNAME, path) == 0) ? 0 
24                : -1);
25         }
26
27         Note: the call to nfsdopenone() is how the path is set in each nfsd_ic[]
28         entry and nfsdopen() is only called once.
29         
30         So when rpc.idmap comes up and the first call to nfsdopenone() fails
31         (because the server is not running) the path in nfsd_ic[IC_IDNAME] is
32         never filled in because the second nfsdopenone() never happen...
33         
34         Now there was a CITI patche (idmapd_revert_fix_reopen_on_sighup.dif)
35         that tried to address this problem but did seem to fix it.. The
36         attached patch fix the problem by initializing both nfsd_ic[IC_IDNAME]
37         and nfsd_ic[IC_NAMEID] structures with the needed info...
38         I figured since there is no way of changing these paths or filenames
39         by command line args, why not just set them during compile time...
40         so that's what this patch does.
41         
42         This patch also changes how nfsdreopen_one() handles the
43         case where the event has already been set. Unlike the CITI
44         patch (idmapd_revert_fix_reopen_on_sighup.dif) which just
45         just does not register the second event, my patch deletes
46         the old event and the registers the new one. It just seems like
47         the right thing to do since a SIGHUP means a new server just
48         started so we probably should create a new event as well...
49         
50         steved.
51         
52 2005-10-14 NeilBrown <neilb@suse.de>
53         *utils/mountd/cache.c(nfsd_fh): Understand type 2 and type 3
54         filesystem identifiers, which are used with device numbers
55         That don't fit into 16 bits.
56
57 2005-10-07 Olaf Kirch <okir@suse.de>
58         * utils/mountd/mountd.c(get_exportlist): Without this patch,
59         showmount -e would sometimes display host names that should really
60         have been subsumed under a wildcard entry.
61
62         The problem was that the code in get_exportlist would always
63         skip the next group entry after removing one FQDN.
64
65 2005-10-06 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
66         * support/nfs/export.c: don't warn about sync/async for readonly
67         exports
68         * support/nfs/closeall.c: new file with function to close all 
69         file descriptors from a give minimum upwards.
70         * nfsd/mountd/statd/idmapd/gsssvcd: use closeall.
71         * utils/mountd/mountd.c: Eliminate 3 syslog message that are
72         logged for successful events. 
73         * utils/mountd/mountd.c: make sure the correct hostname is used in
74         the SM_NOTIFY message that is sent from a rebooted server which
75         has multiple network interfaces. (bz 139101)
76
77         Details can be found in:
78         https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139101
79
80         *utils/idmapd/idmapd.c:Fixed subscripting problem in idmapd (bz
81         158188) This fixes the following problem: 
82          rpc.idmapd: nfsdreopen: Opening '' failed: errno 2 (No such file or directory)
83
84          Details can be found in:
85          https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158188
86
87         *utils/statd/statd.c(drop_privs): clear st_gid as well as st_uid
88         of stat fails.
89         *utils/statd/svc_run.c(my_svc_run): remove usage of undocumented
90         %m format specifier.
91         *utils/statd/montor.c(sm_mon_1_svc): as above
92         *support/nfs/xlog.c(xlog): Changed xlog to use LOG_INFO instead of
93         LOG_DEBUG so debug messages will appear w/out any config changes
94         to syslog.conf. 
95
96         
97 2005-09-02 Mike Frysinger <vapier@gentoo.org>
98         * utils/rquotad/rquota_server.c(getquotainfo): use explicit
99         struture-member copying rather than memcpy, as the element
100         sizes are the same on all architectures.
101
102 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
103         Add option to set rpcsec_gss debugging level (if available)
104
105         Changes to allow gssd/svcgssd to build when using Hiemdal Kerberos
106         libraries.  Note that there are still run-time issues preventing
107         this from working when shared libraries for libgssapi and librpcsecgss
108         are used.
109         
110 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
111         Remove the rpcsec_gss code and rely on an external library instead.
112
113 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
114         *utils/mountd/mountd.c:
115         mountd currently always returns AUTH_NULL and AUTH_SYS as the
116         allowable flavors in mount replies.  We want it to also return gss
117         flavors when appropriate. For now as a hack we just have it always
118         return the KRB5 flavors as well. 
119
120         *utils/mountd/cache.c:
121         
122         When attempting to mount an NFSv4 pseudofilesystem (fsid=0) and the
123         actual exported directory does not exist on the server, rpc.mountd
124         doesn't check the directory exists (when fsidtype=1, i.e. using fsid,
125         but does check for fsidtype=0, i.e. using dev/ino).  The non-existent
126         exported directory path with fsid=0 is written to the kernel via
127         /proc/net/rpc/nfsd.export/channel, which leads to path_lookup() to
128         return ENOENT (seems appropriate).  Unfortunately, the new_cache
129         approach ignores errors returned when writing via the channel file so
130         that particular error is lost and the mount request is silently ignored.
131         
132         Assuming it doesn't make sense to revamp the new_cache/up-call method to
133         not ignore returned errors, it seems appropriate to fix the case where
134         rpc.mountd doesn't check for the existence of an exported directory with
135         fsid= semantics.  The following patch does this by moving the stat() up
136         so it is done for both fsidtype's.  I'm not certain whether the other
137         tests need to be executed for fsidtype=1, but it doesn't appear to hurt
138         [Not exactly true: the comparison of inode numbers caused problems so
139         now it's kept for fsidtype=0 only].
140         
141         Would it be also desirable to log a warning for every error, if any,
142         returned by a write to any of the /proc/net/rpc/*/channel files which
143         would otherwise be ignored (maybe under a debug flag)?
144
145         * gssd/mountd/svcgssd: Changes gssd, svcgssd, and mountd to ignore a
146         SIGHUP rather than dying.
147
148         * many: Remove the gssapi code and rely on an external library instead.
149
150 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
151         * utils/exportfs/exports.man: Document the "crossmnt" export export option
152         * utils/gssd/krb5_util.c: 
153         Add better debugging and partially revert the function
154         check for gss_krb5_ccache_name.
155         
156         For MIT Kerberos releases up to and including 1.3.1, we *must*
157         use the routine gss_krb5_ccache_name to get the K5 gssapi code
158         to use a different credentials cache.
159         
160         For releases 1.3.2 and on, we want to use the KRB5CCNAME
161         environment variable to tell it what to use.
162         (A problem was reported where 1.3.5 was being used, our
163         code was using gss_krb5_ccache_name, but the underlying
164         code continued to use the first (or default?) credentials
165         cache.  Switching to using the env variable fixed the problem.
166         I cannot recreate this problem.
167
168         *utils/gssd/krb5_util.c:
169         Andrew Mahone <andrew.mahone@gmail.com> reported that reiser4
170         always has DT_UNKNOWN.  He supplied patch to move the check
171         for regular files after the stat() call to correctly find
172         ccache files in reiser4 filesystem.
173         
174         Also change the name comparison so that the wrong file is
175         not selected when the substring comparison is done.
176
177         *utils/gssd/krb5_util.c:
178         Limit the set of encryption types that can be negotiated by
179         the Kerberos library to those that the kernel code currently
180         supports.
181         
182         This should eventually query the kernel for the list of
183         supported enctypes.
184
185         *utils/gssd/gss_util.c, utils/svcgssd/svcgssd_main_loop.c:
186         Print more information in error messages to help debugging failures.
187
188         *utils/svcgssd/svcgssd_proc.c: Increase token buffer size and
189         update error handling so that a response is always sent.
190
191         *utils/svcgssd/svcgssd_proc.c: Add support to retrieve
192         supplementary groups. 
193         
194         
195 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
196         * configure.in etc
197         Consolidate some of the Kerberos checking instead of repeating
198         the same things for MIT and Heimdal.
199         Also adds more checks to distinguish 32-bit from 64-bit
200         (mainly for gssapi.h)
201         Fix svcgssd Makefile so make TOP=../../ works correctly there.
202         Enable running a modern autoheader.
203         * utils/gssd/gss_oids.c: Use correct OID value for SPKM-3
204         * utils/gssd/gss_util.c: Fix build with older MIT releases that do not define GSS_C_NT_HOSTBASED_SERVICE
205         * utils/gssd/write_bytes.h, support/include/gssapi/gssapi.h:
206         Length of gss_buffer_desc is a size_t which is 64-bits on a
207         64-bit machine.  Kernel code expects 32-bit integer for length.
208         Coerce length value into a 32-bit value when reading from or
209         writing to the kernel.
210         Change gssapi.h to use datatype size values obtained from
211         configure rather than hard-coded values.
212         * utils/idmapd/idmapd.c: The EV_INIT check here was wrong, and was
213         causing idmapd to become unresponsive to server requests after
214         receiving a sighup. 
215         * utils/idmapd/idmapd.c: Idmapd should flush the server id<->name
216         caches when its started. 
217
218 2005-04-12  G. Allen Morris III <gam3@gam3.net>
219
220         * All Makefile: added TOP as needed for easier compile.
221
222         * utils/nfsstat/nfsstat.c: added NFS V4 support; added the -m
223           option; Added -2, -3, and -4 options; changed -a option to -v
224           option; added long options; changed default output to not
225           show V2 NFS statistics unless used.
226
227         * utils/nfsstat/nfsstat.man: Documented above changes; changed
228           authors email address; added BUGS section.
229
230 2005-04-07  Chip Salzenberg  <chip@pobox.com>
231
232         * debian/changelog: Version 1.0.7-2.
233
234 2005-04-06  Chip Salzenberg  <chip@pobox.com>
235
236         * config.guess, config.sub: Update.
237
238         * support/rpc/svc_auth_gss.c (_svcauth_gss): Avoid using a cast as
239         an lvalue, as it is non-portable.
240
241         * support/nfs/exports.c (parseopts): Accept "acl" option to mean
242         ~NFSEXP_NOACL, and "no_acl" to mean NFSEXP_NOACL.
243         (putexportent): Report NFSEXP_NOACL as "no_acl", and ~NFSEXP_NOACL
244         as "acl".
245         * utils/exportfs/exportfs.c (dump): Report NFSEXP_NOACL as
246         "no_acl".
247         * utils/exportfs/exports.man: Document "no_acl".
248
249 2005-03-14  NeilBrown <neilb@cse.unsw.edu.au>
250         Denis Vlasenko <vda@ilport.com.ua>
251         * support/export/client.c(client_init and client_gettype):
252         treat N.N.N.N as a special case of MCL_SUBNETWORK instead of 
253         MCL_FQDN
254
255 2005-03-06  G. Allen Morris III <gam3@gam3.net>
256         * support/nfs/cacheio.c(readline): Could not read lines greater
257         than 128 bytes. [1157791] 
258         * utils/exportfs/exports.man: Added a SEE ALSO section and
259         fixed 2 typos. [1018450]
260
261 2005-02-28  Trond Myklebust <trond.myklebust@fys.uio.no>
262         * utils/statd/rmtcall.c(statd_get_socket): If a port number is
263         explicitly given, make sure to try to bind to that.
264         
265 2005-01-11  Chip Salzenberg  <chip@pobox.com>
266
267         * debian/changelog: Version 1.0.7-1.
268         * debian/nfs-common.default (NEED_IDMAPD, NEED_GSSD):
269         Disable by default, on advice of upstream.
270         * debian/nfs-kernel-server.default (NEED_SVCGSSD):
271         Likewise.
272
273         * utils/svcgssd/Makefile (predep): Symbolically link duplicated
274         source files.
275         (distclean): Remove symlinks to duplicated files.
276
277 2004-12-17 NeilBrown <neilb@cse.unsw.edu.au>
278         Release 1.0.7
279
280         * config.mk, configure.in: update version number, run autoconf
281         * configure.in: require nfsidmap.h if gss is enabled.
282         
283 2004-12-10 NeilBrown <neilb@cse.unsw.edu.au>
284         Release 1.0.7-pre2
285         
286         * config.mk, configure.in: update version number, run autoconf
287         
288 2004-12-10 Neil Brown <neilb@cse.unsw.edu.au>
289         * README : note dependancy on kerberos, libevent, and nfsidmap
290         * configure.in : fail if --enable-nfsv4 and libevent or
291         libnfsidmap are missing.
292         * configuyre.in: improve message if krb5 support is missing
293         
294 2004-12-06 Paul Clements <paul.clements@steeleye.com>   
295         * support/include/ha-callout.h: get return status from waitpid
296         correctly. 
297         * support/include/ha-callout.h: don't ignore SIGCHLD while waiting
298         for a callout to complete.
299         * utils/statd/statd.c(sigusr): print current start when re-reading
300         notify list due to SIGUSR1
301         * utils/statd/svc_run.c(my_svc_run): call change_state when
302         re-notifying clients.
303         
304 2004-12-06 Marc Eshel <eshel@almaden.ibm.com>
305         * utils/statd/svc_run.c(my_svc_run): allow loop to exit when in
306         MODE_NOTIFY_ONLY
307         *utils/statd/rmtcall.c(statd_get_socket): if a hostname is given
308         to statd with -n, prefer it's IP address to the default for
309         listening on.
310         
311 2004-12-06 Bruce Allan <bwa@us.ibm.com>
312         * utils/mountd/auth.c(auth_reload)  Clear the "my_client" cache on
313         an auth_reload to avoid old data getting used.
314         
315 2004-12-03 NeilBrown <neilb@cse.unsw.edu.au>
316         Release 1.0.7-pre1 for testing
317         
318         * config.mk, configure.in: update version number, run autoconf
319         
320 2004-12-03 Trond Myklebust <trond.myklebust@fys.uio.no>
321
322         * utils/statd/statd.c(main): ignore SIGPIPE
323         
324 2004-11-22 "J. Bruce Fields" <bfields@fieldses.org>
325
326         * tools/rpcdebug/rpcdebug.c: support aliases "nfsdebug" and
327         "nfsddebug" and update flag names.
328         * configure.in, nodist/* redhat/* nfs-utils.spec*: remove redhat
329         specific files (as no-one actually uses them, especially not
330         redhat), and the nodist /etc files (as they drift out-of-date, and
331         the debian directory provides a suitable example.
332         * utils/svcgssd_proc.c(get_ids): fix memory leak
333         * utils/svcgssd/svcgssd_proc.c: Rely on count of the number of
334         groups instead of using a special guard value to identify the end
335         of the list. 
336         * utils/idmapd/idmapd.c: don't allow Default domain and anon-uid
337         or -gid to be specified on command line.
338         * utils/idmapd/idmapd.c: improve error messages
339         * utils/idmapd/idmapd.c: Reopen nfsd files on sighup.  Allows us
340         to start up client side only (even when nfsd module not loaded),
341         and then sighup later after insmodding nfsd module. 
342         * utils/idmapd/idmapd.c: Make sure we catch all errors on
343         daemonizing by waiting for child to report succesfull startup
344         using a pipe. 
345         * utils/idmapd/idmapd.c: Let libnfsidmapd parse the idmapd.conf
346         file for the default domain, instead of doing that ourselves.
347         * utils/gssd/gssd_proc.c: Make sure we get an error when a gssd
348         downcall fails. 
349         * utils/gssd/gssd_proc.c: We were forgetting to restore the euid
350         on certain failures, which meant gssd could get stuck in a state
351         where it didn't have permissions to read the files in rpc_pipefs
352         that it needed to. 
353         * utils/gssd/gssd_proc.c: Use libnfsidmapd to map gss principals
354         to uids. 
355         * debian/nfs-kernel-server.default: Document the NEED_SVCGSSD
356         variable in /etc/default/nfs-kernel-server. 
357
358         
359 2004-11-22 NeilBrown <neilb@cse.unsw.edu.au>
360
361         * utils/exportfs/nfsd.man: corrected typo in .BR macro usage -
362         reported by Eric Raymond
363         
364 2004-10-19 "J. Bruce Fields" <bfields@fieldses.org>
365
366         * support/gssapi/* support/rpc/* utils/gssd/* utils/svcgssd/* etc
367         initial support for GSSAPI authentication
368         
369 2004-09-15 Neil Brown <neilb@cse.unsw.edu.au>
370
371         * utils/statd/monitor.c(sm_unmon_1_svc): is RESTRICTED_STATD, then
372         check IP address and force my_name to 127.0.0.1 to match 
373         what happens in sm_mon_1_svc.  This avoid spurious "erroneous
374         SM_UNMON" messages.
375         * utils/statd.monitor.c(sm_unmon_all_1_svc): likewise
376         
377 2004-09-15 "J. Bruce Fields" <bfields@fieldses.org>     
378
379         * Assorted changes to support "gss/*" style authentication
380         * utils/idmapd: new idmapd daemon for nfsv4 username lookup
381         
382 2004-09-06 Trond Myklebust <trond.myklebust@fys.uio.no>
383         Neil Brown <neilb@cse.unsw.edu.au>
384
385         * utils/mountd/auth.c(auth_authenticate_internal): fix
386         uninitialsed variable problem (causes bad error messages).
387
388 2004-09-06 Paul Clements <paul.clements@steeleye.com>
389         Neil Brown <neilb@cse.unsw.edu.au>
390
391         * utils/mountd/mountd.c(main): support --ha-callout (-H) for
392         specifying a callout program
393         * utils/mountd/rmtab.c: Call ha_callout on mount/unmount
394         * utils/statd/monitor.c: Call ha_callout on add/del client
395         * utils/statd/rmtcall.c: as above
396         * utils/statd/statd.c: handle --ha-callout (-H)
397         * utils/statd/svc_run.c: call notify_hosts is we have received a
398         sighup
399         * support/include/ha-callout.h: define ha_callout function
400          
401         
402 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
403         * utils/mountd/cache.c(cache_process_req): clear fd after
404         processing so as not to confused libc/sunrpc into thinking
405         it need to do something with that fd.
406         
407 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
408
409         * debian/nfs-kernel-server.init(start,stop) mount the nfsd
410         filesystem, if available, before starting nfs services, and 
411         unmount it afterwards.
412         * etc/nodist/nfs-server: ditto
413         * etc/redhat/nfs.init: likewise
414         * etc/redhat/nfs: add "MOUNT_NFSD" flag to control above.
415         
416 2004-06-08 NeilBrown <neilb@cse.unsw.edu.au>
417
418         * utils/exportfs/exportfs.c: Don't rmtab_read if new_cache, it
419           isn't necessary.
420         * support/nfs/cacheio.c(cache_flush): Change order in which caches
421           are flushed so that dependancies don't keep things in the cache
422           too long.
423         
424 2004-03-18  Chip Salzenberg  <chip@pobox.com>
425
426         * debian/changelog: Version 1.0.6-2.
427
428 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
429         from "J. Bruce Fields" <bfields@fieldses.org>
430
431         * utils/mountd/cache.c: call auth_reload to make sure auth data is
432         current before responding to kernel upcall.
433         
434 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
435         Based on patch from  Greg Banks <gnb@melbourne.sgi.com>
436
437         * utils/exportfs/exports.man: Document fsid= option.
438         
439 2003-09-15 NeilBrown <neilb@cse.unsw.edu.au>
440
441         Release 1.0.6
442
443         * rules.mk: Add dep: rule when no OBJS, so "make dep" works in
444         support/include, and depend in "predep"
445         * support/export/Makefile, tools/rpcgen/Makefile,
446         utils/statd/Makefile: add "predep" rule so that "make dep" works.
447         * Makefile: allow a simple "make" to run ./configure and "make dep"
448         if needed.
449         * configure.in, nfs-utils.spec: Update version to 1.0.6
450         * run autoconf
451         
452 2003-09-12  Chip Salzenberg  <chip@pobox.com>
453
454         * debian/changelog: Version 1.0.6-1.
455
456 2003-09-12 NeilBrown <neilb@cse.unsw.edu.au>
457
458         * utils/mountd/mountd.c(main): Impose FD_SETSIZE as an upper limit
459         for RLIMIT_NOFILE
460         * utils/statd/statd.c(main): Ditto.
461
462            michael <michael@newdream.net> discovered that svc_setreqsize
463            in glibc can segfault if RLIMIT_NOFILE is bigger than
464            FD_SETSIZE, so a simple solution is to impose a hard limit.
465
466 2003-09-09  Chip Salzenberg  <chip@pobox.com>
467
468         * debian/changelog: Version 1.0.5-3.
469         * support/export/hostname.c (get_reliable_hostbyaddr): Fix crash
470         on invalid reverse DNS.
471         * utils/showmount/showmount.c (main): Fix inet_ntoa() parameter.
472         * tools/rpcgen/rpc_cout.c (print_header): Remove unused vars.
473         * tools/rpcgen/rpc_parse.c (def_union): Likewise.
474
475 2003-08-22  Chip Salzenberg  <chip@pobox.com>
476
477         * utils/statd/{log.h,log.c}: Rename log() to note() and L_* to
478         N_*, to avoid conflict with ISO C built-in log() function.
479         * utils/statd/*.c: Use note().
480
481 2003-08-20  Chip Salzenberg  <chip@pobox.com>
482
483         * debian/changelog: Version 1.0.5-2.
484
485 2003-08-11 NeilBrown <neilb@cse.unsw.edu.au>
486
487         * utils/mountd/cache.c(cache_get_filehandle): close the filehandle
488         before returning.
489         
490 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
491
492         * support/include/nfs/export.h, support/nfs/exports.c,
493         utils/exportfs/exports.c, utils/mountd/mountd.c:  change
494         NFSEXP_CROSSMNT to NFSEXP_CROSSMOUNT to avoid confusion with older
495         meaning. Also remove meaningless
496         NFSEXP_{UIDMAP,KERBEROS,SUNSECURE}
497         
498 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
499
500         * support/export/xtab.c, support/include/nfslib.h,
501         support/nfs/cacheio.c, support/nfs/nfssvc.c,
502         utils/exportfs/exportfs.c, utils/exportfs/exportfs.man,
503         utils/exportfs/nfsd.man, utils/mountd/cache.c: support
504         /proc/fs/nfsd/* as a perferred alternate to /proc/fs/nfs/*
505         (nfs-utils-1.0.5-post2)
506         
507 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
508
509         * support/nfs/nfsexport.c: open channel file O_WRONLY when
510         only writing.
511         * utils/mountd/cache.c: maintain mountlist when new_cache is
512         active. Also use O_WRONLY for channel files.
513         * utils/mountd/mountd.h: mountlist_{del,add} now take a host name
514         rather than an nfs_export.
515         * utils/mountd/rmtab.c: ditto.
516         (nfs-utils-1.5.0-post1)
517         
518 2003-07-24  Chip Salzenberg  <chip@pobox.com>
519
520         * support/nfs/xlog.c (xlog): Revise buffer-overflow fix to
521         use Debian security team's cleaner approach.
522         * debian/changelog: Version 1.0.5-1.
523         * debian/nfs-kernel-server.init: Cosmetic changes.
524
525 2003-07-18 NeilBrown <neilb@cse.unsw.edu.au>
526
527         Release 1.0.5:
528          1.0.4 was a bit of a brown-paper-bag-release because of the extra
529          'free' in auth.c.  So I'm releasing this just a few days later.
530
531         * support/nfs/cacheio.c(cache_flush): Correct test for 'open
532         failed'
533         * utils/exportfs/exportfs.c(main): If "-f" given as lone option,
534         check if new_cache is enabled, error if not, flush and exit if it
535         is. 
536         * utils/exportfs/exportfs.man: Explain -f option and explain the
537         two different modes that exportfs can work in.
538         * utils/mountd/mountd.c: Do not change RLIMIT_NOFILE if the -o
539         option wasn't given.
540         * utils/mountd/mountd.man: Record the change if default behaviour
541         for RLIMIT_NOFILE.
542         * configure.in, nfs-utils.spec: update version to 1.0.5 and
543         run autoconf
544         
545 2003-07-15 NeilBrown <neilb@cse.unsw.edu.au>
546
547         * utils/mountd/mountd.c(main): getopt string fix for 'o'
548         * utils/mountd/auth.c(auth_authenticate): remove extra 'free'
549         * utils/exportfs/exportfs.c(main): make 'exportfs -f' just flush
550         the caches.
551         * support/include/nfs/export.h: Reserve a bit for possible ACL
552         related use.
553         
554 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
555
556         * utils/exportfs/nfsd.man: new man page for nfsd filesystem. Also
557         assorted changed to cope with section 7 of the manual.
558         * configure.in, nfs-utils.spec: Update version to 1.0.4
559         * run autoconf
560
561         This is a 'pre-release' for 1.1.0  Hopefully 1.1.0 will be the
562         baseline for 2.6 and 2.8.  I.e. it should continue to work right
563         through the 2.8 (or 3.0) kernel series.  Previous releases wont.
564
565 2003-07-04 NeilBrown <neilb@cse.unsw.edu.au>    
566         Steve Dickson <SteveD@redhat.com>
567
568         statd cleanup:
569         * utils/statd/statd.c: create a pidfile with pid of statd, and
570         truncate it when statd exists.
571         * utils/statd/statd.c: drop privs by setuid to owner of SM_DIR,
572         and warn if this is root.
573         * utils/statd/statd.c: when statd forks, connect child to parent
574         with a pipe, and send a byte down the pipe once the child is
575         working properly.
576         * Makefile: create and chown sm, sm.bak, state when "make install"
577         * configure.in: add --with-statduser= option which defaults to
578         "rpcuser" or "nobody"
579         * config.mk.in: pass "statduser" through to Makefile
580         
581 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
582
583         * support/include/nfs/nfs.h: Make sure correct __kernel_dev_t is
584         used as the size was changed somewhere in 2.5.60-2.5.70.  Without
585         this nfs-utils compiles against 2.6 headers will not work on a
586         2.4 kernel.     
587         
588 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
589
590         * support/nfs/nfssvc.c(nfssvc): If /proc/fs/nfs/threads exists,
591         set number of threads by writing to there.  This means it will
592         still work when the syscall interface goes away in 2.7.
593
594 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
595         fumihiko kakuma <kakmy@mvh.biglobe.ne.jp>
596
597         * utils/exportfs/exportfs.c(unexportfs): improve host comparison
598         so as to only export the wildcard exports that were asked for.
599         * support/export/export.c(export_allowed): changed to return the
600         nfs_export rather than a "struct exportent", as m_changed is
601         needed by called
602         * support/export/rmtab.c(rmtab_read): modified to deal with
603         interface change for export_allowed(), and enhanced to preserve
604         m_changed flag when a wild-card export causes the creation of
605         a non-wildcard export.
606         
607 2003-07-02 NeilBrown <neilb@cse.unsw.edu.au>
608         Steve Dickson <SteveD@redhat.com>
609
610         * utils/mountd/mountd.man: Add valid kinds of debugging.
611         * utils/mountd/mountd.c(main): ignore SIGPIPE
612         * utils/nfsstat/nfsstat.c: fine-tune printing of warning so
613         we don't get warnings about unavailable stats that weren't asked
614         for.
615         
616 2003-06-24 NeilBrown <neilb@cse.unsw.edu.au>
617
618         * support/nfs/nfsexport.c(exp_unexp): When unexporting filesystems
619         via /rpc/net/rpc/nfsd*/channel, set the expiry date to 1, not
620         'forever', so things disappear out of the cache rather than just
621         be ignored. 
622         
623 2003-06-16  "J. Bruce Fields" <bfields@fieldses.org>
624
625         * utils/mountd/cache.c(nfsd_fh): don't export the export_ent
626         if it wasn't found.
627
628 2003-06-16  NeilBrown   <neilb@cse.unsw.edu.au>
629
630         * debian/nfs-kernel-server.init,etc/nodist/nfs-server,
631         etc/redhat/nfs.init: when checking if V3 is supported, make sure
632         nfs server 'knows' about 127.0.0.1 first.
633         
634 2003-06-10  Chip Salzenberg  <chip@pobox.com>
635
636         * support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug.
637         * debian/changelog: Version 1.0.3-2.
638
639 2003-05-30 Michael Griffith <grif@michaelgriffith.com>
640         NeilBrown <neilb@cse.unsw.edu.au>
641
642         utils/nfsstat/nfsstat.c(print_callstats): use unsigned
643         long long to avoid overflow when printing stats.
644         
645 2003-05-30  NeilBrown <neilb@cse.unsw.edu.au>
646
647         * support/export/export.c, support/include/nfslib.h,
648         support/nfs/export.c, utils/exportfs/exportfs.c,
649         utils/mountd/mountd.c: new export option "mountpoint"
650         If no path is given, then the export point must be a
651         mount point, or it won't be exported.  If a path is 
652         given (e.g. mountpoint=/path) then that path must be
653         a mountpoint or the exportpoint won't be exported.
654         * utils/exportfs/exportfs.man: document mountpoint option.
655         * support/misc/mountpoint.c: New file with is_mountpoint()
656         to determine if something is a mountpoint.
657         
658 2003-05-23  NeilBrown <neilb@cse.unsw.edu.au>
659
660         * utils/mountd/cache.c(cache_get_filehandle): take a separate path
661         argument as we might not be getting the filehandle for the
662         mountpoint.
663         * utils/mountd/mountd.c(get_rootfh): pass real path when calling
664         cache_get_filehandle.
665         * utils/mountd/mountd.c(get_rootfh): check export point and
666         requested directory are on the same filesystem, and complain if
667         not.
668         
669 2003-05-22  NeilBrown <neilb@cse.unsw.edu.au>
670
671         * utils/mountd/auth.c(auth_authenticate_internal): make sure
672         portnumber is still checked when using new cache lookup.
673         
674 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
675
676         * utils/exportfs/exportfs.c: Use check_new_cache and cache_flush
677          Don't actually talk to kernel when new cache is in effect, except
678          to flush
679         * utils/exportfs/exportfs.c: add -f option to fully flush cache.
680         * support/export/xtab.c: Only rename new xtab into place if it has
681          changed, thus preserving modify date for exportfs to use when
682          flushing.
683         * support/nfs/cacheio.c: Add cache_flush
684         * support/export/xtab.c: Only rename new xtab into place if it has
685          changed, thus preserving modify date for exportfs to use when
686          flushing.
687         
688 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
689
690         * support/export/client.c: Add client_compose, client_member to
691         handle new composite client names
692         * support/include/exportfs.h: Declare above functions.
693         * utils/mountd/auth.c: use client_compose to determine calling
694         client if new cache is being used.
695         * utils/mountd/auth.c: call cache_export to export a filesystem if
696         new_cache, check if new cache is used, and call my_svc_run instead
697         of svc_run
698         * utils/mountd/svc_run.c: new file defining my_svc_run
699         * utils/mountd/cache.c: new file for handling cache upcalls.
700         * support/nfs/cacheio.c(check_new_cache): new function to check if
701         new cache should be used.
702         
703         
704 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
705
706         * support/include/nfs/export.h: New CROSSMNT distinct from NOHIDE
707         * support/nfs/exports.c: Make CROSSMNT distinct from NOHIDE
708         * utils/exportfs/exportfs.c(dump): ditto
709         
710 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
711
712         * support/export/hostname.c(get_reliable_hostbyaddr): new function
713         to get host name from address with full checking of authenticity.
714         * support/include/misc.h: declare above function
715         * utils/mountd/auth.c(auth_authenticate_internal): remove all
716         logic for authenticating address.
717         * utils/mountd/auth.c(auth_authenticate): call new
718         get_reliable_hostbyaddr to to hostname lookup before calling _internal.
719         
720         
721 2003-03-30  NeilBrown <neilb@cse.unsw.edu.au>
722
723         * tools/rpcgen/rpc_main.c(find_cpp): removed
724         * tools/rpcgen/rpc_main.c(open_input): use execvp to find "cpp", 
725         then try hard-coded paths.
726         
727 2003-03-26  Chip Salzenberg  <chip@pobox.com>
728
729         * debian/changelog: Version 1.0.3-1.
730
731 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
732
733         * utils/mountd/rmtab.c (slink_safe_rename): real_newpath should be
734         "const char*", not "char*".
735
736 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
737
738         * configure.in (VERSION): Set to "1.0.3".
739         * nfs-utils.spec: Likewise.
740         * configure: Regenerated.
741
742 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
743
744         * support/nfs/cacheio.c: New File - support for read/writing
745         to export cache in /proc/rpc/*/channel
746         * support/nfs/Makefile: compile cacheio.c
747         * support/include/nfslib.h: declare cacheio.c functions
748         * support/nfs/nfsexport.c: export and unexport through
749         /proc/rpc/*/channel if possible, as old syscall interface
750         may not survive into 2.6 on all architectures.
751         
752 2003-02-19 NeilBrown <neilb@cse.unsw.edu.au>    
753         Ben Leslie <benno@sesgroup.net>
754
755         * support/nfs/rpcmisc.c(rpc_init):  change test for ignoring
756         "defport" from (__rpcfdtype == 0) to (__rpcpmstart==0).  The
757         former would incorectly ignore defport if the application 
758         explicitly set __rpcfdtype.  The later is sufficient to avoid the
759         special handling in the case where stdin is an internet socket.
760
761         * utils/mountd/mountd.c(main): Add 'n' to option list in
762         getopt_long as this is a short form of --no-tcp which want being
763         checked.
764         
765 2003-02-12  Chip Salzenberg  <chip@pobox.com>
766
767         * debian/changelog: Version 1.0.2-2.
768
769 2002-11-27  Chip Salzenberg  <chip@pobox.com>
770
771         * utils/mountd/rmtab.c (slink_safe_rename): Fix off-by-one buffer
772         overflow bug.  Reformat per rest of source file.
773
774 2002-11-19  NeilBrown <neilb@cse.unsw.edu.au>
775
776         * utils/exportfs/exports.man: Correct notes about whether the wild
777         card characters match a period.  They do.
778         
779 2002-10-15  Juan Gomez <juang@us.ibm.com>
780
781         * utils/mountd/rmtab.c (slink_safe_rename): New. Support
782         symlink.
783         (mountlist_add): Call slink_safe_rename instead of rename.
784
785 2002-10-11  H.J. Lu <hjl@lucon.org>
786
787         * support/include/exportfs.h (export_errno): New.
788
789         * support/nfs/exports.c: Include <errno.h>.
790         (export_errno): New.
791         (getexportent): Set export_errno to EINVAL for bad option.
792         (parseopts): Likewise.
793         Report the location of the default sync/async option.
794
795         * utils/exportfs/exportfs.c (main): Initialize export_errno to
796         0. Return export_errno.
797
798 2002-10-11  Juan Gomez  <gomez@cs.sjsu.edu>
799         NeilBrown <neilb@cse.unsw.edu.au>
800
801         utils/statd/statd.c(killer): don't pmap_unset if in notify_only mode
802         utils/statd/statd.c(main): don't pmap_unset if in notify_only mode
803         
804 2002-09-16  Chip Salzenberg  <chip@pobox.com>
805
806         * utils/rquotad/rquota_svc.c (main): Use int for value of getopt.
807
808 2002-09-15  Chip Salzenberg  <chip@pobox.com>
809
810         * support/nfs/rpcmisc.c (rpc_init): Allow stdin to be a non-INET
811         socket, as occurs when run from sshd.
812         * debian/changelog: Version 1.0.2-1.
813
814 2002-09-12  H.J. Lu <hjl@lucon.org>
815
816         * support/nfs/svc_socket.c: Remove HAVE_SVCTCP_SOCKET and
817         HAVE_SVCUDP_SOCKET.
818
819 2002-09-12  H.J. Lu <hjl@lucon.org>
820
821         * configure.in: Remove checking svctcp_socket and svcudp_socket.
822         * configure: Regenerated.
823
824         * support/include/config.h.in (HAVE_SVCTCP_SOCKET): Removed.
825         (HAVE_SVCUDP_SOCKET): Removed.
826
827         * support/include/nfslib.h: Undo the last change.
828
829 2002-09-12  H.J. Lu <hjl@lucon.org>
830
831         * support/include/nfslib.h (svctcp_socket): Protect it with
832         HAVE_SVCTCP_SOCKET.
833         (svcudp_socket): Protect it with HAVE_SVCUDP_SOCKET.
834
835 2002-09-12  H.J. Lu <hjl@lucon.org>
836
837         * configure.in (VERSION): Set to "1.0.2".
838         * configure: Regenerated.
839         * nfs-utils.spec: Likewise.
840
841 2002-09-12  H.J. Lu <hjl@lucon.org>
842
843         * configure.in: Check svctcp_socket and svcudp_socket.
844         * configure: Regenerated.
845
846         * support/include/config.h.in (HAVE_SVCTCP_SOCKET): New.
847         (HAVE_SVCUDP_SOCKET): New.
848
849         * support/include/nfslib.h (svctcp_socket): New.
850         (svcudp_socket): New.
851
852         * support/nfs/Makefile (OBJS): Add svc_socket.o.
853
854         * support/nfs/svc_socket.c: New.
855
856         * support/nfs/rpcmisc.c (rpc_init): Call svctcp_socket and
857         svcudp_socket if port is unspecified.
858
859         * utils/nfsd/nfsd.c (main): Call getservbyname for port.
860
861         * utils/rquotad/rquota_svc.c: Include <nfslib.h>.
862         (killer): New. Signal handler to unregister.
863         (main): Use killer. Call svcudp_socket to get the default
864         socket.
865
866 2002-09-02 Juan Gomez <juang@us.ibm.com>
867         NeilBrown <neilb@cse.unsw.edu.au>
868
869         Add -N option to statd to run in notify-only mode.
870
871         * utils/statd/statd.h: uncomment MODE_NOTIFY_ONLY
872         * utils/statd/statd.man: document -N
873         * utils/statd/statd.c: enabled -N, largely exists but needed to be
874         uncommented and completed
875         
876 2002-09-02 Juan Gomez <juang@us.ibm.com>
877         NeilBrown <neilb@cse.unsw.edu.au>
878
879         statd to have " -P directory" arg to use that directory instead
880         of /var/lib/nfs.  This is useful for fail-over clusters.
881         
882         * utils/statd/statd.h: define SM_DIR etc as var, not const.
883         * utils/statd/statd.c: define "-P" option to set SM_*
884         appropriately.
885         * utils/statd/monitor.c: sprintf to cope with SM_DIR not being
886         a constant any more.
887         * utils/statd/notify.c: ditto.
888         * utils/statd/statd.man: document -P option.
889         
890 2002-08-26  Chip Salzenberg  <chip@pobox.com>
891
892         * utils/nfsd/nfsd.man: Fix typo.
893         * debian/changelog: Version 1.0.1-1.
894
895 2002-05-29 NeilBrown <neilb@cse.unsw.edu.au>
896
897         * let parseopts know if /etc/exports was being read or not, 
898         and have it only print "no sync or async" warning in that case.
899         
900 2002-05-06 Tom McNeal <trmcneal@attbi.com>
901         NeilBrown <neilb@cse.unsw.edu.au>
902
903         * utils/nfsstat/nfsstat.c: Handle differing format for
904            /proc/net/rpc/nfsd between pre and post 2.4.0
905         
906 2002-04-09  NeilBrown <neilb@cse.unsw.edu.au>
907         James Pearson <james-p@moving-picture.com>
908
909         * support/nfs/rmtab.c(fendrmtabent): sync changes to 
910         storage before returning, as this is critical state
911
912 2002-04-08  Sean O'Connell <sean@ee.duke.edu>
913             H.J. Lu <hjl@lucon.org>
914
915         * etc/redhat/nfs: New.
916
917 2002-04-08  H.J. Lu <hjl@lucon.org>
918
919         * etc/redhat/nfs.init: Updated.
920
921         * nfs-utils.spec.in: Updated.
922         * nfs-utils.spec: Regenerated.
923
924         * utils/mountd/mountd.c (longopts): Fix a typo.
925
926         * utils/mountd/mountd.man: Updated.
927
928 2002-04-07  H.J. Lu <hjl@lucon.org>
929
930         * etc/redhat/nfslock.init (restart): Just do stop and start.
931
932         * etc/redhat/nfs.init: Fix a typo.
933
934 2002-04-07  H.J. Lu <hjl@lucon.org>
935
936         * configure.in (VERSION): Set to "1.0.1".
937         * configure: Regenerated.
938         * nfs-utils.spec: Likewise.
939
940         * README: Updated for 1.0.1.
941
942 2002-04-07  Sean O'Connell <sean@ee.duke.edu>
943             H.J. Lu <hjl@lucon.org>
944
945         * etc/redhat/nfs.init: Read /etc/sysconfig/nfsd for NFS tuning.
946
947 2002-02-28   Steven Whitehouse <steve@gw.chygwyn.com>
948               NeilBrown <neilb@cse.unsw.edu.au>
949
950         Add support for fsid=nn export option so that device
951         numbers don't go in filehandles.
952         * support/export/nfsctl.c(expsetup): if exporting and NFSEXP_FSID
953         is set, pass the fsid in-place of the device number
954         * support/nfs/exports.c: parse and print fsid= option.
955         Also check if efname has been set, and use "command line"
956         instead in error messages.
957         Also, use strtol instead of atoi for anon[ug]id= so that
958         bad numbers cause errors.
959         
960 2002-01-17   Adrian Drzewiecki <drze@MissionCriticalLinux.com>
961              NeilBrown <neilb@cse.unsw.edu.au>
962
963         * support/nfs/exports.c: remove NFSEXP_ASYNC as a default
964         flag so that "sync" becomes the default.
965         Check that either "sync" or "async" is given as an option
966         and warn if neither are present
967         * utils/exportfs/exports.man: change documentation for "sync"
968         to be documentation for "async".
969         * utils/exportfs/exportfs.man: note that "sync" is the default
970         rather than "async"
971         
972         
973 2002-01-02  Chip Salzenberg  <chip@pobox.com>
974
975         * support/export/nfsctl.c (expsetup): Don't export entries that
976         specify id mappings not supported by the kernel.  No extant kernel
977         supports any significant mapping, only 'identity' (i.e. none).
978         When other mappings are supported, this code will need changing.
979         * debian/changelog: Version 1.0-2.
980
981 2001-12-26  Chip Salzenberg  <chip@pobox.com>
982
983         * nfs-utils.spec (Version): Set to "1.0".
984         * configure.in (VERSION): Likewise.
985         * configure: Regenerated.
986         * README: Rewritten.
987         * debian/changelog: Version 1.0-1.
988
989         * utils/exportfs/exports.man: Emphasize the need for options to
990         immediately follow client names.  Explain that wildcards don't
991         usually work on addresses, but may work when reverse DNS fails.
992         Comment out a leftover TP that was TPing our indentation.
993         * utils/mountd/mountd.man, utils/rquotad/rquotad.man,
994         utils/statd/statd.man: Remove refs to non-existent "hosts_allow(5)".
995         * debian/changelog: Version 0.3.3-6.
996
997 2001-12-20  NeilBrown <neilb@cse.unsw.edu.au>
998
999         * support/export/client.c(client_lookup): If a host has multiple
1000         IP addresses, then we must always use the result of a
1001         gethostbyname, not that of gethostbyaddr for exporting
1002         
1003 2001-12-20  NeilBrown <neilb@cse.unsw.edu.au>
1004
1005         * support/export/client.c (client_lookup): use strcasecmp when
1006         comparing host names
1007         * support/nfs/export.c (getexportent): add fromkernel arg and use
1008         different defaults as kernels prior to 2.4.11 assume different
1009         defaults in /proc/fs/nfs/exports
1010         * support/include/nfslib.h, support/export/export.c,
1011         support/export/xtab.c:  support extra "fromkernel" arg for
1012         getexportent. 
1013         
1014 2001-12-13  Chip Salzenberg  <chip@pobox.com>
1015
1016         * debian/changelog: Version 0.3.3-5.
1017
1018 2001-11-26  TAKAI Kousuke <takai@vlsi.kuee.kyoto-u.ac.jp>
1019
1020         * support/nfs/xio.c (xskip): Call `xungetc' instead of
1021         `ungetc' to keep x_line more properly.
1022
1023 2001-11-26  Chip Salzenberg  <chip@pobox.com>
1024
1025         * utils/showmount/showmount.c (main): Don't assume that strings
1026         starting with digits are IP addresses.
1027         * utils/nfsd/nfsd.c (main): Close all fds and reopen 0,1,2 on
1028         /dev/null before nfssvc().  Use syslog to report nfssvc errors.
1029         * support/misc/tcpwrapper.c, utils/mountd/mountd.man,
1030         utils/rquotad/rquotad.man, utils/statd/statd.man: Fix comments and
1031         man pages: We check host names *and* addresses with tcpwrappers.
1032         * debian/changelog: Version 0.3.3-4.
1033
1034 2001-11-21  Chip Salzenberg  <chip@pobox.com>
1035
1036         * support/nfs/clients.c (cfname): Added: current clients file name.
1037         (setnfsclntent): Set it.
1038         ({get,end}nfsclntent, syntaxerr): Use it.
1039         * support/nfs/exports.c (efname): Added: current exports file name.
1040         (setnfsexportent): Set it.
1041         (endnfsexportent, parseopts, getexport, syntaxerr): Use it.
1042         (parseopts): Accept old-style "crossmnt" option, for old xtabs.
1043         * debian/changelog: Version 0.3.3-3.
1044
1045 2001-10-11  Chip Salzenberg  <chip@pobox.com>
1046
1047         * utils/mountd/mountd.c (main): Close fds > 2 _before_ RPC init.
1048         * debian/changelog: Version 0.3.3-2.
1049
1050 2001-10-08  Chip Salzenberg  <chip@pobox.com>
1051
1052         * utils/mountd/mountd.c (main): When daemonizing, close all fds > 2.
1053         * utils/Makefile.in: Remove old Makefile in target 'distclean'.
1054         * utils/mountd/mountd.man: Update paths to /var/lib.
1055         * debian/*: Version 0.3.3-1, with Debian-specific fixes.
1056
1057 2001-10-06  Preston Brown <pbrown@redhat.com>
1058
1059         * utils/nfsstat/nfsstat.man: Updated.
1060
1061 2001-09-24  H.J. Lu <hjl@lucon.org>
1062
1063         * configure.in (VERSION): Set to "0.3.3".
1064         * configure: Regenerated.
1065         * nfs-utils.spec: Likewise.
1066
1067         * README: Updated for 0.3.3.
1068
1069 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
1070
1071         Arrange that "exportfs -au" never does DNS lookup:
1072         
1073         * support/export/client.c (client_lookup) : add "canonical"
1074         flag which says that the hostname is known to be canonical, so
1075         don't do a lookup
1076
1077         * support/export/export.c (export_create) : add "canonical"
1078         flag to be passed down to client_lookup
1079         * support/export/export.c (export_lookup) : Likewise
1080
1081         * support/export/xtab.c (xtab_read) : pass appropriate
1082         "canonical" flag to export_lookup and export_create:
1083         set if reading list of filesystems currently exports
1084         (is_export != 1). 
1085
1086         * support/export/export.c (export_read) : pass 0 as 
1087         "canonical" flag to export_lookup and export_create
1088         * support/export/rmtab.s (rmtab_read) : Likewise
1089
1090         * support/include/exportfs.h : redeclare various routines
1091         to have "canonical" flag
1092
1093         * utils/exportfs/exportfs.c (main) : redo logic for 
1094         "-au" to read in what is currently exported, but never even 
1095         look at what "should" be exported.
1096
1097         * utils/exportfs/exportfs.c (unexportall) : remove this
1098         routine. Functionality is completely included in
1099         exports_update
1100
1101         * utils/exportfs/exportfs.c (exportfs) : set "canonical"
1102         flag to zero in calls to export_lookup and export_create.
1103
1104         
1105 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
1106             Anne Milicia <milicia@missioncriticallinux.com>
1107
1108         * support/export/client.c (client_lookup) call gethostbyadd
1109         to make sure that we have a canonical hostname, even for
1110         dotted-quads
1111         * utils/exportfs/exportfs.c (exportfs) Likewise
1112         
1113 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
1114
1115         * support/nfs/exports.c (putexportent): \octal quote any spaces
1116         etc in a path name
1117         * support/nfs/xio.c (xgettok): recognise double-quote and
1118         \octal quoting in path names
1119         * utils/exportfs/exports.man: document quoting conventions
1120         for path names
1121         
1122 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
1123
1124         * utils/mountd/auth.c (auth_authenticate_internal): Reverse
1125           change from 2000-08-02:  It causes problems if someone exports
1126           to both a hostname and IP addresses.  nfs-utils must be
1127           consistant about the canonical name that it chooses.
1128
1129 2001-08-17  Ragnar Kjørstad <nfs@ragnark.vestdata.no>
1130             H.J. Lu <hjl@lucon.org>
1131
1132         * etc/redhat/nfslock.init (STATDARG): New. Pass it to rpc.statd.
1133
1134         * utils/statd/statd.c (longopts): Add "name".
1135         (usage): Add "-n/--name".
1136         (main): Set MY_NAME with "-n/--name".
1137
1138         * utils/statd/state.c (change_state): Set MY_NAME only if it
1139         is NULL.
1140         
1141         * utils/statd/statd.man: Updated for "-n/--name".
1142
1143 2001-07-26  H.J. Lu <hjl@lucon.org>
1144
1145         * nfs-utils.spec (Release): Set to 8.
1146
1147 2001-07-25  H.J. Lu <hjl@lucon.org>
1148
1149         * etc/redhat/nfs.init: Check if rpc.rquotad exists before doing
1150         anything about it.
1151
1152 2001-06-27  H.J. Lu <hjl@lucon.org>
1153
1154         * etc/redhat/nfs.init: Run rpc.rquotad only if it exists.
1155
1156 2001-06-27  H.J. Lu <hjl@lucon.org>
1157
1158         * utils/rquotad/rquota_server.c: Don't call statfs () for
1159         the block size. Use BLOCK_SIZE instead.
1160
1161 2001-06-27  H.J. Lu <hjl@lucon.org>
1162
1163         * config.mk.in (CC_FOR_BUILD): Renamed from BUILD_CC.
1164         (CFLAGS_FOR_BUILD): New. Don't use @CFLAGS@.
1165
1166         * configure.in (enable_nfsv3): Set to yes by default.
1167         (--enable-rquotad): Added
1168         (AC_PROG_CXX): Removed.
1169         (AC_OUTPUT): Add utils/Makefile.
1170         (CC_FOR_BUILD): Renamed from BUILD_CC.
1171         * configure: Regenerated.
1172
1173         * utils/Makefile: Removed.
1174
1175         * utils/Makefile.in: New.
1176
1177         * nfs-utils.spec.in (rquotad): New. Set to 0 to disable
1178         rquotad.
1179         (CC_FOR_BUILD): Renamed from BUILD_CC.
1180         * nfs-utils.spec: Regenerated.
1181
1182 2001-06-15  Chip Salzenberg  <chip@debian.org>
1183
1184         * debian/changelog: Version 0.3.2-2.
1185         * debian/*.init: Minor fixes.
1186
1187 2001-06-07  Lon H. Hohberger <hohberger@missioncriticallinux.com>
1188
1189         * etc/nodist/nfs-server: Fixed a bug where the script would
1190         disable mounts from NFSv3 clients if NFSv3 is present.
1191
1192 2001-06-05  H.J. Lu <hjl@lucon.org>
1193
1194         * utils/mountd/mountd.c (longopts): Add "descriptors/o".
1195         (main): Support --descriptors/-o to set the limit of the number
1196         of open file descriptors.
1197         (usage): Updated.
1198
1199         * utils/mountd/mountd.man: Updated for --descriptors/-o.
1200
1201 2001-06-04  H.J. Lu <hjl@lucon.org>
1202
1203         * nfs-utils.spec (Release): Set to 6.
1204
1205 2001-05-28  H.J. Lu <hjl@lucon.org>
1206
1207         * utils/lockd/lockd.c (main): chdir to NFS_STATEDIR.
1208         * utils/mountd/mountd.c (main): Likewise.
1209         * utils/nfsd/nfsd.c (main): Likewise.
1210         * utils/rquotad/rquota_svc.c (main): Likewise.
1211
1212 2001-05-06  Anne Milicia <milicia@missioncriticallinux.com>
1213
1214         * support/export/client.c (client_check): Check IP address
1215         againet netgroup.
1216
1217 2001-05-06  Neil Brown <neilb@cse.unsw.edu.au>
1218
1219         * support/export/client.c (client_gettype): Treat `*' as
1220         MCL_ANONYMOUS.
1221
1222 2001-04-22  H.J. Lu <hjl@lucon.org>
1223
1224         * nfs-utils.spec.in: Fix a typo.
1225         * nfs-utils.spec: Regenerated.
1226
1227 2001-04-21  H.J. Lu <hjl@lucon.org>
1228
1229         * nfs-utils.spec.in: Fix cross build.
1230         * nfs-utils.spec: Regenerated.
1231         (Release): Set to 5.
1232
1233 2001-04-18  H.J. Lu <hjl@lucon.org>
1234
1235         * nfs-utils.spec.in: Support cross build.
1236         * nfs-utils.spec: Regenerated.
1237         (Release): Set to 4.
1238
1239         * config.sub: New.
1240         * config.guess: New.
1241
1242         * config.mk.in (BUILD_CC): New.
1243         (CC): Set to $(BUILD_CC) if BUILD is defined.
1244         (AR): Set to @AR@.
1245         (LD): Set to @LD@.
1246         (RANLIB): Set to @RANLIB@.
1247
1248         * configure.in: Check BUILD_CC, RANLIB, AR and LD.
1249         * configure: Regenerated.
1250
1251         * tools/rpcgen/Makefile (BUILD): Set to true.
1252
1253 2001-04-01  Chip Salzenberg  <chip@valinux.com>
1254
1255         * tools/rpcgen/rpc_svcout.c (write_timeout_func): Remove
1256         redundant, and sometimes broken, declaration of svc_fdset;
1257         it may be a macro.
1258         * support/nfs/rpcmisc.c (closedown): Likewise.
1259         
1260 2001-03-21  H.J. Lu <hjl@lucon.org>
1261
1262         * nfs-utils.spec: Regenerated.
1263         (Release): Set to 3.
1264
1265 2001-03-21  Ion Badulescu  <ionut@cs.columbia.edu>
1266
1267         * utils/statd/statd.c (main): make sure file descriptors 0-2
1268         are open to /dev/null.
1269
1270 2001-03-21  H.J. Lu <hjl@lucon.org>
1271
1272         * support/nfs/rpcmisc.c: Restore the change made on 2001-03-10.
1273         * support/nfs/rpcmisc.c: Likewise.
1274         * utils/rquotad/rquota_svc.c: Likewise.
1275         * utils/rquotad/rquotad.man: Likewise.
1276         * utils/statd/Makefile: Likewise.
1277         * utils/statd/rmtcall.c: Likewise.
1278         * utils/statd/simulate.c: Likewise.
1279         * utils/statd/statd.c: Likewise.
1280         * utils/statd/statd.man: Likewise.
1281
1282 2001-03-11  H.J. Lu <hjl@lucon.org>
1283
1284         * configure.in (RELEASE): New. Default to 1, set by
1285         --with-release=XXX. Substitute nfs-utils.spec.
1286         * nfs-utils.spec.in (Release): Set to @RELEASE@.
1287         * configure: Regenerated.
1288         * nfs-utils.spec: Likewise.
1289
1290 2001-03-11  H.J. Lu <hjl@lucon.org>
1291
1292         * utils/rquotad/rquotad.man: Fix a typo.
1293
1294 2001-03-11  H.J. Lu <hjl@lucon.org>
1295
1296         * support/include/rpcmisc.h: Undo the change made on 2001-03-10.
1297         * support/nfs/rpcmisc.c: Likewise.
1298         * utils/rquotad/rquota_svc.c: Likewise.
1299         * utils/rquotad/rquotad.man: Likewise.
1300         * utils/statd/Makefile: Likewise.
1301         * utils/statd/rmtcall.c: Likewise.
1302         * utils/statd/simulate.c: Likewise.
1303         * utils/statd/statd.c: Likewise.
1304         * utils/statd/statd.man: Likewise.
1305
1306 2001-03-10  H.J. Lu <hjl@lucon.org>
1307
1308         * configure.in (VERSION): Set to "0.3.2".
1309         * configure: Regenerated.
1310         * nfs-utils.spec: Likewise.
1311
1312         * README: Updated for 0.3.2.
1313
1314 2001-03-10  Tavis Barr <tavis@boole.isetr.columbia.edu>
1315
1316         * utils/rquotad/rquotad.man: Updated for -p.
1317         * utils/statd/statd.man: Likewise.
1318
1319 2001-03-10  Ion Badulescu  <ionut@cs.columbia.edu>
1320
1321         * support/nfs/rpcmisc.c: export makesock()
1322
1323         * support/include/rpcmisc.h (makesock): Declared.
1324
1325         * utils/rquotad/rquota_svc.c: added longopts, added support for
1326         specifying the port to bind to on the command line.
1327
1328         * utils/statd/statd.c: ditto, also specify port used for
1329         outgoing connections.
1330         (do_regist): Removed.
1331
1332         * utils/statd/rmtcall.c (statd_get_socket): Renamed from
1333         get_socket. Make it extern.
1334
1335         * utils/statd/simulate.c (daemon_simulator): Call rpc_init
1336         instead of do_regist.
1337
1338         * utils/statd/Makefile (LIBS): link with our own libnfs
1339
1340 2001-03-09  H.J. Lu <hjl@lucon.org>
1341
1342         * etc/redhat/nfslock.init: Changed chkconfig line to 60 86.
1343         * etc/nodist/nfs-client: Likewise.
1344
1345 2001-02-26  Chip Salzenberg  <chip@valinux.com>
1346
1347         * debian/changelog: Version 0.3.1-1.
1348         * Mention upstream source and license in copyright file.
1349         * Add build-Depends for debhelper and libwrap0-dev.
1350
1351 2001-02-20  Lon Hohberger <hohberger@missioncriticallinux.com>
1352
1353         * etc/nodist/nfs-server: Changed chkconfig line to 60 20
1354         * etc/nodist/nfs-client: Likewise.
1355
1356 2001-02-18  Lon Hohberger <hohberger@missioncriticallinux.com>
1357
1358         * utils/statd/statd.man: Changed /usr/sbin/rpc.statd to
1359         /sbin/rpc.statd.
1360
1361 2001-02-17  Patrick J. LoPresti <patl@curl.com>
1362
1363         * utils/statd/log.c (log_init): Use LOG_DAEMON instead of
1364         LOG_LOCAL5.
1365
1366 2001-02-14  H.J. Lu <hjl@lucon.org>
1367
1368         * utils/statd/rmtcall.c: Include <time.h>.
1369         * utils/statd/svc_run.c: Likewise.
1370
1371 2001-02-14  H.J. Lu <hjl@lucon.org>
1372
1373         * configure.in (VERSION): Set to "0.3.1".
1374         * configure: Regenerated.
1375         * nfs-utils.spec: Likewise.
1376
1377         * README: Updated for 0.3.1.
1378
1379 2001-02-14  H.J. Lu <hjl@lucon.org>
1380
1381         * support/nfs/rpcmisc.c: Include <time.h>.
1382
1383 2001-02-14  Chip Salzenberg  <chip@valinux.com>
1384
1385         * debian/control: Change priority of nhfsstone package to 'extra'.
1386
1387 2001-02-12  Chip Salzenberg  <chip@valinux.com>
1388
1389         * debian/changelog: Version 0.3-2.
1390
1391 2001-02-02  H.J. Lu <hjl@lucon.org>
1392
1393         * support/include/rpcmisc.h (rpc_init): Remove bufsize.
1394         
1395         * support/nfs/rpcmisc.c (makesock): Remove socksz and comment
1396         out SO_SNDBUF/SO_RCVBUF.
1397         (rpc_init): Remove bufsize and remove socksz in calls to
1398         makesock ().
1399
1400         * utils/mountd/mountd.c (main): Remove bufsize in calls to
1401         rpc_init ().
1402
1403 2001-01-28  Chip Salzenberg  <chip@valinux.com>
1404
1405         * debian/changelog: Version 0.3-1.
1406
1407 2001-01-25  H.J. Lu <hjl@lucon.org>
1408
1409         * configure.in (VERSION): Set to "0.3".
1410         * configure: Regenerated.
1411         * nfs-utils.spec: Likewise.
1412
1413         * README: Updated for 0.3.
1414
1415 2001-01-25  H.J. Lu <hjl@lucon.org>
1416
1417         * utils/lockd/lockd.c (main): Ignore errno == EINVAL.
1418
1419 2001-01-20  Chip Salzenberg  <chip@valinux.com>
1420
1421         * support/include/xio.h (xgetc): Declare to return int.
1422         * support/nfs/xio.c (xgetc): Return int.
1423         (xgettok, xskip, xskipcomment): Use int for value of xgetc.
1424         * utils/statd/statd.c (main): Use int for value of getopt.
1425         * debian/changelog: Version 0.2.1-5.
1426         
1427 2000-12-10  Chip Salzenberg  <chip@valinux.com>
1428
1429         * utils/statd/monitor.c (sm_mon_1_svc): Fix buggy check for
1430         program and procedure numbers of kernel lockd's callback.  Also,
1431         besides the old (and broken) procedure #24, allow #16 per Trond.
1432
1433 2000-12-03  Chip Salzenberg  <chip@valinux.com>
1434
1435         * support/nfs/xio.c (xfopen): Initialize x_line to one, not zero.
1436         * debian/control: Let nhfsstone replace files in nfs-kernel-server.
1437         * debian/changelog: Version 0.2.1-4.
1438
1439 2000-11-27  Tobias Ringstrom <tori@tellus.mine.nu>
1440
1441         * utils/mountd/auth.c (auth_authenticate): Log the bad path
1442         warning.
1443
1444 2000-11-24  Neil Brown <neilb@cse.unsw.edu.au>
1445
1446         * support/nfs/exports.c (getexportent): Check for host name
1447         without option, or options without hostname, and print a warning,
1448         as this is most likely a typo.
1449
1450 2000-11-19  Chip Salzenberg  <chip@valinux.com>
1451
1452         * debian/control: Add dependency on portmap.
1453         * debian/changelog: Version 0.2.1-3.
1454
1455 2000-11-10  H.J. Lu <hjl@lucon.org>
1456
1457         * nfs-utils.spec.in: Don't use libtool.
1458         Add ChangeLog and COPYING to doc.
1459         * nfs-utils.spec: Rebuild.
1460
1461 2000-11-09  H.J. Lu <hjl@lucon.org>
1462
1463         * etc/redhat/nfs.init (start): Back out the last change.
1464
1465 2000-11-09  H.J. Lu <hjl@lucon.org>
1466
1467         * etc/redhat/nfs.init (start): Pass --no-tcp to mountd if
1468         TCP is not supported by kernel.
1469
1470         * support/nfs/rpcmisc.c (rpc_init): Don't set _rpcfdtype to 0.
1471
1472         * utils/mountd/mountd.c (longopts): Add "-n/--no-tcp".
1473         (main): Set to _rpcfdtype to SOCK_DGRAM for "-n/--no-tcp".
1474
1475         * utils/mountd/mountd.man: Updated for "-n/--no-tcp".
1476
1477 2000-10-24  Lon Hohberger <hohberger@missioncriticallinux.com>
1478
1479         * utils/statd/callback.c: Fix bug preventing callbacks to local lockd.
1480         * utils/statd/rmtcall.c: Add some IP address paranoia when doing
1481         callbacks to local lockd.
1482
1483 2000-10-18  Scott McDermott <mcdermot@questra.com>
1484
1485         * utils/exportfs/exports.man: Updated for CIDR netmask.
1486
1487 2000-10-17  Scott McDermott <mcdermot@questra.com>
1488
1489         * support/export/client.c (client_init): Support CIDR netmask
1490         in /etc/exports.
1491
1492 2000-10-11  H.J. Lu <hjl@lucon.org>
1493
1494         * aclocal.m4 (AC_TCP_WRAPPER): Fix a typo.
1495         * configure: Rebuilt.
1496
1497 2000-10-06  Lon Hohberger <hohberger@missioncriticallinux.com>
1498
1499         * utils/statd/statd.man: Change "/var/lib/nfs/sm/state" to
1500         "/var/lib/nfs/state".
1501
1502 2000-10-05  Lon Hohberger <hohberger@missioncriticallinux.com>
1503
1504         * utils/statd/statd.h (run_mode): New global bitmask of runtime
1505         behaviors: fg/bg, logging, etc.
1506         * utils/statd/statd.c: New command line options: -V -h -? -d .
1507         * utils/statd/statd.man: Update for changes to statd.
1508
1509         * utils/statd/log.h (log_init): Remove parameter of function; use
1510         global variable "name_p" instead.
1511         * utils/statd/log.c: Add support for logging to stderr.
1512
1513         * utils/statd/notlist.c: Partially rewrite notify list handling
1514         functions.  Eliminate run-off-end-of-list bug when calling
1515         nlist_insert_timer.  Add lots of comments.
1516         
1517 2000-09-27  H.J. Lu <hjl@lucon.org>
1518
1519         * README: Updated for RedHat 7.0.
1520
1521 2000-09-27  H.J. Lu <hjl@lucon.org>
1522
1523         * nfs-utils.spec: Rebuild.
1524
1525 2000-09-27  H.J. Lu <hjl@lucon.org>
1526
1527         * README: Updated for 0.2.1.
1528
1529 2000-09-27  H.J. Lu <hjl@lucon.org>
1530
1531         * nfs-utils.spec.in: Updated to use rpm macros and support
1532         RedHat 7.0.
1533
1534 2000-09-25  H.J. Lu <hjl@lucon.org>
1535
1536         * configure.in (VERSION): Set to "0.2.1".
1537         * configure: Regenerated.
1538         * nfs-utils.spec: Updated.
1539
1540 2000-09-25  H.J. Lu <hjl@lucon.org>
1541
1542         * utils/mountd/auth.c (auth_authenticate_internal): Make sure a
1543         non-NULL hostent is always returned.
1544
1545 2000-09-11  Ion Badulescu  <ionut@cs.columbia.edu>
1546
1547         * etc/redhat/nfslock.init: don't kill lockd processes that do not
1548         have an executable (i.e. kernel threads)
1549
1550 2000-09-01  H.J. Lu <hjl@lucon.org>
1551
1552         * README: Updated for 0.2.
1553
1554 2000-09-01  Jay Weber <jweber@valinux.com>
1555
1556         * etc/redhat/nfs.init: Added ability for rpc.mountd to default to
1557         supporting version 3 of nfs if available, else it will fall back to
1558         version 2 support only.
1559
1560 2000-08-30  H.J. Lu <hjl@lucon.org>
1561
1562         * configure.in (VERSION): Set to "0.2".
1563         * configure: Regenerated.
1564         * nfs-utils.spec: Updated.
1565
1566 2000-08-25  H.J. Lu <hjl@lucon.org>
1567
1568         * support/misc/tcpwrapper.c (logit): Modify the log output.
1569
1570 2000-08-25  Ion Badulescu  <ionut@cs.columbia.edu>
1571
1572         * utils/rquotad/rquotad.man, utils/statd/statd.man,
1573         utils/mountd/mountd.man: updated
1574         
1575         * utils/mountd/Makefile (LIBS): added -lmisc $(LIBWRAP) $(LIBNSL)
1576         * utils/rquotad/Makefile: fix comment
1577
1578         * support/misc/tcpwrapper.c (logit): added comment about waiting
1579         for the children after fork()
1580         
1581         * utils/mountd/mountd.c (main): ignore SIGCHLD to prevent leaving
1582         zombies behind (from logit()'s fork)
1583         * utils/rquotad/rquota_svc.c (main): ditto
1584         * utils/statd/statd.c (main): ditto
1585
1586         * utils/rquotad/rquota_svc.c (rquotaprog_1): pass RQUOTAPROG
1587         to check_default instead of 0, for prognum
1588
1589         * utils/statd/statd.c (sm_prog_1_wrapper): pass SM_PROG
1590         to check_default instead of 0, for prognum
1591
1592         * utils/mountd/mount_dispatch.c: Include "tcpwrapper.h" if
1593         HAVE_TCP_WRAPPER is defined.
1594         (mount_dispatch): Call check_default () if HAVE_TCP_WRAPPER is
1595         defined. Reject an RPC call if check_default () fails.
1596
1597 2000-08-25  H.J. Lu <hjl@lucon.org>
1598
1599         * support/include/tcpwrapper.h: New for the tcp wrapper
1600         support.
1601         * support/misc/Makefile: Likewise.
1602         * support/misc/from_local.c: Likewise.
1603         * support/misc/tcpwrapper.c: Likewise.
1604
1605         * aclocal.m4 (AC_TCP_WRAPPER): New.
1606         * configure.in: Use it. Substitute LIBWRAP.
1607         * configure: Rebuilt.
1608
1609         * config.mk.in (LIBNSL): New.
1610         (LIBWRAP): Likewise.
1611
1612         * support/Makefile (SUBDIRS): Add misc.
1613
1614         * support/lib/Makefile (LIBS): Add libmisc.a.
1615
1616         * utils/rquotad/Makefile (LIBS): Add
1617         
1618                 -lmisc $(LIBWRAP) $(LIBNSL)
1619
1620         * utils/statd/Makefile (LIBS): Likewise.
1621
1622         * utils/rquotad/rquota_svc.c: Include "tcpwrapper.h" if
1623         HAVE_TCP_WRAPPER is defined.
1624         (rquotaprog_1): Call check_default () if HAVE_TCP_WRAPPER is
1625         defined. Reject an RPC call if check_default () fails.
1626
1627         * utils/statd/statd.c: Include "tcpwrapper.h" if
1628         HAVE_TCP_WRAPPER is defined.
1629         (sm_prog_1_wrapper): New. A wrapper for sm_prog_1. Call
1630         check_default () before calling sm_prog_1 (). Define it as
1631         sm_prog_1_wrapper if HAVE_TCP_WRAPPER is defined.
1632
1633 2000-08-25  Chip Salzenberg  <chip@valinux.com>
1634
1635         * debian/*: Complete Debian build support.
1636         * etc/debian/*: Remove.
1637
1638 2000-08-24  Neil Brown <neilb@cse.unsw.edu.au>
1639
1640         * support/export/client.c(client_check): removed the "dot+1" as a
1641           ypdomain argument to innetgr as this is entirely bogus.
1642           It should always be NULL.
1643         
1644 2000-08-23  Neil Brown <neilb@cse.unsw.edu.au>
1645
1646         * support/export/xtab.c(xtab_read): introduce new mode for
1647            reading xtab. i.e. a list of exports that might be known to the
1648            kernel, or might not.  These are flagged as m_exported == -1
1649         * support/export/xtab.c(xtab_mount_read):  call xtab_read with new
1650            value "2" for xtab, meaning don't trust this too much.
1651         * support/include/exportfs.h(struct mexport): changed m_exported
1652            from one bit to an int so that it can hold new value
1653         * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the
1654            kernel if it is uncertain whether the kernel knows (m_exported == -1)
1655         * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if
1656            status is uncertain
1657
1658         * support/nfs/xio.c(xflock): added O_CREAT when getting
1659            a write lock so that missing files aren't fatal.
1660
1661         * etc/debian/nfs-common: new file from "potato"
1662         * etc/debian/nfs-kernel-server: new file from "potato" plus fixes.
1663          
1664 2000-08-09  H.J. Lu <hjl@lucon.org>
1665
1666         * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during
1667         startup to ensure all existing clients work fine.
1668
1669         * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0
1670         to xtab_read () for reading _PATH_XTAB.
1671
1672 2000-08-02  H.J. Lu <hjl@lucon.org>
1673
1674         * utils/mountd/auth.c (auth_authenticate_internal): Try to
1675         avoid the reverse name lookup.
1676
1677 2000-07-04  H.J. Lu <hjl@lucon.org>
1678
1679         * utils/statd/log.c: Include <stdlib.h> for exit ().
1680
1681         * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the
1682         gcc warning.
1683
1684 2000-07-04  H.J. Lu <hjl@lucon.org>
1685
1686         * configure.in (VERSION): Set to "0.1.9.1".
1687         * configure: Regenerated.
1688         * nfs-utils.spec: Updated.
1689
1690         * README: Updated.
1691
1692 2000-07-04  Neil Brown  <neilb@cse.unsw.edu.au>
1693
1694         * support/export/hostname.c (hostent_dup): Handle the NULL
1695         h_aliases field.
1696
1697 2000-07-03  H.J. Lu <hjl@lucon.org>
1698
1699         * README: Update the util-linux requirement.
1700
1701 2000-07-03  H.J. Lu <hjl@lucon.org>
1702
1703         * configure.in (VERSION): Set to "0.1.9".
1704         * configure: Regenerated.
1705         * nfs-utils.spec: Updated.
1706
1707         * README: Updated.
1708
1709 2000-07-03  H.J. Lu <hjl@lucon.org>
1710
1711         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
1712         stop to ensure all clients can still access the server
1713         before it is shutdown.
1714
1715 2000-06-30  Jeff Uphoff <juphoff@transmeta.com>
1716
1717         * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog()
1718         calls with format string.
1719         
1720 2000-06-28  Chip Salzenberg  <chip@valinux.com>
1721
1722         * utils/statd/log.c (log): Call syslog with format string.
1723
1724 2000-06-27  H.J. Lu <hjl@lucon.org>
1725
1726         * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
1727         instead of OPEN_MAX.
1728
1729 2000-06-27  H.J. Lu <hjl@lucon.org>
1730
1731         * README: Updated.
1732
1733 2000-06-27  H.J. Lu <hjl@lucon.org>
1734
1735         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
1736         startup to ensure all existing clients are exported.
1737
1738         * configure.in (VERSION): Set to "0.1.8.2".
1739         * configure: Regenerated.
1740         * nfs-utils.spec: Updated.
1741
1742 2000-06-06  H.J. Lu <hjl@lucon.org>
1743
1744         * configure.in (VERSION): Set to "0.1.8.1".
1745         * configure: Regenerated.
1746         * nfs-utils.spec: Updated.
1747
1748 2000-06-06  H.J. Lu <hjl@lucon.org>
1749
1750         * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
1751         to "struct sockaddr_in *" for glibc 2.2.
1752         (mount_umnt_1_svc): Likewise.
1753         (mount_umntall_1_svc): Likewise.
1754         (mount_export_1_svc): Likewise.
1755         (mount_exportall_1_svc): Likewise.
1756         (mount_pathconf_2_svc): Likewise.
1757         (get_rootfh): Likewise.
1758
1759 2000-06-04  H.J. Lu <hjl@lucon.org>
1760
1761         * etc/redhat/nfs.init: Fix a typo in comment.
1762
1763 2000-05-31  H.J. Lu <hjl@lucon.org>
1764
1765         * configure.in (VERSION): Set to "0.1.8".
1766         * configure: Regenerated.
1767         * nfs-utils.spec: Updated.
1768
1769         * README: Updated.
1770
1771 2000-05-31  H.J. Lu <hjl@lucon.org>
1772
1773         * configure.in (VERSION): Set to "0.1.7.5".
1774         * configure: Regenerated.
1775         * nfs-utils.spec: Updated.
1776
1777         * support/include/nfslib.h (exportent): Add a new field,
1778         r_count, to count the number of mounts from a client.
1779         (getrmtabent): Take a new argument for position in file.
1780         (putrmtabent): Likewise.
1781         (fgetrmtabent): Likewise.
1782         (fputrmtabent): Likewise.
1783         * support/nfs/rmtab.c (getrmtabent): Handle the new argument
1784         for position in file.
1785         (fgetrmtabent): Likewise.
1786         (putrmtabent): Likewise.
1787         (fputrmtabent): Likewise.
1788
1789         * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
1790         field, r_count.
1791
1792         * support/export/rmtab.c (rmtab_read): Pass NULL as the new
1793         argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
1794         and fputrmtabent ().
1795         * utils/mountd/rmtab.c (mountlist_add): Likewise.
1796         (mountlist_del): Likewise.
1797         (mountlist_del_all): Likewise.
1798         (mountlist_list): Likewise.
1799
1800         * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
1801         for the existing entry and initialize "r_count" to 1.
1802         (mountlist_del): Decrement "r_count".
1803
1804 2000-05-18  H.J. Lu <hjl@lucon.org>
1805
1806         * configure.in (VERSION): Set to "0.1.7.4".
1807         * configure: Regenerated.
1808         * nfs-utils.spec: Updated.
1809
1810 2000-05-18  H.J. Lu <hjl@lucon.org>
1811
1812         * etc/redhat/nfs.init (restart): Just do stop and start.
1813
1814 2000-05-09  Jay Weber <jweber@valinux.com>
1815
1816         * utils/rquotad/hasquota.c: added support for ext3 recognition
1817         in rquotad.
1818         * utils/rquotad/mntent.h: Likewise.
1819
1820 2000-05-01  H.J. Lu <hjl@lucon.org>
1821
1822         * configure.in (VERSION): Set to "0.1.7.3".
1823         * configure: Regenerated.
1824         * nfs-utils.spec: Updated.
1825
1826 2000-05-01  H.J. Lu <hjl@lucon.org>
1827
1828         * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
1829         mounting poins in /etc/fstab.
1830
1831 2000-05-01  H.J. Lu <hjl@lucon.org>
1832
1833         * configure.in (VERSION): Set to "0.1.7.2".
1834         * configure: Regenerated.
1835         * nfs-utils.spec: Updated.
1836
1837 2000-05-01  H.J. Lu <hjl@lucon.org>
1838
1839         * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
1840         to check for the mounting point.
1841
1842 2000-04-29  Chip Salzenberg  <chip@valinux.com>
1843             Neil Brown  <neilb@cse.unsw.edu.au>
1844
1845         * Really re-use RPC ports.
1846           (Fixes earlier patch.  Sorry, Neil.)
1847
1848 2000-04-26  H.J. Lu <hjl@lucon.org>
1849
1850         * configure.in (VERSION): Set to "0.1.7.1".
1851         * configure: Regenerated.
1852         * nfs-utils.spec: Updated.
1853
1854 2000-04-26  H.J. Lu <hjl@lucon.org>
1855
1856         * etc/redhat/nfslock.init: Check if lockd exits before killing
1857         it.
1858
1859 2000-04-25  H.J. Lu <hjl@lucon.org>
1860
1861         * README: Require util-linux-2.10f-mount-rpc.patch for mount.
1862
1863 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
1864
1865         * support/nfs/exports.c (parsesquash): Correctly set the
1866         return pointer.
1867
1868 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
1869
1870         * support/include/nfs/nfs.h: Removed knowledge of internals of
1871              kernel filehandles (which can change) and defined nfs_fh_size
1872              which has variable size
1873         
1874         * support/nfs/getfh.c: defined getfh_size to use new syscall to
1875              get variable sized file handles, and change getfh{,old} to
1876              use nfs_fh_size        
1877         
1878         * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
1879              NFSv3 file handles
1880
1881         * tools/Makefile, tools/nlmtest/nlmtest.c
1882              nlmtest.c depended on internel format of file handles, so now
1883              doesn't work.
1884
1885         
1886 2000-03-12  Chip Salzenberg  <chip@valinux.com>
1887             Neil Brown  <neilb@cse.unsw.edu.au>
1888
1889         * support/nfs/rpcmisc.c (rpc_init): Share transports.
1890
1891 2000-03-13 H.J. Lu <hjl@lucon.org>
1892
1893         * etc/redhat/nfsd.init: Updated.
1894
1895         * etc/redhat/nfslock.init: Updated.
1896
1897         * nfs-utils.spec.in: Updated.
1898
1899         * configure.in (VERSION): Set to "0.1.7".
1900         * configure: Regenerated.
1901         * nfs-utils.spec: Updated.
1902
1903         * README: Updated.
1904
1905 Wed Mar  8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
1906
1907         * utils/exportfs/exportfs.c (dump): Included printing of
1908            nohide, no_subtree_check, and insecure_locks
1909
1910 2000-02-26  Chip Salzenberg  <chip@valinux.com>
1911
1912         * config.mk.in (INSTALLSUID): Strip ("-s").
1913         (INSTALLSCRIPT): Define.
1914         * utils/nhfsstone/Makefile: Use it.
1915
1916 2000-02-26  Chip Salzenberg  <chip@valinux.com>
1917
1918         * utils/lockd/lockd.man: Create.
1919         * utils/lockd/Makefile: Install it.
1920         * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
1921         * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
1922         * utils/nhfsstone/Makefile: Install the helper scripts and
1923           all four man pages.
1924         * utils/exportfs/exports.man: Fix typo.
1925
1926 2000-02-26  Chip Salzenberg  <chip@valinux.com>
1927
1928         * support/nfs/xio.c (xungetc): Decrement line number when
1929         character to unget is newline.  Make first parameter int, so
1930         it can distinguish EOF from \377.
1931         * support/include/xio.h (xungetc): Adjust prototype.
1932
1933 Fri Feb  4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
1934
1935         * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
1936         * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
1937         * utils/exportfs/exports.man: added documentation for no_auth_nlm.
1938
1939         This is for supporting a new option introduced in 2.3.42
1940
1941 Thu Feb  3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
1942
1943         * COPYING: Added. GPL.
1944
1945 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
1946
1947         * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
1948         to get the block size.
1949
1950 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
1951
1952         * nfs-utils.spec.in: Update ftp site.
1953
1954 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
1955
1956         * README: Update hostnames.
1957
1958 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
1959
1960         * configure.in (VERSION): Set to "0.1.6".
1961         * configure: Regenerated.
1962         * nfs-utils.spec: Updated.
1963
1964         * README: Updated.
1965
1966 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
1967
1968         * utils/mountd/auth.c (auth_authenticate_internal): Call
1969         xstrdup for hostname before passing it to gethostbyname.
1970
1971         * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
1972         of strdup.
1973
1974 Sun Dec 19 09:35:01 1999  H.J. Lu <hjl@lucon.org>
1975
1976         * README: Update the mailing list address.
1977
1978 Sun Dec 19 09:22:28 1999  H.J. Lu <hjl@lucon.org>
1979
1980         * configure.in (VERSION): Set to "0.1.5".
1981         * configure: Regenerated.
1982         * nfs-utils.spec: Updated.
1983
1984         * README: Updated.
1985
1986 Mon Dec 13 13:40:20 1999  H.J. Lu <hjl@lucon.org>
1987
1988         * utils/rquotad/hasquota.c (hasquota): Malloc one more char
1989         for '/'.
1990
1991 Mon Dec  6 09:42:45 1999  H.J. Lu <hjl@lucon.org>
1992
1993         * configure.in (VERSION): Set to "0.1.4".
1994         * configure: Regenerated.
1995         * nfs-utils.spec: Updated.
1996
1997         * README: Updated.
1998
1999 Mon Dec  6 09:28:07 1999  H.J. Lu <hjl@lucon.org>
2000
2001         * nfs-utils.spec.in: New file.
2002
2003         * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
2004
2005         * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
2006
2007 1999-12-04  Chip Salzenberg  <chip@valinux.com>
2008
2009         * config.mk.in: Use $(CC) as set by configure.
2010
2011 1999-12-04  Chip Salzenberg  <chip@valinux.com>
2012
2013         * rules.mk: Call $(MAKE) with $(MFLAGS).
2014
2015 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
2016
2017         * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
2018         IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
2019
2020 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
2021
2022         * nfs-utils.spec (Version): Set to 0.1.3.
2023
2024         * configure.in (VERSION): Set to "nfs-utils 0.1.3".
2025         * configure: Regenerated.
2026
2027         * README: Updated.
2028
2029 Mon Nov 29 11:15:47 1999  H.J. Lu <hjl@lucon.org>
2030
2031         * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
2032         (_PATH_DEV_DSK): Likewise.
2033         (getquotainfo): Match the mounting point from /etc/mtab
2034         instead of calling nfsmount_to_devname ().
2035
2036 1999-11-24  Chip Salzenberg  <chip@valinux.com>
2037
2038         * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
2039         to the new port 24 as well as the historical port 100021.
2040
2041 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
2042
2043         * etc/redhat/nfsd.init (stop): moved exportfs -ua after
2044         stopping nfsd to stop spurious ESTALE on server shutdown.
2045         
2046 Tue Nov 23 10:13:39 1999  Neil Brown <neilb@cse.unsw.edu.au>
2047
2048         * support/nfs/exports.c (parseopts): make copy of opt string
2049         before 'nul'ing out commas so that
2050
2051         # exportfs -o option1,option2 hosta:/fs hostb:/fs
2052
2053         applies both options to both exports.
2054
2055 Thu Oct 28 12:55:42 1999  H.J. Lu <hjl@lucon.org>
2056
2057         * README: Fix a few typos.
2058
2059         * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
2060         of long.
2061         * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
2062         * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
2063         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
2064         (unsigned_dec): Likewise.
2065         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
2066         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
2067
2068         * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
2069         instead of LONG.
2070         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
2071         (unsigned_dec): Likewise.
2072         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
2073         * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
2074         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
2075
2076 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
2077
2078         * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
2079         * support/nfs/exports.c: added {no_,}subtree_check and changed
2080           crossmnt to nohide
2081         * utils/exportfs/exports.man: added no_subtree_check and nohide
2082           and removed irrelevant stuff from unfsd.
2083         * support/export/rmtab.c: rmtab_read didn't quite do the right
2084           thing if a pathname from rmtab was a subdirectory of an export-point
2085
2086 Tue Oct 26 17:22:40 1999  H.J. Lu <hjl@lucon.org>
2087
2088         * README: Updated ftp site.
2089
2090 Mon Oct 25 18:12:45 1999  H.J. Lu <hjl@lucon.org>
2091
2092         * nfs-utils.spec (Version): Set to 0.1.2.
2093
2094         * configure.in (VERSION): Set to "nfs-utils 0.1.2".
2095         * configure: Regenerated.
2096
2097         * README: Updated.
2098
2099 Mon Oct 25 18:11:21 1999  H.J. Lu <hjl@lucon.org>
2100
2101         * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
2102         (auth_authenticate_internal): Check for NULL return on forward
2103         DNS lookup.
2104         (auth_authenticate): Handle "no_forward_dns".
2105
2106 Thu Oct 21 16:22:06 1999  H.J. Lu <hjl@lucon.org>
2107
2108         * Version 0.1.1 released.
2109
2110         * nfs-utils.spec (Version): Set to 0.1.1.
2111
2112         * configure.in (VERSION): Set to "nfs-utils 0.1.1".
2113         * configure: Regenerated.
2114
2115         * README: Updated.
2116
2117 Mon Oct 18 17:43:29 1999  H.J. Lu <hjl@lucon.org>
2118
2119         * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
2120         to knfsd-clients.
2121         (Provides): Likewise.
2122
2123 Mon Oct 18 14:56:22 1999  H.J. Lu <hjl@lucon.org>
2124
2125         * Initial version 0.1 released.
2126
2127         * configure.in (VERSION): Set to "nfs-utils 0.1".
2128         * configure: Regenerated.
2129
2130 Mon Oct 18 14:54:57 1999  H.J. Lu <hjl@lucon.org>
2131
2132         * utils/mountd/mountd.c (get_exportlist): Cleanup.
2133
2134         * utils/exportfs/exportfs.c (unexport_all): Unexport from
2135         kernel only if the entry is exported to kernel.
2136         (unexportfs): Likewise.
2137
2138 Wed Sep 08 16:49:32 1999  Neil Brown <neilb@cse.unsw.edu.au>
2139
2140 1/ utils/mountd/rmtab.c::mountlist_list
2141
2142      This routine stats the rmtab file to see if it has changed.  It
2143      if has, it cleans up it's old copy of the data. But it still
2144      always re-read the file, thus returning multiple copies of the
2145      data on consecutive calls without intervening changes.
2146      "Showmount -a" didn't show this as it appears to sort/unique the
2147      data, but 'strace showmount -a' showed that the size of the
2148      datagram that it received grew.
2149
2150      I moved the getrmtabent loop inside the mtime test.
2151
2152 2/ utils/exportfs/exportfs.c
2153    
2154      Many routines used the m_path field of m_export instead of
2155      e_path.
2156      According to the comment in nfslib.h, m_path should only
2157      be used when processing a mount request (i.e. in mountd)
2158      where the mountpoint may be a subdirectory of the export point.
2159
2160      I changed all occurances of m_path to e_path
2161
2162
2163 3/ utils/exportfs/exportfs.c:main
2164
2165       extra arguments are not meaningful with -a or -r, but
2166       exportfs accepted them and then ignored the -a/-r, expect that
2167       -r would still unexport everything first.
2168
2169       I generate an error if there are extra args and f_all
2170
2171 4/ utils/exportfs/exportfs.c:main
2172      extract dump out as a special case.
2173
2174 5/ utils/exportfs/exportfs.c
2175      made f_reexport a local variable.
2176
2177
2178 6/ utils/exportfs/exportfs.c:main,exportall
2179
2180     support/export/rmtab.c
2181        only  mayexport on newly created entries, don't set xtabent at all
2182
2183 7/ support/include/nfslib.h
2184
2185       add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
2186
2187 8/ support/export/xtab.c
2188
2189       xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
2190       else from xtab
2191
2192
2193 9/ support/export/xtab.c
2194
2195       xtab_mount_read now sets m_exported, and NOT
2196         xtabent and mayexport
2197
2198       removed the append arguement from xtab_write as it was
2199         never used.
2200
2201       added is_export flag to xtab_write similar to xtab_read
2202         if is_export, only write entries with m_xtabent or m_addxtab
2203         if !is_export, only write entries with m_exported
2204      
2205 10/ support/export/export.c::export_allowed_internal
2206
2207       added test for exp->m_mayexport, as the export tree
2208         may have entries that are no longer allowed to be exported,
2209         and so shouldn't caused deduced exported by rmtab_read
2210
2211 11/ utils/exportfs/exportfs.c::main
2212         error checking of flags.
2213
2214 12/ utils/exportfs/exportfs.c
2215
2216         total rewrite of export and unexport logic.
2217         We now:
2218         -  build an exportslist of valid exports, based on
2219            current etab file  and arguments,
2220         -  read rmtab to instantiate relevant wild card entries
2221         -  read etab to find out what is currently exported
2222         -  synchronise intention with reality
2223         -  write out etab and xtab
2224
2225 13/  various
2226         discard the m_addxtab flag
2227         add m_changed flag so we know what to report in exportfs
2228
2229 14/ utils/mountd/auth.c:auth_authenticate
2230
2231         the value returned by gethostbyaddr was trusted.
2232
2233         It now follows this with a call to gethostbyname
2234         and checks that the address is in the list.
2235
2236 15/ support/export/nfsctl.c::cltsetup,expsetup
2237
2238         force client names to lowercase as kernel is
2239         sensitive to case
2240
2241 16/ quietened a few compiler warnings
2242
2243 17/ support/export/client:client_lookup
2244
2245      look for pre-existing client with same name before creating
2246         a new one.
2247
2248 18/ support/include/exportfs.h
2249
2250      The ordering of the MCL_* enum was:
2251         ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
2252
2253      I moved ANONYMOUS to the end.
2254
2255      The ordering is significant when an export entry is being searched for to 
2256         match a given address.  There are two problems with ANONYMOUS being first.
2257
2258         1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
2259            then the ro case will always be found first and the privileged hosts won't get
2260            their privilege
2261         2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
2262            export entry for the specific host, and writes it to xtab.
2263            When another request comes from the same host, the ANONYMOUS entry is found again, 
2264            before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
2265            again.  If causes bloat in xtab.
2266
2267       Putting ANONYMOUS at the end reflects it's nature as a catch-all
2268
2269 19/ utils/exportfs/exportfs.man
2270         many updates to the man page to reflect changes to the code
2271
2272 -----------------------
2273
2274
2275
2276 TODO:
2277
2278 - allow exportfs to modify rmtab file
2279 - make sure kernel never gets two clients with same IP address
2280     - possible kernel should reject
2281     - needs to be some way to lookup client in kernel by IP address
2282 - maybe get kernel to do case-insensitive comparisons on client names
2283 - remove unused clients from kernel
2284
2285 - change etab to xtab and xtab to xtab.active
2286
2287 - timestamp and/or statd-stamp in rmtab for removing old entries.
2288
2289 Mon Oct 18 11:48:07 1999  H.J. Lu <hjl@lucon.org>
2290
2291         * linux-nfs: New directory.
2292         * linux-nfs/ChangeLog: Moved from ..
2293         * linux-nfs/INSTALL: Likewise.
2294         * linux-nfs/KNOWNBUGS: Likewise.
2295         * linux-nfs/NEW: Likewise.
2296         * linux-nfs/README: Likewise.
2297         * linux-nfs/THANKS: Likewise.
2298         * linux-nfs/TODO: Likewise.
2299
2300         * Starting from knfsd 1.4.7.