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