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