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