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