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