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