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