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