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