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