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