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