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