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