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