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