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