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