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