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