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