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