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