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