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