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