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