]> git.decadent.org.uk Git - nfs-utils.git/blob - ChangeLog
2000-08-25 H.J. Lu <hjl@lucon.org>
[nfs-utils.git] / ChangeLog
1 2000-08-25  H.J. Lu <hjl@lucon.org>
2
3         * support/include/tcpwrapper.h: New for the tcp wrapper
4         support.
5         * support/misc/Makefile: Likewise.
6         * support/misc/from_local.c: Likewise.
7         * support/misc/tcpwrapper.c: Likewise.
8
9         * aclocal.m4 (AC_TCP_WRAPPER): New.
10         * configure.in: Use it. Substitute LIBWRAP.
11         * configure: Rebuilt.
12
13         * config.mk.in (LIBNSL): New.
14         (LIBWRAP): Likewise.
15
16         * support/Makefile (SUBDIRS): Add misc.
17
18         * support/lib/Makefile (LIBS): Add libmisc.a.
19
20         * utils/rquotad/Makefile (LIBS): Add
21         
22                 -lmisc $(LIBWRAP) $(LIBNSL)
23
24         * utils/statd/Makefile (LIBS): Likewise.
25
26         * utils/rquotad/rquota_svc.c: Include "tcpwrapper.h" if
27         HAVE_TCP_WRAPPER is defined.
28         (rquotaprog_1): Call check_default () if HAVE_TCP_WRAPPER is
29         defined. Reject an RPC call if check_default () fails.
30
31         * utils/statd/statd.c: Include "tcpwrapper.h" if
32         HAVE_TCP_WRAPPER is defined.
33         (sm_prog_1_wrapper): New. A wrapper for sm_prog_1. Call
34         check_default () before calling sm_prog_1 (). Define it as
35         sm_prog_1_wrapper if HAVE_TCP_WRAPPER is defined.
36
37 2000-08-25  Chip Salzenberg  <chip@valinux.com>
38
39         * debian/*: Complete Debian build support.
40         * etc/debian/*: Remove.
41
42 2000-08-24  Neil Brown <neilb@cse.unsw.edu.au>
43
44         * support/export/client.c(client_check): removed the "dot+1" as a
45           ypdomain argument to innetgr as this is entirely bogus.
46           It should always be NULL.
47         
48 2000-08-23  Neil Brown <neilb@cse.unsw.edu.au>
49
50         * support/export/xtab.c(xtab_read): introduce new mode for
51            reading xtab. i.e. a list of exports that might be known to the
52            kernel, or might not.  These are flagged as m_exported == -1
53         * support/export/xtab.c(xtab_mount_read):  call xtab_read with new
54            value "2" for xtab, meaning don't trust this too much.
55         * support/include/exportfs.h(struct mexport): changed m_exported
56            from one bit to an int so that it can hold new value
57         * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the
58            kernel if it is uncertain whether the kernel knows (m_exported == -1)
59         * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if
60            status is uncertain
61
62         * support/nfs/xio.c(xflock): added O_CREAT when getting
63            a write lock so that missing files aren't fatal.
64
65         * etc/debian/nfs-common: new file from "potato"
66         * etc/debian/nfs-kernel-server: new file from "potato" plus fixes.
67          
68 2000-08-09  H.J. Lu <hjl@lucon.org>
69
70         * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during
71         startup to ensure all existing clients work fine.
72
73         * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0
74         to xtab_read () for reading _PATH_XTAB.
75
76 2000-08-02  H.J. Lu <hjl@lucon.org>
77
78         * utils/mountd/auth.c (auth_authenticate_internal): Try to
79         avoid the reverse name lookup.
80
81 2000-07-04  H.J. Lu <hjl@lucon.org>
82
83         * utils/statd/log.c: Include <stdlib.h> for exit ().
84
85         * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the
86         gcc warning.
87
88 2000-07-04  H.J. Lu <hjl@lucon.org>
89
90         * configure.in (VERSION): Set to "0.1.9.1".
91         * configure: Regenerated.
92         * nfs-utils.spec: Updated.
93
94         * README: Updated.
95
96 2000-07-04  Neil Brown  <neilb@cse.unsw.edu.au>
97
98         * support/export/hostname.c (hostent_dup): Handle the NULL
99         h_aliases field.
100
101 2000-07-03  H.J. Lu <hjl@lucon.org>
102
103         * README: Update the util-linux requirement.
104
105 2000-07-03  H.J. Lu <hjl@lucon.org>
106
107         * configure.in (VERSION): Set to "0.1.9".
108         * configure: Regenerated.
109         * nfs-utils.spec: Updated.
110
111         * README: Updated.
112
113 2000-07-03  H.J. Lu <hjl@lucon.org>
114
115         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
116         stop to ensure all clients can still access the server
117         before it is shutdown.
118
119 2000-06-30  Jeff Uphoff <juphoff@transmeta.com>
120
121         * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog()
122         calls with format string.
123         
124 2000-06-28  Chip Salzenberg  <chip@valinux.com>
125
126         * utils/statd/log.c (log): Call syslog with format string.
127
128 2000-06-27  H.J. Lu <hjl@lucon.org>
129
130         * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
131         instead of OPEN_MAX.
132
133 2000-06-27  H.J. Lu <hjl@lucon.org>
134
135         * README: Updated.
136
137 2000-06-27  H.J. Lu <hjl@lucon.org>
138
139         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
140         startup to ensure all existing clients are exported.
141
142         * configure.in (VERSION): Set to "0.1.8.2".
143         * configure: Regenerated.
144         * nfs-utils.spec: Updated.
145
146 2000-06-06  H.J. Lu <hjl@lucon.org>
147
148         * configure.in (VERSION): Set to "0.1.8.1".
149         * configure: Regenerated.
150         * nfs-utils.spec: Updated.
151
152 2000-06-06  H.J. Lu <hjl@lucon.org>
153
154         * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
155         to "struct sockaddr_in *" for glibc 2.2.
156         (mount_umnt_1_svc): Likewise.
157         (mount_umntall_1_svc): Likewise.
158         (mount_export_1_svc): Likewise.
159         (mount_exportall_1_svc): Likewise.
160         (mount_pathconf_2_svc): Likewise.
161         (get_rootfh): Likewise.
162
163 2000-06-04  H.J. Lu <hjl@lucon.org>
164
165         * etc/redhat/nfs.init: Fix a typo in comment.
166
167 2000-05-31  H.J. Lu <hjl@lucon.org>
168
169         * configure.in (VERSION): Set to "0.1.8".
170         * configure: Regenerated.
171         * nfs-utils.spec: Updated.
172
173         * README: Updated.
174
175 2000-05-31  H.J. Lu <hjl@lucon.org>
176
177         * configure.in (VERSION): Set to "0.1.7.5".
178         * configure: Regenerated.
179         * nfs-utils.spec: Updated.
180
181         * support/include/nfslib.h (exportent): Add a new field,
182         r_count, to count the number of mounts from a client.
183         (getrmtabent): Take a new argument for position in file.
184         (putrmtabent): Likewise.
185         (fgetrmtabent): Likewise.
186         (fputrmtabent): Likewise.
187         * support/nfs/rmtab.c (getrmtabent): Handle the new argument
188         for position in file.
189         (fgetrmtabent): Likewise.
190         (putrmtabent): Likewise.
191         (fputrmtabent): Likewise.
192
193         * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
194         field, r_count.
195
196         * support/export/rmtab.c (rmtab_read): Pass NULL as the new
197         argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
198         and fputrmtabent ().
199         * utils/mountd/rmtab.c (mountlist_add): Likewise.
200         (mountlist_del): Likewise.
201         (mountlist_del_all): Likewise.
202         (mountlist_list): Likewise.
203
204         * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
205         for the existing entry and initialize "r_count" to 1.
206         (mountlist_del): Decrement "r_count".
207
208 2000-05-18  H.J. Lu <hjl@lucon.org>
209
210         * configure.in (VERSION): Set to "0.1.7.4".
211         * configure: Regenerated.
212         * nfs-utils.spec: Updated.
213
214 2000-05-18  H.J. Lu <hjl@lucon.org>
215
216         * etc/redhat/nfs.init (restart): Just do stop and start.
217
218 2000-05-09  Jay Weber <jweber@valinux.com>
219
220         * utils/rquotad/hasquota.c: added support for ext3 recognition
221         in rquotad.
222         * utils/rquotad/mntent.h: Likewise.
223
224 2000-05-01  H.J. Lu <hjl@lucon.org>
225
226         * configure.in (VERSION): Set to "0.1.7.3".
227         * configure: Regenerated.
228         * nfs-utils.spec: Updated.
229
230 2000-05-01  H.J. Lu <hjl@lucon.org>
231
232         * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
233         mounting poins in /etc/fstab.
234
235 2000-05-01  H.J. Lu <hjl@lucon.org>
236
237         * configure.in (VERSION): Set to "0.1.7.2".
238         * configure: Regenerated.
239         * nfs-utils.spec: Updated.
240
241 2000-05-01  H.J. Lu <hjl@lucon.org>
242
243         * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
244         to check for the mounting point.
245
246 2000-04-29  Chip Salzenberg  <chip@valinux.com>
247             Neil Brown  <neilb@cse.unsw.edu.au>
248
249         * Really re-use RPC ports.
250           (Fixes earlier patch.  Sorry, Neil.)
251
252 2000-04-26  H.J. Lu <hjl@lucon.org>
253
254         * configure.in (VERSION): Set to "0.1.7.1".
255         * configure: Regenerated.
256         * nfs-utils.spec: Updated.
257
258 2000-04-26  H.J. Lu <hjl@lucon.org>
259
260         * etc/redhat/nfslock.init: Check if lockd exits before killing
261         it.
262
263 2000-04-25  H.J. Lu <hjl@lucon.org>
264
265         * README: Require util-linux-2.10f-mount-rpc.patch for mount.
266
267 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
268
269         * support/nfs/exports.c (parsesquash): Correctly set the
270         return pointer.
271
272 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
273
274         * support/include/nfs/nfs.h: Removed knowledge of internals of
275              kernel filehandles (which can change) and defined nfs_fh_size
276              which has variable size
277         
278         * support/nfs/getfh.c: defined getfh_size to use new syscall to
279              get variable sized file handles, and change getfh{,old} to
280              use nfs_fh_size        
281         
282         * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
283              NFSv3 file handles
284
285         * tools/Makefile, tools/nlmtest/nlmtest.c
286              nlmtest.c depended on internel format of file handles, so now
287              doesn't work.
288
289         
290 2000-03-12  Chip Salzenberg  <chip@valinux.com>
291             Neil Brown  <neilb@cse.unsw.edu.au>
292
293         * support/nfs/rpcmisc.c (rpc_init): Share transports.
294
295 2000-03-13 H.J. Lu <hjl@lucon.org>
296
297         * etc/redhat/nfsd.init: Updated.
298
299         * etc/redhat/nfslock.init: Updated.
300
301         * nfs-utils.spec.in: Updated.
302
303         * configure.in (VERSION): Set to "0.1.7".
304         * configure: Regenerated.
305         * nfs-utils.spec: Updated.
306
307         * README: Updated.
308
309 Wed Mar  8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
310
311         * utils/exportfs/exportfs.c (dump): Included printing of
312            nohide, no_subtree_check, and insecure_locks
313
314 2000-02-26  Chip Salzenberg  <chip@valinux.com>
315
316         * config.mk.in (INSTALLSUID): Strip ("-s").
317         (INSTALLSCRIPT): Define.
318         * utils/nhfsstone/Makefile: Use it.
319
320 2000-02-26  Chip Salzenberg  <chip@valinux.com>
321
322         * utils/lockd/lockd.man: Create.
323         * utils/lockd/Makefile: Install it.
324         * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
325         * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
326         * utils/nhfsstone/Makefile: Install the helper scripts and
327           all four man pages.
328         * utils/exportfs/exports.man: Fix typo.
329
330 2000-02-26  Chip Salzenberg  <chip@valinux.com>
331
332         * support/nfs/xio.c (xungetc): Decrement line number when
333         character to unget is newline.  Make first parameter int, so
334         it can distinguish EOF from \377.
335         * support/include/xio.h (xungetc): Adjust prototype.
336
337 Fri Feb  4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
338
339         * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
340         * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
341         * utils/exportfs/exports.man: added documentation for no_auth_nlm.
342
343         This is for supporting a new option introduced in 2.3.42
344
345 Thu Feb  3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
346
347         * COPYING: Added. GPL.
348
349 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
350
351         * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
352         to get the block size.
353
354 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
355
356         * nfs-utils.spec.in: Update ftp site.
357
358 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
359
360         * README: Update hostnames.
361
362 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
363
364         * configure.in (VERSION): Set to "0.1.6".
365         * configure: Regenerated.
366         * nfs-utils.spec: Updated.
367
368         * README: Updated.
369
370 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
371
372         * utils/mountd/auth.c (auth_authenticate_internal): Call
373         xstrdup for hostname before passing it to gethostbyname.
374
375         * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
376         of strdup.
377
378 Sun Dec 19 09:35:01 1999  H.J. Lu <hjl@lucon.org>
379
380         * README: Update the mailing list address.
381
382 Sun Dec 19 09:22:28 1999  H.J. Lu <hjl@lucon.org>
383
384         * configure.in (VERSION): Set to "0.1.5".
385         * configure: Regenerated.
386         * nfs-utils.spec: Updated.
387
388         * README: Updated.
389
390 Mon Dec 13 13:40:20 1999  H.J. Lu <hjl@lucon.org>
391
392         * utils/rquotad/hasquota.c (hasquota): Malloc one more char
393         for '/'.
394
395 Mon Dec  6 09:42:45 1999  H.J. Lu <hjl@lucon.org>
396
397         * configure.in (VERSION): Set to "0.1.4".
398         * configure: Regenerated.
399         * nfs-utils.spec: Updated.
400
401         * README: Updated.
402
403 Mon Dec  6 09:28:07 1999  H.J. Lu <hjl@lucon.org>
404
405         * nfs-utils.spec.in: New file.
406
407         * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
408
409         * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
410
411 1999-12-04  Chip Salzenberg  <chip@valinux.com>
412
413         * config.mk.in: Use $(CC) as set by configure.
414
415 1999-12-04  Chip Salzenberg  <chip@valinux.com>
416
417         * rules.mk: Call $(MAKE) with $(MFLAGS).
418
419 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
420
421         * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
422         IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
423
424 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
425
426         * nfs-utils.spec (Version): Set to 0.1.3.
427
428         * configure.in (VERSION): Set to "nfs-utils 0.1.3".
429         * configure: Regenerated.
430
431         * README: Updated.
432
433 Mon Nov 29 11:15:47 1999  H.J. Lu <hjl@lucon.org>
434
435         * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
436         (_PATH_DEV_DSK): Likewise.
437         (getquotainfo): Match the mounting point from /etc/mtab
438         instead of calling nfsmount_to_devname ().
439
440 1999-11-24  Chip Salzenberg  <chip@valinux.com>
441
442         * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
443         to the new port 24 as well as the historical port 100021.
444
445 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
446
447         * etc/redhat/nfsd.init (stop): moved exportfs -ua after
448         stopping nfsd to stop spurious ESTALE on server shutdown.
449         
450 Tue Nov 23 10:13:39 1999  Neil Brown <neilb@cse.unsw.edu.au>
451
452         * support/nfs/exports.c (parseopts): make copy of opt string
453         before 'nul'ing out commas so that
454
455         # exportfs -o option1,option2 hosta:/fs hostb:/fs
456
457         applies both options to both exports.
458
459 Thu Oct 28 12:55:42 1999  H.J. Lu <hjl@lucon.org>
460
461         * README: Fix a few typos.
462
463         * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
464         of long.
465         * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
466         * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
467         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
468         (unsigned_dec): Likewise.
469         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
470         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
471
472         * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
473         instead of LONG.
474         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
475         (unsigned_dec): Likewise.
476         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
477         * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
478         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
479
480 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
481
482         * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
483         * support/nfs/exports.c: added {no_,}subtree_check and changed
484           crossmnt to nohide
485         * utils/exportfs/exports.man: added no_subtree_check and nohide
486           and removed irrelevant stuff from unfsd.
487         * support/export/rmtab.c: rmtab_read didn't quite do the right
488           thing if a pathname from rmtab was a subdirectory of an export-point
489
490 Tue Oct 26 17:22:40 1999  H.J. Lu <hjl@lucon.org>
491
492         * README: Updated ftp site.
493
494 Mon Oct 25 18:12:45 1999  H.J. Lu <hjl@lucon.org>
495
496         * nfs-utils.spec (Version): Set to 0.1.2.
497
498         * configure.in (VERSION): Set to "nfs-utils 0.1.2".
499         * configure: Regenerated.
500
501         * README: Updated.
502
503 Mon Oct 25 18:11:21 1999  H.J. Lu <hjl@lucon.org>
504
505         * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
506         (auth_authenticate_internal): Check for NULL return on forward
507         DNS lookup.
508         (auth_authenticate): Handle "no_forward_dns".
509
510 Thu Oct 21 16:22:06 1999  H.J. Lu <hjl@lucon.org>
511
512         * Version 0.1.1 released.
513
514         * nfs-utils.spec (Version): Set to 0.1.1.
515
516         * configure.in (VERSION): Set to "nfs-utils 0.1.1".
517         * configure: Regenerated.
518
519         * README: Updated.
520
521 Mon Oct 18 17:43:29 1999  H.J. Lu <hjl@lucon.org>
522
523         * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
524         to knfsd-clients.
525         (Provides): Likewise.
526
527 Mon Oct 18 14:56:22 1999  H.J. Lu <hjl@lucon.org>
528
529         * Initial version 0.1 released.
530
531         * configure.in (VERSION): Set to "nfs-utils 0.1".
532         * configure: Regenerated.
533
534 Mon Oct 18 14:54:57 1999  H.J. Lu <hjl@lucon.org>
535
536         * utils/mountd/mountd.c (get_exportlist): Cleanup.
537
538         * utils/exportfs/exportfs.c (unexport_all): Unexport from
539         kernel only if the entry is exported to kernel.
540         (unexportfs): Likewise.
541
542 Wed Sep 08 16:49:32 1999  Neil Brown <neilb@cse.unsw.edu.au>
543
544 1/ utils/mountd/rmtab.c::mountlist_list
545
546      This routine stats the rmtab file to see if it has changed.  It
547      if has, it cleans up it's old copy of the data. But it still
548      always re-read the file, thus returning multiple copies of the
549      data on consecutive calls without intervening changes.
550      "Showmount -a" didn't show this as it appears to sort/unique the
551      data, but 'strace showmount -a' showed that the size of the
552      datagram that it received grew.
553
554      I moved the getrmtabent loop inside the mtime test.
555
556 2/ utils/exportfs/exportfs.c
557    
558      Many routines used the m_path field of m_export instead of
559      e_path.
560      According to the comment in nfslib.h, m_path should only
561      be used when processing a mount request (i.e. in mountd)
562      where the mountpoint may be a subdirectory of the export point.
563
564      I changed all occurances of m_path to e_path
565
566
567 3/ utils/exportfs/exportfs.c:main
568
569       extra arguments are not meaningful with -a or -r, but
570       exportfs accepted them and then ignored the -a/-r, expect that
571       -r would still unexport everything first.
572
573       I generate an error if there are extra args and f_all
574
575 4/ utils/exportfs/exportfs.c:main
576      extract dump out as a special case.
577
578 5/ utils/exportfs/exportfs.c
579      made f_reexport a local variable.
580
581
582 6/ utils/exportfs/exportfs.c:main,exportall
583
584     support/export/rmtab.c
585        only  mayexport on newly created entries, don't set xtabent at all
586
587 7/ support/include/nfslib.h
588
589       add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
590
591 8/ support/export/xtab.c
592
593       xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
594       else from xtab
595
596
597 9/ support/export/xtab.c
598
599       xtab_mount_read now sets m_exported, and NOT
600         xtabent and mayexport
601
602       removed the append arguement from xtab_write as it was
603         never used.
604
605       added is_export flag to xtab_write similar to xtab_read
606         if is_export, only write entries with m_xtabent or m_addxtab
607         if !is_export, only write entries with m_exported
608      
609 10/ support/export/export.c::export_allowed_internal
610
611       added test for exp->m_mayexport, as the export tree
612         may have entries that are no longer allowed to be exported,
613         and so shouldn't caused deduced exported by rmtab_read
614
615 11/ utils/exportfs/exportfs.c::main
616         error checking of flags.
617
618 12/ utils/exportfs/exportfs.c
619
620         total rewrite of export and unexport logic.
621         We now:
622         -  build an exportslist of valid exports, based on
623            current etab file  and arguments,
624         -  read rmtab to instantiate relevant wild card entries
625         -  read etab to find out what is currently exported
626         -  synchronise intention with reality
627         -  write out etab and xtab
628
629 13/  various
630         discard the m_addxtab flag
631         add m_changed flag so we know what to report in exportfs
632
633 14/ utils/mountd/auth.c:auth_authenticate
634
635         the value returned by gethostbyaddr was trusted.
636
637         It now follows this with a call to gethostbyname
638         and checks that the address is in the list.
639
640 15/ support/export/nfsctl.c::cltsetup,expsetup
641
642         force client names to lowercase as kernel is
643         sensitive to case
644
645 16/ quietened a few compiler warnings
646
647 17/ support/export/client:client_lookup
648
649      look for pre-existing client with same name before creating
650         a new one.
651
652 18/ support/include/exportfs.h
653
654      The ordering of the MCL_* enum was:
655         ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
656
657      I moved ANONYMOUS to the end.
658
659      The ordering is significant when an export entry is being searched for to 
660         match a given address.  There are two problems with ANONYMOUS being first.
661
662         1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
663            then the ro case will always be found first and the privileged hosts won't get
664            their privilege
665         2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
666            export entry for the specific host, and writes it to xtab.
667            When another request comes from the same host, the ANONYMOUS entry is found again, 
668            before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
669            again.  If causes bloat in xtab.
670
671       Putting ANONYMOUS at the end reflects it's nature as a catch-all
672
673 19/ utils/exportfs/exportfs.man
674         many updates to the man page to reflect changes to the code
675
676 -----------------------
677
678
679
680 TODO:
681
682 - allow exportfs to modify rmtab file
683 - make sure kernel never gets two clients with same IP address
684     - possible kernel should reject
685     - needs to be some way to lookup client in kernel by IP address
686 - maybe get kernel to do case-insensitive comparisons on client names
687 - remove unused clients from kernel
688
689 - change etab to xtab and xtab to xtab.active
690
691 - timestamp and/or statd-stamp in rmtab for removing old entries.
692
693 Mon Oct 18 11:48:07 1999  H.J. Lu <hjl@lucon.org>
694
695         * linux-nfs: New directory.
696         * linux-nfs/ChangeLog: Moved from ..
697         * linux-nfs/INSTALL: Likewise.
698         * linux-nfs/KNOWNBUGS: Likewise.
699         * linux-nfs/NEW: Likewise.
700         * linux-nfs/README: Likewise.
701         * linux-nfs/THANKS: Likewise.
702         * linux-nfs/TODO: Likewise.
703
704         * Starting from knfsd 1.4.7.