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