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