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