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