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