1 2006-04-10 kwc@citi.umich.edu
2 Fix support/include/config.h.in such as would be done be running autoheader.
4 2006-03-28 NeilBrown <neilb@suse.de>
5 1.0.8-pre3, aclocal/autoconf/automake
7 2006-03-28 kwc@citi.umich.edu
8 Use PKGCONFIG to locate gssapi and rpcsecgss header files
10 Instead of having separate copies of the gssapi and rpcsecgss
11 header files, or depending on the Kerberos gssapi header,
12 locate the headers now installed with the libgssapi and librpcsecgss
15 Remove local copies of the gssapi and rpcsecgss header files.
17 This depends on the configure_use_autotools patch.
19 2006-03-28 kwc@citi.umich.edu
20 Add debugging to better detect negotiation of enctype not supported by kernel
22 Print debugging message indicating the type of encryption keys being sent
23 down to the kernel. This should make it easier to detect cases where
24 unsupported encryption types are being negotiated.
27 2006-03-28 kwc@citi.umich.edu
29 Don't close and reopen all pipes on every DNOTIFY signal.
31 From: Vince Busam <vbusam@google.com>
32 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
34 Don't unnecessarily close and re-open all pipes after every DNOTIFY
35 signal. These unnecessary closes were triggering a kernel Oops.
36 Original patch modified to correct segfault when unmounting last
39 2006-03-28 kwc@citi.umich.edu
40 Add option to specify directory to search for credentials cache files
43 From: Vince Busam <vbusam@google.com>
44 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
46 Add command line option to specify which directory should be searched
47 to find credentials caches.
50 2006-03-28 kwc@citi.umich.edu
51 Must still use knowledge of the glue context for pre-1.4 versions of MIT krb5
53 We need to get access to the internal krb5 context pointer for
54 older (pre-1.4) versions of MIT Kerberos. We get a pointer to
55 the gss glue's context. Get the right pointer before accessing
56 the context information.
59 2006-03-28 kwc@citi.umich.edu
61 Remove unused groups variable from get_ids() which was causing a compiler warning.
64 2006-03-28 kwc@citi.umich.edu
65 Update krb5 code to use glue routine lucid context functions
69 The gssd code should not know about the glue layer's context structure.
70 A previous patch added gss_export_lucid_sec_context() and
71 gss_free_lucid_sec_context() functions to the gssapi glue layer.
72 Use these functions rather than calling directly to the Kerberos
73 gssapi code (which requires the Kerberos context handle rather
74 than the glue's context handle).
78 2006-03-28 kwc@citi.umich.edu
80 Separate out context handling code for MIT Kerberos and SPKM3
84 2006-03-28 Kevin Coffman <kwc@citi.umich.edu>
85 User-selectable idmapping cache lifetime
87 Read and process new configuration option, Cache-Expiration, and use
88 the value to determine how long idmapping entries are cached.
91 2006-03-27 NeilBrown <neilb@suse.de>
94 2006-03-27 kwc@citi.umich.edu
95 Add debugging to better detect negotiation of enctype not supported by kernel
97 Print debugging message indicating the type of encryption keys being sent
98 down to the kernel. This should make it easier to detect cases where
99 unsupported encryption types are being negotiated.
102 Don't close and reopen all pipes on every DNOTIFY signal.
104 Don't unnecessarily close and re-open all pipes after every DNOTIFY
105 signal. These unnecessary closes were triggering a kernel Oops.
106 Original patch modified to correct segfault when unmounting last
110 Add option to specify directory to search for credentials cache files
112 Add command line option to specify which directory should be searched
113 to find credentials caches.
115 2006-03-27 kwc@citi.umich.edu
116 Must still use knowledge of the glue context for pre-1.4 versions of MIT krb5
118 We need to get access to the internal krb5 context pointer for
119 older (pre-1.4) versions of MIT Kerberos. We get a pointer to
120 the gss glue's context. Get the right pointer before accessing
121 the context information.
123 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
124 Remove unused variable causing compile warning
126 Remove unused groups variable from get_ids() which was causing a compiler warning.
128 2006-03-27 kwc@citi.umich.edu
129 Update krb5 code to use glue routine lucid context functions
131 The gssd code should not know about the glue layer's context structure.
132 A previous patch added gss_export_lucid_sec_context() and
133 gss_free_lucid_sec_context() functions to the gssapi glue layer.
134 Use these functions rather than calling directly to the Kerberos
135 gssapi code (which requires the Kerberos context handle rather
136 than the glue's context handle).
138 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
139 Separate out context handling code for MIT Kerberos and SPKM3
142 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
143 Consolidate gssd and svcgssd since they share much code
145 Remove directory svcgssd which was only created because the old
146 build system could not handle building two daemons in the same
147 directory. This eliminates build complications since gssd and
148 svcgssd also share many source files.
150 This patch effectively removes the utils/svcgssd directory, moving
151 all its files to the utils/gssd directory. File utils/gssd/Makefile.am
152 is modified with directions to build both gssd and svcgssd.
154 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
155 Use PKGCONFIG to locate gssapi and rpcsecgss header files
157 Instead of having separate copies of the gssapi and rpcsecgss
158 header files, or depending on the Kerberos gssapi header,
159 locate the headers now installed with the libgssapi and librpcsecgss
162 Remove local copies of the gssapi and rpcsecgss header files.
164 This depends on the configure_use_autotools patch.
166 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
167 User-selectable idmapping cache lifetime
169 Read and process new configuration option, Cache-Expiration, and use
170 the value to determine how long idmapping entries are cached.
172 2006-03-27 Steve Dickson <steved@redhat.com>
173 Set libnfsidmap library debugging level and logging function.
175 This patch adds a call to the new libnfsidmap library function
176 nfs4_set_debug(), which defines the verbosity level libnfsidmap
177 should use as well as the logging function.
179 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
180 Don't close file descriptor until after calling event_del().
182 Delete event processing for a file descriptor before closing it.
183 This was causing hangs when used in combination with libevent-1.0b.
185 2006-03-27 kwc@citi.umich.edu
186 Find krb5-config on SuSE 10
188 SuSE 10.0 puts krb5-config in yet another obscure location.
189 Look for it there and use it if found.
191 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
192 Update debian package information.
194 2006-03-27 Kevin Coffman <kwc@citi.umich.edu>
195 Install /var/lib/nfs files using DESTDIR and add rpcsec headers to distribution
197 Add "$(DESTDIR)" to the paths for the "$(statedir)" files so they are
198 put in the right place when DESTDIR is defined.
200 Add the rpcsec header files to EXTRA_DIST list.
202 2005-12-21 NeilBrown <neilb@suse.de>
203 *utils/rquotad/rquota_server.c: Detect and handle both old-style
204 (2.4) and new-style(2.6) quotactl.
205 *utils/gssd/gss_destroy_cred: remove dependence on "head -1" which
206 might need to be "head -n 1"
207 *utils/nhfsstone/nhfsrun: convert "tail -1" to "tail -n 1"
209 2005-12-20 Kevin Coffman <kwc@citi.umich.edu> NeilBrown <neilb@suse.de>
210 Substantial Makefile/configure rewrite.
211 Run 'autogen.sh' to create "Makefile.in" etc.
213 Also add -D_FILE_OFFSET_BITS=64 to CPP_FLAGS so that mountd can
214 stat and export files larger than 2Gig.
218 2005-12-20 NeilBrown <neilb@suse.de>
219 support/nfs/exports.c(getexportent): is a null host name is given,
220 replace it with '*' so we have a non-empty host name for messages
222 utils/exportfs/exportfs.man: Correct documentation about default
225 2005-12-20 Kevin Coffman <kwc@citi.umich.edu>
226 utils/gssd/gssd_proc.c(create_auth_rpc_client): Use service
227 portion of clp->servicename rather than hard-coding "nfs".
229 2005-12-16 NeilBrown <neilb@suse.de>
232 2005-12-16 Kevin Coffman <kwc@citi.umich.edu>
233 svcgssd needs -lnfs when using new function closeall().
236 Remove unused argument from nfsdopen()
238 After previous changes, the arguement to nfsdopen() has become unused.
242 Fix idmapd error reporting after call to mydaemon()
244 After call to mydaemon(), calls to err[x] and warn[x] result
245 in the message going nowhere. Change to using idmapd_*
246 versions of these routines which write to syslog.
247 Original problem reported by Vincent Roqueta <vincent.roqueta@ext.bull.net>
248 with a different patch.
251 Don't add @domain to names that cannot be mapped.
253 Per rfc3530 section 5.8: when unable to map a uid to a name, don't
254 add the @domain to the "nobody" name.
257 Fix idmapd for systems where sizeof(uid_t)!=4 and sizeof(gid_t)!=4
259 Fix conversion cases where uid_t and gid_t are not 32 bits.
262 Don't segfault because mech wasn't filled in because of an error
264 From Kevin Coffman <kwc@citi.umich.edu>
266 Initialize mech to null to avoid segfault if an error occurs
267 and mech is never returned from gss_accept_sec_context.
270 Remove use of static buffer in do_downcall
272 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
274 Dynamically allocate buffer of the correct length rather
275 than using fixed-length buffer.
278 Print better error message if rpc routine clnt_create() fails.
281 Print appropriate error messages after gss calls.
283 Print gss error messages after calls to gss functions, even if they
284 are for Kerberos only.
287 Update gssd and svcgssd to use the new gss mech glue lucid context calls.
289 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
291 Update gssd and svcgssd to use a lucid context from SPKM3 to send down
293 Update gssd and svcgssd to use the new gss mech glue lucid context calls.
294 Add configure check to see if spkm3 support is available.
297 Add support for CONTINUE_NEEDED return from gss_accept_sec_context.
299 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
301 Add CONTINUE_INIT handling to svcgssd. Store the partially complete spkm
302 context handle in the out_handle of CONTINUE_INIT messages so that it is
303 returned in the in_handle of subsequent messages.
306 Replace GSS_C_ANON_FLAG with GSS_C_MUTUAL_FLAG.
308 Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
310 Specify GSS_C_MUTUAL_FLAG rather than GSS_C_ANON_FLAG for
313 NOTE: we need a way to pass the appropriate value rather than
314 hard-coding this flag.
317 Increase size of rpc send/receive buffers
319 Change the clnt_create() to use routines which allow us to set the
320 send and receive buffer size. This is needed for larger spkm3
321 exchanges including certificate chains.
323 This has the side-effect of skipping the portmap call since
324 we specify the port (by specifying the service) when getting
325 the server's address information.
328 Define _LINUX_QUOTA_VERSION to 1
330 The rquotad code is written against the "old" kernel quota interface.
331 Fedora Core 4 is the only platform known to check for different
332 versions, so this should not have any affect on other platforms
333 and fixes the build for FC4.
337 2005-12-12 Usha Ketineni <ketineni@us.ibm.com>, NeilBrown <neilb@suse.de>
338 *support/nfs/rpcmisc.c(rpc_init): is stdin is a socket, but
339 is already connected (as e.g. from ssh), don't assume we
340 were started by inetd.
342 2005-11-03 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
343 *utils/idmapd/idmaps.c:
345 I've recently updated the nfs-utils in rawhide with the
346 latest patches from the SourceForge CVS tree and the
347 latest CITI patches (1.0.7-4).
349 In testing these patches, I notice that when the server was started
350 and a SIGHUP was sent to rpc.idmapd to open the nfs4.nametoid/channel
351 and nfs4.idtoname/channel files, the second open (the nfs4.idtoname one)
352 failed because the path (i.e. ic->ic_path) was NULL.
354 Now the reason the ic_path was NULL was because it was never set
355 during the call to nfsdopen(). nfsdopen() looks like:
358 return ((nfsdopenone(&nfsd_ic[IC_NAMEID], IC_NAMEID, path) == 0 &&
359 nfsdopenone(&nfsd_ic[IC_IDNAME], IC_IDNAME, path) == 0) ? 0
363 Note: the call to nfsdopenone() is how the path is set in each nfsd_ic[]
364 entry and nfsdopen() is only called once.
366 So when rpc.idmap comes up and the first call to nfsdopenone() fails
367 (because the server is not running) the path in nfsd_ic[IC_IDNAME] is
368 never filled in because the second nfsdopenone() never happen...
370 Now there was a CITI patche (idmapd_revert_fix_reopen_on_sighup.dif)
371 that tried to address this problem but did seem to fix it.. The
372 attached patch fix the problem by initializing both nfsd_ic[IC_IDNAME]
373 and nfsd_ic[IC_NAMEID] structures with the needed info...
374 I figured since there is no way of changing these paths or filenames
375 by command line args, why not just set them during compile time...
376 so that's what this patch does.
378 This patch also changes how nfsdreopen_one() handles the
379 case where the event has already been set. Unlike the CITI
380 patch (idmapd_revert_fix_reopen_on_sighup.dif) which just
381 just does not register the second event, my patch deletes
382 the old event and the registers the new one. It just seems like
383 the right thing to do since a SIGHUP means a new server just
384 started so we probably should create a new event as well...
388 2005-10-14 NeilBrown <neilb@suse.de>
389 *utils/mountd/cache.c(nfsd_fh): Understand type 2 and type 3
390 filesystem identifiers, which are used with device numbers
391 That don't fit into 16 bits.
393 2005-10-07 Olaf Kirch <okir@suse.de>
394 * utils/mountd/mountd.c(get_exportlist): Without this patch,
395 showmount -e would sometimes display host names that should really
396 have been subsumed under a wildcard entry.
398 The problem was that the code in get_exportlist would always
399 skip the next group entry after removing one FQDN.
401 2005-10-06 Steve Dickson <SteveD@redhat.com> NeilBrown <neilb@suse.de>
402 * support/nfs/export.c: don't warn about sync/async for readonly
404 * support/nfs/closeall.c: new file with function to close all
405 file descriptors from a give minimum upwards.
406 * nfsd/mountd/statd/idmapd/gsssvcd: use closeall.
407 * utils/mountd/mountd.c: Eliminate 3 syslog message that are
408 logged for successful events.
409 * utils/mountd/mountd.c: make sure the correct hostname is used in
410 the SM_NOTIFY message that is sent from a rebooted server which
411 has multiple network interfaces. (bz 139101)
413 Details can be found in:
414 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139101
416 *utils/idmapd/idmapd.c:Fixed subscripting problem in idmapd (bz
417 158188) This fixes the following problem:
418 rpc.idmapd: nfsdreopen: Opening '' failed: errno 2 (No such file or directory)
420 Details can be found in:
421 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158188
423 *utils/statd/statd.c(drop_privs): clear st_gid as well as st_uid
425 *utils/statd/svc_run.c(my_svc_run): remove usage of undocumented
427 *utils/statd/montor.c(sm_mon_1_svc): as above
428 *support/nfs/xlog.c(xlog): Changed xlog to use LOG_INFO instead of
429 LOG_DEBUG so debug messages will appear w/out any config changes
433 2005-09-02 Mike Frysinger <vapier@gentoo.org>
434 * utils/rquotad/rquota_server.c(getquotainfo): use explicit
435 struture-member copying rather than memcpy, as the element
436 sizes are the same on all architectures.
438 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
439 Add option to set rpcsec_gss debugging level (if available)
441 Changes to allow gssd/svcgssd to build when using Hiemdal Kerberos
442 libraries. Note that there are still run-time issues preventing
443 this from working when shared libraries for libgssapi and librpcsecgss
446 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
447 Remove the rpcsec_gss code and rely on an external library instead.
449 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
450 *utils/mountd/mountd.c:
451 mountd currently always returns AUTH_NULL and AUTH_SYS as the
452 allowable flavors in mount replies. We want it to also return gss
453 flavors when appropriate. For now as a hack we just have it always
454 return the KRB5 flavors as well.
456 *utils/mountd/cache.c:
458 When attempting to mount an NFSv4 pseudofilesystem (fsid=0) and the
459 actual exported directory does not exist on the server, rpc.mountd
460 doesn't check the directory exists (when fsidtype=1, i.e. using fsid,
461 but does check for fsidtype=0, i.e. using dev/ino). The non-existent
462 exported directory path with fsid=0 is written to the kernel via
463 /proc/net/rpc/nfsd.export/channel, which leads to path_lookup() to
464 return ENOENT (seems appropriate). Unfortunately, the new_cache
465 approach ignores errors returned when writing via the channel file so
466 that particular error is lost and the mount request is silently ignored.
468 Assuming it doesn't make sense to revamp the new_cache/up-call method to
469 not ignore returned errors, it seems appropriate to fix the case where
470 rpc.mountd doesn't check for the existence of an exported directory with
471 fsid= semantics. The following patch does this by moving the stat() up
472 so it is done for both fsidtype's. I'm not certain whether the other
473 tests need to be executed for fsidtype=1, but it doesn't appear to hurt
474 [Not exactly true: the comparison of inode numbers caused problems so
475 now it's kept for fsidtype=0 only].
477 Would it be also desirable to log a warning for every error, if any,
478 returned by a write to any of the /proc/net/rpc/*/channel files which
479 would otherwise be ignored (maybe under a debug flag)?
481 * gssd/mountd/svcgssd: Changes gssd, svcgssd, and mountd to ignore a
482 SIGHUP rather than dying.
484 * many: Remove the gssapi code and rely on an external library instead.
486 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
487 * utils/exportfs/exports.man: Document the "crossmnt" export export option
488 * utils/gssd/krb5_util.c:
489 Add better debugging and partially revert the function
490 check for gss_krb5_ccache_name.
492 For MIT Kerberos releases up to and including 1.3.1, we *must*
493 use the routine gss_krb5_ccache_name to get the K5 gssapi code
494 to use a different credentials cache.
496 For releases 1.3.2 and on, we want to use the KRB5CCNAME
497 environment variable to tell it what to use.
498 (A problem was reported where 1.3.5 was being used, our
499 code was using gss_krb5_ccache_name, but the underlying
500 code continued to use the first (or default?) credentials
501 cache. Switching to using the env variable fixed the problem.
502 I cannot recreate this problem.
504 *utils/gssd/krb5_util.c:
505 Andrew Mahone <andrew.mahone@gmail.com> reported that reiser4
506 always has DT_UNKNOWN. He supplied patch to move the check
507 for regular files after the stat() call to correctly find
508 ccache files in reiser4 filesystem.
510 Also change the name comparison so that the wrong file is
511 not selected when the substring comparison is done.
513 *utils/gssd/krb5_util.c:
514 Limit the set of encryption types that can be negotiated by
515 the Kerberos library to those that the kernel code currently
518 This should eventually query the kernel for the list of
521 *utils/gssd/gss_util.c, utils/svcgssd/svcgssd_main_loop.c:
522 Print more information in error messages to help debugging failures.
524 *utils/svcgssd/svcgssd_proc.c: Increase token buffer size and
525 update error handling so that a response is always sent.
527 *utils/svcgssd/svcgssd_proc.c: Add support to retrieve
528 supplementary groups.
531 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>
533 Consolidate some of the Kerberos checking instead of repeating
534 the same things for MIT and Heimdal.
535 Also adds more checks to distinguish 32-bit from 64-bit
536 (mainly for gssapi.h)
537 Fix svcgssd Makefile so make TOP=../../ works correctly there.
538 Enable running a modern autoheader.
539 * utils/gssd/gss_oids.c: Use correct OID value for SPKM-3
540 * utils/gssd/gss_util.c: Fix build with older MIT releases that do not define GSS_C_NT_HOSTBASED_SERVICE
541 * utils/gssd/write_bytes.h, support/include/gssapi/gssapi.h:
542 Length of gss_buffer_desc is a size_t which is 64-bits on a
543 64-bit machine. Kernel code expects 32-bit integer for length.
544 Coerce length value into a 32-bit value when reading from or
545 writing to the kernel.
546 Change gssapi.h to use datatype size values obtained from
547 configure rather than hard-coded values.
548 * utils/idmapd/idmapd.c: The EV_INIT check here was wrong, and was
549 causing idmapd to become unresponsive to server requests after
551 * utils/idmapd/idmapd.c: Idmapd should flush the server id<->name
552 caches when its started.
554 2005-04-12 G. Allen Morris III <gam3@gam3.net>
556 * All Makefile: added TOP as needed for easier compile.
558 * utils/nfsstat/nfsstat.c: added NFS V4 support; added the -m
559 option; Added -2, -3, and -4 options; changed -a option to -v
560 option; added long options; changed default output to not
561 show V2 NFS statistics unless used.
563 * utils/nfsstat/nfsstat.man: Documented above changes; changed
564 authors email address; added BUGS section.
566 2005-04-07 Chip Salzenberg <chip@pobox.com>
568 * debian/changelog: Version 1.0.7-2.
570 2005-04-06 Chip Salzenberg <chip@pobox.com>
572 * config.guess, config.sub: Update.
574 * support/rpc/svc_auth_gss.c (_svcauth_gss): Avoid using a cast as
575 an lvalue, as it is non-portable.
577 * support/nfs/exports.c (parseopts): Accept "acl" option to mean
578 ~NFSEXP_NOACL, and "no_acl" to mean NFSEXP_NOACL.
579 (putexportent): Report NFSEXP_NOACL as "no_acl", and ~NFSEXP_NOACL
581 * utils/exportfs/exportfs.c (dump): Report NFSEXP_NOACL as
583 * utils/exportfs/exports.man: Document "no_acl".
585 2005-03-14 NeilBrown <neilb@cse.unsw.edu.au>
586 Denis Vlasenko <vda@ilport.com.ua>
587 * support/export/client.c(client_init and client_gettype):
588 treat N.N.N.N as a special case of MCL_SUBNETWORK instead of
591 2005-03-06 G. Allen Morris III <gam3@gam3.net>
592 * support/nfs/cacheio.c(readline): Could not read lines greater
593 than 128 bytes. [1157791]
594 * utils/exportfs/exports.man: Added a SEE ALSO section and
595 fixed 2 typos. [1018450]
597 2005-02-28 Trond Myklebust <trond.myklebust@fys.uio.no>
598 * utils/statd/rmtcall.c(statd_get_socket): If a port number is
599 explicitly given, make sure to try to bind to that.
601 2005-01-11 Chip Salzenberg <chip@pobox.com>
603 * debian/changelog: Version 1.0.7-1.
604 * debian/nfs-common.default (NEED_IDMAPD, NEED_GSSD):
605 Disable by default, on advice of upstream.
606 * debian/nfs-kernel-server.default (NEED_SVCGSSD):
609 * utils/svcgssd/Makefile (predep): Symbolically link duplicated
611 (distclean): Remove symlinks to duplicated files.
613 2004-12-17 NeilBrown <neilb@cse.unsw.edu.au>
616 * config.mk, configure.in: update version number, run autoconf
617 * configure.in: require nfsidmap.h if gss is enabled.
619 2004-12-10 NeilBrown <neilb@cse.unsw.edu.au>
622 * config.mk, configure.in: update version number, run autoconf
624 2004-12-10 Neil Brown <neilb@cse.unsw.edu.au>
625 * README : note dependancy on kerberos, libevent, and nfsidmap
626 * configure.in : fail if --enable-nfsv4 and libevent or
627 libnfsidmap are missing.
628 * configuyre.in: improve message if krb5 support is missing
630 2004-12-06 Paul Clements <paul.clements@steeleye.com>
631 * support/include/ha-callout.h: get return status from waitpid
633 * support/include/ha-callout.h: don't ignore SIGCHLD while waiting
634 for a callout to complete.
635 * utils/statd/statd.c(sigusr): print current start when re-reading
636 notify list due to SIGUSR1
637 * utils/statd/svc_run.c(my_svc_run): call change_state when
638 re-notifying clients.
640 2004-12-06 Marc Eshel <eshel@almaden.ibm.com>
641 * utils/statd/svc_run.c(my_svc_run): allow loop to exit when in
643 *utils/statd/rmtcall.c(statd_get_socket): if a hostname is given
644 to statd with -n, prefer it's IP address to the default for
647 2004-12-06 Bruce Allan <bwa@us.ibm.com>
648 * utils/mountd/auth.c(auth_reload) Clear the "my_client" cache on
649 an auth_reload to avoid old data getting used.
651 2004-12-03 NeilBrown <neilb@cse.unsw.edu.au>
652 Release 1.0.7-pre1 for testing
654 * config.mk, configure.in: update version number, run autoconf
656 2004-12-03 Trond Myklebust <trond.myklebust@fys.uio.no>
658 * utils/statd/statd.c(main): ignore SIGPIPE
660 2004-11-22 "J. Bruce Fields" <bfields@fieldses.org>
662 * tools/rpcdebug/rpcdebug.c: support aliases "nfsdebug" and
663 "nfsddebug" and update flag names.
664 * configure.in, nodist/* redhat/* nfs-utils.spec*: remove redhat
665 specific files (as no-one actually uses them, especially not
666 redhat), and the nodist /etc files (as they drift out-of-date, and
667 the debian directory provides a suitable example.
668 * utils/svcgssd_proc.c(get_ids): fix memory leak
669 * utils/svcgssd/svcgssd_proc.c: Rely on count of the number of
670 groups instead of using a special guard value to identify the end
672 * utils/idmapd/idmapd.c: don't allow Default domain and anon-uid
673 or -gid to be specified on command line.
674 * utils/idmapd/idmapd.c: improve error messages
675 * utils/idmapd/idmapd.c: Reopen nfsd files on sighup. Allows us
676 to start up client side only (even when nfsd module not loaded),
677 and then sighup later after insmodding nfsd module.
678 * utils/idmapd/idmapd.c: Make sure we catch all errors on
679 daemonizing by waiting for child to report succesfull startup
681 * utils/idmapd/idmapd.c: Let libnfsidmapd parse the idmapd.conf
682 file for the default domain, instead of doing that ourselves.
683 * utils/gssd/gssd_proc.c: Make sure we get an error when a gssd
685 * utils/gssd/gssd_proc.c: We were forgetting to restore the euid
686 on certain failures, which meant gssd could get stuck in a state
687 where it didn't have permissions to read the files in rpc_pipefs
689 * utils/gssd/gssd_proc.c: Use libnfsidmapd to map gss principals
691 * debian/nfs-kernel-server.default: Document the NEED_SVCGSSD
692 variable in /etc/default/nfs-kernel-server.
695 2004-11-22 NeilBrown <neilb@cse.unsw.edu.au>
697 * utils/exportfs/nfsd.man: corrected typo in .BR macro usage -
698 reported by Eric Raymond
700 2004-10-19 "J. Bruce Fields" <bfields@fieldses.org>
702 * support/gssapi/* support/rpc/* utils/gssd/* utils/svcgssd/* etc
703 initial support for GSSAPI authentication
705 2004-09-15 Neil Brown <neilb@cse.unsw.edu.au>
707 * utils/statd/monitor.c(sm_unmon_1_svc): is RESTRICTED_STATD, then
708 check IP address and force my_name to 127.0.0.1 to match
709 what happens in sm_mon_1_svc. This avoid spurious "erroneous
711 * utils/statd.monitor.c(sm_unmon_all_1_svc): likewise
713 2004-09-15 "J. Bruce Fields" <bfields@fieldses.org>
715 * Assorted changes to support "gss/*" style authentication
716 * utils/idmapd: new idmapd daemon for nfsv4 username lookup
718 2004-09-06 Trond Myklebust <trond.myklebust@fys.uio.no>
719 Neil Brown <neilb@cse.unsw.edu.au>
721 * utils/mountd/auth.c(auth_authenticate_internal): fix
722 uninitialsed variable problem (causes bad error messages).
724 2004-09-06 Paul Clements <paul.clements@steeleye.com>
725 Neil Brown <neilb@cse.unsw.edu.au>
727 * utils/mountd/mountd.c(main): support --ha-callout (-H) for
728 specifying a callout program
729 * utils/mountd/rmtab.c: Call ha_callout on mount/unmount
730 * utils/statd/monitor.c: Call ha_callout on add/del client
731 * utils/statd/rmtcall.c: as above
732 * utils/statd/statd.c: handle --ha-callout (-H)
733 * utils/statd/svc_run.c: call notify_hosts is we have received a
735 * support/include/ha-callout.h: define ha_callout function
738 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
739 * utils/mountd/cache.c(cache_process_req): clear fd after
740 processing so as not to confused libc/sunrpc into thinking
741 it need to do something with that fd.
743 2004-08-31 NeilBrown <neilb@cse.unsw.edu.au>
745 * debian/nfs-kernel-server.init(start,stop) mount the nfsd
746 filesystem, if available, before starting nfs services, and
747 unmount it afterwards.
748 * etc/nodist/nfs-server: ditto
749 * etc/redhat/nfs.init: likewise
750 * etc/redhat/nfs: add "MOUNT_NFSD" flag to control above.
752 2004-06-08 NeilBrown <neilb@cse.unsw.edu.au>
754 * utils/exportfs/exportfs.c: Don't rmtab_read if new_cache, it
756 * support/nfs/cacheio.c(cache_flush): Change order in which caches
757 are flushed so that dependancies don't keep things in the cache
760 2004-03-18 Chip Salzenberg <chip@pobox.com>
762 * debian/changelog: Version 1.0.6-2.
764 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
765 from "J. Bruce Fields" <bfields@fieldses.org>
767 * utils/mountd/cache.c: call auth_reload to make sure auth data is
768 current before responding to kernel upcall.
770 2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
771 Based on patch from Greg Banks <gnb@melbourne.sgi.com>
773 * utils/exportfs/exports.man: Document fsid= option.
775 2003-09-15 NeilBrown <neilb@cse.unsw.edu.au>
779 * rules.mk: Add dep: rule when no OBJS, so "make dep" works in
780 support/include, and depend in "predep"
781 * support/export/Makefile, tools/rpcgen/Makefile,
782 utils/statd/Makefile: add "predep" rule so that "make dep" works.
783 * Makefile: allow a simple "make" to run ./configure and "make dep"
785 * configure.in, nfs-utils.spec: Update version to 1.0.6
788 2003-09-12 Chip Salzenberg <chip@pobox.com>
790 * debian/changelog: Version 1.0.6-1.
792 2003-09-12 NeilBrown <neilb@cse.unsw.edu.au>
794 * utils/mountd/mountd.c(main): Impose FD_SETSIZE as an upper limit
796 * utils/statd/statd.c(main): Ditto.
798 michael <michael@newdream.net> discovered that svc_setreqsize
799 in glibc can segfault if RLIMIT_NOFILE is bigger than
800 FD_SETSIZE, so a simple solution is to impose a hard limit.
802 2003-09-09 Chip Salzenberg <chip@pobox.com>
804 * debian/changelog: Version 1.0.5-3.
805 * support/export/hostname.c (get_reliable_hostbyaddr): Fix crash
806 on invalid reverse DNS.
807 * utils/showmount/showmount.c (main): Fix inet_ntoa() parameter.
808 * tools/rpcgen/rpc_cout.c (print_header): Remove unused vars.
809 * tools/rpcgen/rpc_parse.c (def_union): Likewise.
811 2003-08-22 Chip Salzenberg <chip@pobox.com>
813 * utils/statd/{log.h,log.c}: Rename log() to note() and L_* to
814 N_*, to avoid conflict with ISO C built-in log() function.
815 * utils/statd/*.c: Use note().
817 2003-08-20 Chip Salzenberg <chip@pobox.com>
819 * debian/changelog: Version 1.0.5-2.
821 2003-08-11 NeilBrown <neilb@cse.unsw.edu.au>
823 * utils/mountd/cache.c(cache_get_filehandle): close the filehandle
826 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
828 * support/include/nfs/export.h, support/nfs/exports.c,
829 utils/exportfs/exports.c, utils/mountd/mountd.c: change
830 NFSEXP_CROSSMNT to NFSEXP_CROSSMOUNT to avoid confusion with older
831 meaning. Also remove meaningless
832 NFSEXP_{UIDMAP,KERBEROS,SUNSECURE}
834 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
836 * support/export/xtab.c, support/include/nfslib.h,
837 support/nfs/cacheio.c, support/nfs/nfssvc.c,
838 utils/exportfs/exportfs.c, utils/exportfs/exportfs.man,
839 utils/exportfs/nfsd.man, utils/mountd/cache.c: support
840 /proc/fs/nfsd/* as a perferred alternate to /proc/fs/nfs/*
841 (nfs-utils-1.0.5-post2)
843 2003-08-04 NeilBrown <neilb@cse.unsw.edu.au>
845 * support/nfs/nfsexport.c: open channel file O_WRONLY when
847 * utils/mountd/cache.c: maintain mountlist when new_cache is
848 active. Also use O_WRONLY for channel files.
849 * utils/mountd/mountd.h: mountlist_{del,add} now take a host name
850 rather than an nfs_export.
851 * utils/mountd/rmtab.c: ditto.
852 (nfs-utils-1.5.0-post1)
854 2003-07-24 Chip Salzenberg <chip@pobox.com>
856 * support/nfs/xlog.c (xlog): Revise buffer-overflow fix to
857 use Debian security team's cleaner approach.
858 * debian/changelog: Version 1.0.5-1.
859 * debian/nfs-kernel-server.init: Cosmetic changes.
861 2003-07-18 NeilBrown <neilb@cse.unsw.edu.au>
864 1.0.4 was a bit of a brown-paper-bag-release because of the extra
865 'free' in auth.c. So I'm releasing this just a few days later.
867 * support/nfs/cacheio.c(cache_flush): Correct test for 'open
869 * utils/exportfs/exportfs.c(main): If "-f" given as lone option,
870 check if new_cache is enabled, error if not, flush and exit if it
872 * utils/exportfs/exportfs.man: Explain -f option and explain the
873 two different modes that exportfs can work in.
874 * utils/mountd/mountd.c: Do not change RLIMIT_NOFILE if the -o
876 * utils/mountd/mountd.man: Record the change if default behaviour
878 * configure.in, nfs-utils.spec: update version to 1.0.5 and
881 2003-07-15 NeilBrown <neilb@cse.unsw.edu.au>
883 * utils/mountd/mountd.c(main): getopt string fix for 'o'
884 * utils/mountd/auth.c(auth_authenticate): remove extra 'free'
885 * utils/exportfs/exportfs.c(main): make 'exportfs -f' just flush
887 * support/include/nfs/export.h: Reserve a bit for possible ACL
890 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
892 * utils/exportfs/nfsd.man: new man page for nfsd filesystem. Also
893 assorted changed to cope with section 7 of the manual.
894 * configure.in, nfs-utils.spec: Update version to 1.0.4
897 This is a 'pre-release' for 1.1.0 Hopefully 1.1.0 will be the
898 baseline for 2.6 and 2.8. I.e. it should continue to work right
899 through the 2.8 (or 3.0) kernel series. Previous releases wont.
901 2003-07-04 NeilBrown <neilb@cse.unsw.edu.au>
902 Steve Dickson <SteveD@redhat.com>
905 * utils/statd/statd.c: create a pidfile with pid of statd, and
906 truncate it when statd exists.
907 * utils/statd/statd.c: drop privs by setuid to owner of SM_DIR,
908 and warn if this is root.
909 * utils/statd/statd.c: when statd forks, connect child to parent
910 with a pipe, and send a byte down the pipe once the child is
912 * Makefile: create and chown sm, sm.bak, state when "make install"
913 * configure.in: add --with-statduser= option which defaults to
914 "rpcuser" or "nobody"
915 * config.mk.in: pass "statduser" through to Makefile
917 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
919 * support/include/nfs/nfs.h: Make sure correct __kernel_dev_t is
920 used as the size was changed somewhere in 2.5.60-2.5.70. Without
921 this nfs-utils compiles against 2.6 headers will not work on a
924 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
926 * support/nfs/nfssvc.c(nfssvc): If /proc/fs/nfs/threads exists,
927 set number of threads by writing to there. This means it will
928 still work when the syscall interface goes away in 2.7.
930 2003-07-03 NeilBrown <neilb@cse.unsw.edu.au>
931 fumihiko kakuma <kakmy@mvh.biglobe.ne.jp>
933 * utils/exportfs/exportfs.c(unexportfs): improve host comparison
934 so as to only export the wildcard exports that were asked for.
935 * support/export/export.c(export_allowed): changed to return the
936 nfs_export rather than a "struct exportent", as m_changed is
938 * support/export/rmtab.c(rmtab_read): modified to deal with
939 interface change for export_allowed(), and enhanced to preserve
940 m_changed flag when a wild-card export causes the creation of
941 a non-wildcard export.
943 2003-07-02 NeilBrown <neilb@cse.unsw.edu.au>
944 Steve Dickson <SteveD@redhat.com>
946 * utils/mountd/mountd.man: Add valid kinds of debugging.
947 * utils/mountd/mountd.c(main): ignore SIGPIPE
948 * utils/nfsstat/nfsstat.c: fine-tune printing of warning so
949 we don't get warnings about unavailable stats that weren't asked
952 2003-06-24 NeilBrown <neilb@cse.unsw.edu.au>
954 * support/nfs/nfsexport.c(exp_unexp): When unexporting filesystems
955 via /rpc/net/rpc/nfsd*/channel, set the expiry date to 1, not
956 'forever', so things disappear out of the cache rather than just
959 2003-06-16 "J. Bruce Fields" <bfields@fieldses.org>
961 * utils/mountd/cache.c(nfsd_fh): don't export the export_ent
964 2003-06-16 NeilBrown <neilb@cse.unsw.edu.au>
966 * debian/nfs-kernel-server.init,etc/nodist/nfs-server,
967 etc/redhat/nfs.init: when checking if V3 is supported, make sure
968 nfs server 'knows' about 127.0.0.1 first.
970 2003-06-10 Chip Salzenberg <chip@pobox.com>
972 * support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug.
973 * debian/changelog: Version 1.0.3-2.
975 2003-05-30 Michael Griffith <grif@michaelgriffith.com>
976 NeilBrown <neilb@cse.unsw.edu.au>
978 utils/nfsstat/nfsstat.c(print_callstats): use unsigned
979 long long to avoid overflow when printing stats.
981 2003-05-30 NeilBrown <neilb@cse.unsw.edu.au>
983 * support/export/export.c, support/include/nfslib.h,
984 support/nfs/export.c, utils/exportfs/exportfs.c,
985 utils/mountd/mountd.c: new export option "mountpoint"
986 If no path is given, then the export point must be a
987 mount point, or it won't be exported. If a path is
988 given (e.g. mountpoint=/path) then that path must be
989 a mountpoint or the exportpoint won't be exported.
990 * utils/exportfs/exportfs.man: document mountpoint option.
991 * support/misc/mountpoint.c: New file with is_mountpoint()
992 to determine if something is a mountpoint.
994 2003-05-23 NeilBrown <neilb@cse.unsw.edu.au>
996 * utils/mountd/cache.c(cache_get_filehandle): take a separate path
997 argument as we might not be getting the filehandle for the
999 * utils/mountd/mountd.c(get_rootfh): pass real path when calling
1000 cache_get_filehandle.
1001 * utils/mountd/mountd.c(get_rootfh): check export point and
1002 requested directory are on the same filesystem, and complain if
1005 2003-05-22 NeilBrown <neilb@cse.unsw.edu.au>
1007 * utils/mountd/auth.c(auth_authenticate_internal): make sure
1008 portnumber is still checked when using new cache lookup.
1010 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
1012 * utils/exportfs/exportfs.c: Use check_new_cache and cache_flush
1013 Don't actually talk to kernel when new cache is in effect, except
1015 * utils/exportfs/exportfs.c: add -f option to fully flush cache.
1016 * support/export/xtab.c: Only rename new xtab into place if it has
1017 changed, thus preserving modify date for exportfs to use when
1019 * support/nfs/cacheio.c: Add cache_flush
1020 * support/export/xtab.c: Only rename new xtab into place if it has
1021 changed, thus preserving modify date for exportfs to use when
1024 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
1026 * support/export/client.c: Add client_compose, client_member to
1027 handle new composite client names
1028 * support/include/exportfs.h: Declare above functions.
1029 * utils/mountd/auth.c: use client_compose to determine calling
1030 client if new cache is being used.
1031 * utils/mountd/auth.c: call cache_export to export a filesystem if
1032 new_cache, check if new cache is used, and call my_svc_run instead
1034 * utils/mountd/svc_run.c: new file defining my_svc_run
1035 * utils/mountd/cache.c: new file for handling cache upcalls.
1036 * support/nfs/cacheio.c(check_new_cache): new function to check if
1037 new cache should be used.
1040 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
1042 * support/include/nfs/export.h: New CROSSMNT distinct from NOHIDE
1043 * support/nfs/exports.c: Make CROSSMNT distinct from NOHIDE
1044 * utils/exportfs/exportfs.c(dump): ditto
1046 2003-05-21 NeilBrown <neilb@cse.unsw.edu.au>
1048 * support/export/hostname.c(get_reliable_hostbyaddr): new function
1049 to get host name from address with full checking of authenticity.
1050 * support/include/misc.h: declare above function
1051 * utils/mountd/auth.c(auth_authenticate_internal): remove all
1052 logic for authenticating address.
1053 * utils/mountd/auth.c(auth_authenticate): call new
1054 get_reliable_hostbyaddr to to hostname lookup before calling _internal.
1057 2003-03-30 NeilBrown <neilb@cse.unsw.edu.au>
1059 * tools/rpcgen/rpc_main.c(find_cpp): removed
1060 * tools/rpcgen/rpc_main.c(open_input): use execvp to find "cpp",
1061 then try hard-coded paths.
1063 2003-03-26 Chip Salzenberg <chip@pobox.com>
1065 * debian/changelog: Version 1.0.3-1.
1067 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
1069 * utils/mountd/rmtab.c (slink_safe_rename): real_newpath should be
1070 "const char*", not "char*".
1072 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
1074 * configure.in (VERSION): Set to "1.0.3".
1075 * nfs-utils.spec: Likewise.
1076 * configure: Regenerated.
1078 2003-03-26 NeilBrown <neilb@cse.unsw.edu.au>
1080 * support/nfs/cacheio.c: New File - support for read/writing
1081 to export cache in /proc/rpc/*/channel
1082 * support/nfs/Makefile: compile cacheio.c
1083 * support/include/nfslib.h: declare cacheio.c functions
1084 * support/nfs/nfsexport.c: export and unexport through
1085 /proc/rpc/*/channel if possible, as old syscall interface
1086 may not survive into 2.6 on all architectures.
1088 2003-02-19 NeilBrown <neilb@cse.unsw.edu.au>
1089 Ben Leslie <benno@sesgroup.net>
1091 * support/nfs/rpcmisc.c(rpc_init): change test for ignoring
1092 "defport" from (__rpcfdtype == 0) to (__rpcpmstart==0). The
1093 former would incorectly ignore defport if the application
1094 explicitly set __rpcfdtype. The later is sufficient to avoid the
1095 special handling in the case where stdin is an internet socket.
1097 * utils/mountd/mountd.c(main): Add 'n' to option list in
1098 getopt_long as this is a short form of --no-tcp which want being
1101 2003-02-12 Chip Salzenberg <chip@pobox.com>
1103 * debian/changelog: Version 1.0.2-2.
1105 2002-11-27 Chip Salzenberg <chip@pobox.com>
1107 * utils/mountd/rmtab.c (slink_safe_rename): Fix off-by-one buffer
1108 overflow bug. Reformat per rest of source file.
1110 2002-11-19 NeilBrown <neilb@cse.unsw.edu.au>
1112 * utils/exportfs/exports.man: Correct notes about whether the wild
1113 card characters match a period. They do.
1115 2002-10-15 Juan Gomez <juang@us.ibm.com>
1117 * utils/mountd/rmtab.c (slink_safe_rename): New. Support
1119 (mountlist_add): Call slink_safe_rename instead of rename.
1121 2002-10-11 H.J. Lu <hjl@lucon.org>
1123 * support/include/exportfs.h (export_errno): New.
1125 * support/nfs/exports.c: Include <errno.h>.
1126 (export_errno): New.
1127 (getexportent): Set export_errno to EINVAL for bad option.
1128 (parseopts): Likewise.
1129 Report the location of the default sync/async option.
1131 * utils/exportfs/exportfs.c (main): Initialize export_errno to
1132 0. Return export_errno.
1134 2002-10-11 Juan Gomez <gomez@cs.sjsu.edu>
1135 NeilBrown <neilb@cse.unsw.edu.au>
1137 utils/statd/statd.c(killer): don't pmap_unset if in notify_only mode
1138 utils/statd/statd.c(main): don't pmap_unset if in notify_only mode
1140 2002-09-16 Chip Salzenberg <chip@pobox.com>
1142 * utils/rquotad/rquota_svc.c (main): Use int for value of getopt.
1144 2002-09-15 Chip Salzenberg <chip@pobox.com>
1146 * support/nfs/rpcmisc.c (rpc_init): Allow stdin to be a non-INET
1147 socket, as occurs when run from sshd.
1148 * debian/changelog: Version 1.0.2-1.
1150 2002-09-12 H.J. Lu <hjl@lucon.org>
1152 * support/nfs/svc_socket.c: Remove HAVE_SVCTCP_SOCKET and
1155 2002-09-12 H.J. Lu <hjl@lucon.org>
1157 * configure.in: Remove checking svctcp_socket and svcudp_socket.
1158 * configure: Regenerated.
1160 * support/include/config.h.in (HAVE_SVCTCP_SOCKET): Removed.
1161 (HAVE_SVCUDP_SOCKET): Removed.
1163 * support/include/nfslib.h: Undo the last change.
1165 2002-09-12 H.J. Lu <hjl@lucon.org>
1167 * support/include/nfslib.h (svctcp_socket): Protect it with
1169 (svcudp_socket): Protect it with HAVE_SVCUDP_SOCKET.
1171 2002-09-12 H.J. Lu <hjl@lucon.org>
1173 * configure.in (VERSION): Set to "1.0.2".
1174 * configure: Regenerated.
1175 * nfs-utils.spec: Likewise.
1177 2002-09-12 H.J. Lu <hjl@lucon.org>
1179 * configure.in: Check svctcp_socket and svcudp_socket.
1180 * configure: Regenerated.
1182 * support/include/config.h.in (HAVE_SVCTCP_SOCKET): New.
1183 (HAVE_SVCUDP_SOCKET): New.
1185 * support/include/nfslib.h (svctcp_socket): New.
1186 (svcudp_socket): New.
1188 * support/nfs/Makefile (OBJS): Add svc_socket.o.
1190 * support/nfs/svc_socket.c: New.
1192 * support/nfs/rpcmisc.c (rpc_init): Call svctcp_socket and
1193 svcudp_socket if port is unspecified.
1195 * utils/nfsd/nfsd.c (main): Call getservbyname for port.
1197 * utils/rquotad/rquota_svc.c: Include <nfslib.h>.
1198 (killer): New. Signal handler to unregister.
1199 (main): Use killer. Call svcudp_socket to get the default
1202 2002-09-02 Juan Gomez <juang@us.ibm.com>
1203 NeilBrown <neilb@cse.unsw.edu.au>
1205 Add -N option to statd to run in notify-only mode.
1207 * utils/statd/statd.h: uncomment MODE_NOTIFY_ONLY
1208 * utils/statd/statd.man: document -N
1209 * utils/statd/statd.c: enabled -N, largely exists but needed to be
1210 uncommented and completed
1212 2002-09-02 Juan Gomez <juang@us.ibm.com>
1213 NeilBrown <neilb@cse.unsw.edu.au>
1215 statd to have " -P directory" arg to use that directory instead
1216 of /var/lib/nfs. This is useful for fail-over clusters.
1218 * utils/statd/statd.h: define SM_DIR etc as var, not const.
1219 * utils/statd/statd.c: define "-P" option to set SM_*
1221 * utils/statd/monitor.c: sprintf to cope with SM_DIR not being
1222 a constant any more.
1223 * utils/statd/notify.c: ditto.
1224 * utils/statd/statd.man: document -P option.
1226 2002-08-26 Chip Salzenberg <chip@pobox.com>
1228 * utils/nfsd/nfsd.man: Fix typo.
1229 * debian/changelog: Version 1.0.1-1.
1231 2002-05-29 NeilBrown <neilb@cse.unsw.edu.au>
1233 * let parseopts know if /etc/exports was being read or not,
1234 and have it only print "no sync or async" warning in that case.
1236 2002-05-06 Tom McNeal <trmcneal@attbi.com>
1237 NeilBrown <neilb@cse.unsw.edu.au>
1239 * utils/nfsstat/nfsstat.c: Handle differing format for
1240 /proc/net/rpc/nfsd between pre and post 2.4.0
1242 2002-04-09 NeilBrown <neilb@cse.unsw.edu.au>
1243 James Pearson <james-p@moving-picture.com>
1245 * support/nfs/rmtab.c(fendrmtabent): sync changes to
1246 storage before returning, as this is critical state
1248 2002-04-08 Sean O'Connell <sean@ee.duke.edu>
1249 H.J. Lu <hjl@lucon.org>
1251 * etc/redhat/nfs: New.
1253 2002-04-08 H.J. Lu <hjl@lucon.org>
1255 * etc/redhat/nfs.init: Updated.
1257 * nfs-utils.spec.in: Updated.
1258 * nfs-utils.spec: Regenerated.
1260 * utils/mountd/mountd.c (longopts): Fix a typo.
1262 * utils/mountd/mountd.man: Updated.
1264 2002-04-07 H.J. Lu <hjl@lucon.org>
1266 * etc/redhat/nfslock.init (restart): Just do stop and start.
1268 * etc/redhat/nfs.init: Fix a typo.
1270 2002-04-07 H.J. Lu <hjl@lucon.org>
1272 * configure.in (VERSION): Set to "1.0.1".
1273 * configure: Regenerated.
1274 * nfs-utils.spec: Likewise.
1276 * README: Updated for 1.0.1.
1278 2002-04-07 Sean O'Connell <sean@ee.duke.edu>
1279 H.J. Lu <hjl@lucon.org>
1281 * etc/redhat/nfs.init: Read /etc/sysconfig/nfsd for NFS tuning.
1283 2002-02-28 Steven Whitehouse <steve@gw.chygwyn.com>
1284 NeilBrown <neilb@cse.unsw.edu.au>
1286 Add support for fsid=nn export option so that device
1287 numbers don't go in filehandles.
1288 * support/export/nfsctl.c(expsetup): if exporting and NFSEXP_FSID
1289 is set, pass the fsid in-place of the device number
1290 * support/nfs/exports.c: parse and print fsid= option.
1291 Also check if efname has been set, and use "command line"
1292 instead in error messages.
1293 Also, use strtol instead of atoi for anon[ug]id= so that
1294 bad numbers cause errors.
1296 2002-01-17 Adrian Drzewiecki <drze@MissionCriticalLinux.com>
1297 NeilBrown <neilb@cse.unsw.edu.au>
1299 * support/nfs/exports.c: remove NFSEXP_ASYNC as a default
1300 flag so that "sync" becomes the default.
1301 Check that either "sync" or "async" is given as an option
1302 and warn if neither are present
1303 * utils/exportfs/exports.man: change documentation for "sync"
1304 to be documentation for "async".
1305 * utils/exportfs/exportfs.man: note that "sync" is the default
1309 2002-01-02 Chip Salzenberg <chip@pobox.com>
1311 * support/export/nfsctl.c (expsetup): Don't export entries that
1312 specify id mappings not supported by the kernel. No extant kernel
1313 supports any significant mapping, only 'identity' (i.e. none).
1314 When other mappings are supported, this code will need changing.
1315 * debian/changelog: Version 1.0-2.
1317 2001-12-26 Chip Salzenberg <chip@pobox.com>
1319 * nfs-utils.spec (Version): Set to "1.0".
1320 * configure.in (VERSION): Likewise.
1321 * configure: Regenerated.
1322 * README: Rewritten.
1323 * debian/changelog: Version 1.0-1.
1325 * utils/exportfs/exports.man: Emphasize the need for options to
1326 immediately follow client names. Explain that wildcards don't
1327 usually work on addresses, but may work when reverse DNS fails.
1328 Comment out a leftover TP that was TPing our indentation.
1329 * utils/mountd/mountd.man, utils/rquotad/rquotad.man,
1330 utils/statd/statd.man: Remove refs to non-existent "hosts_allow(5)".
1331 * debian/changelog: Version 0.3.3-6.
1333 2001-12-20 NeilBrown <neilb@cse.unsw.edu.au>
1335 * support/export/client.c(client_lookup): If a host has multiple
1336 IP addresses, then we must always use the result of a
1337 gethostbyname, not that of gethostbyaddr for exporting
1339 2001-12-20 NeilBrown <neilb@cse.unsw.edu.au>
1341 * support/export/client.c (client_lookup): use strcasecmp when
1342 comparing host names
1343 * support/nfs/export.c (getexportent): add fromkernel arg and use
1344 different defaults as kernels prior to 2.4.11 assume different
1345 defaults in /proc/fs/nfs/exports
1346 * support/include/nfslib.h, support/export/export.c,
1347 support/export/xtab.c: support extra "fromkernel" arg for
1350 2001-12-13 Chip Salzenberg <chip@pobox.com>
1352 * debian/changelog: Version 0.3.3-5.
1354 2001-11-26 TAKAI Kousuke <takai@vlsi.kuee.kyoto-u.ac.jp>
1356 * support/nfs/xio.c (xskip): Call `xungetc' instead of
1357 `ungetc' to keep x_line more properly.
1359 2001-11-26 Chip Salzenberg <chip@pobox.com>
1361 * utils/showmount/showmount.c (main): Don't assume that strings
1362 starting with digits are IP addresses.
1363 * utils/nfsd/nfsd.c (main): Close all fds and reopen 0,1,2 on
1364 /dev/null before nfssvc(). Use syslog to report nfssvc errors.
1365 * support/misc/tcpwrapper.c, utils/mountd/mountd.man,
1366 utils/rquotad/rquotad.man, utils/statd/statd.man: Fix comments and
1367 man pages: We check host names *and* addresses with tcpwrappers.
1368 * debian/changelog: Version 0.3.3-4.
1370 2001-11-21 Chip Salzenberg <chip@pobox.com>
1372 * support/nfs/clients.c (cfname): Added: current clients file name.
1373 (setnfsclntent): Set it.
1374 ({get,end}nfsclntent, syntaxerr): Use it.
1375 * support/nfs/exports.c (efname): Added: current exports file name.
1376 (setnfsexportent): Set it.
1377 (endnfsexportent, parseopts, getexport, syntaxerr): Use it.
1378 (parseopts): Accept old-style "crossmnt" option, for old xtabs.
1379 * debian/changelog: Version 0.3.3-3.
1381 2001-10-11 Chip Salzenberg <chip@pobox.com>
1383 * utils/mountd/mountd.c (main): Close fds > 2 _before_ RPC init.
1384 * debian/changelog: Version 0.3.3-2.
1386 2001-10-08 Chip Salzenberg <chip@pobox.com>
1388 * utils/mountd/mountd.c (main): When daemonizing, close all fds > 2.
1389 * utils/Makefile.in: Remove old Makefile in target 'distclean'.
1390 * utils/mountd/mountd.man: Update paths to /var/lib.
1391 * debian/*: Version 0.3.3-1, with Debian-specific fixes.
1393 2001-10-06 Preston Brown <pbrown@redhat.com>
1395 * utils/nfsstat/nfsstat.man: Updated.
1397 2001-09-24 H.J. Lu <hjl@lucon.org>
1399 * configure.in (VERSION): Set to "0.3.3".
1400 * configure: Regenerated.
1401 * nfs-utils.spec: Likewise.
1403 * README: Updated for 0.3.3.
1405 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
1407 Arrange that "exportfs -au" never does DNS lookup:
1409 * support/export/client.c (client_lookup) : add "canonical"
1410 flag which says that the hostname is known to be canonical, so
1413 * support/export/export.c (export_create) : add "canonical"
1414 flag to be passed down to client_lookup
1415 * support/export/export.c (export_lookup) : Likewise
1417 * support/export/xtab.c (xtab_read) : pass appropriate
1418 "canonical" flag to export_lookup and export_create:
1419 set if reading list of filesystems currently exports
1422 * support/export/export.c (export_read) : pass 0 as
1423 "canonical" flag to export_lookup and export_create
1424 * support/export/rmtab.s (rmtab_read) : Likewise
1426 * support/include/exportfs.h : redeclare various routines
1427 to have "canonical" flag
1429 * utils/exportfs/exportfs.c (main) : redo logic for
1430 "-au" to read in what is currently exported, but never even
1431 look at what "should" be exported.
1433 * utils/exportfs/exportfs.c (unexportall) : remove this
1434 routine. Functionality is completely included in
1437 * utils/exportfs/exportfs.c (exportfs) : set "canonical"
1438 flag to zero in calls to export_lookup and export_create.
1441 2001-09-20 NeilBrown <neilb@cse.unsw.edu.au>
1442 Anne Milicia <milicia@missioncriticallinux.com>
1444 * support/export/client.c (client_lookup) call gethostbyadd
1445 to make sure that we have a canonical hostname, even for
1447 * utils/exportfs/exportfs.c (exportfs) Likewise
1449 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
1451 * support/nfs/exports.c (putexportent): \octal quote any spaces
1453 * support/nfs/xio.c (xgettok): recognise double-quote and
1454 \octal quoting in path names
1455 * utils/exportfs/exports.man: document quoting conventions
1458 2001-09-12 NeilBrown <neilb@cse.unsw.edu.au>
1460 * utils/mountd/auth.c (auth_authenticate_internal): Reverse
1461 change from 2000-08-02: It causes problems if someone exports
1462 to both a hostname and IP addresses. nfs-utils must be
1463 consistant about the canonical name that it chooses.
1465 2001-08-17 Ragnar Kjørstad <nfs@ragnark.vestdata.no>
1466 H.J. Lu <hjl@lucon.org>
1468 * etc/redhat/nfslock.init (STATDARG): New. Pass it to rpc.statd.
1470 * utils/statd/statd.c (longopts): Add "name".
1471 (usage): Add "-n/--name".
1472 (main): Set MY_NAME with "-n/--name".
1474 * utils/statd/state.c (change_state): Set MY_NAME only if it
1477 * utils/statd/statd.man: Updated for "-n/--name".
1479 2001-07-26 H.J. Lu <hjl@lucon.org>
1481 * nfs-utils.spec (Release): Set to 8.
1483 2001-07-25 H.J. Lu <hjl@lucon.org>
1485 * etc/redhat/nfs.init: Check if rpc.rquotad exists before doing
1488 2001-06-27 H.J. Lu <hjl@lucon.org>
1490 * etc/redhat/nfs.init: Run rpc.rquotad only if it exists.
1492 2001-06-27 H.J. Lu <hjl@lucon.org>
1494 * utils/rquotad/rquota_server.c: Don't call statfs () for
1495 the block size. Use BLOCK_SIZE instead.
1497 2001-06-27 H.J. Lu <hjl@lucon.org>
1499 * config.mk.in (CC_FOR_BUILD): Renamed from BUILD_CC.
1500 (CFLAGS_FOR_BUILD): New. Don't use @CFLAGS@.
1502 * configure.in (enable_nfsv3): Set to yes by default.
1503 (--enable-rquotad): Added
1504 (AC_PROG_CXX): Removed.
1505 (AC_OUTPUT): Add utils/Makefile.
1506 (CC_FOR_BUILD): Renamed from BUILD_CC.
1507 * configure: Regenerated.
1509 * utils/Makefile: Removed.
1511 * utils/Makefile.in: New.
1513 * nfs-utils.spec.in (rquotad): New. Set to 0 to disable
1515 (CC_FOR_BUILD): Renamed from BUILD_CC.
1516 * nfs-utils.spec: Regenerated.
1518 2001-06-15 Chip Salzenberg <chip@debian.org>
1520 * debian/changelog: Version 0.3.2-2.
1521 * debian/*.init: Minor fixes.
1523 2001-06-07 Lon H. Hohberger <hohberger@missioncriticallinux.com>
1525 * etc/nodist/nfs-server: Fixed a bug where the script would
1526 disable mounts from NFSv3 clients if NFSv3 is present.
1528 2001-06-05 H.J. Lu <hjl@lucon.org>
1530 * utils/mountd/mountd.c (longopts): Add "descriptors/o".
1531 (main): Support --descriptors/-o to set the limit of the number
1532 of open file descriptors.
1535 * utils/mountd/mountd.man: Updated for --descriptors/-o.
1537 2001-06-04 H.J. Lu <hjl@lucon.org>
1539 * nfs-utils.spec (Release): Set to 6.
1541 2001-05-28 H.J. Lu <hjl@lucon.org>
1543 * utils/lockd/lockd.c (main): chdir to NFS_STATEDIR.
1544 * utils/mountd/mountd.c (main): Likewise.
1545 * utils/nfsd/nfsd.c (main): Likewise.
1546 * utils/rquotad/rquota_svc.c (main): Likewise.
1548 2001-05-06 Anne Milicia <milicia@missioncriticallinux.com>
1550 * support/export/client.c (client_check): Check IP address
1553 2001-05-06 Neil Brown <neilb@cse.unsw.edu.au>
1555 * support/export/client.c (client_gettype): Treat `*' as
1558 2001-04-22 H.J. Lu <hjl@lucon.org>
1560 * nfs-utils.spec.in: Fix a typo.
1561 * nfs-utils.spec: Regenerated.
1563 2001-04-21 H.J. Lu <hjl@lucon.org>
1565 * nfs-utils.spec.in: Fix cross build.
1566 * nfs-utils.spec: Regenerated.
1567 (Release): Set to 5.
1569 2001-04-18 H.J. Lu <hjl@lucon.org>
1571 * nfs-utils.spec.in: Support cross build.
1572 * nfs-utils.spec: Regenerated.
1573 (Release): Set to 4.
1576 * config.guess: New.
1578 * config.mk.in (BUILD_CC): New.
1579 (CC): Set to $(BUILD_CC) if BUILD is defined.
1582 (RANLIB): Set to @RANLIB@.
1584 * configure.in: Check BUILD_CC, RANLIB, AR and LD.
1585 * configure: Regenerated.
1587 * tools/rpcgen/Makefile (BUILD): Set to true.
1589 2001-04-01 Chip Salzenberg <chip@valinux.com>
1591 * tools/rpcgen/rpc_svcout.c (write_timeout_func): Remove
1592 redundant, and sometimes broken, declaration of svc_fdset;
1594 * support/nfs/rpcmisc.c (closedown): Likewise.
1596 2001-03-21 H.J. Lu <hjl@lucon.org>
1598 * nfs-utils.spec: Regenerated.
1599 (Release): Set to 3.
1601 2001-03-21 Ion Badulescu <ionut@cs.columbia.edu>
1603 * utils/statd/statd.c (main): make sure file descriptors 0-2
1604 are open to /dev/null.
1606 2001-03-21 H.J. Lu <hjl@lucon.org>
1608 * support/nfs/rpcmisc.c: Restore the change made on 2001-03-10.
1609 * support/nfs/rpcmisc.c: Likewise.
1610 * utils/rquotad/rquota_svc.c: Likewise.
1611 * utils/rquotad/rquotad.man: Likewise.
1612 * utils/statd/Makefile: Likewise.
1613 * utils/statd/rmtcall.c: Likewise.
1614 * utils/statd/simulate.c: Likewise.
1615 * utils/statd/statd.c: Likewise.
1616 * utils/statd/statd.man: Likewise.
1618 2001-03-11 H.J. Lu <hjl@lucon.org>
1620 * configure.in (RELEASE): New. Default to 1, set by
1621 --with-release=XXX. Substitute nfs-utils.spec.
1622 * nfs-utils.spec.in (Release): Set to @RELEASE@.
1623 * configure: Regenerated.
1624 * nfs-utils.spec: Likewise.
1626 2001-03-11 H.J. Lu <hjl@lucon.org>
1628 * utils/rquotad/rquotad.man: Fix a typo.
1630 2001-03-11 H.J. Lu <hjl@lucon.org>
1632 * support/include/rpcmisc.h: Undo the change made on 2001-03-10.
1633 * support/nfs/rpcmisc.c: Likewise.
1634 * utils/rquotad/rquota_svc.c: Likewise.
1635 * utils/rquotad/rquotad.man: Likewise.
1636 * utils/statd/Makefile: Likewise.
1637 * utils/statd/rmtcall.c: Likewise.
1638 * utils/statd/simulate.c: Likewise.
1639 * utils/statd/statd.c: Likewise.
1640 * utils/statd/statd.man: Likewise.
1642 2001-03-10 H.J. Lu <hjl@lucon.org>
1644 * configure.in (VERSION): Set to "0.3.2".
1645 * configure: Regenerated.
1646 * nfs-utils.spec: Likewise.
1648 * README: Updated for 0.3.2.
1650 2001-03-10 Tavis Barr <tavis@boole.isetr.columbia.edu>
1652 * utils/rquotad/rquotad.man: Updated for -p.
1653 * utils/statd/statd.man: Likewise.
1655 2001-03-10 Ion Badulescu <ionut@cs.columbia.edu>
1657 * support/nfs/rpcmisc.c: export makesock()
1659 * support/include/rpcmisc.h (makesock): Declared.
1661 * utils/rquotad/rquota_svc.c: added longopts, added support for
1662 specifying the port to bind to on the command line.
1664 * utils/statd/statd.c: ditto, also specify port used for
1665 outgoing connections.
1666 (do_regist): Removed.
1668 * utils/statd/rmtcall.c (statd_get_socket): Renamed from
1669 get_socket. Make it extern.
1671 * utils/statd/simulate.c (daemon_simulator): Call rpc_init
1672 instead of do_regist.
1674 * utils/statd/Makefile (LIBS): link with our own libnfs
1676 2001-03-09 H.J. Lu <hjl@lucon.org>
1678 * etc/redhat/nfslock.init: Changed chkconfig line to 60 86.
1679 * etc/nodist/nfs-client: Likewise.
1681 2001-02-26 Chip Salzenberg <chip@valinux.com>
1683 * debian/changelog: Version 0.3.1-1.
1684 * Mention upstream source and license in copyright file.
1685 * Add build-Depends for debhelper and libwrap0-dev.
1687 2001-02-20 Lon Hohberger <hohberger@missioncriticallinux.com>
1689 * etc/nodist/nfs-server: Changed chkconfig line to 60 20
1690 * etc/nodist/nfs-client: Likewise.
1692 2001-02-18 Lon Hohberger <hohberger@missioncriticallinux.com>
1694 * utils/statd/statd.man: Changed /usr/sbin/rpc.statd to
1697 2001-02-17 Patrick J. LoPresti <patl@curl.com>
1699 * utils/statd/log.c (log_init): Use LOG_DAEMON instead of
1702 2001-02-14 H.J. Lu <hjl@lucon.org>
1704 * utils/statd/rmtcall.c: Include <time.h>.
1705 * utils/statd/svc_run.c: Likewise.
1707 2001-02-14 H.J. Lu <hjl@lucon.org>
1709 * configure.in (VERSION): Set to "0.3.1".
1710 * configure: Regenerated.
1711 * nfs-utils.spec: Likewise.
1713 * README: Updated for 0.3.1.
1715 2001-02-14 H.J. Lu <hjl@lucon.org>
1717 * support/nfs/rpcmisc.c: Include <time.h>.
1719 2001-02-14 Chip Salzenberg <chip@valinux.com>
1721 * debian/control: Change priority of nhfsstone package to 'extra'.
1723 2001-02-12 Chip Salzenberg <chip@valinux.com>
1725 * debian/changelog: Version 0.3-2.
1727 2001-02-02 H.J. Lu <hjl@lucon.org>
1729 * support/include/rpcmisc.h (rpc_init): Remove bufsize.
1731 * support/nfs/rpcmisc.c (makesock): Remove socksz and comment
1732 out SO_SNDBUF/SO_RCVBUF.
1733 (rpc_init): Remove bufsize and remove socksz in calls to
1736 * utils/mountd/mountd.c (main): Remove bufsize in calls to
1739 2001-01-28 Chip Salzenberg <chip@valinux.com>
1741 * debian/changelog: Version 0.3-1.
1743 2001-01-25 H.J. Lu <hjl@lucon.org>
1745 * configure.in (VERSION): Set to "0.3".
1746 * configure: Regenerated.
1747 * nfs-utils.spec: Likewise.
1749 * README: Updated for 0.3.
1751 2001-01-25 H.J. Lu <hjl@lucon.org>
1753 * utils/lockd/lockd.c (main): Ignore errno == EINVAL.
1755 2001-01-20 Chip Salzenberg <chip@valinux.com>
1757 * support/include/xio.h (xgetc): Declare to return int.
1758 * support/nfs/xio.c (xgetc): Return int.
1759 (xgettok, xskip, xskipcomment): Use int for value of xgetc.
1760 * utils/statd/statd.c (main): Use int for value of getopt.
1761 * debian/changelog: Version 0.2.1-5.
1763 2000-12-10 Chip Salzenberg <chip@valinux.com>
1765 * utils/statd/monitor.c (sm_mon_1_svc): Fix buggy check for
1766 program and procedure numbers of kernel lockd's callback. Also,
1767 besides the old (and broken) procedure #24, allow #16 per Trond.
1769 2000-12-03 Chip Salzenberg <chip@valinux.com>
1771 * support/nfs/xio.c (xfopen): Initialize x_line to one, not zero.
1772 * debian/control: Let nhfsstone replace files in nfs-kernel-server.
1773 * debian/changelog: Version 0.2.1-4.
1775 2000-11-27 Tobias Ringstrom <tori@tellus.mine.nu>
1777 * utils/mountd/auth.c (auth_authenticate): Log the bad path
1780 2000-11-24 Neil Brown <neilb@cse.unsw.edu.au>
1782 * support/nfs/exports.c (getexportent): Check for host name
1783 without option, or options without hostname, and print a warning,
1784 as this is most likely a typo.
1786 2000-11-19 Chip Salzenberg <chip@valinux.com>
1788 * debian/control: Add dependency on portmap.
1789 * debian/changelog: Version 0.2.1-3.
1791 2000-11-10 H.J. Lu <hjl@lucon.org>
1793 * nfs-utils.spec.in: Don't use libtool.
1794 Add ChangeLog and COPYING to doc.
1795 * nfs-utils.spec: Rebuild.
1797 2000-11-09 H.J. Lu <hjl@lucon.org>
1799 * etc/redhat/nfs.init (start): Back out the last change.
1801 2000-11-09 H.J. Lu <hjl@lucon.org>
1803 * etc/redhat/nfs.init (start): Pass --no-tcp to mountd if
1804 TCP is not supported by kernel.
1806 * support/nfs/rpcmisc.c (rpc_init): Don't set _rpcfdtype to 0.
1808 * utils/mountd/mountd.c (longopts): Add "-n/--no-tcp".
1809 (main): Set to _rpcfdtype to SOCK_DGRAM for "-n/--no-tcp".
1811 * utils/mountd/mountd.man: Updated for "-n/--no-tcp".
1813 2000-10-24 Lon Hohberger <hohberger@missioncriticallinux.com>
1815 * utils/statd/callback.c: Fix bug preventing callbacks to local lockd.
1816 * utils/statd/rmtcall.c: Add some IP address paranoia when doing
1817 callbacks to local lockd.
1819 2000-10-18 Scott McDermott <mcdermot@questra.com>
1821 * utils/exportfs/exports.man: Updated for CIDR netmask.
1823 2000-10-17 Scott McDermott <mcdermot@questra.com>
1825 * support/export/client.c (client_init): Support CIDR netmask
1828 2000-10-11 H.J. Lu <hjl@lucon.org>
1830 * aclocal.m4 (AC_TCP_WRAPPER): Fix a typo.
1831 * configure: Rebuilt.
1833 2000-10-06 Lon Hohberger <hohberger@missioncriticallinux.com>
1835 * utils/statd/statd.man: Change "/var/lib/nfs/sm/state" to
1836 "/var/lib/nfs/state".
1838 2000-10-05 Lon Hohberger <hohberger@missioncriticallinux.com>
1840 * utils/statd/statd.h (run_mode): New global bitmask of runtime
1841 behaviors: fg/bg, logging, etc.
1842 * utils/statd/statd.c: New command line options: -V -h -? -d .
1843 * utils/statd/statd.man: Update for changes to statd.
1845 * utils/statd/log.h (log_init): Remove parameter of function; use
1846 global variable "name_p" instead.
1847 * utils/statd/log.c: Add support for logging to stderr.
1849 * utils/statd/notlist.c: Partially rewrite notify list handling
1850 functions. Eliminate run-off-end-of-list bug when calling
1851 nlist_insert_timer. Add lots of comments.
1853 2000-09-27 H.J. Lu <hjl@lucon.org>
1855 * README: Updated for RedHat 7.0.
1857 2000-09-27 H.J. Lu <hjl@lucon.org>
1859 * nfs-utils.spec: Rebuild.
1861 2000-09-27 H.J. Lu <hjl@lucon.org>
1863 * README: Updated for 0.2.1.
1865 2000-09-27 H.J. Lu <hjl@lucon.org>
1867 * nfs-utils.spec.in: Updated to use rpm macros and support
1870 2000-09-25 H.J. Lu <hjl@lucon.org>
1872 * configure.in (VERSION): Set to "0.2.1".
1873 * configure: Regenerated.
1874 * nfs-utils.spec: Updated.
1876 2000-09-25 H.J. Lu <hjl@lucon.org>
1878 * utils/mountd/auth.c (auth_authenticate_internal): Make sure a
1879 non-NULL hostent is always returned.
1881 2000-09-11 Ion Badulescu <ionut@cs.columbia.edu>
1883 * etc/redhat/nfslock.init: don't kill lockd processes that do not
1884 have an executable (i.e. kernel threads)
1886 2000-09-01 H.J. Lu <hjl@lucon.org>
1888 * README: Updated for 0.2.
1890 2000-09-01 Jay Weber <jweber@valinux.com>
1892 * etc/redhat/nfs.init: Added ability for rpc.mountd to default to
1893 supporting version 3 of nfs if available, else it will fall back to
1894 version 2 support only.
1896 2000-08-30 H.J. Lu <hjl@lucon.org>
1898 * configure.in (VERSION): Set to "0.2".
1899 * configure: Regenerated.
1900 * nfs-utils.spec: Updated.
1902 2000-08-25 H.J. Lu <hjl@lucon.org>
1904 * support/misc/tcpwrapper.c (logit): Modify the log output.
1906 2000-08-25 Ion Badulescu <ionut@cs.columbia.edu>
1908 * utils/rquotad/rquotad.man, utils/statd/statd.man,
1909 utils/mountd/mountd.man: updated
1911 * utils/mountd/Makefile (LIBS): added -lmisc $(LIBWRAP) $(LIBNSL)
1912 * utils/rquotad/Makefile: fix comment
1914 * support/misc/tcpwrapper.c (logit): added comment about waiting
1915 for the children after fork()
1917 * utils/mountd/mountd.c (main): ignore SIGCHLD to prevent leaving
1918 zombies behind (from logit()'s fork)
1919 * utils/rquotad/rquota_svc.c (main): ditto
1920 * utils/statd/statd.c (main): ditto
1922 * utils/rquotad/rquota_svc.c (rquotaprog_1): pass RQUOTAPROG
1923 to check_default instead of 0, for prognum
1925 * utils/statd/statd.c (sm_prog_1_wrapper): pass SM_PROG
1926 to check_default instead of 0, for prognum
1928 * utils/mountd/mount_dispatch.c: Include "tcpwrapper.h" if
1929 HAVE_TCP_WRAPPER is defined.
1930 (mount_dispatch): Call check_default () if HAVE_TCP_WRAPPER is
1931 defined. Reject an RPC call if check_default () fails.
1933 2000-08-25 H.J. Lu <hjl@lucon.org>
1935 * support/include/tcpwrapper.h: New for the tcp wrapper
1937 * support/misc/Makefile: Likewise.
1938 * support/misc/from_local.c: Likewise.
1939 * support/misc/tcpwrapper.c: Likewise.
1941 * aclocal.m4 (AC_TCP_WRAPPER): New.
1942 * configure.in: Use it. Substitute LIBWRAP.
1943 * configure: Rebuilt.
1945 * config.mk.in (LIBNSL): New.
1946 (LIBWRAP): Likewise.
1948 * support/Makefile (SUBDIRS): Add misc.
1950 * support/lib/Makefile (LIBS): Add libmisc.a.
1952 * utils/rquotad/Makefile (LIBS): Add
1954 -lmisc $(LIBWRAP) $(LIBNSL)
1956 * utils/statd/Makefile (LIBS): Likewise.
1958 * utils/rquotad/rquota_svc.c: Include "tcpwrapper.h" if
1959 HAVE_TCP_WRAPPER is defined.
1960 (rquotaprog_1): Call check_default () if HAVE_TCP_WRAPPER is
1961 defined. Reject an RPC call if check_default () fails.
1963 * utils/statd/statd.c: Include "tcpwrapper.h" if
1964 HAVE_TCP_WRAPPER is defined.
1965 (sm_prog_1_wrapper): New. A wrapper for sm_prog_1. Call
1966 check_default () before calling sm_prog_1 (). Define it as
1967 sm_prog_1_wrapper if HAVE_TCP_WRAPPER is defined.
1969 2000-08-25 Chip Salzenberg <chip@valinux.com>
1971 * debian/*: Complete Debian build support.
1972 * etc/debian/*: Remove.
1974 2000-08-24 Neil Brown <neilb@cse.unsw.edu.au>
1976 * support/export/client.c(client_check): removed the "dot+1" as a
1977 ypdomain argument to innetgr as this is entirely bogus.
1978 It should always be NULL.
1980 2000-08-23 Neil Brown <neilb@cse.unsw.edu.au>
1982 * support/export/xtab.c(xtab_read): introduce new mode for
1983 reading xtab. i.e. a list of exports that might be known to the
1984 kernel, or might not. These are flagged as m_exported == -1
1985 * support/export/xtab.c(xtab_mount_read): call xtab_read with new
1986 value "2" for xtab, meaning don't trust this too much.
1987 * support/include/exportfs.h(struct mexport): changed m_exported
1988 from one bit to an int so that it can hold new value
1989 * utils/exportfs/exportfs.c(exportfs_ipdate): add an export to the
1990 kernel if it is uncertain whether the kernel knows (m_exported == -1)
1991 * utils/mountd/mountd.c(get_rootfh): similarly export to kernel if
1994 * support/nfs/xio.c(xflock): added O_CREAT when getting
1995 a write lock so that missing files aren't fatal.
1997 * etc/debian/nfs-common: new file from "potato"
1998 * etc/debian/nfs-kernel-server: new file from "potato" plus fixes.
2000 2000-08-09 H.J. Lu <hjl@lucon.org>
2002 * etc/redhat/nfs.init: Run /usr/sbin/exportfs first during
2003 startup to ensure all existing clients work fine.
2005 * support/export/xtab.c (xtab_mount_read): Pass 1 instead of 0
2006 to xtab_read () for reading _PATH_XTAB.
2008 2000-08-02 H.J. Lu <hjl@lucon.org>
2010 * utils/mountd/auth.c (auth_authenticate_internal): Try to
2011 avoid the reverse name lookup.
2013 2000-07-04 H.J. Lu <hjl@lucon.org>
2015 * utils/statd/log.c: Include <stdlib.h> for exit ().
2017 * utils/statd/misc.c (xunlink): Add `{' and `}' to quiet the
2020 2000-07-04 H.J. Lu <hjl@lucon.org>
2022 * configure.in (VERSION): Set to "0.1.9.1".
2023 * configure: Regenerated.
2024 * nfs-utils.spec: Updated.
2028 2000-07-04 Neil Brown <neilb@cse.unsw.edu.au>
2030 * support/export/hostname.c (hostent_dup): Handle the NULL
2033 2000-07-03 H.J. Lu <hjl@lucon.org>
2035 * README: Update the util-linux requirement.
2037 2000-07-03 H.J. Lu <hjl@lucon.org>
2039 * configure.in (VERSION): Set to "0.1.9".
2040 * configure: Regenerated.
2041 * nfs-utils.spec: Updated.
2045 2000-07-03 H.J. Lu <hjl@lucon.org>
2047 * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
2048 stop to ensure all clients can still access the server
2049 before it is shutdown.
2051 2000-06-30 Jeff Uphoff <juphoff@transmeta.com>
2053 * tools/rpcgen/rpc_svcout.c (write_msg_out): Generate syslog()
2054 calls with format string.
2056 2000-06-28 Chip Salzenberg <chip@valinux.com>
2058 * utils/statd/log.c (log): Call syslog with format string.
2060 2000-06-27 H.J. Lu <hjl@lucon.org>
2062 * utils/statd/statd.c (main): Use sysconf (_SC_OPEN_MAX)
2063 instead of OPEN_MAX.
2065 2000-06-27 H.J. Lu <hjl@lucon.org>
2069 2000-06-27 H.J. Lu <hjl@lucon.org>
2071 * etc/redhat/nfs.init: Run /usr/sbin/exportfs last during
2072 startup to ensure all existing clients are exported.
2074 * configure.in (VERSION): Set to "0.1.8.2".
2075 * configure: Regenerated.
2076 * nfs-utils.spec: Updated.
2078 2000-06-06 H.J. Lu <hjl@lucon.org>
2080 * configure.in (VERSION): Set to "0.1.8.1".
2081 * configure: Regenerated.
2082 * nfs-utils.spec: Updated.
2084 2000-06-06 H.J. Lu <hjl@lucon.org>
2086 * utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
2087 to "struct sockaddr_in *" for glibc 2.2.
2088 (mount_umnt_1_svc): Likewise.
2089 (mount_umntall_1_svc): Likewise.
2090 (mount_export_1_svc): Likewise.
2091 (mount_exportall_1_svc): Likewise.
2092 (mount_pathconf_2_svc): Likewise.
2093 (get_rootfh): Likewise.
2095 2000-06-04 H.J. Lu <hjl@lucon.org>
2097 * etc/redhat/nfs.init: Fix a typo in comment.
2099 2000-05-31 H.J. Lu <hjl@lucon.org>
2101 * configure.in (VERSION): Set to "0.1.8".
2102 * configure: Regenerated.
2103 * nfs-utils.spec: Updated.
2107 2000-05-31 H.J. Lu <hjl@lucon.org>
2109 * configure.in (VERSION): Set to "0.1.7.5".
2110 * configure: Regenerated.
2111 * nfs-utils.spec: Updated.
2113 * support/include/nfslib.h (exportent): Add a new field,
2114 r_count, to count the number of mounts from a client.
2115 (getrmtabent): Take a new argument for position in file.
2116 (putrmtabent): Likewise.
2117 (fgetrmtabent): Likewise.
2118 (fputrmtabent): Likewise.
2119 * support/nfs/rmtab.c (getrmtabent): Handle the new argument
2120 for position in file.
2121 (fgetrmtabent): Likewise.
2122 (putrmtabent): Likewise.
2123 (fputrmtabent): Likewise.
2125 * support/nfs/rmtab.c (fgetrmtabent): Get value for the new
2128 * support/export/rmtab.c (rmtab_read): Pass NULL as the new
2129 argument to getrmtabent (), fgetrmtabent (), putrmtabent ()
2130 and fputrmtabent ().
2131 * utils/mountd/rmtab.c (mountlist_add): Likewise.
2132 (mountlist_del): Likewise.
2133 (mountlist_del_all): Likewise.
2134 (mountlist_list): Likewise.
2136 * utils/mountd/rmtab.c (mountlist_add): Increment "r_count"
2137 for the existing entry and initialize "r_count" to 1.
2138 (mountlist_del): Decrement "r_count".
2140 2000-05-18 H.J. Lu <hjl@lucon.org>
2142 * configure.in (VERSION): Set to "0.1.7.4".
2143 * configure: Regenerated.
2144 * nfs-utils.spec: Updated.
2146 2000-05-18 H.J. Lu <hjl@lucon.org>
2148 * etc/redhat/nfs.init (restart): Just do stop and start.
2150 2000-05-09 Jay Weber <jweber@valinux.com>
2152 * utils/rquotad/hasquota.c: added support for ext3 recognition
2154 * utils/rquotad/mntent.h: Likewise.
2156 2000-05-01 H.J. Lu <hjl@lucon.org>
2158 * configure.in (VERSION): Set to "0.1.7.3".
2159 * configure: Regenerated.
2160 * nfs-utils.spec: Updated.
2162 2000-05-01 H.J. Lu <hjl@lucon.org>
2164 * utils/rquotad/rquota_server.c (getquotainfo): Skip bad
2165 mounting poins in /etc/fstab.
2167 2000-05-01 H.J. Lu <hjl@lucon.org>
2169 * configure.in (VERSION): Set to "0.1.7.2".
2170 * configure: Regenerated.
2171 * nfs-utils.spec: Updated.
2173 2000-05-01 H.J. Lu <hjl@lucon.org>
2175 * utils/rquotad/rquota_server.c (getquotainfo): Call stat ()
2176 to check for the mounting point.
2178 2000-04-29 Chip Salzenberg <chip@valinux.com>
2179 Neil Brown <neilb@cse.unsw.edu.au>
2181 * Really re-use RPC ports.
2182 (Fixes earlier patch. Sorry, Neil.)
2184 2000-04-26 H.J. Lu <hjl@lucon.org>
2186 * configure.in (VERSION): Set to "0.1.7.1".
2187 * configure: Regenerated.
2188 * nfs-utils.spec: Updated.
2190 2000-04-26 H.J. Lu <hjl@lucon.org>
2192 * etc/redhat/nfslock.init: Check if lockd exits before killing
2195 2000-04-25 H.J. Lu <hjl@lucon.org>
2197 * README: Require util-linux-2.10f-mount-rpc.patch for mount.
2199 2000-03-21 Michael Weiser <michael@weiser.saale-net.de>
2201 * support/nfs/exports.c (parsesquash): Correctly set the
2204 Tue Mar 21 11:38:48 EST 2000 NeilBrown <neilb@cse.unsw.edu.au>
2206 * support/include/nfs/nfs.h: Removed knowledge of internals of
2207 kernel filehandles (which can change) and defined nfs_fh_size
2208 which has variable size
2210 * support/nfs/getfh.c: defined getfh_size to use new syscall to
2211 get variable sized file handles, and change getfh{,old} to
2214 * utils/mountd/mountd.c: use nfd_fh_size and call getfh_size for
2217 * tools/Makefile, tools/nlmtest/nlmtest.c
2218 nlmtest.c depended on internel format of file handles, so now
2222 2000-03-12 Chip Salzenberg <chip@valinux.com>
2223 Neil Brown <neilb@cse.unsw.edu.au>
2225 * support/nfs/rpcmisc.c (rpc_init): Share transports.
2227 2000-03-13 H.J. Lu <hjl@lucon.org>
2229 * etc/redhat/nfsd.init: Updated.
2231 * etc/redhat/nfslock.init: Updated.
2233 * nfs-utils.spec.in: Updated.
2235 * configure.in (VERSION): Set to "0.1.7".
2236 * configure: Regenerated.
2237 * nfs-utils.spec: Updated.
2241 Wed Mar 8 09:42:43 2000 Neil Brown <neilb@cse.unsw.edu.au>
2243 * utils/exportfs/exportfs.c (dump): Included printing of
2244 nohide, no_subtree_check, and insecure_locks
2246 2000-02-26 Chip Salzenberg <chip@valinux.com>
2248 * config.mk.in (INSTALLSUID): Strip ("-s").
2249 (INSTALLSCRIPT): Define.
2250 * utils/nhfsstone/Makefile: Use it.
2252 2000-02-26 Chip Salzenberg <chip@valinux.com>
2254 * utils/lockd/lockd.man: Create.
2255 * utils/lockd/Makefile: Install it.
2256 * utils/nhfsstone/nhfs{run,nums,graph}.man: Create.
2257 * utils/nhfsstone/nhfsstone.man: Change suffix from ".1".
2258 * utils/nhfsstone/Makefile: Install the helper scripts and
2260 * utils/exportfs/exports.man: Fix typo.
2262 2000-02-26 Chip Salzenberg <chip@valinux.com>
2264 * support/nfs/xio.c (xungetc): Decrement line number when
2265 character to unget is newline. Make first parameter int, so
2266 it can distinguish EOF from \377.
2267 * support/include/xio.h (xungetc): Adjust prototype.
2269 Fri Feb 4 23:42:23 2000 Neil Brown <neilb@cse.unsw.edu.au>
2271 * support/include/nfs/export.h: added NFSEXP_NOAUTHNLM
2272 * support/nfs/exports.c: added handling for NFSEXP_NOAUTHNLM
2273 * utils/exportfs/exports.man: added documentation for no_auth_nlm.
2275 This is for supporting a new option introduced in 2.3.42
2277 Thu Feb 3 14:55:48 2000 H.J. Lu <hjl@lucon.org>
2279 * COPYING: Added. GPL.
2281 Thu Feb 03 14:40:40 2000 Cristian Gafton <gafton@redhat.com>
2283 * utils/rquotad/rquota_server.c (getquotainfo): Call statfs ()
2284 to get the block size.
2286 Tue Jan 25 11:04:17 2000 H.J. Lu <hjl@lucon.org>
2288 * nfs-utils.spec.in: Update ftp site.
2290 Mon Jan 17 11:48:18 2000 H.J. Lu <hjl@lucon.org>
2292 * README: Update hostnames.
2294 Tue Jan 11 10:06:22 2000 H.J. Lu <hjl@lucon.org>
2296 * configure.in (VERSION): Set to "0.1.6".
2297 * configure: Regenerated.
2298 * nfs-utils.spec: Updated.
2302 Mon Jan 10 14:26:33 2000 H.J. Lu <hjl@lucon.org>
2304 * utils/mountd/auth.c (auth_authenticate_internal): Call
2305 xstrdup for hostname before passing it to gethostbyname.
2307 * utils/mountd/mountd.c (get_exportlist): Use xstrdup instead
2310 Sun Dec 19 09:35:01 1999 H.J. Lu <hjl@lucon.org>
2312 * README: Update the mailing list address.
2314 Sun Dec 19 09:22:28 1999 H.J. Lu <hjl@lucon.org>
2316 * configure.in (VERSION): Set to "0.1.5".
2317 * configure: Regenerated.
2318 * nfs-utils.spec: Updated.
2322 Mon Dec 13 13:40:20 1999 H.J. Lu <hjl@lucon.org>
2324 * utils/rquotad/hasquota.c (hasquota): Malloc one more char
2327 Mon Dec 6 09:42:45 1999 H.J. Lu <hjl@lucon.org>
2329 * configure.in (VERSION): Set to "0.1.4".
2330 * configure: Regenerated.
2331 * nfs-utils.spec: Updated.
2335 Mon Dec 6 09:28:07 1999 H.J. Lu <hjl@lucon.org>
2337 * nfs-utils.spec.in: New file.
2339 * config.mk.in (VERSION): Changed to "nfs-utils @VERSION@".
2341 * configure.in (nfs-utils.spec): Added to AC_OUTPUT.
2343 1999-12-04 Chip Salzenberg <chip@valinux.com>
2345 * config.mk.in: Use $(CC) as set by configure.
2347 1999-12-04 Chip Salzenberg <chip@valinux.com>
2349 * rules.mk: Call $(MAKE) with $(MFLAGS).
2351 Mon Nov 29 11:17:35 1999 H.J. Lu <hjl@lucon.org>
2353 * tools/rpcgen/rpc_main.c (h_output): Generate IXDR_GET_INT32,
2354 IXDR_PUT_INT32, IXDR_GET_U_INT32 and IXDR_PUT_U_INT32.
2356 Mon Nov 29 11:17:35 1999 H.J. Lu <hjl@lucon.org>
2358 * nfs-utils.spec (Version): Set to 0.1.3.
2360 * configure.in (VERSION): Set to "nfs-utils 0.1.3".
2361 * configure: Regenerated.
2365 Mon Nov 29 11:15:47 1999 H.J. Lu <hjl@lucon.org>
2367 * utils/rquotad/rquota_server.c (nfsmount_to_devname): Removed.
2368 (_PATH_DEV_DSK): Likewise.
2369 (getquotainfo): Match the mounting point from /etc/mtab
2370 instead of calling nfsmount_to_devname ().
2372 1999-11-24 Chip Salzenberg <chip@valinux.com>
2374 * utils/statd/monitor.c (sm_mon_1_svc): Accept lockd callbacks
2375 to the new port 24 as well as the historical port 100021.
2377 Tue Nov 23 10:21:34 1999 Neil Brown <neilb@cse.unsw.edu.au>
2379 * etc/redhat/nfsd.init (stop): moved exportfs -ua after
2380 stopping nfsd to stop spurious ESTALE on server shutdown.
2382 Tue Nov 23 10:13:39 1999 Neil Brown <neilb@cse.unsw.edu.au>
2384 * support/nfs/exports.c (parseopts): make copy of opt string
2385 before 'nul'ing out commas so that
2387 # exportfs -o option1,option2 hosta:/fs hostb:/fs
2389 applies both options to both exports.
2391 Thu Oct 28 12:55:42 1999 H.J. Lu <hjl@lucon.org>
2393 * README: Fix a few typos.
2395 * tools/rpcgen/rpc_cout.c (print_header): Use int32_t instead
2397 * tools/rpcgen/rpc_hout.c (pdefine): Likewise.
2398 * tools/rpcgen/rpc_main.c (c_initialize): Likewise.
2399 * tools/rpcgen/rpc_parse.c (get_type): Likewise.
2400 (unsigned_dec): Likewise.
2401 * tools/rpcgen/rpc_scan.c (symbols): Likewise.
2402 * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
2404 * tools/rpcgen/rpc_cout.c (emit_single_in_line): Use INT32
2406 * tools/rpcgen/rpc_parse.c (get_type): Likewise.
2407 (unsigned_dec): Likewise.
2408 * tools/rpcgen/rpc_scan.c (symbols): Likewise.
2409 * tools/rpcgen/rpc_scan.h (tok_kind): Likewise.
2410 * tools/rpcgen/rpc_util.c (tokstrings): Likewise.
2412 Thu Oct 28 11:27:51 1999 Neil Brown <neilb@cse.unsw.edu.au>
2414 * support/include/nfs/export.h addedd NFSEXP_NOSUBTREECHECK
2415 * support/nfs/exports.c: added {no_,}subtree_check and changed
2417 * utils/exportfs/exports.man: added no_subtree_check and nohide
2418 and removed irrelevant stuff from unfsd.
2419 * support/export/rmtab.c: rmtab_read didn't quite do the right
2420 thing if a pathname from rmtab was a subdirectory of an export-point
2422 Tue Oct 26 17:22:40 1999 H.J. Lu <hjl@lucon.org>
2424 * README: Updated ftp site.
2426 Mon Oct 25 18:12:45 1999 H.J. Lu <hjl@lucon.org>
2428 * nfs-utils.spec (Version): Set to 0.1.2.
2430 * configure.in (VERSION): Set to "nfs-utils 0.1.2".
2431 * configure: Regenerated.
2435 Mon Oct 25 18:11:21 1999 H.J. Lu <hjl@lucon.org>
2437 * utils/mountd/auth.c (auth_error): Add "no_forward_dns".
2438 (auth_authenticate_internal): Check for NULL return on forward
2440 (auth_authenticate): Handle "no_forward_dns".
2442 Thu Oct 21 16:22:06 1999 H.J. Lu <hjl@lucon.org>
2444 * Version 0.1.1 released.
2446 * nfs-utils.spec (Version): Set to 0.1.1.
2448 * configure.in (VERSION): Set to "nfs-utils 0.1.1".
2449 * configure: Regenerated.
2453 Mon Oct 18 17:43:29 1999 H.J. Lu <hjl@lucon.org>
2455 * nfs-utils.spec (Obsoletes): Fixed a typo, change knfsd-client
2457 (Provides): Likewise.
2459 Mon Oct 18 14:56:22 1999 H.J. Lu <hjl@lucon.org>
2461 * Initial version 0.1 released.
2463 * configure.in (VERSION): Set to "nfs-utils 0.1".
2464 * configure: Regenerated.
2466 Mon Oct 18 14:54:57 1999 H.J. Lu <hjl@lucon.org>
2468 * utils/mountd/mountd.c (get_exportlist): Cleanup.
2470 * utils/exportfs/exportfs.c (unexport_all): Unexport from
2471 kernel only if the entry is exported to kernel.
2472 (unexportfs): Likewise.
2474 Wed Sep 08 16:49:32 1999 Neil Brown <neilb@cse.unsw.edu.au>
2476 1/ utils/mountd/rmtab.c::mountlist_list
2478 This routine stats the rmtab file to see if it has changed. It
2479 if has, it cleans up it's old copy of the data. But it still
2480 always re-read the file, thus returning multiple copies of the
2481 data on consecutive calls without intervening changes.
2482 "Showmount -a" didn't show this as it appears to sort/unique the
2483 data, but 'strace showmount -a' showed that the size of the
2484 datagram that it received grew.
2486 I moved the getrmtabent loop inside the mtime test.
2488 2/ utils/exportfs/exportfs.c
2490 Many routines used the m_path field of m_export instead of
2492 According to the comment in nfslib.h, m_path should only
2493 be used when processing a mount request (i.e. in mountd)
2494 where the mountpoint may be a subdirectory of the export point.
2496 I changed all occurances of m_path to e_path
2499 3/ utils/exportfs/exportfs.c:main
2501 extra arguments are not meaningful with -a or -r, but
2502 exportfs accepted them and then ignored the -a/-r, expect that
2503 -r would still unexport everything first.
2505 I generate an error if there are extra args and f_all
2507 4/ utils/exportfs/exportfs.c:main
2508 extract dump out as a special case.
2510 5/ utils/exportfs/exportfs.c
2511 made f_reexport a local variable.
2514 6/ utils/exportfs/exportfs.c:main,exportall
2516 support/export/rmtab.c
2517 only mayexport on newly created entries, don't set xtabent at all
2519 7/ support/include/nfslib.h
2521 add #define _PATH_PROC_EXPORTS to be /proc/fs/nds/exports
2523 8/ support/export/xtab.c
2525 xtab_mount_read loads data from _PATH_PROC_EXPORTS if it exists,
2529 9/ support/export/xtab.c
2531 xtab_mount_read now sets m_exported, and NOT
2532 xtabent and mayexport
2534 removed the append arguement from xtab_write as it was
2537 added is_export flag to xtab_write similar to xtab_read
2538 if is_export, only write entries with m_xtabent or m_addxtab
2539 if !is_export, only write entries with m_exported
2541 10/ support/export/export.c::export_allowed_internal
2543 added test for exp->m_mayexport, as the export tree
2544 may have entries that are no longer allowed to be exported,
2545 and so shouldn't caused deduced exported by rmtab_read
2547 11/ utils/exportfs/exportfs.c::main
2548 error checking of flags.
2550 12/ utils/exportfs/exportfs.c
2552 total rewrite of export and unexport logic.
2554 - build an exportslist of valid exports, based on
2555 current etab file and arguments,
2556 - read rmtab to instantiate relevant wild card entries
2557 - read etab to find out what is currently exported
2558 - synchronise intention with reality
2559 - write out etab and xtab
2562 discard the m_addxtab flag
2563 add m_changed flag so we know what to report in exportfs
2565 14/ utils/mountd/auth.c:auth_authenticate
2567 the value returned by gethostbyaddr was trusted.
2569 It now follows this with a call to gethostbyname
2570 and checks that the address is in the list.
2572 15/ support/export/nfsctl.c::cltsetup,expsetup
2574 force client names to lowercase as kernel is
2577 16/ quietened a few compiler warnings
2579 17/ support/export/client:client_lookup
2581 look for pre-existing client with same name before creating
2584 18/ support/include/exportfs.h
2586 The ordering of the MCL_* enum was:
2587 ANONYMOUS, FQDN, SUBNETWORK, WILDCARD, NETGROUP
2589 I moved ANONYMOUS to the end.
2591 The ordering is significant when an export entry is being searched for to
2592 match a given address. There are two problems with ANONYMOUS being first.
2594 1/ if a directory is exported rw to a couple of hosts and ro to everyone else,
2595 then the ro case will always be found first and the privileged hosts won't get
2597 2/ When mountd gets a request to mount an ANONYMOUSly exported tree, it creates a FQDN
2598 export entry for the specific host, and writes it to xtab.
2599 When another request comes from the same host, the ANONYMOUS entry is found again,
2600 before the new FQDN entry, so it creates another FQDN entry and writes it to xtab
2601 again. If causes bloat in xtab.
2603 Putting ANONYMOUS at the end reflects it's nature as a catch-all
2605 19/ utils/exportfs/exportfs.man
2606 many updates to the man page to reflect changes to the code
2608 -----------------------
2614 - allow exportfs to modify rmtab file
2615 - make sure kernel never gets two clients with same IP address
2616 - possible kernel should reject
2617 - needs to be some way to lookup client in kernel by IP address
2618 - maybe get kernel to do case-insensitive comparisons on client names
2619 - remove unused clients from kernel
2621 - change etab to xtab and xtab to xtab.active
2623 - timestamp and/or statd-stamp in rmtab for removing old entries.
2625 Mon Oct 18 11:48:07 1999 H.J. Lu <hjl@lucon.org>
2627 * linux-nfs: New directory.
2628 * linux-nfs/ChangeLog: Moved from ..
2629 * linux-nfs/INSTALL: Likewise.
2630 * linux-nfs/KNOWNBUGS: Likewise.
2631 * linux-nfs/NEW: Likewise.
2632 * linux-nfs/README: Likewise.
2633 * linux-nfs/THANKS: Likewise.
2634 * linux-nfs/TODO: Likewise.
2636 * Starting from knfsd 1.4.7.