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