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