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