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