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