]> git.decadent.org.uk Git - nfs-utils.git/blob - ChangeLog
Correct documentation of defautl export options
[nfs-utils.git] / ChangeLog
1 2005-12-20 NeilBrown <neilb@suse.de>
2         support/nfs/exports.c(getexportent): is a null host name is given,
3         replace it with '*' so we have a non-empty host name for messages
4         etc.
5         utils/exportfs/exportfs.man: Correct documentation about default
6         export options.
7
8 2005-12-20 Kevin Coffman <kwc@citi.umich.edu>
9         utils/gssd/gssd_proc.c(create_auth_rpc_client): Use service
10           portion of clp->servicename rather than hard-coding "nfs". 
11
12 2005-12-16 NeilBrown <neilb@suse.de>
13         1.0.8-rc1 released
14
15 2005-12-16 Kevin Coffman <kwc@citi.umich.edu>
16         svcgssd needs -lnfs when using new function closeall().
17         
18         ---
19         Remove unused argument from nfsdopen()
20         
21         After previous changes, the arguement to nfsdopen() has become unused.
22         Remove it.
23         
24         ---
25         Fix idmapd error reporting after call to mydaemon()
26         
27         After call to mydaemon(), calls to err[x] and warn[x] result
28         in the message going nowhere.  Change to using idmapd_*
29         versions of these routines which write to syslog.
30         Original problem reported by Vincent Roqueta <vincent.roqueta@ext.bull.net>
31         with a different patch.
32         
33         ---
34         Don't add @domain to names that cannot be mapped.
35         
36         Per rfc3530 section 5.8: when unable to map a uid to a name, don't
37         add the @domain to the "nobody" name.
38         
39         ---
40         Fix idmapd for systems where sizeof(uid_t)!=4 and sizeof(gid_t)!=4
41         
42         Fix conversion cases where uid_t and gid_t are not 32 bits.
43         
44         ---
45         Don't segfault because mech wasn't filled in because of an error
46         
47         From Kevin Coffman <kwc@citi.umich.edu>
48         
49         Initialize mech to null to avoid segfault if an error occurs
50         and mech is never returned from gss_accept_sec_context.
51         
52         ---
53         Remove use of static buffer in do_downcall
54         
55         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
56         
57         Dynamically allocate buffer of the correct length rather
58         than using fixed-length buffer.
59         
60         ---
61         Print better error message if rpc routine clnt_create() fails.
62         
63         ---
64         Print appropriate error messages after gss calls.
65         
66         Print gss error messages after calls to gss functions, even if they
67         are for Kerberos only.
68         
69         ---
70         Update gssd and svcgssd to use the new gss mech glue lucid context calls.
71         
72         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
73         
74         Update gssd and svcgssd to use a lucid context from SPKM3 to send down
75         to the kernel.
76         Update gssd and svcgssd to use the new gss mech glue lucid context calls.
77         Add configure check to see if spkm3 support is available.
78         
79         ---
80         Add support for CONTINUE_NEEDED return from gss_accept_sec_context.
81         
82         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
83         
84         Add CONTINUE_INIT handling to svcgssd. Store the partially complete spkm
85         context handle in the out_handle of CONTINUE_INIT messages so that it is
86         returned in the in_handle of subsequent messages.
87         
88         ---
89         Replace GSS_C_ANON_FLAG with GSS_C_MUTUAL_FLAG.
90         
91         Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
92         
93         Specify GSS_C_MUTUAL_FLAG rather than GSS_C_ANON_FLAG for
94         spkm3.
95         
96         NOTE: we need a way to pass the appropriate value rather than
97         hard-coding this flag.
98         
99         ---
100         Increase size of rpc send/receive buffers
101         
102         Change the clnt_create() to use routines which allow us to set the
103         send and receive buffer size.  This is needed for larger spkm3
104         exchanges including certificate chains.
105         
106         This has the side-effect of skipping the portmap call since
107         we specify the port (by specifying the service) when getting
108         the server's address information.
109         
110         ---
111         Define _LINUX_QUOTA_VERSION to 1
112         
113         The rquotad code is written against the "old" kernel quota interface.
114         Fedora Core 4 is the only platform known to check for different
115         versions, so this should not have any affect on other platforms
116         and fixes the build for FC4.
117         
118         ---
119
120 2005-12-12 Usha Ketineni <ketineni@us.ibm.com>, NeilBrown <neilb@suse.de>
121         *support/nfs/rpcmisc.c(rpc_init): is stdin is a socket, but
122         is already connected (as e.g. from ssh), don't assume we
123         were started by inetd.
124
125 2005-11-03 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
126         *utils/idmapd/idmaps.c:
127         
128         I've recently updated the nfs-utils in rawhide with the
129         latest patches from the SourceForge CVS tree and the
130         latest CITI patches (1.0.7-4).
131         
132         In testing these patches, I notice that when the server was started
133         and a SIGHUP was sent to rpc.idmapd to open the nfs4.nametoid/channel
134         and nfs4.idtoname/channel files, the second open (the nfs4.idtoname one)
135         failed because the path (i.e. ic->ic_path) was NULL.
136         
137         Now the reason the ic_path was NULL was because it was never set
138         during the call to nfsdopen(). nfsdopen() looks like:
139         nfsdopen(char *path)
140         {
141              return ((nfsdopenone(&nfsd_ic[IC_NAMEID], IC_NAMEID, path) == 0 &&
142              nfsdopenone(&nfsd_ic[IC_IDNAME], IC_IDNAME, path) == 0) ? 0 
143                : -1);
144         }
145
146         Note: the call to nfsdopenone() is how the path is set in each nfsd_ic[]
147         entry and nfsdopen() is only called once.
148         
149         So when rpc.idmap comes up and the first call to nfsdopenone() fails
150         (because the server is not running) the path in nfsd_ic[IC_IDNAME] is
151         never filled in because the second nfsdopenone() never happen...
152         
153         Now there was a CITI patche (idmapd_revert_fix_reopen_on_sighup.dif)
154         that tried to address this problem but did seem to fix it.. The
155         attached patch fix the problem by initializing both nfsd_ic[IC_IDNAME]
156         and nfsd_ic[IC_NAMEID] structures with the needed info...
157         I figured since there is no way of changing these paths or filenames
158         by command line args, why not just set them during compile time...
159         so that's what this patch does.
160         
161         This patch also changes how nfsdreopen_one() handles the
162         case where the event has already been set. Unlike the CITI
163         patch (idmapd_revert_fix_reopen_on_sighup.dif) which just
164         just does not register the second event, my patch deletes
165         the old event and the registers the new one. It just seems like
166         the right thing to do since a SIGHUP means a new server just
167         started so we probably should create a new event as well...
168         
169         steved.
170         
171 2005-10-14 NeilBrown <neilb@suse.de>
172         *utils/mountd/cache.c(nfsd_fh): Understand type 2 and type 3
173         filesystem identifiers, which are used with device numbers
174         That don't fit into 16 bits.
175
176 2005-10-07 Olaf Kirch <okir@suse.de>
177         * utils/mountd/mountd.c(get_exportlist): Without this patch,
178         showmount -e would sometimes display host names that should really
179         have been subsumed under a wildcard entry.
180
181         The problem was that the code in get_exportlist would always
182         skip the next group entry after removing one FQDN.
183
184 2005-10-06 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
185         * support/nfs/export.c: don't warn about sync/async for readonly
186         exports
187         * support/nfs/closeall.c: new file with function to close all 
188         file descriptors from a give minimum upwards.
189         * nfsd/mountd/statd/idmapd/gsssvcd: use closeall.
190         * utils/mountd/mountd.c: Eliminate 3 syslog message that are
191         logged for successful events. 
192         * utils/mountd/mountd.c: make sure the correct hostname is used in
193         the SM_NOTIFY message that is sent from a rebooted server which
194         has multiple network interfaces. (bz 139101)
195
196         Details can be found in:
197         https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139101
198
199         *utils/idmapd/idmapd.c:Fixed subscripting problem in idmapd (bz
200         158188) This fixes the following problem: 
201          rpc.idmapd: nfsdreopen: Opening '' failed: errno 2 (No such file or directory)
202
203          Details can be found in:
204          https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158188
205
206         *utils/statd/statd.c(drop_privs): clear st_gid as well as st_uid
207         of stat fails.
208         *utils/statd/svc_run.c(my_svc_run): remove usage of undocumented
209         %m format specifier.
210         *utils/statd/montor.c(sm_mon_1_svc): as above
211         *support/nfs/xlog.c(xlog): Changed xlog to use LOG_INFO instead of
212         LOG_DEBUG so debug messages will appear w/out any config changes
213         to syslog.conf. 
214
215         
216 2005-09-02 Mike Frysinger <vapier@gentoo.org>
217         * utils/rquotad/rquota_server.c(getquotainfo): use explicit
218         struture-member copying rather than memcpy, as the element
219         sizes are the same on all architectures.
220
221 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
222         Add option to set rpcsec_gss debugging level (if available)
223
224         Changes to allow gssd/svcgssd to build when using Hiemdal Kerberos
225         libraries.  Note that there are still run-time issues preventing
226         this from working when shared libraries for libgssapi and librpcsecgss
227         are used.
228         
229 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
230         Remove the rpcsec_gss code and rely on an external library instead.
231
232 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
233         *utils/mountd/mountd.c:
234         mountd currently always returns AUTH_NULL and AUTH_SYS as the
235         allowable flavors in mount replies.  We want it to also return gss
236         flavors when appropriate. For now as a hack we just have it always
237         return the KRB5 flavors as well. 
238
239         *utils/mountd/cache.c:
240         
241         When attempting to mount an NFSv4 pseudofilesystem (fsid=0) and the
242         actual exported directory does not exist on the server, rpc.mountd
243         doesn't check the directory exists (when fsidtype=1, i.e. using fsid,
244         but does check for fsidtype=0, i.e. using dev/ino).  The non-existent
245         exported directory path with fsid=0 is written to the kernel via
246         /proc/net/rpc/nfsd.export/channel, which leads to path_lookup() to
247         return ENOENT (seems appropriate).  Unfortunately, the new_cache
248         approach ignores errors returned when writing via the channel file so
249         that particular error is lost and the mount request is silently ignored.
250         
251         Assuming it doesn't make sense to revamp the new_cache/up-call method to
252         not ignore returned errors, it seems appropriate to fix the case where
253         rpc.mountd doesn't check for the existence of an exported directory with
254         fsid= semantics.  The following patch does this by moving the stat() up
255         so it is done for both fsidtype's.  I'm not certain whether the other
256         tests need to be executed for fsidtype=1, but it doesn't appear to hurt
257         [Not exactly true: the comparison of inode numbers caused problems so
258         now it's kept for fsidtype=0 only].
259         
260         Would it be also desirable to log a warning for every error, if any,
261         returned by a write to any of the /proc/net/rpc/*/channel files which
262         would otherwise be ignored (maybe under a debug flag)?
263
264         * gssd/mountd/svcgssd: Changes gssd, svcgssd, and mountd to ignore a
265         SIGHUP rather than dying.
266
267         * many: Remove the gssapi code and rely on an external library instead.
268
269 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
270         * utils/exportfs/exports.man: Document the "crossmnt" export export option
271         * utils/gssd/krb5_util.c: 
272         Add better debugging and partially revert the function
273         check for gss_krb5_ccache_name.
274         
275         For MIT Kerberos releases up to and including 1.3.1, we *must*
276         use the routine gss_krb5_ccache_name to get the K5 gssapi code
277         to use a different credentials cache.
278         
279         For releases 1.3.2 and on, we want to use the KRB5CCNAME
280         environment variable to tell it what to use.
281         (A problem was reported where 1.3.5 was being used, our
282         code was using gss_krb5_ccache_name, but the underlying
283         code continued to use the first (or default?) credentials
284         cache.  Switching to using the env variable fixed the problem.
285         I cannot recreate this problem.
286
287         *utils/gssd/krb5_util.c:
288         Andrew Mahone <andrew.mahone@gmail.com> reported that reiser4
289         always has DT_UNKNOWN.  He supplied patch to move the check
290         for regular files after the stat() call to correctly find
291         ccache files in reiser4 filesystem.
292         
293         Also change the name comparison so that the wrong file is
294         not selected when the substring comparison is done.
295
296         *utils/gssd/krb5_util.c:
297         Limit the set of encryption types that can be negotiated by
298         the Kerberos library to those that the kernel code currently
299         supports.
300         
301         This should eventually query the kernel for the list of
302         supported enctypes.
303
304         *utils/gssd/gss_util.c, utils/svcgssd/svcgssd_main_loop.c:
305         Print more information in error messages to help debugging failures.
306
307         *utils/svcgssd/svcgssd_proc.c: Increase token buffer size and
308         update error handling so that a response is always sent.
309
310         *utils/svcgssd/svcgssd_proc.c: Add support to retrieve
311         supplementary groups. 
312         
313         
314 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
315         * configure.in etc
316         Consolidate some of the Kerberos checking instead of repeating
317         the same things for MIT and Heimdal.
318         Also adds more checks to distinguish 32-bit from 64-bit
319         (mainly for gssapi.h)
320         Fix svcgssd Makefile so make TOP=../../ works correctly there.
321         Enable running a modern autoheader.
322         * utils/gssd/gss_oids.c: Use correct OID value for SPKM-3
323         * utils/gssd/gss_util.c: Fix build with older MIT releases that do not define GSS_C_NT_HOSTBASED_SERVICE
324         * utils/gssd/write_bytes.h, support/include/gssapi/gssapi.h:
325         Length of gss_buffer_desc is a size_t which is 64-bits on a
326         64-bit machine.  Kernel code expects 32-bit integer for length.
327         Coerce length value into a 32-bit value when reading from or
328         writing to the kernel.
329         Change gssapi.h to use datatype size values obtained from
330         configure rather than hard-coded values.
331         * utils/idmapd/idmapd.c: The EV_INIT check here was wrong, and was
332         causing idmapd to become unresponsive to server requests after
333         receiving a sighup. 
334         * utils/idmapd/idmapd.c: Idmapd should flush the server id<->name
335         caches when its started. 
336
337 2005-04-12  G. Allen Morris III <gam3@gam3.net>
338
339         * All Makefile: added TOP as needed for easier compile.
340
341         * utils/nfsstat/nfsstat.c: added NFS V4 support; added the -m
342           option; Added -2, -3, and -4 options; changed -a option to -v
343           option; added long options; changed default output to not
344           show V2 NFS statistics unless used.
345
346         * utils/nfsstat/nfsstat.man: Documented above changes; changed
347           authors email address; added BUGS section.
348
349 2005-04-07  Chip Salzenberg  <chip@pobox.com>
350
351         * debian/changelog: Version 1.0.7-2.
352
353 2005-04-06  Chip Salzenberg  <chip@pobox.com>
354
355         * config.guess, config.sub: Update.
356
357         * support/rpc/svc_auth_gss.c (_svcauth_gss): Avoid using a cast as
358         an lvalue, as it is non-portable.
359
360         * support/nfs/exports.c (parseopts): Accept "acl" option to mean
361         ~NFSEXP_NOACL, and "no_acl" to mean NFSEXP_NOACL.
362         (putexportent): Report NFSEXP_NOACL as "no_acl", and ~NFSEXP_NOACL
363         as "acl".
364         * utils/exportfs/exportfs.c (dump): Report NFSEXP_NOACL as
365         "no_acl".
366         * utils/exportfs/exports.man: Document "no_acl".
367
368 2005-03-14  NeilBrown <neilb@cse.unsw.edu.au>
369         Denis Vlasenko <vda@ilport.com.ua>
370         * support/export/client.c(client_init and client_gettype):
371         treat N.N.N.N as a special case of MCL_SUBNETWORK instead of 
372         MCL_FQDN
373
374 2005-03-06  G. Allen Morris III <gam3@gam3.net>
375         * support/nfs/cacheio.c(readline): Could not read lines greater
376         than 128 bytes. [1157791] 
377         * utils/exportfs/exports.man: Added a SEE ALSO section and
378         fixed 2 typos. [1018450]
379
380 2005-02-28  Trond Myklebust <trond.myklebust@fys.uio.no>
381         * utils/statd/rmtcall.c(statd_get_socket): If a port number is
382         explicitly given, make sure to try to bind to that.
383         
384 2005-01-11  Chip Salzenberg  <chip@pobox.com>
385
386         * debian/changelog: Version 1.0.7-1.
387         * debian/nfs-common.default (NEED_IDMAPD, NEED_GSSD):
388         Disable by default, on advice of upstream.
389         * debian/nfs-kernel-server.default (NEED_SVCGSSD):
390         Likewise.
391
392         * utils/svcgssd/Makefile (predep): Symbolically link duplicated
393         source files.
394         (distclean): Remove symlinks to duplicated files.
395
396 2004-12-17 NeilBrown <neilb@cse.unsw.edu.au>
397         Release 1.0.7
398
399         * config.mk, configure.in: update version number, run autoconf
400         * configure.in: require nfsidmap.h if gss is enabled.
401         
402 2004-12-10 NeilBrown <neilb@cse.unsw.edu.au>
403         Release 1.0.7-pre2
404         
405         * config.mk, configure.in: update version number, run autoconf
406         
407 2004-12-10 Neil Brown <neilb@cse.unsw.edu.au>
408         * README : note dependancy on kerberos, libevent, and nfsidmap
409         * configure.in : fail if --enable-nfsv4 and libevent or
410         libnfsidmap are missing.
411         * configuyre.in: improve message if krb5 support is missing
412         
413 2004-12-06 Paul Clements <paul.clements@steeleye.com>   
414         * support/include/ha-callout.h: get return status from waitpid
415         correctly. 
416         * support/include/ha-callout.h: don't ignore SIGCHLD while waiting
417         for a callout to complete.
418         * utils/statd/statd.c(sigusr): print current start when re-reading
419         notify list due to SIGUSR1
420         * utils/statd/svc_run.c(my_svc_run): call change_state when
421         re-notifying clients.
422         
423 2004-12-06 Marc Eshel <eshel@almaden.ibm.com>
424         * utils/statd/svc_run.c(my_svc_run): allow loop to exit when in
425         MODE_NOTIFY_ONLY
426         *utils/statd/rmtcall.c(statd_get_socket): if a hostname is given
427         to statd with -n, prefer it's IP address to the default for
428         listening on.
429         
430 2004-12-06 Bruce Allan <bwa@us.ibm.com>
431         * utils/mountd/auth.c(auth_reload)  Clear the "my_client" cache on
432         an auth_reload to avoid old data getting used.
433         
434 2004-12-03 NeilBrown <neilb@cse.unsw.edu.au>
435         Release 1.0.7-pre1 for testing
436         
437         * config.mk, configure.in: update version number, run autoconf
438         
439 2004-12-03 Trond Myklebust <trond.myklebust@fys.uio.no>
440
441         * utils/statd/statd.c(main): ignore SIGPIPE
442         
443 2004-11-22 "J. Bruce Fields" <bfields@fieldses.org>
444
445         * tools/rpcdebug/rpcdebug.c: support aliases "nfsdebug" and
446         "nfsddebug" and update flag names.
447         * configure.in, nodist/* redhat/* nfs-utils.spec*: remove redhat
448         specific files (as no-one actually uses them, especially not
449         redhat), and the nodist /etc files (as they drift out-of-date, and
450         the debian directory provides a suitable example.
451         * utils/svcgssd_proc.c(get_ids): fix memory leak
452         * utils/svcgssd/svcgssd_proc.c: Rely on count of the number of
453         groups instead of using a special guard value to identify the end
454         of the list. 
455         * utils/idmapd/idmapd.c: don't allow Default domain and anon-uid
456         or -gid to be specified on command line.
457         * utils/idmapd/idmapd.c: improve error messages
458         * utils/idmapd/idmapd.c: Reopen nfsd files on sighup.  Allows us
459         to start up client side only (even when nfsd module not loaded),
460         and then sighup later after insmodding nfsd module. 
461         * utils/idmapd/idmapd.c: Make sure we catch all errors on
462         daemonizing by waiting for child to report succesfull startup
463         using a pipe. 
464         * utils/idmapd/idmapd.c: Let libnfsidmapd parse the idmapd.conf
465         file for the default domain, instead of doing that ourselves.
466         * utils/gssd/gssd_proc.c: Make sure we get an error when a gssd
467         downcall fails. 
468         * utils/gssd/gssd_proc.c: We were forgetting to restore the euid
469         on certain failures, which meant gssd could get stuck in a state
470         where it didn't have permissions to read the files in rpc_pipefs
471         that it needed to. 
472         * utils/gssd/gssd_proc.c: Use libnfsidmapd to map gss principals
473         to uids. 
474         * debian/nfs-kernel-server.default: Document the NEED_SVCGSSD
475         variable in /etc/default/nfs-kernel-server. 
476
477         
478 2004-11-22 NeilBrown <neilb@cse.unsw.edu.au>
479
480         * utils/exportfs/nfsd.man: corrected typo in .BR macro usage -
481         reported by Eric Raymond
482         
483 2004-10-19 "J. Bruce Fields" <bfields@fieldses.org>
484
485         * support/gssapi/* support/rpc/* utils/gssd/* utils/svcgssd/* etc
486         initial support for GSSAPI authentication
487         
488 2004-09-15 Neil Brown <neilb@cse.unsw.edu.au>
489
490         * utils/statd/monitor.c(sm_unmon_1_svc): is RESTRICTED_STATD, then
491         check IP address and force my_name to 127.0.0.1 to match 
492         what happens in sm_mon_1_svc.  This avoid spurious "erroneous
493         SM_UNMON" messages.
494         * utils/statd.monitor.c(sm_unmon_all_1_svc): likewise
495         
496 2004-09-15 "J. Bruce Fields" <bfields@fieldses.org>     
497
498         * Assorted changes to support "gss/*" style authentication
499         * utils/idmapd: new idmapd daemon for nfsv4 username lookup
500         
501 2004-09-06 Trond Myklebust <trond.myklebust@fys.uio.no>
502         Neil Brown <neilb@cse.unsw.edu.au>
503
504         * utils/mountd/auth.c(auth_authenticate_internal): fix
505         uninitialsed variable problem (causes bad error messages).
506
507 2004-09-06 Paul Clements <paul.clements@steeleye.com>
508         Neil Brown <neilb@cse.unsw.edu.au>
509
510         * utils/mountd/mountd.c(main): support --ha-callout (-H) for
511         specifying a callout program
512         * utils/mountd/rmtab.c: Call ha_callout on mount/unmount
513         * utils/statd/monitor.c: Call ha_callout on add/del client
514         * utils/statd/rmtcall.c: as above
515         * utils/statd/statd.c: handle --ha-callout (-H)
516         * utils/statd/svc_run.c: call notify_hosts is we have received a
517         sighup
518         * support/include/ha-callout.h: define ha_callout function
519          
520         
521 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
522         * utils/mountd/cache.c(cache_process_req): clear fd after
523         processing so as not to confused libc/sunrpc into thinking
524         it need to do something with that fd.
525         
526 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
527
528         * debian/nfs-kernel-server.init(start,stop) mount the nfsd
529         filesystem, if available, before starting nfs services, and 
530         unmount it afterwards.
531         * etc/nodist/nfs-server: ditto
532         * etc/redhat/nfs.init: likewise
533         * etc/redhat/nfs: add "MOUNT_NFSD" flag to control above.
534         
535 2004-06-08 NeilBrown <neilb@cse.unsw.edu.au>
536
537         * utils/exportfs/exportfs.c: Don't rmtab_read if new_cache, it
538           isn't necessary.
539         * support/nfs/cacheio.c(cache_flush): Change order in which caches
540           are flushed so that dependancies don't keep things in the cache
541           too long.
542         
543 2004-03-18  Chip Salzenberg  <chip@pobox.com>
544
545         * debian/changelog: Version 1.0.6-2.
546
547 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
548         from "J. Bruce Fields" <bfields@fieldses.org>
549
550         * utils/mountd/cache.c: call auth_reload to make sure auth data is
551         current before responding to kernel upcall.
552         
553 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
554         Based on patch from  Greg Banks <gnb@melbourne.sgi.com>
555
556         * utils/exportfs/exports.man: Document fsid= option.
557         
558 2003-09-15 NeilBrown <neilb@cse.unsw.edu.au>
559
560         Release 1.0.6
561
562         * rules.mk: Add dep: rule when no OBJS, so "make dep" works in
563         support/include, and depend in "predep"
564         * support/export/Makefile, tools/rpcgen/Makefile,
565         utils/statd/Makefile: add "predep" rule so that "make dep" works.
566         * Makefile: allow a simple "make" to run ./configure and "make dep"
567         if needed.
568         * configure.in, nfs-utils.spec: Update version to 1.0.6
569         * run autoconf
570         
571 2003-09-12  Chip Salzenberg  <chip@pobox.com>
572
573         * debian/changelog: Version 1.0.6-1.
574
575 2003-09-12 NeilBrown <neilb@cse.unsw.edu.au>
576
577         * utils/mountd/mountd.c(main): Impose FD_SETSIZE as an upper limit
578         for RLIMIT_NOFILE
579         * utils/statd/statd.c(main): Ditto.
580
581            michael <michael@newdream.net> discovered that svc_setreqsize
582            in glibc can segfault if RLIMIT_NOFILE is bigger than
583            FD_SETSIZE, so a simple solution is to impose a hard limit.
584
585 2003-09-09  Chip Salzenberg  <chip@pobox.com>
586
587         * debian/changelog: Version 1.0.5-3.
588         * support/export/hostname.c (get_reliable_hostbyaddr): Fix crash
589         on invalid reverse DNS.
590         * utils/showmount/showmount.c (main): Fix inet_ntoa() parameter.
591         * tools/rpcgen/rpc_cout.c (print_header): Remove unused vars.
592         * tools/rpcgen/rpc_parse.c (def_union): Likewise.
593
594 2003-08-22  Chip Salzenberg  <chip@pobox.com>
595
596         * utils/statd/{log.h,log.c}: Rename log() to note() and L_* to
597         N_*, to avoid conflict with ISO C built-in log() function.
598         * utils/statd/*.c: Use note().
599
600 2003-08-20  Chip Salzenberg  <chip@pobox.com>
601
602         * debian/changelog: Version 1.0.5-2.
603
604 2003-08-11 NeilBrown <neilb@cse.unsw.edu.au>
605
606         * utils/mountd/cache.c(cache_get_filehandle): close the filehandle
607         before returning.
608         
609 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
610
611         * support/include/nfs/export.h, support/nfs/exports.c,
612         utils/exportfs/exports.c, utils/mountd/mountd.c:  change
613         NFSEXP_CROSSMNT to NFSEXP_CROSSMOUNT to avoid confusion with older
614         meaning. Also remove meaningless
615         NFSEXP_{UIDMAP,KERBEROS,SUNSECURE}
616         
617 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
618
619         * support/export/xtab.c, support/include/nfslib.h,
620         support/nfs/cacheio.c, support/nfs/nfssvc.c,
621         utils/exportfs/exportfs.c, utils/exportfs/exportfs.man,
622         utils/exportfs/nfsd.man, utils/mountd/cache.c: support
623         /proc/fs/nfsd/* as a perferred alternate to /proc/fs/nfs/*
624         (nfs-utils-1.0.5-post2)
625         
626 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
627
628         * support/nfs/nfsexport.c: open channel file O_WRONLY when
629         only writing.
630         * utils/mountd/cache.c: maintain mountlist when new_cache is
631         active. Also use O_WRONLY for channel files.
632         * utils/mountd/mountd.h: mountlist_{del,add} now take a host name
633         rather than an nfs_export.
634         * utils/mountd/rmtab.c: ditto.
635         (nfs-utils-1.5.0-post1)
636         
637 2003-07-24  Chip Salzenberg  <chip@pobox.com>
638
639         * support/nfs/xlog.c (xlog): Revise buffer-overflow fix to
640         use Debian security team's cleaner approach.
641         * debian/changelog: Version 1.0.5-1.
642         * debian/nfs-kernel-server.init: Cosmetic changes.
643
644 2003-07-18 NeilBrown <neilb@cse.unsw.edu.au>
645
646         Release 1.0.5:
647          1.0.4 was a bit of a brown-paper-bag-release because of the extra
648          'free' in auth.c.  So I'm releasing this just a few days later.
649
650         * support/nfs/cacheio.c(cache_flush): Correct test for 'open
651         failed'
652         * utils/exportfs/exportfs.c(main): If "-f" given as lone option,
653         check if new_cache is enabled, error if not, flush and exit if it
654         is. 
655         * utils/exportfs/exportfs.man: Explain -f option and explain the
656         two different modes that exportfs can work in.
657         * utils/mountd/mountd.c: Do not change RLIMIT_NOFILE if the -o
658         option wasn't given.
659         * utils/mountd/mountd.man: Record the change if default behaviour
660         for RLIMIT_NOFILE.
661         * configure.in, nfs-utils.spec: update version to 1.0.5 and
662         run autoconf
663         
664 2003-07-15 NeilBrown <neilb@cse.unsw.edu.au>
665
666         * utils/mountd/mountd.c(main): getopt string fix for 'o'
667         * utils/mountd/auth.c(auth_authenticate): remove extra 'free'
668         * utils/exportfs/exportfs.c(main): make 'exportfs -f' just flush
669         the caches.
670         * support/include/nfs/export.h: Reserve a bit for possible ACL
671         related use.
672         
673 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
674
675         * utils/exportfs/nfsd.man: new man page for nfsd filesystem. Also
676         assorted changed to cope with section 7 of the manual.
677         * configure.in, nfs-utils.spec: Update version to 1.0.4
678         * run autoconf
679
680         This is a 'pre-release' for 1.1.0  Hopefully 1.1.0 will be the
681         baseline for 2.6 and 2.8.  I.e. it should continue to work right
682         through the 2.8 (or 3.0) kernel series.  Previous releases wont.
683
684 2003-07-04 NeilBrown <neilb@cse.unsw.edu.au>    
685         Steve Dickson <SteveD@redhat.com>
686
687         statd cleanup:
688         * utils/statd/statd.c: create a pidfile with pid of statd, and
689         truncate it when statd exists.
690         * utils/statd/statd.c: drop privs by setuid to owner of SM_DIR,
691         and warn if this is root.
692         * utils/statd/statd.c: when statd forks, connect child to parent
693         with a pipe, and send a byte down the pipe once the child is
694         working properly.
695         * Makefile: create and chown sm, sm.bak, state when "make install"
696         * configure.in: add --with-statduser= option which defaults to
697         "rpcuser" or "nobody"
698         * config.mk.in: pass "statduser" through to Makefile
699         
700 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
701
702         * support/include/nfs/nfs.h: Make sure correct __kernel_dev_t is
703         used as the size was changed somewhere in 2.5.60-2.5.70.  Without
704         this nfs-utils compiles against 2.6 headers will not work on a
705         2.4 kernel.     
706         
707 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
708
709         * support/nfs/nfssvc.c(nfssvc): If /proc/fs/nfs/threads exists,
710         set number of threads by writing to there.  This means it will
711         still work when the syscall interface goes away in 2.7.
712
713 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
714         fumihiko kakuma <kakmy@mvh.biglobe.ne.jp>
715
716         * utils/exportfs/exportfs.c(unexportfs): improve host comparison
717         so as to only export the wildcard exports that were asked for.
718         * support/export/export.c(export_allowed): changed to return the
719         nfs_export rather than a "struct exportent", as m_changed is
720         needed by called
721         * support/export/rmtab.c(rmtab_read): modified to deal with
722         interface change for export_allowed(), and enhanced to preserve
723         m_changed flag when a wild-card export causes the creation of
724         a non-wildcard export.
725         
726 2003-07-02 NeilBrown <neilb@cse.unsw.edu.au>
727         Steve Dickson <SteveD@redhat.com>
728
729         * utils/mountd/mountd.man: Add valid kinds of debugging.
730         * utils/mountd/mountd.c(main): ignore SIGPIPE
731         * utils/nfsstat/nfsstat.c: fine-tune printing of warning so
732         we don't get warnings about unavailable stats that weren't asked
733         for.
734         
735 2003-06-24 NeilBrown <neilb@cse.unsw.edu.au>
736
737         * support/nfs/nfsexport.c(exp_unexp): When unexporting filesystems
738         via /rpc/net/rpc/nfsd*/channel, set the expiry date to 1, not
739         'forever', so things disappear out of the cache rather than just
740         be ignored. 
741         
742 2003-06-16  "J. Bruce Fields" <bfields@fieldses.org>
743
744         * utils/mountd/cache.c(nfsd_fh): don't export the export_ent
745         if it wasn't found.
746
747 2003-06-16  NeilBrown   <neilb@cse.unsw.edu.au>
748
749         * debian/nfs-kernel-server.init,etc/nodist/nfs-server,
750         etc/redhat/nfs.init: when checking if V3 is supported, make sure
751         nfs server 'knows' about 127.0.0.1 first.
752         
753 2003-06-10  Chip Salzenberg  <chip@pobox.com>
754
755         * support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug.
756         * debian/changelog: Version 1.0.3-2.
757
758 2003-05-30 Michael Griffith <grif@michaelgriffith.com>
759         NeilBrown <neilb@cse.unsw.edu.au>
760
761         utils/nfsstat/nfsstat.c(print_callstats): use unsigned
762         long long to avoid overflow when printing stats.
763         
764 2003-05-30  NeilBrown <neilb@cse.unsw.edu.au>
765
766         * support/export/export.c, support/include/nfslib.h,
767         support/nfs/export.c, utils/exportfs/exportfs.c,
768         utils/mountd/mountd.c: new export option "mountpoint"
769         If no path is given, then the export point must be a
770         mount point, or it won't be exported.  If a path is 
771         given (e.g. mountpoint=/path) then that path must be
772         a mountpoint or the exportpoint won't be exported.
773         * utils/exportfs/exportfs.man: document mountpoint option.
774         * support/misc/mountpoint.c: New file with is_mountpoint()
775         to determine if something is a mountpoint.
776         
777 2003-05-23  NeilBrown <neilb@cse.unsw.edu.au>
778
779         * utils/mountd/cache.c(cache_get_filehandle): take a separate path
780         argument as we might not be getting the filehandle for the
781         mountpoint.
782         * utils/mountd/mountd.c(get_rootfh): pass real path when calling
783         cache_get_filehandle.
784         * utils/mountd/mountd.c(get_rootfh): check export point and
785         requested directory are on the same filesystem, and complain if
786         not.
787         
788 2003-05-22  NeilBrown <neilb@cse.unsw.edu.au>
789
790         * utils/mountd/auth.c(auth_authenticate_internal): make sure
791         portnumber is still checked when using new cache lookup.
792         
793 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
794
795         * utils/exportfs/exportfs.c: Use check_new_cache and cache_flush
796          Don't actually talk to kernel when new cache is in effect, except
797          to flush
798         * utils/exportfs/exportfs.c: add -f option to fully flush cache.
799         * support/export/xtab.c: Only rename new xtab into place if it has
800          changed, thus preserving modify date for exportfs to use when
801          flushing.
802         * support/nfs/cacheio.c: Add cache_flush
803         * support/export/xtab.c: Only rename new xtab into place if it has
804          changed, thus preserving modify date for exportfs to use when
805          flushing.
806         
807 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
808
809         * support/export/client.c: Add client_compose, client_member to
810         handle new composite client names
811         * support/include/exportfs.h: Declare above functions.
812         * utils/mountd/auth.c: use client_compose to determine calling
813         client if new cache is being used.
814         * utils/mountd/auth.c: call cache_export to export a filesystem if
815         new_cache, check if new cache is used, and call my_svc_run instead
816         of svc_run
817         * utils/mountd/svc_run.c: new file defining my_svc_run
818         * utils/mountd/cache.c: new file for handling cache upcalls.
819         * support/nfs/cacheio.c(check_new_cache): new function to check if
820         new cache should be used.
821         
822         
823 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
824
825         * support/include/nfs/export.h: New CROSSMNT distinct from NOHIDE
826         * support/nfs/exports.c: Make CROSSMNT distinct from NOHIDE
827         * utils/exportfs/exportfs.c(dump): ditto
828         
829 2003-05-21  NeilBrown <neilb@cse.unsw.edu.au>
830
831         * support/export/hostname.c(get_reliable_hostbyaddr): new function
832         to get host name from address with full checking of authenticity.
833         * support/include/misc.h: declare above function
834         * utils/mountd/auth.c(auth_authenticate_internal): remove all
835         logic for authenticating address.
836         * utils/mountd/auth.c(auth_authenticate): call new
837         get_reliable_hostbyaddr to to hostname lookup before calling _internal.
838         
839         
840 2003-03-30  NeilBrown <neilb@cse.unsw.edu.au>
841
842         * tools/rpcgen/rpc_main.c(find_cpp): removed
843         * tools/rpcgen/rpc_main.c(open_input): use execvp to find "cpp", 
844         then try hard-coded paths.
845         
846 2003-03-26  Chip Salzenberg  <chip@pobox.com>
847
848         * debian/changelog: Version 1.0.3-1.
849
850 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
851
852         * utils/mountd/rmtab.c (slink_safe_rename): real_newpath should be
853         "const char*", not "char*".
854
855 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
856
857         * configure.in (VERSION): Set to "1.0.3".
858         * nfs-utils.spec: Likewise.
859         * configure: Regenerated.
860
861 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
862
863         * support/nfs/cacheio.c: New File - support for read/writing
864         to export cache in /proc/rpc/*/channel
865         * support/nfs/Makefile: compile cacheio.c
866         * support/include/nfslib.h: declare cacheio.c functions
867         * support/nfs/nfsexport.c: export and unexport through
868         /proc/rpc/*/channel if possible, as old syscall interface
869         may not survive into 2.6 on all architectures.
870         
871 2003-02-19 NeilBrown <neilb@cse.unsw.edu.au>    
872         Ben Leslie <benno@sesgroup.net>
873
874         * support/nfs/rpcmisc.c(rpc_init):  change test for ignoring
875         "defport" from (__rpcfdtype == 0) to (__rpcpmstart==0).  The
876         former would incorectly ignore defport if the application 
877         explicitly set __rpcfdtype.  The later is sufficient to avoid the
878         special handling in the case where stdin is an internet socket.
879
880         * utils/mountd/mountd.c(main): Add 'n' to option list in
881         getopt_long as this is a short form of --no-tcp which want being
882         checked.
883         
884 2003-02-12  Chip Salzenberg  <chip@pobox.com>
885
886         * debian/changelog: Version 1.0.2-2.
887
888 2002-11-27  Chip Salzenberg  <chip@pobox.com>
889
890         * utils/mountd/rmtab.c (slink_safe_rename): Fix off-by-one buffer
891         overflow bug.  Reformat per rest of source file.
892
893 2002-11-19  NeilBrown <neilb@cse.unsw.edu.au>
894
895         * utils/exportfs/exports.man: Correct notes about whether the wild
896         card characters match a period.  They do.
897         
898 2002-10-15  Juan Gomez <juang@us.ibm.com>
899
900         * utils/mountd/rmtab.c (slink_safe_rename): New. Support
901         symlink.
902         (mountlist_add): Call slink_safe_rename instead of rename.
903
904 2002-10-11  H.J. Lu <hjl@lucon.org>
905
906         * support/include/exportfs.h (export_errno): New.
907
908         * support/nfs/exports.c: Include <errno.h>.
909         (export_errno): New.
910         (getexportent): Set export_errno to EINVAL for bad option.
911         (parseopts): Likewise.
912         Report the location of the default sync/async option.
913
914         * utils/exportfs/exportfs.c (main): Initialize export_errno to
915         0. Return export_errno.
916
917 2002-10-11  Juan Gomez  <gomez@cs.sjsu.edu>
918         NeilBrown <neilb@cse.unsw.edu.au>
919
920         utils/statd/statd.c(killer): don't pmap_unset if in notify_only mode
921         utils/statd/statd.c(main): don't pmap_unset if in notify_only mode
922         
923 2002-09-16  Chip Salzenberg  <chip@pobox.com>
924
925         * utils/rquotad/rquota_svc.c (main): Use int for value of getopt.
926
927 2002-09-15  Chip Salzenberg  <chip@pobox.com>
928
929         * support/nfs/rpcmisc.c (rpc_init): Allow stdin to be a non-INET
930         socket, as occurs when run from sshd.
931         * debian/changelog: Version 1.0.2-1.
932
933 2002-09-12  H.J. Lu <hjl@lucon.org>
934
935         * support/nfs/svc_socket.c: Remove HAVE_SVCTCP_SOCKET and
936         HAVE_SVCUDP_SOCKET.
937
938 2002-09-12  H.J. Lu <hjl@lucon.org>
939
940         * configure.in: Remove checking svctcp_socket and svcudp_socket.
941         * configure: Regenerated.
942
943         * support/include/config.h.in (HAVE_SVCTCP_SOCKET): Removed.
944         (HAVE_SVCUDP_SOCKET): Removed.
945
946         * support/include/nfslib.h: Undo the last change.
947
948 2002-09-12  H.J. Lu <hjl@lucon.org>
949
950         * support/include/nfslib.h (svctcp_socket): Protect it with
951         HAVE_SVCTCP_SOCKET.
952         (svcudp_socket): Protect it with HAVE_SVCUDP_SOCKET.
953
954 2002-09-12  H.J. Lu <hjl@lucon.org>
955
956         * configure.in (VERSION): Set to "1.0.2".
957         * configure: Regenerated.
958         * nfs-utils.spec: Likewise.
959
960 2002-09-12  H.J. Lu <hjl@lucon.org>
961
962         * configure.in: Check svctcp_socket and svcudp_socket.
963         * configure: Regenerated.
964
965         * support/include/config.h.in (HAVE_SVCTCP_SOCKET): New.
966         (HAVE_SVCUDP_SOCKET): New.
967
968         * support/include/nfslib.h (svctcp_socket): New.
969         (svcudp_socket): New.
970
971         * support/nfs/Makefile (OBJS): Add svc_socket.o.
972
973         * support/nfs/svc_socket.c: New.
974
975         * support/nfs/rpcmisc.c (rpc_init): Call svctcp_socket and
976         svcudp_socket if port is unspecified.
977
978         * utils/nfsd/nfsd.c (main): Call getservbyname for port.
979
980         * utils/rquotad/rquota_svc.c: Include <nfslib.h>.
981         (killer): New. Signal handler to unregister.
982         (main): Use killer. Call svcudp_socket to get the default
983         socket.
984
985 2002-09-02 Juan Gomez <juang@us.ibm.com>
986         NeilBrown <neilb@cse.unsw.edu.au>
987
988         Add -N option to statd to run in notify-only mode.
989
990         * utils/statd/statd.h: uncomment MODE_NOTIFY_ONLY
991         * utils/statd/statd.man: document -N
992         * utils/statd/statd.c: enabled -N, largely exists but needed to be
993         uncommented and completed
994         
995 2002-09-02 Juan Gomez <juang@us.ibm.com>
996         NeilBrown <neilb@cse.unsw.edu.au>
997
998         statd to have " -P directory" arg to use that directory instead
999         of /var/lib/nfs.  This is useful for fail-over clusters.
1000         
1001         * utils/statd/statd.h: define SM_DIR etc as var, not const.
1002         * utils/statd/statd.c: define "-P" option to set SM_*
1003         appropriately.
1004         * utils/statd/monitor.c: sprintf to cope with SM_DIR not being
1005         a constant any more.
1006         * utils/statd/notify.c: ditto.
1007         * utils/statd/statd.man: document -P option.
1008         
1009 2002-08-26  Chip Salzenberg  <chip@pobox.com>
1010
1011         * utils/nfsd/nfsd.man: Fix typo.
1012         * debian/changelog: Version 1.0.1-1.
1013
1014 2002-05-29 NeilBrown <neilb@cse.unsw.edu.au>
1015
1016         * let parseopts know if /etc/exports was being read or not, 
1017         and have it only print "no sync or async" warning in that case.
1018         
1019 2002-05-06 Tom McNeal <trmcneal@attbi.com>
1020         NeilBrown <neilb@cse.unsw.edu.au>
1021
1022         * utils/nfsstat/nfsstat.c: Handle differing format for
1023            /proc/net/rpc/nfsd between pre and post 2.4.0
1024         
1025 2002-04-09  NeilBrown <neilb@cse.unsw.edu.au>
1026         James Pearson <james-p@moving-picture.com>
1027
1028         * support/nfs/rmtab.c(fendrmtabent): sync changes to 
1029         storage before returning, as this is critical state
1030
1031 2002-04-08  Sean O'Connell <sean@ee.duke.edu>
1032             H.J. Lu <hjl@lucon.org>
1033
1034         * etc/redhat/nfs: New.
1035
1036 2002-04-08  H.J. Lu <hjl@lucon.org>
1037
1038         * etc/redhat/nfs.init: Updated.
1039
1040         * nfs-utils.spec.in: Updated.
1041         * nfs-utils.spec: Regenerated.
1042
1043         * utils/mountd/mountd.c (longopts): Fix a typo.
1044
1045         * utils/mountd/mountd.man: Updated.
1046
1047 2002-04-07  H.J. Lu <hjl@lucon.org>
1048
1049         * etc/redhat/nfslock.init (restart): Just do stop and start.
1050
1051         * etc/redhat/nfs.init: Fix a typo.
1052
1053 2002-04-07  H.J. Lu <hjl@lucon.org>
1054
1055         * configure.in (VERSION): Set to "1.0.1".
1056         * configure: Regenerated.
1057         * nfs-utils.spec: Likewise.
1058
1059         * README: Updated for 1.0.1.
1060
1061 2002-04-07  Sean O'Connell <sean@ee.duke.edu>
1062             H.J. Lu <hjl@lucon.org>
1063
1064         * etc/redhat/nfs.init: Read /etc/sysconfig/nfsd for NFS tuning.
1065
1066 2002-02-28   Steven Whitehouse <steve@gw.chygwyn.com>
1067               NeilBrown <neilb@cse.unsw.edu.au>
1068
1069         Add support for fsid=nn export option so that device
1070         numbers don't go in filehandles.
1071         * support/export/nfsctl.c(expsetup): if exporting and NFSEXP_FSID
1072         is set, pass the fsid in-place of the device number
1073         * support/nfs/exports.c: parse and print fsid= option.
1074         Also check if efname has been set, and use "command line"
1075         instead in error messages.
1076         Also, use strtol instead of atoi for anon[ug]id= so that
1077         bad numbers cause errors.
1078         
1079 2002-01-17   Adrian Drzewiecki <drze@MissionCriticalLinux.com>
1080              NeilBrown <neilb@cse.unsw.edu.au>
1081
1082         * support/nfs/exports.c: remove NFSEXP_ASYNC as a default
1083         flag so that "sync" becomes the default.
1084         Check that either "sync" or "async" is given as an option
1085         and warn if neither are present
1086         * utils/exportfs/exports.man: change documentation for "sync"
1087         to be documentation for "async".
1088         * utils/exportfs/exportfs.man: note that "sync" is the default
1089         rather than "async"
1090         
1091         
1092 2002-01-02  Chip Salzenberg  <chip@pobox.com>
1093
1094         * support/export/nfsctl.c (expsetup): Don't export entries that
1095         specify id mappings not supported by the kernel.  No extant kernel
1096         supports any significant mapping, only 'identity' (i.e. none).
1097         When other mappings are supported, this code will need changing.
1098         * debian/changelog: Version 1.0-2.
1099
1100 2001-12-26  Chip Salzenberg  <chip@pobox.com>
1101
1102         * nfs-utils.spec (Version): Set to "1.0".
1103         * configure.in (VERSION): Likewise.
1104         * configure: Regenerated.
1105         * README: Rewritten.
1106         * debian/changelog: Version 1.0-1.
1107
1108         * utils/exportfs/exports.man: Emphasize the need for options to
1109         immediately follow client names.  Explain that wildcards don't
1110         usually work on addresses, but may work when reverse DNS fails.
1111         Comment out a leftover TP that was TPing our indentation.
1112         * utils/mountd/mountd.man, utils/rquotad/rquotad.man,
1113         utils/statd/statd.man: Remove refs to non-existent "hosts_allow(5)".
1114         * debian/changelog: Version 0.3.3-6.
1115
1116 2001-12-20  NeilBrown <neilb@cse.unsw.edu.au>
1117
1118         * support/export/client.c(client_lookup): If a host has multiple
1119         IP addresses, then we must always use the result of a
1120         gethostbyname, not that of gethostbyaddr for exporting
1121         
1122 2001-12-20  NeilBrown <neilb@cse.unsw.edu.au>
1123
1124         * support/export/client.c (client_lookup): use strcasecmp when
1125         comparing host names
1126         * support/nfs/export.c (getexportent): add fromkernel arg and use
1127         different defaults as kernels prior to 2.4.11 assume different
1128         defaults in /proc/fs/nfs/exports
1129         * support/include/nfslib.h, support/export/export.c,
1130         support/export/xtab.c:  support extra "fromkernel" arg for
1131         getexportent. 
1132         
1133 2001-12-13  Chip Salzenberg  <chip@pobox.com>
1134
1135         * debian/changelog: Version 0.3.3-5.
1136
1137 2001-11-26  TAKAI Kousuke <takai@vlsi.kuee.kyoto-u.ac.jp>
1138
1139         * support/nfs/xio.c (xskip): Call `xungetc' instead of
1140         `ungetc' to keep x_line more properly.
1141
1142 2001-11-26  Chip Salzenberg  <chip@pobox.com>
1143
1144         * utils/showmount/showmount.c (main): Don't assume that strings
1145         starting with digits are IP addresses.
1146         * utils/nfsd/nfsd.c (main): Close all fds and reopen 0,1,2 on
1147         /dev/null before nfssvc().  Use syslog to report nfssvc errors.
1148         * support/misc/tcpwrapper.c, utils/mountd/mountd.man,
1149         utils/rquotad/rquotad.man, utils/statd/statd.man: Fix comments and
1150         man pages: We check host names *and* addresses with tcpwrappers.
1151         * debian/changelog: Version 0.3.3-4.
1152
1153 2001-11-21  Chip Salzenberg  <chip@pobox.com>
1154
1155         * support/nfs/clients.c (cfname): Added: current clients file name.
1156         (setnfsclntent): Set it.
1157         ({get,end}nfsclntent, syntaxerr): Use it.
1158         * support/nfs/exports.c (efname): Added: current exports file name.
1159         (setnfsexportent): Set it.
1160         (endnfsexportent, parseopts, getexport, syntaxerr): Use it.
1161         (parseopts): Accept old-style "crossmnt" option, for old xtabs.
1162         * debian/changelog: Version 0.3.3-3.
1163
1164 2001-10-11  Chip Salzenberg  <chip@pobox.com>
1165
1166         * utils/mountd/mountd.c (main): Close fds > 2 _before_ RPC init.
1167         * debian/changelog: Version 0.3.3-2.
1168
1169 2001-10-08  Chip Salzenberg  <chip@pobox.com>
1170
1171         * utils/mountd/mountd.c (main): When daemonizing, close all fds > 2.
1172         * utils/Makefile.in: Remove old Makefile in target 'distclean'.
1173         * utils/mountd/mountd.man: Update paths to /var/lib.
1174         * debian/*: Version 0.3.3-1, with Debian-specific fixes.
1175
1176 2001-10-06  Preston Brown <pbrown@redhat.com>
1177
1178         * utils/nfsstat/nfsstat.man: Updated.
1179
1180 2001-09-24  H.J. Lu <hjl@lucon.org>
1181
1182         * configure.in (VERSION): Set to "0.3.3".
1183         * configure: Regenerated.
1184         * nfs-utils.spec: Likewise.
1185
1186         * README: Updated for 0.3.3.
1187
1188 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
1189
1190         Arrange that "exportfs -au" never does DNS lookup:
1191         
1192         * support/export/client.c (client_lookup) : add "canonical"
1193         flag which says that the hostname is known to be canonical, so
1194         don't do a lookup
1195
1196         * support/export/export.c (export_create) : add "canonical"
1197         flag to be passed down to client_lookup
1198         * support/export/export.c (export_lookup) : Likewise
1199
1200         * support/export/xtab.c (xtab_read) : pass appropriate
1201         "canonical" flag to export_lookup and export_create:
1202         set if reading list of filesystems currently exports
1203         (is_export != 1). 
1204
1205         * support/export/export.c (export_read) : pass 0 as 
1206         "canonical" flag to export_lookup and export_create
1207         * support/export/rmtab.s (rmtab_read) : Likewise
1208
1209         * support/include/exportfs.h : redeclare various routines
1210         to have "canonical" flag
1211
1212         * utils/exportfs/exportfs.c (main) : redo logic for 
1213         "-au" to read in what is currently exported, but never even 
1214         look at what "should" be exported.
1215
1216         * utils/exportfs/exportfs.c (unexportall) : remove this
1217         routine. Functionality is completely included in
1218         exports_update
1219
1220         * utils/exportfs/exportfs.c (exportfs) : set "canonical"
1221         flag to zero in calls to export_lookup and export_create.
1222
1223         
1224 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
1225             Anne Milicia <milicia@missioncriticallinux.com>
1226
1227         * support/export/client.c (client_lookup) call gethostbyadd
1228         to make sure that we have a canonical hostname, even for
1229         dotted-quads
1230         * utils/exportfs/exportfs.c (exportfs) Likewise
1231         
1232 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
1233
1234         * support/nfs/exports.c (putexportent): \octal quote any spaces
1235         etc in a path name
1236         * support/nfs/xio.c (xgettok): recognise double-quote and
1237         \octal quoting in path names
1238         * utils/exportfs/exports.man: document quoting conventions
1239         for path names
1240         
1241 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
1242
1243         * utils/mountd/auth.c (auth_authenticate_internal): Reverse
1244           change from 2000-08-02:  It causes problems if someone exports
1245           to both a hostname and IP addresses.  nfs-utils must be
1246           consistant about the canonical name that it chooses.
1247
1248 2001-08-17  Ragnar Kjørstad <nfs@ragnark.vestdata.no>
1249             H.J. Lu <hjl@lucon.org>
1250
1251         * etc/redhat/nfslock.init (STATDARG): New. Pass it to rpc.statd.
1252
1253         * utils/statd/statd.c (longopts): Add "name".
1254         (usage): Add "-n/--name".
1255         (main): Set MY_NAME with "-n/--name".
1256
1257         * utils/statd/state.c (change_state): Set MY_NAME only if it
1258         is NULL.
1259         
1260         * utils/statd/statd.man: Updated for "-n/--name".
1261
1262 2001-07-26  H.J. Lu <hjl@lucon.org>
1263
1264         * nfs-utils.spec (Release): Set to 8.
1265
1266 2001-07-25  H.J. Lu <hjl@lucon.org>
1267
1268         * etc/redhat/nfs.init: Check if rpc.rquotad exists before doing
1269         anything about it.
1270
1271 2001-06-27  H.J. Lu <hjl@lucon.org>
1272
1273         * etc/redhat/nfs.init: Run rpc.rquotad only if it exists.
1274
1275 2001-06-27  H.J. Lu <hjl@lucon.org>
1276
1277         * utils/rquotad/rquota_server.c: Don't call statfs () for
1278         the block size. Use BLOCK_SIZE instead.
1279
1280 2001-06-27  H.J. Lu <hjl@lucon.org>
1281
1282         * config.mk.in (CC_FOR_BUILD): Renamed from BUILD_CC.
1283         (CFLAGS_FOR_BUILD): New. Don't use @CFLAGS@.
1284
1285         * configure.in (enable_nfsv3): Set to yes by default.
1286         (--enable-rquotad): Added
1287         (AC_PROG_CXX): Removed.
1288         (AC_OUTPUT): Add utils/Makefile.
1289         (CC_FOR_BUILD): Renamed from BUILD_CC.
1290         * configure: Regenerated.
1291
1292         * utils/Makefile: Removed.
1293
1294         * utils/Makefile.in: New.
1295
1296         * nfs-utils.spec.in (rquotad): New. Set to 0 to disable
1297         rquotad.
1298         (CC_FOR_BUILD): Renamed from BUILD_CC.
1299         * nfs-utils.spec: Regenerated.
1300
1301 2001-06-15  Chip Salzenberg  <chip@debian.org>
1302
1303         * debian/changelog: Version 0.3.2-2.
1304         * debian/*.init: Minor fixes.
1305
1306 2001-06-07  Lon H. Hohberger <hohberger@missioncriticallinux.com>
1307
1308         * etc/nodist/nfs-server: Fixed a bug where the script would
1309         disable mounts from NFSv3 clients if NFSv3 is present.
1310
1311 2001-06-05  H.J. Lu <hjl@lucon.org>
1312
1313         * utils/mountd/mountd.c (longopts): Add "descriptors/o".
1314         (main): Support --descriptors/-o to set the limit of the number
1315         of open file descriptors.
1316         (usage): Updated.
1317
1318         * utils/mountd/mountd.man: Updated for --descriptors/-o.
1319
1320 2001-06-04  H.J. Lu <hjl@lucon.org>
1321
1322         * nfs-utils.spec (Release): Set to 6.
1323
1324 2001-05-28  H.J. Lu <hjl@lucon.org>
1325
1326         * utils/lockd/lockd.c (main): chdir to NFS_STATEDIR.
1327         * utils/mountd/mountd.c (main): Likewise.
1328         * utils/nfsd/nfsd.c (main): Likewise.
1329         * utils/rquotad/rquota_svc.c (main): Likewise.
1330
1331 2001-05-06  Anne Milicia <milicia@missioncriticallinux.com>
1332
1333         * support/export/client.c (client_check): Check IP address
1334         againet netgroup.
1335
1336 2001-05-06  Neil Brown <neilb@cse.unsw.edu.au>
1337
1338         * support/export/client.c (client_gettype): Treat `*' as
1339         MCL_ANONYMOUS.
1340
1341 2001-04-22  H.J. Lu <hjl@lucon.org>
1342
1343         * nfs-utils.spec.in: Fix a typo.
1344         * nfs-utils.spec: Regenerated.
1345
1346 2001-04-21  H.J. Lu <hjl@lucon.org>
1347
1348         * nfs-utils.spec.in: Fix cross build.
1349         * nfs-utils.spec: Regenerated.
1350         (Release): Set to 5.
1351
1352 2001-04-18  H.J. Lu <hjl@lucon.org>
1353
1354         * nfs-utils.spec.in: Support cross build.
1355         * nfs-utils.spec: Regenerated.
1356         (Release): Set to 4.
1357
1358         * config.sub: New.
1359         * config.guess: New.
1360
1361         * config.mk.in (BUILD_CC): New.
1362         (CC): Set to $(BUILD_CC) if BUILD is defined.
1363         (AR): Set to @AR@.
1364         (LD): Set to @LD@.
1365         (RANLIB): Set to @RANLIB@.
1366
1367         * configure.in: Check BUILD_CC, RANLIB, AR and LD.
1368         * configure: Regenerated.
1369
1370         * tools/rpcgen/Makefile (BUILD): Set to true.
1371
1372 2001-04-01  Chip Salzenberg  <chip@valinux.com>
1373
1374         * tools/rpcgen/rpc_svcout.c (write_timeout_func): Remove
1375         redundant, and sometimes broken, declaration of svc_fdset;
1376         it may be a macro.
1377         * support/nfs/rpcmisc.c (closedown): Likewise.
1378         
1379 2001-03-21  H.J. Lu <hjl@lucon.org>
1380
1381         * nfs-utils.spec: Regenerated.
1382         (Release): Set to 3.
1383
1384 2001-03-21  Ion Badulescu  <ionut@cs.columbia.edu>
1385
1386         * utils/statd/statd.c (main): make sure file descriptors 0-2
1387         are open to /dev/null.
1388
1389 2001-03-21  H.J. Lu <hjl@lucon.org>
1390
1391         * support/nfs/rpcmisc.c: Restore the change made on 2001-03-10.
1392         * support/nfs/rpcmisc.c: Likewise.
1393         * utils/rquotad/rquota_svc.c: Likewise.
1394         * utils/rquotad/rquotad.man: Likewise.
1395         * utils/statd/Makefile: Likewise.
1396         * utils/statd/rmtcall.c: Likewise.
1397         * utils/statd/simulate.c: Likewise.
1398         * utils/statd/statd.c: Likewise.
1399         * utils/statd/statd.man: Likewise.
1400
1401 2001-03-11  H.J. Lu <hjl@lucon.org>
1402
1403         * configure.in (RELEASE): New. Default to 1, set by
1404         --with-release=XXX. Substitute nfs-utils.spec.
1405         * nfs-utils.spec.in (Release): Set to @RELEASE@.
1406         * configure: Regenerated.
1407         * nfs-utils.spec: Likewise.
1408
1409 2001-03-11  H.J. Lu <hjl@lucon.org>
1410
1411         * utils/rquotad/rquotad.man: Fix a typo.
1412
1413 2001-03-11  H.J. Lu <hjl@lucon.org>
1414
1415         * support/include/rpcmisc.h: Undo the change made on 2001-03-10.
1416         * support/nfs/rpcmisc.c: Likewise.
1417         * utils/rquotad/rquota_svc.c: Likewise.
1418         * utils/rquotad/rquotad.man: Likewise.
1419         * utils/statd/Makefile: Likewise.
1420         * utils/statd/rmtcall.c: Likewise.
1421         * utils/statd/simulate.c: Likewise.
1422         * utils/statd/statd.c: Likewise.
1423         * utils/statd/statd.man: Likewise.
1424
1425 2001-03-10  H.J. Lu <hjl@lucon.org>
1426
1427         * configure.in (VERSION): Set to "0.3.2".
1428         * configure: Regenerated.
1429         * nfs-utils.spec: Likewise.
1430
1431         * README: Updated for 0.3.2.
1432
1433 2001-03-10  Tavis Barr <tavis@boole.isetr.columbia.edu>
1434
1435         * utils/rquotad/rquotad.man: Updated for -p.
1436         * utils/statd/statd.man: Likewise.
1437
1438 2001-03-10  Ion Badulescu  <ionut@cs.columbia.edu>
1439
1440         * support/nfs/rpcmisc.c: export makesock()
1441
1442         * support/include/rpcmisc.h (makesock): Declared.
1443
1444         * utils/rquotad/rquota_svc.c: added longopts, added support for
1445         specifying the port to bind to on the command line.
1446
1447         * utils/statd/statd.c: ditto, also specify port used for
1448         outgoing connections.
1449         (do_regist): Removed.
1450
1451         * utils/statd/rmtcall.c (statd_get_socket): Renamed from
1452         get_socket. Make it extern.
1453
1454         * utils/statd/simulate.c (daemon_simulator): Call rpc_init
1455         instead of do_regist.
1456
1457         * utils/statd/Makefile (LIBS): link with our own libnfs
1458
1459 2001-03-09  H.J. Lu <hjl@lucon.org>
1460
1461         * etc/redhat/nfslock.init: Changed chkconfig line to 60 86.
1462         * etc/nodist/nfs-client: Likewise.
1463
1464 2001-02-26  Chip Salzenberg  <chip@valinux.com>
1465
1466         * debian/changelog: Version 0.3.1-1.
1467         * Mention upstream source and license in copyright file.
1468         * Add build-Depends for debhelper and libwrap0-dev.
1469
1470 2001-02-20  Lon Hohberger <hohberger@missioncriticallinux.com>
1471
1472         * etc/nodist/nfs-server: Changed chkconfig line to 60 20
1473         * etc/nodist/nfs-client: Likewise.
1474
1475 2001-02-18  Lon Hohberger <hohberger@missioncriticallinux.com>
1476
1477         * utils/statd/statd.man: Changed /usr/sbin/rpc.statd to
1478         /sbin/rpc.statd.
1479
1480 2001-02-17  Patrick J. LoPresti <patl@curl.com>
1481
1482         * utils/statd/log.c (log_init): Use LOG_DAEMON instead of
1483         LOG_LOCAL5.
1484
1485 2001-02-14  H.J. Lu <hjl@lucon.org>
1486
1487         * utils/statd/rmtcall.c: Include <time.h>.
1488         * utils/statd/svc_run.c: Likewise.
1489
1490 2001-02-14  H.J. Lu <hjl@lucon.org>
1491
1492         * configure.in (VERSION): Set to "0.3.1".
1493         * configure: Regenerated.
1494         * nfs-utils.spec: Likewise.
1495
1496         * README: Updated for 0.3.1.
1497
1498 2001-02-14  H.J. Lu <hjl@lucon.org>
1499
1500         * support/nfs/rpcmisc.c: Include <time.h>.
1501
1502 2001-02-14  Chip Salzenberg  <chip@valinux.com>
1503
1504         * debian/control: Change priority of nhfsstone package to 'extra'.
1505
1506 2001-02-12  Chip Salzenberg  <chip@valinux.com>
1507
1508         * debian/changelog: Version 0.3-2.
1509
1510 2001-02-02  H.J. Lu <hjl@lucon.org>
1511
1512         * support/include/rpcmisc.h (rpc_init): Remove bufsize.
1513         
1514         * support/nfs/rpcmisc.c (makesock): Remove socksz and comment
1515         out SO_SNDBUF/SO_RCVBUF.
1516         (rpc_init): Remove bufsize and remove socksz in calls to
1517         makesock ().
1518
1519         * utils/mountd/mountd.c (main): Remove bufsize in calls to
1520         rpc_init ().
1521
1522 2001-01-28  Chip Salzenberg  <chip@valinux.com>
1523
1524         * debian/changelog: Version 0.3-1.
1525
1526 2001-01-25  H.J. Lu <hjl@lucon.org>
1527
1528         * configure.in (VERSION): Set to "0.3".
1529         * configure: Regenerated.
1530         * nfs-utils.spec: Likewise.
1531
1532         * README: Updated for 0.3.
1533
1534 2001-01-25  H.J. Lu <hjl@lucon.org>
1535
1536         * utils/lockd/lockd.c (main): Ignore errno == EINVAL.
1537
1538 2001-01-20  Chip Salzenberg  <chip@valinux.com>
1539
1540         * support/include/xio.h (xgetc): Declare to return int.
1541         * support/nfs/xio.c (xgetc): Return int.
1542         (xgettok, xskip, xskipcomment): Use int for value of xgetc.
1543         * utils/statd/statd.c (main): Use int for value of getopt.
1544         * debian/changelog: Version 0.2.1-5.
1545         
1546 2000-12-10  Chip Salzenberg  <chip@valinux.com>
1547
1548         * utils/statd/monitor.c (sm_mon_1_svc): Fix buggy check for
1549         program and procedure numbers of kernel lockd's callback.  Also,
1550         besides the old (and broken) procedure #24, allow #16 per Trond.
1551
1552 2000-12-03  Chip Salzenberg  <chip@valinux.com>
1553
1554         * support/nfs/xio.c (xfopen): Initialize x_line to one, not zero.
1555         * debian/control: Let nhfsstone replace files in nfs-kernel-server.
1556         * debian/changelog: Version 0.2.1-4.
1557
1558 2000-11-27  Tobias Ringstrom <tori@tellus.mine.nu>
1559
1560         * utils/mountd/auth.c (auth_authenticate): Log the bad path
1561         warning.
1562
1563 2000-11-24  Neil Brown <neilb@cse.unsw.edu.au>
1564
1565         * support/nfs/exports.c (getexportent): Check for host name
1566         without option, or options without hostname, and print a warning,
1567         as this is most likely a typo.
1568
1569 2000-11-19  Chip Salzenberg  <chip@valinux.com>
1570
1571         * debian/control: Add dependency on portmap.
1572         * debian/changelog: Version 0.2.1-3.
1573
1574 2000-11-10  H.J. Lu <hjl@lucon.org>
1575
1576         * nfs-utils.spec.in: Don't use libtool.
1577         Add ChangeLog and COPYING to doc.
1578         * nfs-utils.spec: Rebuild.
1579
1580 2000-11-09  H.J. Lu <hjl@lucon.org>
1581
1582         * etc/redhat/nfs.init (start): Back out the last change.
1583
1584 2000-11-09  H.J. Lu <hjl@lucon.org>
1585
1586         * etc/redhat/nfs.init (start): Pass --no-tcp to mountd if
1587         TCP is not supported by kernel.
1588
1589         * support/nfs/rpcmisc.c (rpc_init): Don't set _rpcfdtype to 0.
1590
1591         * utils/mountd/mountd.c (longopts): Add "-n/--no-tcp".
1592         (main): Set to _rpcfdtype to SOCK_DGRAM for "-n/--no-tcp".
1593
1594         * utils/mountd/mountd.man: Updated for "-n/--no-tcp".
1595
1596 2000-10-24  Lon Hohberger <hohberger@missioncriticallinux.com>
1597
1598         * utils/statd/callback.c: Fix bug preventing callbacks to local lockd.
1599         * utils/statd/rmtcall.c: Add some IP address paranoia when doing
1600         callbacks to local lockd.
1601
1602 2000-10-18  Scott McDermott <mcdermot@questra.com>
1603
1604         * utils/exportfs/exports.man: Updated for CIDR netmask.
1605
1606 2000-10-17  Scott McDermott <mcdermot@questra.com>
1607
1608         * support/export/client.c (client_init): Support CIDR netmask
1609         in /etc/exports.
1610
1611 2000-10-11  H.J. Lu <hjl@lucon.org>
1612
1613         * aclocal.m4 (AC_TCP_WRAPPER): Fix a typo.
1614         * configure: Rebuilt.
1615
1616 2000-10-06  Lon Hohberger <hohberger@missioncriticallinux.com>
1617
1618         * utils/statd/statd.man: Change "/var/lib/nfs/sm/state" to
1619         "/var/lib/nfs/state".
1620
1621 2000-10-05  Lon Hohberger <hohberger@missioncriticallinux.com>
1622
1623         * utils/statd/statd.h (run_mode): New global bitmask of runtime
1624         behaviors: fg/bg, logging, etc.
1625         * utils/statd/statd.c: New command line options: -V -h -? -d .
1626         * utils/statd/statd.man: Update for changes to statd.
1627
1628         * utils/statd/log.h (log_init): Remove parameter of function; use
1629         global variable "name_p" instead.
1630         * utils/statd/log.c: Add support for logging to stderr.
1631
1632         * utils/statd/notlist.c: Partially rewrite notify list handling
1633         functions.  Eliminate run-off-end-of-list bug when calling
1634         nlist_insert_timer.  Add lots of comments.
1635         
1636 2000-09-27  H.J. Lu <hjl@lucon.org>
1637
1638         * README: Updated for RedHat 7.0.
1639
1640 2000-09-27  H.J. Lu <hjl@lucon.org>
1641
1642         * nfs-utils.spec: Rebuild.
1643
1644 2000-09-27  H.J. Lu <hjl@lucon.org>
1645
1646         * README: Updated for 0.2.1.
1647
1648 2000-09-27  H.J. Lu <hjl@lucon.org>
1649
1650         * nfs-utils.spec.in: Updated to use rpm macros and support
1651         RedHat 7.0.
1652
1653 2000-09-25  H.J. Lu <hjl@lucon.org>
1654
1655         * configure.in (VERSION): Set to "0.2.1".
1656         * configure: Regenerated.
1657         * nfs-utils.spec: Updated.
1658
1659 2000-09-25  H.J. Lu <hjl@lucon.org>
1660
1661         * utils/mountd/auth.c (auth_authenticate_internal): Make sure a
1662         non-NULL hostent is always returned.
1663
1664 2000-09-11  Ion Badulescu  <ionut@cs.columbia.edu>
1665
1666         * etc/redhat/nfslock.init: don't kill lockd processes that do not
1667         have an executable (i.e. kernel threads)
1668
1669 2000-09-01  H.J. Lu <hjl@lucon.org>
1670
1671         * README: Updated for 0.2.
1672
1673 2000-09-01  Jay Weber <jweber@valinux.com>
1674
1675         * etc/redhat/nfs.init: Added ability for rpc.mountd to default to
1676         supporting version 3 of nfs if available, else it will fall back to
1677         version 2 support only.
1678
1679 2000-08-30  H.J. Lu <hjl@lucon.org>
1680
1681         * configure.in (VERSION): Set to "0.2".
1682         * configure: Regenerated.
1683         * nfs-utils.spec: Updated.
1684
1685 2000-08-25  H.J. Lu <hjl@lucon.org>
1686
1687         * support/misc/tcpwrapper.c (logit): Modify the log output.
1688
1689 2000-08-25  Ion Badulescu  <ionut@cs.columbia.edu>
1690
1691         * utils/rquotad/rquotad.man, utils/statd/statd.man,
1692         utils/mountd/mountd.man: updated
1693         
1694         * utils/mountd/Makefile (LIBS): added -lmisc $(LIBWRAP) $(LIBNSL)
1695         * utils/rquotad/Makefile: fix comment
1696
1697         * support/misc/tcpwrapper.c (logit): added comment about waiting
1698         for the children after fork()
1699         
1700         * utils/mountd/mountd.c (main): ignore SIGCHLD to prevent leaving
1701         zombies behind (from logit()'s fork)
1702         * utils/rquotad/rquota_svc.c (main): ditto
1703         * utils/statd/statd.c (main): ditto
1704
1705         * utils/rquotad/rquota_svc.c (rquotaprog_1): pass RQUOTAPROG
1706         to check_default instead of 0, for prognum
1707
1708         * utils/statd/statd.c (sm_prog_1_wrapper): pass SM_PROG
1709         to check_default instead of 0, for prognum
1710
1711         * utils/mountd/mount_dispatch.c: Include "tcpwrapper.h" if
1712         HAVE_TCP_WRAPPER is defined.
1713         (mount_dispatch): Call check_default () if HAVE_TCP_WRAPPER is
1714         defined. Reject an RPC call if check_default () fails.
1715
1716 2000-08-25  H.J. Lu <hjl@lucon.org>
1717
1718         * support/include/tcpwrapper.h: New for the tcp wrapper
1719         support.
1720         * support/misc/Makefile: Likewise.
1721         * support/misc/from_local.c: Likewise.
1722         * support/misc/tcpwrapper.c: Likewise.
1723
1724         * aclocal.m4 (AC_TCP_WRAPPER): New.
1725         * configure.in: Use it. Substitute LIBWRAP.
1726         * configure: Rebuilt.
1727
1728         * config.mk.in (LIBNSL): New.
1729         (LIBWRAP): Likewise.
1730
1731         * support/Makefile (SUBDIRS): Add misc.
1732
1733         * support/lib/Makefile (LIBS): Add libmisc.a.
1734
1735         * utils/rquotad/Makefile (LIBS): Add
1736         
1737                 -lmisc $(LIBWRAP) $(LIBNSL)
1738
1739         * utils/statd/Makefile (LIBS): Likewise.
1740
1741         * utils/rquotad/rquota_svc.c: Include "tcpwrapper.h" if
1742         HAVE_TCP_WRAPPER is defined.
1743         (rquotaprog_1): Call check_default () if HAVE_TCP_WRAPPER is
1744         defined. Reject an RPC call if check_default () fails.
1745
1746         * utils/statd/statd.c: Include "tcpwrapper.h" if
1747         HAVE_TCP_WRAPPER is defined.
1748         (sm_prog_1_wrapper): New. A wrapper for sm_prog_1. Call
1749         check_default () before calling sm_prog_1 (). Define it as
1750         sm_prog_1_wrapper if HAVE_TCP_WRAPPER is defined.
1751
1752 2000-08-25  Chip Salzenberg  <chip@valinux.com>
1753
1754         * debian/*: Complete Debian build support.
1755         * etc/debian/*: Remove.
1756
1757 2000-08-24  Neil Brown <neilb@cse.unsw.edu.au>
1758
1759         * support/export/client.c(client_check): removed the "dot+1" as a
1760           ypdomain argument to innetgr as this is entirely bogus.
1761           It should always be NULL.
1762         
1763 2000-08-23  Neil Brown <neilb@cse.unsw.edu.au>
1764
1765         * support/export/xtab.c(xtab_read): introduce new mode for
1766            reading xtab. i.e. a list of exports that might be known to the
1767            kernel, or might not.  These are flagged as m_exported == -1
1768         * support/export/xtab.c(xtab_mount_read):  call xtab_read with new
1769            value "2" for xtab, meaning don't trust this too much.
1770         * support/include/exportfs.h(struct mexport): changed m_exported
1771            from one bit to an int so that it can hold new value
1772         * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the
1773            kernel if it is uncertain whether the kernel knows (m_exported == -1)
1774         * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if
1775            status is uncertain
1776
1777         * support/nfs/xio.c(xflock): added O_CREAT when getting
1778            a write lock so that missing files aren't fatal.
1779
1780         * etc/debian/nfs-common: new file from "potato"
1781         * etc/debian/nfs-kernel-server: new file from "potato" plus fixes.
1782          
1783 2000-08-09  H.J. Lu <hjl@lucon.org>
1784
1785         * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during
1786         startup to ensure all existing clients work fine.
1787
1788         * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0
1789         to xtab_read () for reading _PATH_XTAB.
1790
1791 2000-08-02  H.J. Lu <hjl@lucon.org>
1792
1793         * utils/mountd/auth.c (auth_authenticate_internal): Try to
1794         avoid the reverse name lookup.
1795
1796 2000-07-04  H.J. Lu <hjl@lucon.org>
1797
1798         * utils/statd/log.c: Include <stdlib.h> for exit ().
1799
1800         * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the
1801         gcc warning.
1802
1803 2000-07-04  H.J. Lu <hjl@lucon.org>
1804
1805         * configure.in (VERSION): Set to "0.1.9.1".
1806         * configure: Regenerated.
1807         * nfs-utils.spec: Updated.
1808
1809         * README: Updated.
1810
1811 2000-07-04  Neil Brown  <neilb@cse.unsw.edu.au>
1812
1813         * support/export/hostname.c (hostent_dup): Handle the NULL
1814         h_aliases field.
1815
1816 2000-07-03  H.J. Lu <hjl@lucon.org>
1817
1818         * README: Update the util-linux requirement.
1819
1820 2000-07-03  H.J. Lu <hjl@lucon.org>
1821
1822         * configure.in (VERSION): Set to "0.1.9".
1823         * configure: Regenerated.
1824         * nfs-utils.spec: Updated.
1825
1826         * README: Updated.
1827
1828 2000-07-03  H.J. Lu <hjl@lucon.org>
1829
1830         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
1831         stop to ensure all clients can still access the server
1832         before it is shutdown.
1833
1834 2000-06-30  Jeff Uphoff <juphoff@transmeta.com>
1835
1836         * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog()
1837         calls with format string.
1838         
1839 2000-06-28  Chip Salzenberg  <chip@valinux.com>
1840
1841         * utils/statd/log.c (log): Call syslog with format string.
1842
1843 2000-06-27  H.J. Lu <hjl@lucon.org>
1844
1845         * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
1846         instead of OPEN_MAX.
1847
1848 2000-06-27  H.J. Lu <hjl@lucon.org>
1849
1850         * README: Updated.
1851
1852 2000-06-27  H.J. Lu <hjl@lucon.org>
1853
1854         * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
1855         startup to ensure all existing clients are exported.
1856
1857         * configure.in (VERSION): Set to "0.1.8.2".
1858         * configure: Regenerated.
1859         * nfs-utils.spec: Updated.
1860
1861 2000-06-06  H.J. Lu <hjl@lucon.org>
1862
1863         * configure.in (VERSION): Set to "0.1.8.1".
1864         * configure: Regenerated.
1865         * nfs-utils.spec: Updated.
1866
1867 2000-06-06  H.J. Lu <hjl@lucon.org>
1868
1869         * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
1870         to "struct sockaddr_in *" for glibc 2.2.
1871         (mount_umnt_1_svc): Likewise.
1872         (mount_umntall_1_svc): Likewise.
1873         (mount_export_1_svc): Likewise.
1874         (mount_exportall_1_svc): Likewise.
1875         (mount_pathconf_2_svc): Likewise.
1876         (get_rootfh): Likewise.
1877
1878 2000-06-04  H.J. Lu <hjl@lucon.org>
1879
1880         * etc/redhat/nfs.init: Fix a typo in comment.
1881
1882 2000-05-31  H.J. Lu <hjl@lucon.org>
1883
1884         * configure.in (VERSION): Set to "0.1.8".
1885         * configure: Regenerated.
1886         * nfs-utils.spec: Updated.
1887
1888         * README: Updated.
1889
1890 2000-05-31  H.J. Lu <hjl@lucon.org>
1891
1892         * configure.in (VERSION): Set to "0.1.7.5".
1893         * configure: Regenerated.
1894         * nfs-utils.spec: Updated.
1895
1896         * support/include/nfslib.h (exportent): Add a new field,
1897         r_count, to count the number of mounts from a client.
1898         (getrmtabent): Take a new argument for position in file.
1899         (putrmtabent): Likewise.
1900         (fgetrmtabent): Likewise.
1901         (fputrmtabent): Likewise.
1902         * support/nfs/rmtab.c (getrmtabent): Handle the new argument
1903         for position in file.
1904         (fgetrmtabent): Likewise.
1905         (putrmtabent): Likewise.
1906         (fputrmtabent): Likewise.
1907
1908         * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
1909         field, r_count.
1910
1911         * support/export/rmtab.c (rmtab_read): Pass NULL as the new
1912         argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
1913         and fputrmtabent ().
1914         * utils/mountd/rmtab.c (mountlist_add): Likewise.
1915         (mountlist_del): Likewise.
1916         (mountlist_del_all): Likewise.
1917         (mountlist_list): Likewise.
1918
1919         * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
1920         for the existing entry and initialize "r_count" to 1.
1921         (mountlist_del): Decrement "r_count".
1922
1923 2000-05-18  H.J. Lu <hjl@lucon.org>
1924
1925         * configure.in (VERSION): Set to "0.1.7.4".
1926         * configure: Regenerated.
1927         * nfs-utils.spec: Updated.
1928
1929 2000-05-18  H.J. Lu <hjl@lucon.org>
1930
1931         * etc/redhat/nfs.init (restart): Just do stop and start.
1932
1933 2000-05-09  Jay Weber <jweber@valinux.com>
1934
1935         * utils/rquotad/hasquota.c: added support for ext3 recognition
1936         in rquotad.
1937         * utils/rquotad/mntent.h: Likewise.
1938
1939 2000-05-01  H.J. Lu <hjl@lucon.org>
1940
1941         * configure.in (VERSION): Set to "0.1.7.3".
1942         * configure: Regenerated.
1943         * nfs-utils.spec: Updated.
1944
1945 2000-05-01  H.J. Lu <hjl@lucon.org>
1946
1947         * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
1948         mounting poins in /etc/fstab.
1949
1950 2000-05-01  H.J. Lu <hjl@lucon.org>
1951
1952         * configure.in (VERSION): Set to "0.1.7.2".
1953         * configure: Regenerated.
1954         * nfs-utils.spec: Updated.
1955
1956 2000-05-01  H.J. Lu <hjl@lucon.org>
1957
1958         * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
1959         to check for the mounting point.
1960
1961 2000-04-29  Chip Salzenberg  <chip@valinux.com>
1962             Neil Brown  <neilb@cse.unsw.edu.au>
1963
1964         * Really re-use RPC ports.
1965           (Fixes earlier patch.  Sorry, Neil.)
1966
1967 2000-04-26  H.J. Lu <hjl@lucon.org>
1968
1969         * configure.in (VERSION): Set to "0.1.7.1".
1970         * configure: Regenerated.
1971         * nfs-utils.spec: Updated.
1972
1973 2000-04-26  H.J. Lu <hjl@lucon.org>
1974
1975         * etc/redhat/nfslock.init: Check if lockd exits before killing
1976         it.
1977
1978 2000-04-25  H.J. Lu <hjl@lucon.org>
1979
1980         * README: Require util-linux-2.10f-mount-rpc.patch for mount.
1981
1982 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
1983
1984         * support/nfs/exports.c (parsesquash): Correctly set the
1985         return pointer.
1986
1987 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
1988
1989         * support/include/nfs/nfs.h: Removed knowledge of internals of
1990              kernel filehandles (which can change) and defined nfs_fh_size
1991              which has variable size
1992         
1993         * support/nfs/getfh.c: defined getfh_size to use new syscall to
1994              get variable sized file handles, and change getfh{,old} to
1995              use nfs_fh_size        
1996         
1997         * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
1998              NFSv3 file handles
1999
2000         * tools/Makefile, tools/nlmtest/nlmtest.c
2001              nlmtest.c depended on internel format of file handles, so now
2002              doesn't work.
2003
2004         
2005 2000-03-12  Chip Salzenberg  <chip@valinux.com>
2006             Neil Brown  <neilb@cse.unsw.edu.au>
2007
2008         * support/nfs/rpcmisc.c (rpc_init): Share transports.
2009
2010 2000-03-13 H.J. Lu <hjl@lucon.org>
2011
2012         * etc/redhat/nfsd.init: Updated.
2013
2014         * etc/redhat/nfslock.init: Updated.
2015
2016         * nfs-utils.spec.in: Updated.
2017
2018         * configure.in (VERSION): Set to "0.1.7".
2019         * configure: Regenerated.
2020         * nfs-utils.spec: Updated.
2021
2022         * README: Updated.
2023
2024 Wed Mar  8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
2025
2026         * utils/exportfs/exportfs.c (dump): Included printing of
2027            nohide, no_subtree_check, and insecure_locks
2028
2029 2000-02-26  Chip Salzenberg  <chip@valinux.com>
2030
2031         * config.mk.in (INSTALLSUID): Strip ("-s").
2032         (INSTALLSCRIPT): Define.
2033         * utils/nhfsstone/Makefile: Use it.
2034
2035 2000-02-26  Chip Salzenberg  <chip@valinux.com>
2036
2037         * utils/lockd/lockd.man: Create.
2038         * utils/lockd/Makefile: Install it.
2039         * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
2040         * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
2041         * utils/nhfsstone/Makefile: Install the helper scripts and
2042           all four man pages.
2043         * utils/exportfs/exports.man: Fix typo.
2044
2045 2000-02-26  Chip Salzenberg  <chip@valinux.com>
2046
2047         * support/nfs/xio.c (xungetc): Decrement line number when
2048         character to unget is newline.  Make first parameter int, so
2049         it can distinguish EOF from \377.
2050         * support/include/xio.h (xungetc): Adjust prototype.
2051
2052 Fri Feb  4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
2053
2054         * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
2055         * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
2056         * utils/exportfs/exports.man: added documentation for no_auth_nlm.
2057
2058         This is for supporting a new option introduced in 2.3.42
2059
2060 Thu Feb  3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
2061
2062         * COPYING: Added. GPL.
2063
2064 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
2065
2066         * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
2067         to get the block size.
2068
2069 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
2070
2071         * nfs-utils.spec.in: Update ftp site.
2072
2073 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
2074
2075         * README: Update hostnames.
2076
2077 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
2078
2079         * configure.in (VERSION): Set to "0.1.6".
2080         * configure: Regenerated.
2081         * nfs-utils.spec: Updated.
2082
2083         * README: Updated.
2084
2085 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
2086
2087         * utils/mountd/auth.c (auth_authenticate_internal): Call
2088         xstrdup for hostname before passing it to gethostbyname.
2089
2090         * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
2091         of strdup.
2092
2093 Sun Dec 19 09:35:01 1999  H.J. Lu <hjl@lucon.org>
2094
2095         * README: Update the mailing list address.
2096
2097 Sun Dec 19 09:22:28 1999  H.J. Lu <hjl@lucon.org>
2098
2099         * configure.in (VERSION): Set to "0.1.5".
2100         * configure: Regenerated.
2101         * nfs-utils.spec: Updated.
2102
2103         * README: Updated.
2104
2105 Mon Dec 13 13:40:20 1999  H.J. Lu <hjl@lucon.org>
2106
2107         * utils/rquotad/hasquota.c (hasquota): Malloc one more char
2108         for '/'.
2109
2110 Mon Dec  6 09:42:45 1999  H.J. Lu <hjl@lucon.org>
2111
2112         * configure.in (VERSION): Set to "0.1.4".
2113         * configure: Regenerated.
2114         * nfs-utils.spec: Updated.
2115
2116         * README: Updated.
2117
2118 Mon Dec  6 09:28:07 1999  H.J. Lu <hjl@lucon.org>
2119
2120         * nfs-utils.spec.in: New file.
2121
2122         * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
2123
2124         * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
2125
2126 1999-12-04  Chip Salzenberg  <chip@valinux.com>
2127
2128         * config.mk.in: Use $(CC) as set by configure.
2129
2130 1999-12-04  Chip Salzenberg  <chip@valinux.com>
2131
2132         * rules.mk: Call $(MAKE) with $(MFLAGS).
2133
2134 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
2135
2136         * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
2137         IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
2138
2139 Mon Nov 29 11:17:35 1999  H.J. Lu <hjl@lucon.org>
2140
2141         * nfs-utils.spec (Version): Set to 0.1.3.
2142
2143         * configure.in (VERSION): Set to "nfs-utils 0.1.3".
2144         * configure: Regenerated.
2145
2146         * README: Updated.
2147
2148 Mon Nov 29 11:15:47 1999  H.J. Lu <hjl@lucon.org>
2149
2150         * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
2151         (_PATH_DEV_DSK): Likewise.
2152         (getquotainfo): Match the mounting point from /etc/mtab
2153         instead of calling nfsmount_to_devname ().
2154
2155 1999-11-24  Chip Salzenberg  <chip@valinux.com>
2156
2157         * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
2158         to the new port 24 as well as the historical port 100021.
2159
2160 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
2161
2162         * etc/redhat/nfsd.init (stop): moved exportfs -ua after
2163         stopping nfsd to stop spurious ESTALE on server shutdown.
2164         
2165 Tue Nov 23 10:13:39 1999  Neil Brown <neilb@cse.unsw.edu.au>
2166
2167         * support/nfs/exports.c (parseopts): make copy of opt string
2168         before 'nul'ing out commas so that
2169
2170         # exportfs -o option1,option2 hosta:/fs hostb:/fs
2171
2172         applies both options to both exports.
2173
2174 Thu Oct 28 12:55:42 1999  H.J. Lu <hjl@lucon.org>
2175
2176         * README: Fix a few typos.
2177
2178         * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
2179         of long.
2180         * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
2181         * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
2182         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
2183         (unsigned_dec): Likewise.
2184         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
2185         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
2186
2187         * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
2188         instead of LONG.
2189         * tools/rpcgen/rpc_parse.c (get_type): Likewise.
2190         (unsigned_dec): Likewise.
2191         * tools/rpcgen/rpc_scan.c (symbols): Likewise.
2192         * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
2193         * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
2194
2195 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
2196
2197         * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
2198         * support/nfs/exports.c: added {no_,}subtree_check and changed
2199           crossmnt to nohide
2200         * utils/exportfs/exports.man: added no_subtree_check and nohide
2201           and removed irrelevant stuff from unfsd.
2202         * support/export/rmtab.c: rmtab_read didn't quite do the right
2203           thing if a pathname from rmtab was a subdirectory of an export-point
2204
2205 Tue Oct 26 17:22:40 1999  H.J. Lu <hjl@lucon.org>
2206
2207         * README: Updated ftp site.
2208
2209 Mon Oct 25 18:12:45 1999  H.J. Lu <hjl@lucon.org>
2210
2211         * nfs-utils.spec (Version): Set to 0.1.2.
2212
2213         * configure.in (VERSION): Set to "nfs-utils 0.1.2".
2214         * configure: Regenerated.
2215
2216         * README: Updated.
2217
2218 Mon Oct 25 18:11:21 1999  H.J. Lu <hjl@lucon.org>
2219
2220         * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
2221         (auth_authenticate_internal): Check for NULL return on forward
2222         DNS lookup.
2223         (auth_authenticate): Handle "no_forward_dns".
2224
2225 Thu Oct 21 16:22:06 1999  H.J. Lu <hjl@lucon.org>
2226
2227         * Version 0.1.1 released.
2228
2229         * nfs-utils.spec (Version): Set to 0.1.1.
2230
2231         * configure.in (VERSION): Set to "nfs-utils 0.1.1".
2232         * configure: Regenerated.
2233
2234         * README: Updated.
2235
2236 Mon Oct 18 17:43:29 1999  H.J. Lu <hjl@lucon.org>
2237
2238         * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
2239         to knfsd-clients.
2240         (Provides): Likewise.
2241
2242 Mon Oct 18 14:56:22 1999  H.J. Lu <hjl@lucon.org>
2243
2244         * Initial version 0.1 released.
2245
2246         * configure.in (VERSION): Set to "nfs-utils 0.1".
2247         * configure: Regenerated.
2248
2249 Mon Oct 18 14:54:57 1999  H.J. Lu <hjl@lucon.org>
2250
2251         * utils/mountd/mountd.c (get_exportlist): Cleanup.
2252
2253         * utils/exportfs/exportfs.c (unexport_all): Unexport from
2254         kernel only if the entry is exported to kernel.
2255         (unexportfs): Likewise.
2256
2257 Wed Sep 08 16:49:32 1999  Neil Brown <neilb@cse.unsw.edu.au>
2258
2259 1/ utils/mountd/rmtab.c::mountlist_list
2260
2261      This routine stats the rmtab file to see if it has changed.  It
2262      if has, it cleans up it's old copy of the data. But it still
2263      always re-read the file, thus returning multiple copies of the
2264      data on consecutive calls without intervening changes.
2265      "Showmount -a" didn't show this as it appears to sort/unique the
2266      data, but 'strace showmount -a' showed that the size of the
2267      datagram that it received grew.
2268
2269      I moved the getrmtabent loop inside the mtime test.
2270
2271 2/ utils/exportfs/exportfs.c
2272    
2273      Many routines used the m_path field of m_export instead of
2274      e_path.
2275      According to the comment in nfslib.h, m_path should only
2276      be used when processing a mount request (i.e. in mountd)
2277      where the mountpoint may be a subdirectory of the export point.
2278
2279      I changed all occurances of m_path to e_path
2280
2281
2282 3/ utils/exportfs/exportfs.c:main
2283
2284       extra arguments are not meaningful with -a or -r, but
2285       exportfs accepted them and then ignored the -a/-r, expect that
2286       -r would still unexport everything first.
2287
2288       I generate an error if there are extra args and f_all
2289
2290 4/ utils/exportfs/exportfs.c:main
2291      extract dump out as a special case.
2292
2293 5/ utils/exportfs/exportfs.c
2294      made f_reexport a local variable.
2295
2296
2297 6/ utils/exportfs/exportfs.c:main,exportall
2298
2299     support/export/rmtab.c
2300        only  mayexport on newly created entries, don't set xtabent at all
2301
2302 7/ support/include/nfslib.h
2303
2304       add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
2305
2306 8/ support/export/xtab.c
2307
2308       xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
2309       else from xtab
2310
2311
2312 9/ support/export/xtab.c
2313
2314       xtab_mount_read now sets m_exported, and NOT
2315         xtabent and mayexport
2316
2317       removed the append arguement from xtab_write as it was
2318         never used.
2319
2320       added is_export flag to xtab_write similar to xtab_read
2321         if is_export, only write entries with m_xtabent or m_addxtab
2322         if !is_export, only write entries with m_exported
2323      
2324 10/ support/export/export.c::export_allowed_internal
2325
2326       added test for exp->m_mayexport, as the export tree
2327         may have entries that are no longer allowed to be exported,
2328         and so shouldn't caused deduced exported by rmtab_read
2329
2330 11/ utils/exportfs/exportfs.c::main
2331         error checking of flags.
2332
2333 12/ utils/exportfs/exportfs.c
2334
2335         total rewrite of export and unexport logic.
2336         We now:
2337         -  build an exportslist of valid exports, based on
2338            current etab file  and arguments,
2339         -  read rmtab to instantiate relevant wild card entries
2340         -  read etab to find out what is currently exported
2341         -  synchronise intention with reality
2342         -  write out etab and xtab
2343
2344 13/  various
2345         discard the m_addxtab flag
2346         add m_changed flag so we know what to report in exportfs
2347
2348 14/ utils/mountd/auth.c:auth_authenticate
2349
2350         the value returned by gethostbyaddr was trusted.
2351
2352         It now follows this with a call to gethostbyname
2353         and checks that the address is in the list.
2354
2355 15/ support/export/nfsctl.c::cltsetup,expsetup
2356
2357         force client names to lowercase as kernel is
2358         sensitive to case
2359
2360 16/ quietened a few compiler warnings
2361
2362 17/ support/export/client:client_lookup
2363
2364      look for pre-existing client with same name before creating
2365         a new one.
2366
2367 18/ support/include/exportfs.h
2368
2369      The ordering of the MCL_* enum was:
2370         ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
2371
2372      I moved ANONYMOUS to the end.
2373
2374      The ordering is significant when an export entry is being searched for to 
2375         match a given address.  There are two problems with ANONYMOUS being first.
2376
2377         1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
2378            then the ro case will always be found first and the privileged hosts won't get
2379            their privilege
2380         2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
2381            export entry for the specific host, and writes it to xtab.
2382            When another request comes from the same host, the ANONYMOUS entry is found again, 
2383            before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
2384            again.  If causes bloat in xtab.
2385
2386       Putting ANONYMOUS at the end reflects it's nature as a catch-all
2387
2388 19/ utils/exportfs/exportfs.man
2389         many updates to the man page to reflect changes to the code
2390
2391 -----------------------
2392
2393
2394
2395 TODO:
2396
2397 - allow exportfs to modify rmtab file
2398 - make sure kernel never gets two clients with same IP address
2399     - possible kernel should reject
2400     - needs to be some way to lookup client in kernel by IP address
2401 - maybe get kernel to do case-insensitive comparisons on client names
2402 - remove unused clients from kernel
2403
2404 - change etab to xtab and xtab to xtab.active
2405
2406 - timestamp and/or statd-stamp in rmtab for removing old entries.
2407
2408 Mon Oct 18 11:48:07 1999  H.J. Lu <hjl@lucon.org>
2409
2410         * linux-nfs: New directory.
2411         * linux-nfs/ChangeLog: Moved from ..
2412         * linux-nfs/INSTALL: Likewise.
2413         * linux-nfs/KNOWNBUGS: Likewise.
2414         * linux-nfs/NEW: Likewise.
2415         * linux-nfs/README: Likewise.
2416         * linux-nfs/THANKS: Likewise.
2417         * linux-nfs/TODO: Likewise.
2418
2419         * Starting from knfsd 1.4.7.