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