aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog12025
1 files changed, 12025 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000000000000..12f2c5fb8e65
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,12025 @@
+2006-05-11 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1.5 ***
+ *******************************************************************
+
+2006-05-10 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * Minor new ports: i386-unknown-freebsd6.1 (RELEASE)
+ powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
+
+ * libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
+ problems on IRIX-6.5.
+
+ * conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
+ signedness problems on IRIX-6.5.
+
+2006-05-01 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * configure.in: check if libc already includes dbm functionality
+ (as in FreeBSD 6), then don't bother to check specific libraries
+ such as libdbm, gdbm, etc.
+
+2006-04-21 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * configure.in: detect G/DBM support via gdbm_compat library
+ (Debian 3.1).
+
+ * minor new port: powerpc-apple-darwin8.5.0
+
+2006-04-20 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
+ NEWS: document new nfs_allow_any_interface parameter.
+
+ * include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
+ not defined, since some systems don't have it.
+
+2006-04-20 Nick Williams <Nick.Williams@morganstanley.com>
+
+ * libamu/wire.c (is_interface_local): new boolena function to
+ determine if address represents any of the local interfaces.
+ (getwire): more properly check if address equals INADDR_LOOPBACK,
+ not if IFF_LOOPBACK is not (the latter isn't as correct).
+
+ * include/am_utils.h: extern for new is_interface_local() function.
+
+ * conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
+ here but in am_compat.h
+
+ * amd/nfs_prot_svc.c (nfs_program_2): if
+ nfs_allow_any_interface=yes, then allow NFS packets from any local
+ interface (not just 127.0.0.1).
+
+ * amd/conf.c (gopt_nfs_allow_any_interface): implement the new
+ amd.conf parameter nfs_allow_any_interface.
+
+ * amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
+ al interfaces are acceptable for local NFS packets.
+
+2006-04-18 Christos Zoulas <christos@zoulas.com>
+
+ * amd/opts.c: Add support for optionally specifying the hostname
+ to match against the netgroup in the netgrp and netgrpd selectors.
+
+2006-04-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * libamu/mtab.c (hasmntval): fix inverted meaning of error from
+ hasmntvalerr().
+
+2006-04-14 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
+ hasmntvalerr() function to set attribute cache values only if they
+ were set (regardless whether they were set to zero or a non-zero
+ value). Before, we were unable to distinguish between an error to
+ parse an option, and a user who actually wanted to set an
+ attribute-cache value to 0. This now fixes an important
+ performance bug that Amd was turning off the attribute caches even
+ for regular (non-automounter) NFS mounts.
+
+ * libamu/mtab.c (hasmntvalerr): new function to set the value of
+ an option into an integer, but ONLY if that options was set and
+ parsed correctly. This function returns 1 on error, 0 on success
+ (instead of always setting the option value to 0).
+ (hasmntval): wrapper function around hasmntvalerr, which maintains
+ backwards compatibility (always sets option value to 0, even on
+ error to parse the option).
+
+ * amd/nfs_subr.c (fh_to_mp3): use long int printf format for
+ fhh_pid.
+
+2006-04-05 Christos Zoulas <christos@zoulas.com>
+
+ * amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
+ (Coverity).
+
+2006-03-27 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
+ document new nfs_retransmit_counter_toplvl and
+ nfs_retry_interval_toplvl global amd.conf parameters.
+
+ * amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
+ (gopt_nfs_retry_interval_toplvl): parse amd.conf
+ nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
+ parameters.
+
+ * amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
+ timeo/retrans parameters for Amd's toplvl mounts, separately from
+ all other UDP or NFS mounts.
+
+ * amd/amd.h: define a new timeo/retrans parameter for toplvl
+ mounts.
+
+2006-03-22 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-pc-linux-suse10.1 (beta 8).
+
+2006-03-21 Christos Zoulas <christos@zoulas.com>
+
+ * amd/am_ops.c (merge_opts): Remove useless check found by
+ Coverity; xmalloc never returns NULL.
+
+2006-03-21 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new ports: i386-pc-linux-fc5.
+
+ * amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
+ openldap-2.3.9), the ldap.h headers deprecate several functions
+ used in this file, such as ldap_unbind. You get compile errors
+ about missing extern definitions. Those externs are still in
+ <ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED. I am
+ turning on that ifdef at the top of info_ldap.c, under the
+ assumption that the functions may be deprecated, but they still
+ work for this (older?) version of the LDAP API. It gets am-utils
+ to compile, but it is not clear if it will work perfectly.
+
+ * libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
+ (xdr_amq_mount_tree, xdr_amq_mount_tree_p,
+ xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
+ (show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
+ xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
+ libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
+ GCC-4.1 from complaining about "dereferencing type-punned pointer
+ will break strict-aliasing rules" here (but not elsewhere).
+
+2006-03-20 Christos Zoulas <christos@zoulas.com>
+
+ * libamu/wire.c: avoid potential dereferencing of a NULL pointer
+ (Coverity).
+
+ * hlfsd/homedir.c (delay): remove unnecessary check for NULL
+ pointer (Coverity).
+
+ * fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
+ analyze_mounts): avoid potential dereferencing of a NULL pointer
+ (Coverity).
+
+ * conf/transp/transp_sockets.c (create_amq_service): avoid
+ potential dereferencing of a NULL pointer (Coverity).
+
+ * amd/sched.c (sigchld): properly check for the end of the waiting
+ process list (Coverity).
+
+ * amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
+
+ * amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
+ dereferencing of a NULL pointer (Coverity).
+
+ * amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
+ reusing it (memory leak bug detected by Coverity).
+ (amfs_bgmount): avoid potential dereferencing of a NULL pointer
+ (Coverity).
+
+ * amd/am_ops.c (merge_opts): no need to check if newstr is NULL
+ (bug detected by Coverity).
+
+2006-03-08 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
+ comparison was failing.
+
+2006-03-08 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * configure.in: properly test for either <gdbm/ndbm.h> or
+ <gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
+ same $ac_cv_* variable name). Some systems support one header or
+ another. Patch inspired by work Debian did.
+
+2006-02-10 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1.4 ***
+ *******************************************************************
+
+2006-01-04 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi (auto_attrcache Parameter): revise discussion
+ to mention pros and cons of turning on/off this parameter,
+ including impact on Amd's performance, and ways to improve
+ performance while minimizing the window of vulnerability in which
+ kernel may return the wrong (cached) attributes.
+
+2006-01-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * updated copyright year to 2006 on all files.
+
+2005-12-20 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
+ register_autofs_service): use a consistent prototype for the
+ dispatch function of the autofs service de/registration functions.
+
+2005-12-03 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new ports: i386-unknown-netbsdelf2.1,
+ i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
+
+2005-12-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * m4/macros/check_field.m4: remove double inclusion of msdosfs
+ headers, which are included in mount_header1.h (netbsd 2.1 doesn't
+ protect <msdosfs/msdosfsmount.h> which causes compile errors).
+
+2005-11-08 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-unknown-freebsd6.0 (RELEASE)
+
+2005-10-26 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
+ Amd, not in pawd (to avoid repeated network RPCs).
+
+ * amq/pawd.c (transform_dir): move repeated path resolution into Amd.
+
+2005-10-25 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amq/pawd.c (transform_dir): resolve path repeatedly until
+ finished. Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
+ Added safety check to prevent infinite loops.
+
+2005-10-19 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi (opts Option): document new pcfs options
+ longname, nowin95, shortname, user=N, group=N, mask=N, and
+ dirmask=N.
+
+ * amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
+ nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
+
+ * include/am_compat.h: provide compatibility mnttab string names,
+ if needed, for pcfs mount options longname, nowin95, shortname,
+ user=N, group=N, mask=N, and dirmask=N.
+
+ * include/am_utils.h: extern for hasmntstr().
+
+ * libamu/mtab.c (hasmntstr): new function to return the string
+ value following a mount option, up to the next comma-delimited
+ options.
+
+ * configure.in: check for mnttab and pcfs options longname,
+ nowin95, and shortname.
+
+ * Makefile.am (EXTRA_DIST_M4): distribute new macro
+ check_mnt2_pcfs_opt.m4.
+
+ * m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
+ mnttab and mount options.
+
+2005-10-18 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
+ correctly, depending if it's a pointer or not.
+
+ * conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
+ #define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
+ or an embedded structure, so we can tell how to print it.
+
+ * libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
+ field, if it exists.
+
+ * configure.in: check for nfs_args->addrlen field.
+
+ * wire-test/wire-test.c (main), libamu/mount_fs.c
+ (print_nfs_args), fixmount/fixmount.c (inetresport,
+ clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
+ (main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
+ (amfs_mount): document that as per POSIX, we don't need to set the
+ sa_len/sin_len fields in struct sockaddr/sockaddr_in. The field
+ is used only internally in the kernel. See
+ www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
+
+ * fixmount/fixmount.c (inetresport): initialize sockaddr_in
+ structure before filling in some fields.
+
+2005-10-11 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
+ correct mistaken description of nfs_proto.
+
+2005-10-10 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1.3 ***
+ *******************************************************************
+
+2005-10-07 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
+ very end, after the test using getvfsbyname().
+
+ * m4/macros/expand_run_string.m4: if the string value returned is
+ empty, consider it invalid.
+
+ * m4/macros/check_varargs_macros.m4: rewrite macro so it'll
+ try and compile the varargs test, not just cpp it. Some systems
+ pass the old cpp test, but not when you actually try to compile
+ the code (Tru64's cc).
+
+ * conf/autofs/autofs_solaris_v1.h: redefine
+ autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
+ This works everywhere and we avoid linking problems, inline
+ functions, etc.
+
+ * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
+ autofs_strdup_space_hack() function altogether.
+
+ * m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
+
+ * configure.in: test for <sys/immu.h> header.
+ Test for pte_t, but only on IRIX6 systems.
+
+ * Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
+
+ * m4/macros/type_pte_t.m4: new test for existence of pte_t
+ typedef, needed on some IRIX-6.5/gcc systems.
+
+ * m4/macros/header_templates.m4: add missing templates for
+ HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
+ HAVE_EXTERN_UALARM.
+
+ * amd/info_exec.c (exec_map_open): break assignment from inside
+ conditional, to work around an IRIX-6.5 cc bug.
+
+ * fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
+ libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
+ comparison between signed and unsigned integers.
+
+ * conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
+ (autofs_strdup_space_hack): move "space_hack" function from static
+ inline in header, into the only source file that needs it. This
+ is cleaner and also prevents linking problem with some compilers
+ that won't apply CPP macros inside static inline functions (for
+ the strl* functions).
+
+ * amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
+ code.
+ (transform_dir): call the new, efficient amqproc_pawd_1() routine.
+
+ * amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
+
+ * amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
+ wrapper routine.
+
+ * amd/amq_svc.c (amq_program_1): dispatch point for
+ amqproc_pawd_1_svc.
+
+ * amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
+ functionality into Amd, where it can be done a lot more
+ efficiently. We don't have to construct and ship a whole export
+ tree from Amd to pawd. We just get a variable-length
+ xdr_wrapstring for the user's path, iterate over the entire export
+ list inside Amd, and return only a matched string if found
+ (otherwise we return "" to indicate that there was no match, and
+ let pawd printf the same string it sent over).
+
+ * amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
+ the AMQPROC_PAWD RPC.
+
+2005-10-06 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
+ Fixes Tru64 bugs when using ksh.
+
+ * amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
+ into two sections, to workaround a C99 varargs-macro bug in
+ gcc-3.2.2 (RH9).
+
+ * libamu/wire.c (print_wires): convert argument-less xsnprintf to
+ xstrlcpy.
+
+ * include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
+ HAVE_GCC_VARARGS_MACROS to pass file name and line number to
+ xsnprintf/xvsnprintf.
+
+ * libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
+ then also print the source file name and line number that called
+ xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
+ likely an am-utils bug).
+
+ * Makefile.am (EXTRA_DIST_M4): distribute new
+ check_varargs_macros.m4 file.
+
+ * configure.in: execute new AMU_VARARGS_MACROS test.
+
+ * m4/macros/check_varargs_macros.m4: new test to check what style
+ of variable-length argument macros, if any, does the
+ compiler/pre-processor supports.
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
+ conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
+ amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
+ (mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
+ amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
+ use sizeof() instead of fixed SIZEOF_* macros.
+
+ * libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
+ (DEBUG): if debugging is on, then also print the source file name
+ and line number that called xstrl* with a buffer that wasn't large
+ enough (most likely an am-utils bug)
+
+ * include/am_compat.h (INADDR_NONE): define in a common location,
+ if OS doesn't have it, use 0xffffffffU which should work with any
+ ANSI compiler.
+
+ * fixmount/fixmount.c, libamu/wire.c: remove local definition of
+ INADDR_NONE.
+
+ * amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
+ (amfs_auto_mount): use common SIZEOF_OPTS in definition and call
+ to autofs_get_opts.
+
+ * amd/amd.h (SIZEOF_OPTS): moved #define to common header.
+
+2005-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * amd/opts.c (expand_op): Need to check BUFSPACE for env for
+ vlen+1. Likewise for cp and strlen(cp)+1.
+
+ * amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
+ size argument to autofs_get_opts.
+
+2005-10-05 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amq/pawd.c (transform_dir): was using UDP only. Now will also
+ try TCP if UDP failed. Destroy client after use to avoid leftover
+ TCP sockets in the kernel.
+
+ * libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
+ from 128 to to 256, because some users have really long option
+ strings. Suggestion from jon+amd-at-spock.org.
+
+ * amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
+ just vlen. Bug discovered when started using xstrlcpy().
+
+ * ALL: convert from using strcat to the safer xstrlcat, and from
+ strcpy to safer xstrlcpy.
+
+2005-10-04 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
+
+ * hlfsd/hlfsd.c (fatalerror): new function instead of macro.
+ Easier to use xstrlcat in this new function.
+
+ * amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
+ from am_utils.h to amd.h, and define its size as a macro that
+ could be passed to xstrl*().
+
+ * ALL: convert from using sprintf to the safer xsnprintf.
+
+ * mk-amd-map/Makefile.am (LDADD): link with libamu to get
+ xsnprintf().
+
+ * amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
+ extern from am_utils.h to amd.h, and define its size as a macro
+ that could be passed to xsnprintf().
+
+2005-10-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * include/am_utils.h: extern for xvsnprintf().
+
+ * amd/autil.c: move strsplit() to libamu/strutil.c.
+
+ * libamu/Makefile.am: use strutil.c, not util.c.
+
+ * libamu/strutil.c: rename from util.c to explain better purpose
+ of file. Move xvsnprintf and xsnprintf from xutil.c to this
+ file. Sync up with 6.2 version of file.
+
+ * libamu/xutil.c: explain purpose of file. Move mkdirs/rmdirs
+ code from old util.c.
+
+2005-10-01 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * m4/macros/header_templates.m4: templates for FFS.
+
+ * m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
+ system mount table name via the MOUNT_* mount(2) macros (because
+ BSD44 keeps the mount table in the kernel).
+
+ * configure.in: synchronise order of searching for mnttab entries
+ and mount names. The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
+ efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
+ ufs, and ext3 instead of ext2 on Linux).
+
+ * include/am_defs.h: include <sys/statvfs.h> if it exists.
+
+ * conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
+ and statvfs(), but the latter is preferred, so #define to use
+ statvfs.
+
+ * configure.in: check for statfs(), statvfs(), and
+ <sys/statvfs.h>.
+
+ * config.guess.long: strip trailing '.' on "netbsdelf3.0."
+ (Beta). Workaround for bug in config.guess.
+
+ * config.{guess,sub}: update to latest versions.
+
+2005-09-30 Christos Zoulas <christos@zoulas.com>
+
+ * fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
+ hard-coded value of -1.
+
+ * include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
+ to 16KB. We can afford it these days.
+
+ * libamu/strcasecmp.c (strcasecmp): use unsigned chars in
+ tolower() to avoid sign/size promotion bugs.
+
+ * libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
+ default (it's unfriendly). If user really wants to, they can set
+ it in /etc/syslog.conf.
+
+2005-09-29 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amq/pawd.c (find_mt): if the auto mount type is used, pawd could
+ go into an infinite loop since the mt_directory and mt_mountpoint
+ fields are the same for auto mounts. Solution: ignore type auto
+ mounts, similar to toplvl. Bug fix from Jonathan Chen
+ <jon+amd@spock.org>.
+
+ * README.attrcache: document test-attrcache script.
+
+ * scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
+ script.
+
+ * configure.in: build scripts/test-attrcache script and chmod it
+ so it can be executed in place.
+
+ * scripts/test-attrcache.in: script to test the NFS attribute
+ cache using Amd.
+
+2005-09-26 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * libamu/xutil.c (unregister_amq): repair broken meaning of D_AMQ,
+ which was reversed in am-utils-6.2. Bug fix from Steve Plite
+ <splite-amutils at sigint.cs.purdue.edu>.
+
+ * hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
+ nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
+ (hlfsd_init): use new clocktime() function.
+
+2005-09-18 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1.2.1 ***
+ *******************************************************************
+
+ * README.attrcache: Update status of freebsd and openbsd.
+ Document netbsd's patchs to support noac.
+
+ * libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
+ code that sets the ac{reg,dir}{min,max} fields so it also sets the
+ appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
+
+ * configure.in: check for nfs_args fields acregmax and acdirmax.
+
+ *******************************************************************
+ *** Released am-utils-6.1.2 ***
+ *******************************************************************
+
+ * README.attrcache: new file documenting in detail OS bugs
+ relating to attribute caching, which can affect Amd's reliability
+ under heavy load.
+
+ * doc/Makefile.am: install README.attrcache file as attrache.txt
+ file on am-utils Web site.
+
+ * Makefile.am (EXTRA_DIST): include README.attrcache in distro.
+
+ * BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
+ scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
+ cache bugs on some OSs.
+
+2005-09-17 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * libamu/xutil.c (clocktime): newly implemented routine. Uses
+ gettimeofday() each time to return a high-resolution clock time,
+ and does not "cache" the last time. Returns time in seconds, just
+ like the old implementation. If passed a non-null argument, will
+ fill it in with the current time in seconds+microseconds.
+
+ * libamu/xutil.c: remove actual declaration of clock_valid, and
+ another never-used declaration for xclock_valid.
+
+ * include/am_utils.h: remove defunct definition of clocktime()
+ macro and clock_valid variable. Add extern for new definition.
+
+ * libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
+ hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
+ hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
+ conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
+ (open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
+ amd/autil.c (host_normalize): remove defunct clock_valid.
+
+ * amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
+ node's mtime.
+ (fh_to_mp3): use new clocktime() to update mtime and get a better
+ time resolution.
+
+ * amd/mapc.c (mapc_reload_map): change prototype from returning
+ void to returning an int. If reloading was needed and succeeded,
+ return 1; else return 0.
+ (mapc_sync): update mtime of parent node if needed. This is a
+ CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
+ when we run "amq -f" manually or when a map is reloaded.
+
+ * amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
+ (init_map): use new clocktime().
+ (unmount_mp): if the OS doesn't support a "symttl" option, then
+ update the mtime of the parent node using the clocktime(); but if
+ the time hasn't gotten changed because of rapid Amd accesses on
+ systems that don't have a micro-second NFS-client resolution, then
+ increment mtime by one arbitrarily (this could, on some systems
+ and under pathological cases, result in mtime's that are in the
+ future).
+
+ * amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
+ update of parent dir, to prevent DNLC/dcache from caching the old
+ entry, which could result in ESTALE errors, bad symlinks, and
+ more.
+ (am_mounted): record mount time, and update am_stats at the same
+ time, using the double-action redone clocktime() routine.
+ (am_mounted): update parent's mtime from that of the child.
+ (am_unmounted): when unmounting an entry, update mtime of parent
+ node.
+
+ * amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
+ remember it's last non-zero value, save it in a temporary variable
+ to avoid a TOCTOU problem (between an "if" and a "dlog").
+
+ * libamu/xutil.c (show_time_host_and_name),
+ conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
+ amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
+ (find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
+ (nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
+ amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
+ amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
+ amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
+ exec_search), amd/clock.c (timeout, softclock), amd/autil.c
+ (forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
+ amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
+ NULL to clocktime().
+
+2005-09-07 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: powerpc-apple-darwin8.2.0.
+
+ * m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
+ but all newer ones (10.4+) use int.
+
+ * m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
+ 6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
+
+ * minor new port: i386-pc-linux-deb3.1.
+
+2005-09-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/mount/mount_linux.c: If autoconf didn't find any disk-based
+ file system on this system (probably because /proc isn't mounted),
+ then provide some default definition for this file to compile.
+
+2005-08-27 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
+ config.cache.old, and dbgcf.h on "make distclean".
+ (CLEANFILES): remove dbgcf on plain "make clean".
+
+ * amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
+ "make distclean".
+
+2005-08-24 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * configure.in: wrap all LDAP and HESIOD tests in test whether
+ --with-OPT was used.
+
+2005-08-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * configure.in: sinclude([vers.m4]) version number file.
+
+ * vers.m4: new file to separate version number out of
+ configure.in, useful for nightly snapshot script to generate
+ nightly version string.
+
+ * Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
+
+2005-08-11 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * configure.in: keep AC_INIT on same line, for nightly snapshot
+ build script.
+
+2005-08-06 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/amd.conf.5: selectors_in_defaults is a common parameter,
+ not just [global]. Use consistent capitalization of Amd/Amq.
+
+ * scripts/amd.conf-sample: properly list all of the parameters
+ which are common to both the [global] and the per-map sections.
+
+ * doc/am-utils.texi (Common Parameters): selectors_in_defaults is
+ a common parameter, not just [global].
+
+ * scripts/amd.conf-sample (sun_map_syntax): example of new flag.
+
+ * cvs-server.txt: update instructions after branching 6.1-stable.
+
+2005-08-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1.1 ***
+ *******************************************************************
+
+ * libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
+ vsprintf, not sprintf.
+
+ * conf/umount/umount_osf.c (umount_fs): refer to proper formal
+ parameter name.
+ (umount2_fs): pass second arg to umount().
+
+ * ALL: remove CVS ID and put actual file name in source.
+
+ * conf/autofs/*.[hc]: proper copyright headers.
+
+ * whitespace reformatting. Remove remaining '%W%' SCCS IDs.
+
+ * amd/mntfs.c (free_mntfs): don't discard the last reference to an
+ mntfs that had been mounted already. It won't have the
+ MFF_RESTARTED flag on, as it gets turned off after the entry is
+ mounted, but it will have the MFF_RSTKEEP flag on.
+
+ * amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
+ show the mntfs's flags.
+
+2005-08-01 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/mtab/mtab_linux.c: removed unused code. Cleanup.
+ (handler): removed this bad signal handler.
+ (lock_mtab): Redhat's original code set a signal handler called
+ "handler()" for all non-ALRM signals. The handler called
+ unlock_mntlist(), plog'ed the signal name, and then exit(1)!
+ Never, ever, exit() from inside a utility function. This messed
+ up Amd's careful signal-handling code, and caused Amd to abort
+ uncleanly only any other "innocent" signal
+ (even simple SIGUSR1), leaving behind a hung Amd mnt point. That
+ code should have at least restored the signal handlers' states
+ upon a successful mtab unlocking. Anyway, that handler was
+ unnecessary, because will call unlock_mntlist() properly anyway on
+ exit.
+
+ * conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
+ message that we're inside the unlock_mntlist function.
+
+ * amd/amd.c (main): use new setup_sighandler() for Amd's four main
+ signals (INT, TERM, HUP, and CHLD).
+ (main) Add SIGINT and SIGTERM to masked_sigs, used in
+ nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
+ to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
+ HAVE_SIGACTION. So this change makes Amd behave consistently.
+
+ * include/am_utils.h: extern for new setup_sighandler().
+
+ * libamu/xutil.c (setup_sighandler): new utility function to setup
+ a single signal-handler regardless of what method is supported by
+ this OS.
+ (going_down): call unlock_mntlist() when exiting, to ensure that
+ Amd will remove any leftover mtab lock files, if any.
+
+ * amd/restart.c (restart_automounter_nodes): cleanup function.
+
+ * minor new port: i386-pc-linuxoldld-deb3.1.
+
+ * configure.in: include <sys/types.h> before <linux/socket.h> to
+ get the definition of size_t on Debian-3.1r0a.
+
+2005-07-29 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
+ IP address. First check if it differs from the existing one of
+ the fserver, and copy only if it changed. If it did change, flush
+ the fhandle cache to avoid a stale fhandle being reused. This
+ allows Amd to detect IP address changes even for an fserver that
+ lost one or more NFS pings, but not enough to be declared totally
+ down. We handle the "totally down" fserver case in
+ check_fs_addr_change().
+
+ * amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
+ amd/nfs_subr.c (nfs_quick_reply): code clarity.
+
+ * conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
+ errnos to NFS errors.
+
+ * conf/umount/umount_linux.c (umount2_fs): cleanup code. Trying
+ stat() seems doomed to hang at times, so don't try stat at all,
+ because umount2() appears to be clever enough to never hang.
+
+2005-07-25 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
+ particular fserver may need forced/lazy unmounts when it's mntfs's
+ are unmounted.
+
+ * amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
+ the user specified forced_unmounts=yes in amd.conf, and this
+ fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
+ forced/lazy unmounts, then try forced/lazy unmounts. This should
+ allow a hung mount point to be removed.
+
+ * amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
+ detection code to its own function.
+ (check_fs_addr_change): new function to detect if the IP address
+ of a downed host has changed, and do various cleanups and fixups
+ to try and recover as best from that situation (e.g., flushing
+ various caches). Also set the FSF_FORCE_UNMOUNT flag for the
+ fserver in question.
+ (flush_srvr_nfs_cache): pass fserver as argument, so we can
+ selectively flush the NFS cache for a single fserver (or all of
+ them, if you pass NULL).
+
+ * libamu/xutil.c (switch_to_logfile): truncate a regular-file log
+ file if user passed non-zero "truncate_log" flag.
+
+ * include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
+
+ * amd/get_args.c (get_args): pass "truncate_log" flag as per
+ amd.conf global settings.
+
+ * amd/conf.c (gopt_truncate_log): store global value of
+ truncate_log flag.
+
+ * amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
+ reload): don't truncate log file when calling switch_to_logfile().
+
+ * amd/amd.h (CFM_TRUNCATE_LOG): new flag. Fix comment typo.
+
+ * NEWS, doc/am-utils.texi (truncate_log Parameter),
+ scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
+ new truncate_log amd.conf parameter.
+
+ * amd/conf.c (gopt_forced_unmounts): check Linux kernel version
+ and alert if your version may be too old for MNT_FORCE to work
+ (before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
+ Otherwise it may be impossible to pin down the exact kernel
+ version in which we should enable this feature.
+
+ * conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
+ EBUSY, then don't try to stat(2) before MNT_DETACH because it
+ could hang.
+
+2005-07-21 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/umount/umount_linux.c (umount_fs): cleanup this function,
+ breaking long "if" statements using "goto out".
+
+ * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
+ call new utility function umount2_fs() as needed (EBUSY, EIO, or
+ ESTALE).
+
+ * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
+ define a new utility function to invoke forcible/lazy unmounts
+ without touching any mtab files. This separate utility function
+ is useful because it can be called from elsewhere.
+
+ * amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
+ before Amd mounts toplvl mounts, which gives us a hook for cleanup
+ of a previously dead Amd. In our case, if the user asked for
+ forced_unmounts, and the OS supports it, then we try forced/lazy
+ unmounts on any previous toplvl mounts. This is useful if a
+ previous Amd died and left behind toplvl mount points (this Amd
+ will clean them up!). WARNING: Don't use forced/lazy unmounts if
+ you have another valid Amd running, because this code WILL force
+ those valid toplvl mount points to be detached as well!
+
+ * amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
+ try forced/lazy unmounts because it will prevent a normal Amd from
+ terminating and cleaning up properly (self-deadlocking: detached
+ mounts hang the parent Amd on a stat). Since we already do
+ unmounts in the background, then try a safer policy: after trying
+ the normal unmounts a few times (5 sec), escalate and try forced
+ unmounts a few times (5 more seconds), and if even that failed,
+ then try the ultimate -- detached unmounts (which always succeed).
+ This allows Amd to first try and shutdown cleanly, and gradually
+ try more forcible ways to shutdown. On Linux, this procedure will
+ cleanly shutdown Amd even if there are processes with their CWD on
+ Amd's mount points (which normally result in EBUSY).
+
+2005-07-20 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
+
+ * conf/umount/umount_aix.c: easier if AIX has its own unmount
+ helper file.
+
+ * m4/macros/check_umount_style.m4: AIX needs its own unmount style
+ file.
+
+ * doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
+
+2005-07-19 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
+ forced-unmount flag.
+
+ * conf/umount/umount_default.c (umount_fs): if regular umount got
+ EBUSY, EIO, or ESTALE, then try forced unmount, if supported. Try
+ umount2 (Solaris) or uvmount (AIX).
+
+ * conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
+ umount() failed with EIO or ESTALE, also try forced unmount.
+
+2005-07-18 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/autil.c (amfs_mount), amd/amfs_toplvl.c
+ (amfs_toplvl_umount): enable forced/lazy unmounts only if user
+ asked for it (and dlog it).
+
+ * scripts/amd.conf.5: document new force_unmount global parameter.
+
+ * doc/am-utils.texi (forced_unmounts Parameter): document new
+ global parameter.
+
+ * amd/conf.c (gopt_forced_unmounts): process forced_unmounts
+ option (default "no"). Exit with an error if user specified the
+ option as "yes" but configure couldn't find support for either the
+ MNT_FORCE or MNT_DETACH flags.
+
+ * scripts/amd.conf-sample (forced_unmounts): example usage of new
+ option.
+
+ * amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
+ option.
+
+ * m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
+
+ * configure.in: check for generic u/mount options "detach" and
+ "force".
+
+ * include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
+ Define AMU_UMOUNT flags for force, detach, and autofs.
+
+ * amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
+ unmount flags unconditionally. Pass them to UMOUNT_FS().
+
+ * conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
+ if needed, because some Linux systems don't define them
+ (presumably because it would be too dangerous to expose these
+ flags to users).
+
+ * amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
+ then assume that we're in trouble, possibly because a previous
+ mount is hung. So, first try to force a lazy unmount of the old
+ mount. If the forced unmount worked, then try again to mount the
+ desired file system. If the forced unmount failed, then don't
+ retry: just return an error.
+
+ * amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
+ (amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
+ amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
+ amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
+ amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
+ amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
+ (umount_fs), conf/umount/umount_default.c (umount_fs),
+ conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
+ (umount_fs): compute and use unmount specific flags.
+
+2005-07-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * configure.in: better help for users, if nfs_args can't be found.
+
+2005-07-15 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * BUGS: more details on AIX's need to install bos.net.nfs.adt
+ before configuring am-utils (else configure cannot find struct
+ nfs_args on AIX).
+
+2005-07-10 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
+ address of a down server had changed.
+
+ * amd/info_union.c (union_reload): use safer xsnprintf() routine.
+
+ * amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
+ of a named but down fserver changed (i.e., the previous IP address
+ is no longer responding). If so, then reset the fserver to the
+ new IP address, and set the fserver's flags such that the function
+ will fall through to doing the usual NFS version/proto checks and
+ pinging. (This should fix one case of bug #308.)
+
+ * conf/umount/umount_linux.c (umount_fs): warn if plain umount()
+ failed, before we try to ignore any errors or try optional
+ umount2(), possibly with forced/lazy unmount.
+ (umount_fs): dlog when unmount succeeded.
+
+2005-07-08 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/mount/mount_linux.c: add a couple more NFSv2 error codes
+ that are compatible with NFSv3.
+
+2005-07-07 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * m4/macros/header_templates.m4: extern template for strlcat().
+
+ * amd/get_args.c (get_version_string): use safer strlcat (or
+ replacement strlcat). Use new wrapper xsnprintf() function, which
+ will use the safer vsnprintf() if available, else default to plain
+ sprintf.
+
+ * configure.in: check for existence of strlcat() and its extern,
+ replacing with libamu/strlcat.c as needed.
+
+ * libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
+
+ * include/am_defs.h: optional strlcat() extern.
+
+ * include/am_utils.h: extern for new xvsnprintf().
+
+ * configure.in: overdue new major libtool shlib version.
+ Check for snprintf function and extern.
+
+2005-07-06 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
+ aix4_nfs_args_bis.
+
+ * Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
+ distribution.
+
+ * conf/mount/mount_aix.c: mount style for aix 5.x and newer.
+
+ * conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
+
+ * m4/macros/check_mount_style.m4: split mount styles for
+ aix3.x/4.x and the newer (and better) aix 5.x code.
+
+2005-07-05 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amq/pawd.c (getawd): avoid buffer overflow. Bug fix from Graeme
+ Wilford <G.Wilford@surrey.ac.uk>.
+
+2005-06-30 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/map.c (get_next_exported_ap): Avoid running off the end of
+ the exported_ap[] array. Patch from jon+amd-at-spock.org. Fixed
+ bug #301.
+
+2005-06-25 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
+
+ * conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
+ must come before C code.
+
+ * conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
+ that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
+ Patch from Red Hat, which they adapted from mtab_file.c. Minor
+ fixes to this file.
+
+ * m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
+ handling.
+
+2005-06-24 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
+ copying code.
+
+2005-06-23 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
+ be missing from older hpux10 systems.
+
+ * configure.in: update bug-reporting address to list
+ https://bugzilla.am-utils.org/ as well as the mailing list.
+
+ * Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
+ macro.
+
+ * conf/transp/transp_tli.c (get_nfs_version): always use
+ rpcvers_t, now that it'll be automatically discovered.
+
+ * configure.in: check for rpcvers_t type.
+
+ * m4/macros/type_rpcvers_t.m4: new macro to check for type of
+ rpcvers_t (Some Solaris versions need it).
+
+ * conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
+ here, but in the actual source files that may need it.
+
+ * libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
+ already.
+
+ * include/am_defs.h: define extern for sleep(3) if needed.
+
+ * m4/macros/header_templates.m4: template for sleep(3) extern.
+
+ * configure.in: check for extern for sleep(3), which is missing
+ from some old (and buggy) versions of gcc's fixinc'ed headers.
+
+ * conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
+ nfs_args from actual system headers.
+
+ * conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
+ structure.
+
+2005-06-22 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * BUGS: update Solaris information about use of f/lex and
+ yacc/bison.
+
+2005-06-20 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-pc-linux-suse9.3.
+
+2005-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
+ so u32 is available for <linux/sunrpc/msg_prot.h>.
+
+2005-06-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
+ exec maps will always match when users use amd with command line
+ args (not amd.conf). Using that legacy way, unfortunately, means
+ that Amd will use it's hard-coded info-service search path, which
+ doesn't work for everyone. It's much better to use amd.conf and
+ specify what you want exactly.
+
+2005-06-15 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
+
+ * m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
+ int as the type of recvfrom()'s 6th argument.
+
+ * m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
+ int as the type of yp_order()'s 3rd argument.
+
+2005-06-15 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/amd.conf-sample (map_type): typo, said mount_type
+ instead of map_type for the 'exec' example.
+
+2005-06-11 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1 ***
+ *******************************************************************
+
+2005-06-04 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
+ only if the user specified them in amd.conf or elsewhere. If they
+ were not specified, don't do anything, which would let the OS use
+ its own defaults.
+
+ * amd/get_args.c (get_args): negative timeo/retrans are "good" in
+ that they represent uninitialized values (meaning to let the OS
+ use it's default values). So only check if user specified a value
+ equal to zero (invalid).
+
+ * amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
+ specify timeo/retrans at all.
+
+2005-06-03 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1-rc7 ***
+ *******************************************************************
+
+ * m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
+ configuring, not just for building. That way the two phases
+ (configure and compile) are in sync. This fixes getwire() on
+ OSF/1 systems.
+
+ * conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
+ defined in system headers.
+
+2005-06-01 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
+ longer needed.
+
+2005-05-28 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * completed set of fixes for irix6.5.
+
+ * Minor new ports alpha-unknown-linux-gentoo1.4.16
+ alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
+ sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5. Test
+ those systems with both cc and gcc, where possible.
+
+ * include/am_xdr_func.h: remove trailing comma at end of enum
+ list.
+
+ * m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
+ undefined. So give it a dummy value.
+
+ * libamu/alloca.c: remove file from distro.
+
+ * configure.in: don't call AC_FUNC_ALLOCA any more.
+
+ * include/am_defs.h: remove header fixups for <alloca.h>, now that
+ we don't need it.
+
+ * amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
+ avoid only use of alloca() in am-utils, and to use strdup
+ explicitly. This way we can avoid using alloca, a feature that's
+ not portable on various systems.
+
+ * amq/amq.c: remove unused lint/rcsid cruft.
+
+2005-05-27 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
+ extra parentheses around assignments in "if" expressions (gcc
+ complains).
+
+ * conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
+ for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
+ xdr_groups.
+
+ * configure.in: check for <linux/socket.h>, which, if found,
+ appears to be preferable to <sys/socket.h>. Use it to find
+ <linux/nfs_mount.h>. On some Linux systems
+ (Gentoo), both exist but only one must be included, or else you
+ get redefined structure errors.
+
+ * libamu/wire.c (is_network_member): check if masknum is
+ INADDR_NONE, not "< 0" because it's an unsigned quantity.
+
+ * libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
+ because it's an unsigned quantity.
+
+2005-05-26 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1-rc6 ***
+ *******************************************************************
+
+2005-05-25 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
+ missing definition of struct thread_credentials in <sys/vfs.h>
+ but trying to bring that definition in drags a whole lot of other
+ messy stuff. So just provide a dummy definition for this
+ structure.
+
+2005-05-24 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
+
+ * m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
+
+ * m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
+ systems, so we can find extern definition for mntctl().
+
+ * conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
+ define an extern for mntctl() if needed.
+
+ * amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
+ style comments in C code. Some C compilers don't accept it.
+
+ * amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
+ of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
+ xlC.
+
+ * amd/get_args.c: rename symbol conf_file to amu_conf_file to
+ avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
+ Oh, when will people who develop libraries learn to always prefix
+ their exported symbols with a library-specific name?
+
+ * configure.in: check for mntctl() extern on AIX systems.
+
+ * ltmain.sh: update from latest libtool-1.5.18, so we can properly
+ build on AIX 5.2/5.3 with cc and with gcc.
+
+ * m4/macros/libtool.m4: update from latest libtool-1.5.18. This
+ time, and from now on, we must include libtool.m4 from the libtool
+ distribution itself. That way we ensure that we use an ltmain.sh
+ that matches the appropriate libtool M4 macros. This makes
+ am-utils no longer dependent on having libtool installed on a
+ given system on which you run bootstrap.
+
+2005-05-23 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-pc-linux-deb3.0.
+
+2005-05-22 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new ports: i386-unknown-netbsdelf2.0.2 and
+ i386-unknown-openbsd3.7.
+
+2005-05-20 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new ports: i386-pc-linux-gentoo1.4.16 and
+ powerpc-unknown-linux-yellowdog2.3.
+
+ * include/{mount_headers2.h, am_defs.h}: safer setup before
+ inclusion of <linux/nfs_mount.h>, which is broken on several
+ systems.
+
+ * configure.in: test for <linux/nfs2.h>. Separate special test
+ for <linux/nfs_mount.h> because we need to define __KERNEL__ for
+ that test, as well as optionally define struct nfs2_fh for some
+ systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
+
+ * config.guess.long: support Gentoo and Yellow Dog Linux distros.
+
+2005-05-18 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new ports: i386-pc-linux-suse9.2 and
+ i386-unknown-freebsd5.4.
+
+ * amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
+
+2005-05-17 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1-rc5 ***
+ *******************************************************************
+
+ * amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
+ sending annoying warning for a minor issue.
+
+2005-05-17 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/nfs_subr.c: check for NULL pointer before dereferencing it.
+
+2005-05-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new ports: powerpc-apple-darwin7.9.0.
+
+ * m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
+ from OS name because it's no longer relevant. Also, don't include
+ the major OS version number in the OS name because that's also
+ unnecessary (and users can always use $osver in maps).
+
+ * amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
+ struct am_fh, because it's the most portable method. Bug fix
+ suggestion from Dan Riley <dsr at mail.lns.cornell.edu>. Better
+ fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
+ actual size we use.
+
+ * amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
+ def_opts to options given in -opts, appended with the /default
+ options. Bug fix suggestion from Dan Riley <dsr at
+ mail.lns.cornell.edu>.
+
+2005-05-13 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1-rc4 ***
+ *******************************************************************
+
+2005-05-11 Daniel P. Ottavio <dottavio@ic.sunysb.edu>
+
+ * amd/amd.c (main) : fixed memory leak detected by valgrind
+
+ * amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
+ valgrind
+
+2005-05-11 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
+ check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
+ check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
+ for "macosx" as valid OS string, so we compile properly on Darwin
+ systems.
+
+ *******************************************************************
+ *** Released am-utils-6.1-rc3 ***
+ *******************************************************************
+
+ * rerun bootstrap to get a working configure script that actually
+ checks for limits.h and dependent linux autofs/nfs headers.
+
+ * configure.in: remove redundant check for limits.h.
+
+2005-05-09 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1-rc2 ***
+ *******************************************************************
+
+2005-05-08 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
+ old_def_opts variable.
+
+2005-05-08 Daniel P. Ottavio <dottavio@ic.sunysb.edu>
+
+ * amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
+ entry has a single dash '-', that the default options are reset.
+ This functionality was somehow lost from earlier releases and
+ reported by Dan Riley <dsr@mail.lns.cornell.edu>.
+
+2005-05-05 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * config.guess.long: detect SuSE Enterprise Server and call it
+ "sles" not "suse".
+
+2005-05-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi (amd): document proper use of
+ /etc/hosts.allow. Don't spawn a new Amd process because Amd will
+ get confused if someone else waitpid's on its children (which
+ often do important un/mount work). Issue reported by Francis
+ Montagnac <Francis.Montagnac at sophia.inria.fr>.
+
+ * minor new ports: powerpc64-unknown-linux-rhel4, and
+ powerpc64-unknown-linux-sles9.
+
+2005-05-01 Daniel P. Ottavio <dottavio@ic.sunysb.edu>
+
+ * amd/amfs_host.c (amfs_host_umount): We do not want to pass
+ ENOENT as an error because if the directory does not exists our
+ work is done anyway.
+
+ * conf/umount/umount_linux.c (umount_fs): If we are successful or
+ there was an ENOENT, remove the mount entry from the mtab file.
+
+2005-05-01 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/nfs_subr.c: am_fh definition moved here from amd.h;
+ restructured to better reflect its duality (old/new filehandles)
+ (fh_to_mp3): fhh_gen is always used, even for new style f/h
+ (mp_to_fh): ditto
+
+ * amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
+ only place where it's used)
+
+2005-04-30 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * m4/macros/host_macros.m4: use sw_vers on Apple machines to find
+ out more appropriate OS name (macosx) and OS version (10.3.x) than
+ uname(3) reports.
+
+2005-04-29 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * config.guess, config.sub, doc/texinfo.tex: updates from latest
+ official GNU distributions.
+
+ * m4/macros/host_macros.m4: for macosx, change architecture value
+ from "Power Macintosh" to "powerpc".
+
+ * libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
+ int (it's a size_t).
+
+2005-04-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
+ Parameter), scripts/amd.conf-sample: document new
+ normalize_slashes global configuration parameter.
+
+ * amd/opts.c (deslashify, normalize_slash): don't touch trailing
+ slashes, even if multiples of them, if user said
+ normalize_slashes=no in amd.conf.
+
+ * amd/conf.c (gopt_normalize_slashes): new function to record if
+ to normalize slashes or not.
+
+ * amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
+ normalize double-slashes or not ("yes" by default).
+
+ * amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
+ This is the parent mntfs which does the mf->mf_fo
+ (am_opts type), and we're passing TRUE here to tell mf_mounted to
+ actually free the am_opts.
+
+ * amd/autil.c (mf_mounted): Be careful when calling free_ops and
+ XFREE here. Some pseudo file systems like nfsx call this
+ function, even though it would be called by the lower-level amd
+ file system functions. nfsx needs to call this function because
+ of the other actions it takes. So we pass a boolean from the
+ caller (yes, not so clean workaround) to determine if we should
+ free or not. If we're not freeing (often because we're called
+ from a callback function), then just to be sure, we'll zero out
+ the am_opts structure and set the pointer to NULL. The parent
+ mntfs node owns this memory and is going to free it with a call to
+ mf_mounted(mntfs,TRUE).
+
+ * amd/amd.h: pass flag to mf_mounted, to free or not to free the
+ am_opts.
+
+ * amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
+ tell it not to free the am_opts, to avoid double free.
+
+ * include/am_defs.h: include limits.h if found.
+
+ * configure.in: check for limits.h. Check for certain Linux
+ headers such as auto_fs.h after checking for limits.h, and include
+ the latter if it exists, because some Linux headers depend on
+ limits.h. This prevents warnings during configure time.
+
+2005-04-12 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
+ values from default global UDP settings, because it can cause
+ unexpected timeouts in Amd on slow systems. The default that each
+ OS provides for these toplvl NFS mounts should be OK, or else you
+ can use the map_options entry.
+
+2005-04-09 Daniel P. Ottavio <dottavio@ic.sunysb.edu>
+
+ * amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
+ source buffer is treated more as a filehandle than a string.
+
+ * amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
+ source buffer is treated more as a filehandle than a string.
+
+ * amd/opts.c (free_op): No longer need to assign pointer to NULL
+ after XFREE.
+
+ * amd/opts.c (expand_op): Revert back to using strncpy() instead
+ of xstrlcpy. The code is correct and relies on the semantics of
+ strncpy.
+
+ * libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
+ of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
+ truncate our concocted "hostname:/path" string prematurely if the
+ nap->hostname field is ever less than 64 bytes long
+ (MAXHOSTNAMELEN).
+
+ * libamu/util.c (xstrlcpy): Return immediately if len is 0 to
+ avoid unnecessary work. Log an error and return if len is less
+ than 0.
+
+2005-04-07 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * include/am_utils.h (XFREE): XFREE() should nullify the pointer
+ even when compiling without debugging. It's safer this way.
+
+ * libamu/xutil.c (am_set_hostname),
+ hlfsd/stubs.c (nfsproc_lookup_2_svc),
+ fsinfo/fsinfo.c (fsi_get_args),
+ fixmount/fixmount.c (is_same_host, remove_mount, main),
+ conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
+ conf/mount/mount_svr4.c (mount_svr4),
+ conf/mount/mount_linux.c (setup_loop_device),
+ conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
+ conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
+ amd/opts.c (expand_op),
+ amd/ops_nfs.c (mount_nfs_fh),
+ amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
+ amd/amfs_host.c (amfs_host_mount),
+ amd/am_ops.c (merge_opts):
+ use the new xstrlcpy instead of strncpy.
+
+ * conf/checkmount/checkmount_{default,svr4}.c
+ (fixmount_check_mount): document why NOT to use xstrlcpy.
+
+ * libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
+ more, just MAXHOSTNAMELEN.
+
+ * libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
+ recursion, since xstrlcpy may use plog).
+
+ * libamu/util.c (xstrlcpy): truncating a string is serious. Use
+ XLOG_ERROR not XLOG_WARNING.
+
+2005-04-06 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * include/am_utils.h: external definition for new xstrlcpy
+ function.
+
+ * libamu/util.c (xstrlcpy): new function. Similar to strncpy, but
+ uses strlcpy to guarantee that the resulting string is null
+ terminated, and also warn if the resulting string was truncated.
+
+ * libamu/xutil.c (get_server_pid): move this function from util.c
+ which is for general-purpose utilities.
+
+ * m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
+
+ * include/am_defs.h: provide extern definition for strlcpy, if
+ needed.
+
+ * libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
+
+ * configure.in: search for strlcpy and its extern.
+
+ * amq/pawd.c (find_mt): It only handles *some* filesystem types,
+ so it breaks on direct xfs mounts for example. The fix (from
+ Christos Zoulas) is simple: We need to exclude toplvl to avoid
+ infinite recursion, but all other fs's are game.
+
+2005-03-31 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
+ copying exactly len bytes, so add null just to be safe.
+
+2005-03-30 Daniel P. Ottavio <dottavio@ic.sunysb.edu>
+
+ * amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
+ to make sure it null terminates.
+
+2005-03-29 Daniel P. Ottavio <dottavio@ic.sunysb.edu>
+
+ * amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
+ the memset can be removed because strncpy() should padd the
+ buffer with NULLs anyway.
+
+2005-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * include/am_defs.h: Clarify comment.
+
+2005-03-21 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
+ won't complain about a conflict for this definition between
+ <rpcsvc/nis.h> and <sys/acl.h>.
+
+2005-03-20 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
+
+ * libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
+ %lx.
+
+2005-03-18 Erez Zadok <ezk@cs.sunysb.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.1-rc1 ***
+ *******************************************************************
+
+2005-03-18 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/transp/transp_tli.c (get_nfs_version): use proper type for
+ versout on Solaris (rpcvcers_t).
+
+ * amd/mapc.c (mapc_showtypes): if last map type to print, don't
+ append newline or comma to it.
+
+ * libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
+ to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
+ casting it to an int (size is different).
+
+ * configure.in, NEWS: prepare for 6.1-rc1 release.
+
+2005-03-17 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
+ <adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
+ the ldap.schema expects.
+
+ * amd/map.c (exported_ap_free): We're using a free-list data
+ structure and re-using malloc'ed objects. So, to be safe, memset
+ entire structure when it's freed, not just the pointer.
+ (umount_exported): bug fix to on-exit code. Don't run
+ am_unmounted() unless unmount_mp() didn't run, since the latter
+ already calls am_unmounted(). This way we avoid a double-free
+ bug.
+
+2005-03-15 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * tasks: updates. Executable maps is supported. NFSv4 and
+ FreeBSD autofs isn't.
+
+ * Makefile.am (EXTRA_DIST): include FAQ in distro.
+
+ * doc/Makefile.am (alldocs): install README.lda and README.osx.
+
+ * FAQ: new file, better late than never.
+
+2005-03-14 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/amd2ldif.in: patch to add the amdMapName attribute to
+ the amdMapTimestamp object when amd2ldif converts it. This is
+ necessary if you are using type:=auto mounts and want those
+ mountmaps looked up through LDAP. Patch from Jim Zajkowski
+ <jim.zajkowski@gmail.com>.
+
+2005-03-12 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new ports: i386-pc-linux-rhel4.
+
+ * minor new ports: powerpc-apple-darwin7.8.0.
+
+2005-03-10 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
+ cleaner.
+
+ * ltmain.sh: upgrade from libtool-1.5.6.
+
+ * m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
+ Linux 2.6 kernel modules, which have a .ko extension, not .o. Now
+ we can properly detect which file systems exist on Linux 2.6 based
+ systems (SLES9, RHEL4, Fedora, etc.).
+
+2005-03-09 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * m4/macros/host_macros.m4: find out what's the OS software
+ distribution name, if any.
+
+ * m4/macros/header_templates.m4: template for DISTRO_NAME.
+
+ * amd/get_args.c (get_version_string): print again full_os, os,
+ osver, and vendor (bug fix).
+ (get_version_string): print distribution name, if known (e.g.,
+ rh9, suse8, etc.).
+
+ * amd/mapc.c (mapc_showtypes): wrap around list of supported map.
+
+2005-03-08 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/map.c (umount_exported): when unmounting file systems on
+ exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
+ instead of unmount_node() because the latter always unmounts in
+ the foreground, whereas the former unmounts in the bg/fg as
+ needed. Unmounting always in the foreground has two problems: (1)
+ if the unmount hangs, amd hangs, and (2) for type:=program, the
+ unmount script is execve'd(!) thus replacing the main amd process,
+ which never gets to finish up, leaving the amd mount points hung.
+
+ * NEWS: mention new feature of executable maps.
+
+ * AUTHORS: Acknowledge Erik Kline.
+
+ * scripts/amd.conf.5: document executable maps and
+ exec_map_timeout parameter.
+
+ * scripts/amd.conf-sample: examples of an executable map and
+ exec_map_timeout.
+
+ * m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
+
+ * doc/am-utils.texi: document Executable maps and exec_map_timeout
+ parameter.
+
+ * amd/conf.c (gopt_exec_map_timeout): function to parse
+ exec_map_timeout [global] parameter.
+
+ * amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
+ timeout to 10 seconds, and a global placeholder for the
+ configurable value.
+
+ * amd/amd.c (init_global_options): initialize default executable
+ map timeout.
+
+ * amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
+ tarball.
+
+ * configure.in: enable executable maps.
+
+ * amd/mapc.c: define executable map functions and behavior.
+
+ * amd/info_exec.c: executable map implementation from Erik Kline
+ <ekline at ekline dot com>, modified, cleaned-up, and fixed.
+
+2005-03-07 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/info_file.c (file_init_or_mtime): consolidate identical
+ file_init and file_mtime into one function.
+
+2005-03-05 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi (Program Filesystem): if umount/unmount are
+ not specified, Amd uses "umount ${fs}" by default.
+
+ * amd/amfs_program.c (amfs_program_match): if neither unmount nor
+ umount parameters are specified, use the default userland umount
+ program with "umount ${fs}". This way type:=program doesn't have
+ to specify the umount program for basic unmounting actions.
+ (amfs_program_init): save unmount program string in mf_private
+ only if it's NULL, not based on mf_refc.
+
+ * configure.in: auto-detect name of userland unmount program.
+
+ * aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
+ unmount program.
+
+ * amd/ops_cachefs.c (cachefs_init): save unmount program string in
+ mf_private only if it's NULL, not based on mf_refc.
+
+ * configure.in: don't "discover" inheritance file system any more,
+ since we don't have the .c file for it.
+
+ * amd/get_args.c (get_version_string): hack to still show that we
+ support the inherit file system in output of amd -v.
+
+2005-03-05 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/amfs_inherit.c: removed, dead code
+
+ * amd/Makefile.am,
+ amd/am_ops.c,
+ amd/amd.h,
+ conf/autofs/autofs_linux.h,
+ conf/autofs/autofs_solaris_v1.h,
+ conf/autofs/autofs_solaris_v2_v3.h,
+ m4/macros/header_templates.m4: removed references to amfs_inherit.c
+
+2005-03-05 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/autil.c (am_mounted): completely rewrite the unmount
+ no/timeout code to (1) make more sense for odd conditions, and (2)
+ allow utimeout=N mount options to override FS_NOTIMEOUT default
+ flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
+
+ * libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
+
+ * conf/umount/umount_linux.c (umount_fs): strtok is destructive,
+ so use strdup'ed string.
+
+ * conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
+ use strdup'ed string.
+
+2005-03-04 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/amd.conf.5, doc/am-utils.texi (cache_duration
+ Parameter): clarify actual behavior: this Parameter affects
+ initial mount timeout as well as the linear backoff what happens
+ the initial failed EBUSY unmount.
+
+ * doc/am-utils.texi (opts Option): better explanation of
+ utimeout=N mount pseudo-option.
+
+ * amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
+
+2005-03-02 Daniel P. Ottavio <dottavio@ic.sunysb.edu>
+
+ * AUTHORS: add Dan Ottavio.
+
+ * scripts/amd.conf.5: document new debug_mtab_file option.
+
+ * scripts/amd.conf-sample (debug_mtab_file): show example.
+
+ * doc/am-utils.texi (debug_mtab_file Parameter): document new
+ option.
+
+ * conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
+ doesn't exist by the time Amd tries to exist, return a 0 rather
+ than hang indefinitely.
+
+ * amd/conf.c (gopt_debug_mtab_file): new function to parse
+ debug_mtab_file option.
+
+ * amd/amd.h: placeholder for debug_mtab_file string.
+ Define default debug_mtab_file to "/tmp/mtab".
+
+ * NEWS: document new debug_mtab_file option.
+
+2005-03-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
+ users want Amd's NFS service to bind to some arbitrary "localhost"
+ address, show which address was actually resolved and bound to.
+
+2005-03-01 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
+ (update_nfs_pingval) that initializes the pinger, as well as turns
+ it on/off as needed, and handles changing its value. This is to
+ avoid races and other infinite-loop conditions that could result
+ in ping storms.
+
+ * amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
+ new file server structure, default the ping value to AM_PINGER
+ (30sec) and set the FSF_PING_UNINIT flag.
+
+ * amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
+ pinger had been initialized for a given file server.
+
+ * scripts/ctl-amd.in (stop): no need to check if
+ /var/lock/subsys/amd file exists if you do an rm -f afterward.
+ Ensure that proper return value is returned from script.
+
+ * NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
+ so that if N=-1, pings are off; if N=0, pings are set to the
+ default value (currently 30 seconds).
+
+2005-02-28 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
+ __rpc_get_local_uid to verify if the RPC call through the
+ local host interface came from UID 0.
+
+ * configure.in: look for internal libnsl function
+ __rpc_get_local_uid (seems to be available on all known TLI
+ systems, Solaris and HP-UX 11).
+
+ * conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
+ function for TLI systems (and it violated a array's bounds,
+ discovered with libumem.so).
+ (bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
+ just to be on the safe side, set struct t_bind's qlen field to non
+ zero (64 by default). This value cannot be zero for TCP
+ connections, and it's unclear if it's good to have it zero for UDP
+ connections, so setting it to 64 is safer.
+
+2005-02-27 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi (opts Option, Keep-alives): update text on
+ ping option.
+
+ * amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
+ server ping values, turn them off, or re-enable them.
+ (find_nfs_srvr): call update_nfs_pingval() as needed.
+
+ * hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
+ handler, but use _exit(2) instead.
+
+ * amd/amd.c (parent_exit): This signal handler is called during
+ Amd initialization. The parent forks a child to do all the hard
+ automounting work, and waits for a SIGQUIT signal from the child.
+ When the parent gets the signal it's supposed to call this handler
+ and exit(3), thus completing the daemonizing process. Alas, on
+ some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
+ always terminate the parent process. Worse, the parent process
+ now refuses to accept any more SIGQUIT signals -- they are
+ blocked. What's really annoying is that this doesn't happen all
+ the time, suggesting a race condition somewhere.
+ (This happens even if I change the logic to use another signal.)
+ I traced this to something which exit(3) does in addition to
+ exiting the process, probably some atexit() stuff or other
+ side-effects related to signal handling. Either way, since at
+ this stage the parent process just needs to terminate, I'm simply
+ calling _exit(2). Note also that the OpenGroup doesn't list
+ exit(3) as a recommended "Base Interface" but they do list
+ _exit(2) as one. This fix seems to work reliably all the time.
+
+ * scripts/wait4amd2die.in: change default to recognize that amd is
+ down more quickly (check every 3 seconds instead of 5).
+
+2005-02-26 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * libamu/xutil.c (amu_release_controlling_tty): warn if closing
+ stdin/stdout/stderr failed. No need for tempfd.
+
+ * scripts/ctl-{amd,hlfsd}.in: before running any real program in
+ these shell scripts, chdir to "/" to avoid possible hangs with
+ existing NFS mounts. This was causing ctl-amd's forked
+ grand-child amd process to hang if restartable_mounts=no. Go
+ figure.
+
+2005-02-25 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port ia64-unknown-linux-rhel4
+
+ * fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
+ (RHEL4 gcc 3.4.3 ia64 compiler complains).
+
+2005-02-24 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
+
+2005-02-23 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-pc-linux-rhel3.
+
+ * INSTALL: major update of the compatibility list.
+
+ * m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
+
+2005-02-22 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
+ document new preferred_amq_port [global] option.
+
+ * scripts/amd.conf-sample (preferred_amq_port): example.
+
+ * include/am_utils.h: add preferred_amq_port to prototype.
+
+ * conf/transp/transp_tli.c (bind_preferred_amq_port): new function
+ to bind the Amq RPC service for UDP and TCP to a preferred port
+ (or to any port if preferred_amq_port==0).
+ (create_amq_service): decide if to bind to RPC_ANYFD, or to a
+ requested port.
+
+ * conf/transp/transp_sockets.c (create_amq_service): if
+ preferred_amq_port is greater than 0, then bind to that port for
+ both UDP and TCP. If preferred_amq_port==0, then bind to any
+ port.
+
+ * amd/nfs_start.c (mount_automounter): pass global
+ preferred_amq_port value to create_amq_service().
+
+ * amd/conf.c (gopt_preferred_amq_port): new function to parse
+ amd.conf value for preferred_amq_port.
+
+ * amd/amd.h: placeholder for preferred_amq_port.
+
+2005-02-21 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
+ bindnfs_port to a more proper name. This function binds the NFS
+ service to a specified port, and only for UDP.
+
+ * conf/transp/transp_tli.c: cleanup some code, rename some
+ functions, in preparation for RPC amq port specification code.
+
+2005-02-19 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
+ reserved for users to pass them on the command line. Instead, use
+ autoconf's internal AM_CFLAGS and AM_LDFLAGS.
+
+ * depcomp, install-sh, missing, mkinstalldirs: update from latest
+ versions of Automake 1.9.2.
+
+ * m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
+ regexp/patsubst M4 commands. Newer versions of autoconf (e.g.,
+ v2.59) complain about those.
+
+2005-02-17 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/opts.c (f_xhost): if we don't have hstrerror, just print the
+ value of h_errno.
+
+ * configure.in: include -lresolv if it defines the hstrerror()
+ function and not already available in existing libraries.
+
+ * minor new port: powerpc-apple-darwin7.7.0.
+
+ * amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
+ later compared against an unsigned quantity (complaint from gcc
+ 3.3 on SuSE 8.2)
+
+ * include/am_utils.h: remove unnecessary (and conflicting) extern
+ for bind_resv_port2(), which is declared as static in
+ transp_tli.c.
+
+ * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
+ NEWS: document four new amd.conf options: nfs_retry_interval_udp,
+ nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
+ nfs_retransmit_counter_tcp.
+
+ * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
+ wether nfs_proto was "udp" or "tcp".
+
+ * amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
+ from default UDP settings (because toplvl mounts are UDP for now).
+
+ * amd/get_args.c (get_args): use parameters to -t option to set
+ both UDP and TCP timeo/retrans values.
+
+ * amd/conf.c: (gopt_nfs_retransmit_counter_udp,
+ (gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
+ (gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
+ retrans/timeo parameters separately.
+ (gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
+ specified, use it to set defaults for both UDP and TCP.
+
+ * amd/amd.c (init_global_options): initialize default values of
+ both UDP and TCP retrans/timeo values to -1.
+
+ * amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
+ timeo values, one for udp mounts and another for tcp mounts.
+
+2005-02-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * README.osx: new file with some instructions for Mac OS-X users,
+ courtesy Kevin Layer.
+
+ * amd/get_args.c (get_args): move call to switch_to_logfile()
+ after processing -v, so we don't print "no logfile defined; using
+ stderr" when we're about to print version info and exit anyway.
+
+ * minor new port: powerpc-ibm-aix5.3.0.0.
+
+ * hlfsd/hlfsd.c (main): rewrite code to avoid negative array
+ references.
+
+ * conf/checkmount/checkmount_aix.c: remove extern definition for
+ mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
+
+ * amd/info_union.c (union_reload): rewrite code to avoid negative
+ array references.
+
+ * amd/opts.c (split_opts, expand_op): rewrite code to avoid
+ negative array references.
+
+ * conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
+ since AIX 5.3 has it in <sys/vmount.h>.
+
+ * libamu/xutil.c (real_plog): rewrite code to avoid negative array
+ references.
+
+ * libamu/wire.c (is_network_member): rearrange code slightly to
+ avoid negative array references (AIX 5.3 xlC 7.0 compiler
+ complains about it).
+
+2005-01-26 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi (xhost Selector Function): document new
+ selector function.
+
+ * amd/opts.c (f_xhost): new function for use when matching the
+ "host" selector for the current host's name. This function will
+ now match the primary host name as well as all known aliases
+ (CNAMES) that gethostbyname() returns. This function now supports
+ a new function selector called xhost(ARG); the old host==ARG
+ selector is unharmed.
+
+2005-01-17 Ion Badulescu <ionut@moisil.badula.org>
+
+ * NEWS: document the ability to restart old mount points
+
+ * amd/map.c (mount_auto_node): force the fileid of the
+ root to be 1, so that it won't change between restarts; use the
+ root filesystem's own methods instead of hard-coding the use of
+ the default methods
+
+ * conf/transp/transp_tli.c (create_nfs_service): better cleanup on
+ error conditions.
+ (bind_resv_port2): allow the caller to request a certain port.
+
+ * conf/transp/transp_sockets.c (bind_resv_port): allow the caller
+ to request a certain port.
+ (create_nfs_service): better cleanup on error conditions.
+
+ * amd/restart.c (restart_automounter_nodes): new function, takes
+ care of restarting automounter NFS mount points (autofs will come
+ later).
+ (restart): skip all automounter mount points.
+
+ * amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
+ implementation: if the path to the node is shorter than sizeof(fh)
+ chars (currently 32 chars for a NFSv2 fh), simply store it inside
+ the fh. For longer paths, keep the old implementation.
+
+ * amd/nfs_start.c (mount_automounter): reorder things so that
+ restarting the toplvl filesystems occurs before anything else (so
+ that we can grab all the ports we need before we accidentally use
+ them for something else).
+
+ * amd/mntfs.c (locate_mntfs): remove dead code; add special
+ handling of restarted toplvl filesystems.
+
+ * amd/mapc.c (root_keyiter): fix up a comment.
+
+ * amd/map.c (path_to_exported_ap): new function, searches for and
+ returns a node by the path to it.
+ (get_root_nfs_fh): remove unnecessary fiddling with the root fh.
+
+ * config.guess.long: support Red Hat Enterprise Linux
+
+2005-01-17 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * libamu/util.c (rmdirs): prevent amd from logging 'Read-only
+ filesystem' errors when the mount point has an ancestor (i.e. '/')
+ that is mounted read-only. Patch from David Rage <rage@ucl.ac.uk>.
+
+2005-01-17 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
+ autofs space hack
+
+ * conf/umount/umount_default.c (umount_fs): there is no need for
+ HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
+
+2005-01-17 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi (Automatic Unmounting): document new umount2()
+ behavior on Linux.
+
+ * conf/umount/umount_linux.c (umount_fs): new file. On Linux, if
+ umount(2) failed with EIO or ESTALE, try umount2(2) with
+ MNT_FORCE+MNT_DETACH. Based on patch from Christos Zoulas
+ <christos@zoulas.com>.
+
+ * m4/macros/check_umount_style.m4: pick new linux umount style.
+
+ * Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
+ file.
+
+2005-01-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
+ m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
+ of "nfs_args" test.
+
+2005-01-13 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/get_args.c (show_usage): separate function to print usage
+ string.
+ (get_args) Call show_usage() from get_args when needed, then exit.
+
+ * amd/get_args.c (get_version_string): print also domain, host,
+ and hostd.
+ (get_args): print version string at the very end, after all other
+ values had been initialized. Patch from Christos Zoulas
+ <christos@zoulas.com>.
+
+ * conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
+ conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
+ in timeouts in the RPC code between socket and TLI
+ implementations. The clntudp_create timeout has a different
+ meaning than the clnt_call timeout. Set the timeout of the create
+ to 2 seconds which means retry if no answer in two seconds, and
+ the timeout call to 6 seconds, which will give us consistently 2
+ to 3 pings. This is useful on occasional network UDP loss where a
+ single packet loss would wrongfully mark a server down. (The TLI
+ code is the one that had the problem occurs.) Patch from Christos
+ Zoulas <christos@zoulas.com>.
+
+ * libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
+ compiles even for systems that don't have the nfs_args
+ ac{reg,dir}{min,max} fields.
+
+ * amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
+ add "noac" if amd.conf option auto_attrcache was set to 0. This
+ should hopefully make the compute_nfs_attrcache_flags patch even
+ safer.
+
+ * libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
+ function to compute attribute-cache values. This function now
+ computes attribute-cache flags for BOTH Amd's automount points
+ (NFS) as well as any normal NFS mount that Amd performs.
+ (compute_nfs_args, compute_automounter_nfs_args): call
+ compute_nfs_attrcache_flags to figure out attribute-cache related
+ flags. Patch from Christos Zoulas <christos@zoulas.com>.
+
+ * scripts/amd.conf-sample: show examples of new global options
+ domain_strip and auto_attrcache.
+
+ * scripts/amd.conf.5: document new global options domain_strip and
+ auto_attrcache. Add warning to auto_attrcache use in case of
+ ESTALE.
+
+ * doc/am-utils.texi: minor cleanups and document new global
+ options domain_strip and auto_attrcache. Add warning to
+ auto_attrcache use in case of ESTALE.
+
+ * amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
+ option auto_attrcache.
+ (gopt_domain_strip): parse new global amd.conf option
+ domain_strip. Part of a patch from Christos Zoulas
+ <christos@zoulas.com>.
+
+ * amd/autil.c (host_normalize): don't call domain_strip()
+ unconditionally, but depend on the new global amd.conf flag
+ domain_strip.
+
+ * amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
+ set attribute cache timeout value given other configured global
+ defaults.
+ (amfs_toplvl_mount): set automount point attribute cache option
+ value to "noac" if attrcache=0, else set it to whatever
+ set_auto_attrcache_timeout() returns.
+
+ * amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
+ if to strip the domain from the host name or not, default options
+ set to strip the domain.
+ Store global value of automount attribute cache timeout value.
+
+ * amd/amd.c (init_global_options): add flag to record automount
+ point attribute cache value.
+
+ * amd/amd.c (do_memory_locking): new function to encapsulate all
+ of the memory-locking functionality, which was in main() before.
+ Also added a call to madvise(), just in case.
+ (main): call do_memory_locking() to pin process memory if amd.conf
+ asked for it, but do so after the main Amd process daemonizes,
+ because mlock/mlockall is not inherited by fork() by default.
+ Slightly restructured patch from Jonathan Chen
+ <jon+amd@spock.org>.
+
+ * configure.in: check for madvise(2).
+
+ * config.guess, config.sub: updates for latest official GNU
+ versions.
+
+ * m4/GNUmakefile: update paths to "make update"
+
+2005-01-12 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
+ that's compatible for HPUX11 as well as NFSv3.
+
+ * include/am_defs.h: On AIX 5.2, both <resolv.h> and
+ <arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
+ -D_USE_IRS (so that we get extern definitions for hstrerror() and
+ others). So undef MAXDNAME before it gets redefined.
+
+ * include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
+ <sys/acl.h>, which is included in many other header files.
+ <rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes. So if you're
+ unlucky enough to include both headers, you get a compile error
+ because the two symbols conflict. Temp hack: undefine acl.h's
+ GROUP_OBJ before including nis.h, because we don't need acl.h for
+ am-utils.
+
+ * m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
+ certain extern definitions of resolver functions become available.
+
+ * amd/opts.c (expand_op): use #define for expand_error string
+ because some compilers complain about the use of static const
+ char[] inside a varargs function.
+
+ * minor new port i386-unknown-netbsdelf1.6.2.
+
+ * new port i386-unknown-netbsdelf2.0.
+
+ * minor port i386-unknown-freebsd5.3.
+
+ * libamu/mount_fs.c (compute_nfs_args): don't compare
+ nap->maxgrouplist against NULL but against 0 directly, because on
+ FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
+ about a type mismatch.
+
+ * minor port i386-pc-linux-fc3 (Fedora Core 3).
+
+2005-01-11 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
+ FC3 doesn't have proper extern definition for the defunct
+ sigpause().
+
+ * configure.in: look for sigsuspend().
+
+2005-01-01 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * updated copyright year to 2005 on all files.
+
+2004-11-29 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/amd.conf.5: Small fixes to typos in man page, from
+ Thomas Klausner <tk@giga.or.at>.
+
+2004-10-22 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * ldap.schema: add this file to distribution.
+
+2004-09-15 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi: fix old URLs.
+
+2004-09-01 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
+ multiple calls to mntctl(). Patch suggested by Michael van Elst
+ <M.van.Elst@science-computing.de>.
+
+2004-08-07 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi (Program Filesystem): document how to get
+ double slashes in Amd maps.
+
+ * amd/opts.c (normalize_slash): support escaped slashes, needed
+ for SMB mounts. Use '\\\/\\\/' in a string to get a double slash.
+
+2004-08-06 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/amfs_program.c (amfs_program_match): bug fix. Complain if
+ both opt_unmount and opt_umount are missing, not when just one of
+ them is missing.
+
+2004-08-03 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amq/pawd.c (find_mt): recognize "linkx" type mounts. Patch from
+ Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>. Support "nfsx" while
+ we're at it.
+
+ * doc/am-utils.texi: mention bugzilla. Fix broken URL HREF's.
+
+2004-08-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amq/pawd.c (find_mt): recognize "host" type mounts. Patch from
+ Dan Nelson <dnelson@allantgroup.com>.
+
+2004-07-30 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi, NEWS: minor typos fixed.
+
+2004-07-30 Erez Zadok <ezk@play.cs.columbia.edu>
+
+ * include/am_xdr_func.h: cannot have field-less structure; put a
+ dummy field in.
+
+ * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
+ 2nd arg of xdr_u_int to a u_int*, not int*.
+ (autofs_mount_2_req): don't use C++ // comments.
+
+2004-07-30 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * m4/macros/{try_compile_anyfs,check_field}.m4: include
+ <fs/msdosfs/msdosfsmount.h> if it exists. Part of a set of
+ FreeBSD 5 patches from Martin Blapp <mb@imp.ch>.
+
+ * include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
+ exists.
+
+ * amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
+ 0777 by default.
+
+ * configure.in: check for pcfs_args_t.dirmask field. Check for
+ existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
+
+2004-07-29 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-pc-linux-fc2 (Fedora Core 2).
+
+ * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
+ unless the function exists in libldap and the extern is in
+ <ldap.h>. Recently, openldap removed the extern from ldap.h, but
+ left the function in libldap, for binary compatibility; however
+ ldap_enable_cache and related functions have been deprecated (and
+ no longer listed in the header files), and therefore should be
+ avoided.
+
+ * m4/macros/check_extern_ldap.m4: new macro to check for
+ LDAP-specific externs. This is separate from check_extern.m4 so
+ as to avoid breaking the general-purpose macro with LDAP-specific
+ headers.
+
+ * m4/macros/header_templates.m4: extern template for new
+ HAVE_EXTERN_LDAP_ENABLE_CACHE.
+
+ * configure.in: call new check_extern_ldap.m4 macro.
+
+ * Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
+ macro.
+
+ * config.guess.long: distinguish between redhat and fedora-core
+ releases.
+
+2004-07-23 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
+ 8.2. This systems' latest GCC (gcc version 3.3 20030226
+ prerelease) correctly caught a lot of possibly bad comparisons
+ between signed and unsigned quantities.
+
+ * hlfsd/homedir.c (table_add, plt_search): changed first arg of
+ both functions to u_int.
+
+ * hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
+ Changed proto for plt_search arg to u_int.
+
+ * amq/amq.c (show_mi, main): change 'i' to u_int.
+
+ * amq/pawd.c (find_mlp): change 'i' to u_int.
+
+ * amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
+ u_int.
+
+ * amd/amd.h: change prototype of vreaddir and amfs_error_readdir
+ to use u_int count parameter.
+
+ * amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
+ (amfs_error_readdir): change 'count' parameter in proto to u_int.
+
+ * amd/amd.h: change proto of amfs_generic_readdir() to use u_int
+ count parameter.
+
+ * amd/readdir.c (make_entry_chain): preflen should be u_int.
+ (amfs_readdir_browsable): change 'count' to u_int.
+ (amfs_generic_readdir): change 'count' to u_int.
+
+ * amd/amd.h: amu_global_options's portmap_program field should be
+ u_long, not int (to match RPC conventions). Change am_fh's
+ fhh_gen field to u_int, to match am_gen field in struct am_node.
+
+ * amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
+ to avoid size differences.
+
+ * conf/mount/mount_linux.c (find_unused_loop_device): cast to int
+ to avoid comparison between chars and integers.
+
+ * libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
+ comparisons between signed and unsigned integers.
+
+2004-07-13 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-pc-linux-suse9.1.
+
+ * include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
+ because SuSE wants __kernel_old_dev_t. Instead, just define it
+ directly to what they both use: an unsigned short.
+
+2004-05-27 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-unknown-freebsd4.10
+
+2004-04-29 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
+ mountpoints for autofs-based sublinks the right way
+
+2004-04-28 Ion Badulescu <ionut@moisil.badula.org>
+
+ Fixes for various memory management problems discovered by
+ Rainer's purify run:
+
+ * conf/transp/transp_tli.c (check_pmap_up): zero out struct
+ timeval before using;
+ (get_nfs_version): ditto
+
+ * amd/map.c (umount_exported): make sure we don't try to free the
+ same am_node multiple times, by setting its corresponding
+ exported_ap slot to null
+
+ * amd/get_args.c (get_version_string): a static pointer is pretty
+ pointless, make it automatic
+
+ * amd/conf.c (gopt_debug_options): remove unnecessary strdup();
+ (gopt_log_options): ditto
+ (gopt_print_version): free version string after using it
+
+ * amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
+ it
+
+ * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
+ (amfs_lookup_mntfs): free def_opts on return
+
+ * amd/amd.c (daemon_mode): zero out struct sigaction before using
+ it;
+ (main): ditto
+
+2004-04-27 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
+ the real mount of an autofs-based sublink
+
+2004-04-25 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/map.c (free_map_if_success): avoid dereferencing a pointer
+ to potentially freed memory
+
+2004-02-26 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-unknown-freebsd5.2.1.
+
+2004-01-30 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
+
+2004-01-25 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: sparc64-unknown-linux-deb3.0
+
+ * config.guess.long: recoognize Debian Linux.
+
+2004-01-22 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/transp/transp_tli.c (amu_get_myaddress): use
+ htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
+ available.
+
+2004-01-21 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
+ parameter to amu_get_myaddress().
+
+ * conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
+ localhost_address amd.conf parameter, if defined (else default to
+ HOST_SELF_CONNECT).
+ Removed htonl() around socket address copying (I think it was
+ wrong) since plog("My IP address is...") in amd.c was printing
+ addresses wrong on Solaris x86..
+
+ * conf/transp/transp_sockets.c (amu_get_myaddress): comment out
+ old DEBUG code that warns if 127.0.0.1 isn't the same as what
+ get_myaddress() reports. Add code to resolve value of
+ localhost_address amd.conf parameter, if defined (else default to
+ 127.0.0.1).
+
+ * amd/conf.c (gopt_localhost_address): new function to parse
+ amd.conf parameter localhost_address.
+
+ * amd/amd.h: global field to store amd.conf localhost_address
+ parameter.
+
+ * amd/amd.c (main): call amu_get_myaddress with global option,
+ which could have been set in amd.conf.
+
+ * NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
+ scripts/amd.conf.5: document new option localhost_address.
+
+2004-01-20 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/conf.c (gopt_nfs_allow_insecure_port): support function for
+ the new "nfs_allow_insecure_port" amd.conf directive
+
+ * amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
+ port and drop the request only if the "nfs_allow_insecure_port"
+ option is not set in amd.conf
+
+ * doc/am-utils.texi (Global Parameters): documented the new
+ amd.conf directive "nfs_allow_insecure_port"
+
+ * scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
+
+ * scripts/amd.conf-sample (nfs_allow_insecure_port): added the
+ "nfs_allow_insecure_port" directive
+
+2004-01-20 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/am-utils.texi: amd-workers is defunct.
+
+2004-01-19 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * cvs-server.txt: updated instructions
+
+2004-01-18 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new port: i386-unknown-freebsd5.2.
+
+2004-01-05 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * MIRRORS.{txt,html}: verify each mirror site, update to new
+ locations (if found), and remove stale mirrors URLs.
+
+ * updated copyright year to 2004 on all files.
+
+2004-01-03 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * MIRRORS.txt: track status.
+
+ * Makefile.am (install-snapshot): new directory to install
+ snapshots (now that am-utils home page is moved).
+
+2004-01-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * INSTALL, README.autofs: remove forced text-mode.
+
+ * doc/am-utils.texi: fix Amd book URL.
+
+ * Makefile.am (EXTRA_DIST): include new mirror files in tarball.
+
+ * AUTHORS, BUGS, README, README.y2k, configure.in,
+ doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
+ and mailing lists.
+
+ * MIRRORS.{html,txt}: updates.
+
+ * doc/Makefile.am: install mirror lists officially.
+
+2004-01-01 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * tasks: things to do after migrating ftp/Web sites.
+
+2003-12-09 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page. Bug
+ report from Eric S. Raymond <esr@thyrsus.com>.
+
+2003-11-18 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * Makefile.am (EXTRA_DIST_M4): exclude removed file
+ m4/macros/struct_nfs_fh3.m4 from distro.
+
+2003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
+ FHSIZE3 (may be undefined).
+
+2003-10-24 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ Compile fix for Solaris7 with LDAP:
+
+ * include/am_defs.h: moved the ldap headers before am_nfs_prot.h
+ to facilitate using ldap types in it
+
+ * conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
+ definitions that Sun left out of their headers
+
+2003-10-24 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
+ definitions, they are now defined globally
+
+ * libamu/xdr_func.c: unconditionally define all xdr functions
+ needed for NFSv3, but with an am_ prefix to prevent namespace
+ collisions
+
+ * amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
+ libamu/mount_fs.c: added the am_ prefix to all
+ structures and functions having to do with NFSv3 to prevent
+ namespace collisions
+
+ * include/am_utils.h: moved definition of am_nfs_handle to ...
+
+ * include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
+ am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
+ am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
+ am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
+ am_LOOKUP3res here; remove cross-platform compile helper macros
+ AMU_LOOKUP3RES_*.
+
+ * include/am_defs.h: include am_xdr_func.h before am_utils.h to
+ provide definitions for NFS filehandles
+
+ * amd/amd.h: removed declaration for xdr_mountres3
+
+ * doc/am-utils.text: minor warning fix
+
+ * BUGS: document the autoconf warnings when trying to compile
+ system header files in isolation
+
+2003-10-23 Ion Badulescu <ionut@moisil.badula.org>
+
+ * m4/macros/struct_nfs_fh3.m4: removed, not needed
+
+ * configure.in: check if struct mounta has the optptr field;
+ removed all NFSv3-related checks, we implement everything
+ internally now
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
+ touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
+
+2003-10-22 Ion Badulescu <ionut@moisil.badula.org>
+
+ * m4/macros/struct_nfs_fh3.m4: removed, not used anymore
+
+ * libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
+ comments
+
+ * configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
+ always use our own
+
+2003-10-22 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * BUGS: document the limitations of bind mounts on Linux
+
+2003-10-21 Ion Badulescu <ionut@moisil.badula.org>
+
+ * buildall: added support for -i (make install)
+
+2003-10-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
+ * INSTALL: Mention its test status.
+
+2003-10-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/ops_nfs.c (nfs_init): declare as static to match forward
+ definition at top of file.
+
+ * conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
+ added missing definitions for LOOKUP3res, diropargs3, etc.
+
+2003-10-15 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
+ libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
+ (got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
+ webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
+ cleanup some inconsistencies with how we treat NFSv3 file handles.
+ Whenever we need to get data out of a filehandle given to us, we
+ assume that it uses the OS's native fhandle structure
+ (often struct nfs_fh3). When we store the fhandle data for our
+ own use, however, we store it in one of two ways. The first, is
+ that we use the system's default nfs_fh3 structure; the second is
+ that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
+ through an elaborate autoconf song-and-dance to "discover" it as a
+ native fh3 handle structure). It appears that we do the latter,
+ instead of using the system's default fhandle structure, simply to
+ avoid extra malloc's and free's, because whereas nfsv2's fhandle
+ structure is a simple 32-byte buffer, nfsv3's fhandle structures
+ often just define a "char *" for the fhandle data, and the caller
+ must malloc/free the space inside as needed. Our code was never
+ written with constructor/destructor callbacks for these nfsv3
+ filehandles. Moreover, we carefully wrote our own am_nfs_fh3
+ structure so IT JUST SO HAPPENS to align with most (hopefully all)
+ of the fhandle structures for v3: first four bytes are the length
+ fields and the next four bytes are the fhandle data. Sigh.
+ Having this inconsistent use of v3 filehandles can be a real bear,
+ because we simply cannot avoid using the system's default fhandle
+ structure indirectly, through things like diropargs3 in
+ xdr_diropargs3(), which has inside of it a reference to the
+ system's default nfs_fh3 structure. ANYWAY, the current fix I've
+ come up with is to generalize the way we dereference field names
+ within the nfs_fh3 structure (whether ours or the system's) and
+ the same for the system's LOOKUP3res structure. I'm not pleased
+ with this fix; I'd rather we don't use our own am_nfs_fh3
+ structure at all.
+
+ * libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
+ function if we have NFS3, because we often use our own,
+ incompatible am_nfs_fh3 structure.
+
+ * include/am_xdr_func.h: We cannot use the native system's
+ xdr_nfs_fh3 because we are defining our own incompatible
+ am_hfs_fh3 structure for some systems.
+
+ * include/am_xdr_func.h: Define default values for field names of
+ struct nfs_fh3 and LOOKUP3res.
+
+ * doc/am-utils.texi (debug_options Parameter): minor typo fixed.
+
+ * conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
+ names for struct nfs_fh3 and LOOKUP3res, so override the default
+ names here.
+
+ * configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
+ AMU_STRUCT_NFS_FH3, because the latter depends on the former.
+
+ * amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
+ and clarify if-the-else clauses.
+
+2003-10-13 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/get_args.c (get_version_string): change "Built by" to
+ "Configured by", and add a new "Built by" line using the variables
+ below
+
+ * m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
+ BUILD_DATE to build_version.h
+
+ * amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
+ must be initialized even for them, otherwise we lose opt_sublink
+ (and perhaps other options as well). Report from Rainer Orth.
+
+ * amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
+ pointer dereferencing was a bit too aggressive and could end up
+ not processing the sublink option if the filesystem was already
+ mounted.
+
+2003-10-11 Ion Badulescu <ionut@moisil.badula.org>
+
+ Fix restarted filesystem by disabling the amfs_inherit filesystem
+ and moving the restarting logic into the generic code. The old
+ code is still there, will be removed sometime in the near future.
+
+ * amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
+ return the pointer to the restarted filesystem
+ (free_mntfs): check for the MFF_RESTART flag instead of the
+ amfs_inherit ops
+
+ * amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
+ filesystem is in use
+
+ * amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
+ filesystem is not being restarted
+ (amfs_nfsx_remount): if the filesystem is already mounted,
+ short-circuit the code and just continue
+
+ * amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
+ filesystem is not being restarted; remove hack that was used to
+ work around an amfs_inherit problem
+
+2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ Use WebNFS to obtain file handles for mount(2).
+
+ * NEWS: Document WebNFS support.
+
+ * configure.in: Check for public mount option.
+ * include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
+ * doc/am-utils.texi (opts Option): Renamed webnfs to public,
+ update description.
+
+ * amd/amd.h (FSF_WEBNFS): New mntfs flag.
+ * include/am_utils.h (RPC_XID_WEBNFS): New XID type.
+
+ * amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
+ WebNFS mount/umount attempts.
+ * amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
+ (got_nfs_fh_webnfs): New function.
+ (flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
+ (prime_nfs_fhandle_cache): Likewise.
+ Remove unconditional return of public file handle for WebNFS, but
+ get NFS file handles via mountd or WebNFS instead.
+ (webnfs_lookup): New function.
+ (nfs_umounted): Don't inform mountd if MFF_WEBNFS.
+ * amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
+ packets.
+ * amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
+ WebNFS servers.
+ Mention host in info message.
+ (find_nfs_srvr): Handle public mount option.
+ Prefer NFSv3/tcp if the client supports it.
+ Allow port mount option to override default or result from portmap
+ lookup.
+
+ * libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
+ xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
+ xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
+ * include/am_xdr_func.h: Declare them.
+ * configure.in: Check for them.
+ * conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
+ definitions and types.
+
+2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ Support IRIX 6 private mount option.
+
+ * configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
+ name string.
+ (AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
+ * aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
+ MNT2_NFS_OPT_PRIVATE): Provide templates.
+ * include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
+ * doc/am-utils.texi (opts Option): Document it.
+
+2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
+ mount option.
+
+2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
+ Don't reference removed fh3.
+
+2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
+
+ * INSTALL: Mention test status of various ports.
+ Describe IRIX 6 autofs status.
+
+2003-10-09 Ion Badulescu <ionut@moisil.badula.org>
+
+ * NEWS: updated
+
+ * amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
+ we've done all the tests and we know we have a valid and mountable
+ mntfs. Otherwise we could end up dereferencing null pointers.
+
+ * amd/amd.h: fixed a copy&paste comment bug
+
+ * amd/am_ops.c (ops_match): minor code cleanup
+
+ * doc/am-utils.texi: fixed various typos; added warning about the
+ racy nature of nfsx; removed duplicated listing of debug options;
+ added paragraph about signals supported by hlfsd; removed the long
+ list of (maybe) supported platforms since it duplicates the list
+ in INSTALL.
+
+2003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ Simplify FD_SET etc. use.
+
+ * include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
+ if missing.
+ (rpc_pending_now, run_rpc): Use them.
+ * configure.in: Check for fds_bits field in fd_set.
+ * amd/nfs_start.c (run_rpc): Use it.
+
+2003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ Improve RPC XID handling.
+
+ * amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
+ Convert xid to/from host/network byte order.
+
+2003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ Use NFS V2/V3 file handles instead of mount results.
+
+ * include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
+ only, not MOUNTPROC_MNT results.
+ * amd/amfs_host.c (fetch_fhandle): Use local variables to store
+ MOUNTPROC_MNT results.
+ * amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
+ * amd/ops_nfs.c (struct fh_cache): New member fh_status.
+ (got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
+ Store MOUNTPROC_MNT errors in fh_status.
+ (prime_nfs_fhandle_cache): Get fh_error from fh_status.
+ * hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
+ * libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
+ handles straight from new am_nfs_fhandle_t.
+
+2003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * amd/clock.c (CID_ALLOC): Remove unused argument.
+ (timeout): Likewise.
+
+ * amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
+ (prime_nfs_fhandle_cache): Likewise.
+ (call_mountd): Use UDPMSGSIZE instead of magic constant.
+
+ * amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
+ (fwd_packet): Likewise.
+ Handle TLOOK error from t_rcvudata().
+
+2003-09-30 Ion Badulescu <ionut@moisil.badula.org>
+
+ * NEWS: updated
+
+ * libamu/mount_fs.c (mount_fs): don't try to recreate the mount
+ point if the mount fails with ENOENT: in the best case we would be
+ papering over a bug, and in the worst case we could cause a
+ deadlock (with autofs). If there are races, they need to be
+ exposed and fixed properly.
+
+ * conf/autofs/autofs_solaris_v1.h,
+ conf/autofs/autofs_solaris_v2_v3.h,
+ conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
+ semantics don't allow us to mount nfsx directly onto an autofs
+ mountpoint, so disallow it
+
+ * amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
+ to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
+ map entries...
+ (amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
+ in the upper layer, so don't do anything else beside wakeup() on
+ success
+ (amfs_nfsx_remount): only create the mountpoints as we need them,
+ avoids creating them on the wrong filesystem in the case of
+ hierarchical mounts; fix crash-generating typo (m should really be
+ mf and I swear I hate single-character variable names)
+
+ * amd/amfs_generic.c (amfs_cont): one more dlog
+ (amfs_bgmount): amazingly enough, even foreground mounts can be
+ backgrounded (in the case of nfsx), so account for this
+ possibility and permit retries
+
+ * m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
+ and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
+
+ * amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
+ @AMU_AUTOFS_PROT_HEADER@
+
+2003-09-29 Erez Zadok <ezk@urd.fsl.cs.sunysb.edu>
+
+ * minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
+ PlayStation 2)
+
+ * amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
+ "char protocols[]" unless MNTTAB_OPT_PROTO is defined.
+
+2003-09-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ Consolidate alloca support.
+
+ * amd/amq_svc.c: Move alloca support ...
+ * include/am_defs.h: ... here.
+ * amd/conf_parse.y: Remove alloca support.
+ * fsinfo/fsi_gram.y: Likewise.
+
+2003-09-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ Handle Solaris 10.
+ * m4/macros/check_nfs_prot_headers.m4
+ (AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
+ sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
+ Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
+
+ * m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
+ solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
+ micro releases to cope with Solaris 2.5.1.
+ Explicitly match solaris2*, sunos5*.
+
+2003-09-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * amd/amq_svc.c: Provide alloca prerequisites.
+
+ * conf/transp/transp_tli.c (register_autofs_service): Fix typo.
+
+2003-09-23 Ion Badulescu <ion@opteron.tower-research.com>
+
+ * minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
+ Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
+
+2003-09-22 Ion Badulescu <ionut@buggy.badula.org>
+
+ * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
+
+2003-09-19 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
+ enough, we should lstat() the sublink if it's defined.
+ (amfs_nfsl_ffserver): ditto
+ (ALL): Removed some obsolete comments. The nfsl code is now little
+ more than a very straight-forward switch between link and nfs.
+
+ * amd/amfs_link.c (amfs_link_match): more up-to-date explanation
+ for the prepend-the-dot hack for type link; also, the sublink is
+ already normalized and absolute, so take advantage of that
+
+ * amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
+ already normalized and absolute, so take advantage of that
+
+ * amd/am_ops.c (ops_match): normalize the sublink here, early into
+ the matching process
+
+ * amd/autil.c (am_mounted): be consistent and accept both
+ "nounmount" and "noumount" as pseudo mount options (same as
+ "unmount" and "umount" nearby)
+
+ * amd/Makefile.am (build_version.h): fixed dependencies (depends
+ on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
+
+2003-09-19 Erez Zadok <ezk@dhcp8.fsl.cs.sunysb.edu>
+
+ * amd/amq_subr.c (amqproc_export_1_svc): force double casting to
+ avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
+ type-punned pointer will break strict-aliasing rules".
+
+2003-09-16 Ion Badulescu <ionut@moisil.badula.org>
+
+ * Released beta version 6.1b4
+
+2003-09-15 Ion Badulescu <ionut@moisil.badula.org>
+
+ * doc/am-utils.texi (opts Option): removed documentation for old
+ ignore_portmapper mount option, documented the new webnfs option
+
+ * NEWS: webnfs support
+
+ * amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
+ (former "ignore_portmapper") mount option is present
+
+ * amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
+ filehandle (all zeros) if MFF_WEBNFS is set
+ (nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
+
+ * amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
+
+2003-09-13 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
+ NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
+ to create_ping_payload; renamed nfs_pinged to
+ nfs_keepalive_callback; renamed nfs_timed_out to
+ nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
+ made ping_buf and ping_len arrays with one element for each
+ supported nfs version
+
+ * amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
+
+ * amd/amfs_host.c (amfs_host_init): ditto
+
+ * amd/ops_nfs.c (call_mountd): ditto
+
+2003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
+ patches.
+
+2003-08-31 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * amd/autil.c (strealloc): don't call malloc_verify() unless it
+ exists.
+
+ * configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
+ after we figure out PROG_CC and other compiler features, because
+ some of the option processing macros need a compiler to function.
+
+ * libamu/xutil.c: don't define variables that won't be used unless
+ mallinfo() and malloc_verify() exist.
+ (real_plog): don't call checkup_mem unless
+ mallocinfo() and malloc_verify() exist.
+ (checkup_mem): don't define this function unless mallocinfo() and
+ malloc_verify() exist.
+
+ * m4/macros/opt_debug.m4: check for functions malloc_verify and
+ mallinfo in general libraries and then in libmapmalloc and
+ libmalloc. These seem to have disappeared in FreeBSD 5.x.
+
+ * libamu/xutil.c (dxfree): print pointer using %p
+
+2003-08-29 Erez Zadok <ezk@a-opendarwin.fsl.cs.sunysb.edu>
+
+ * configure.in: start 6.1b4-pre officially (belated)
+
+ * minor new port: i686-apple-darwin6.6
+
+2003-08-27 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/autofs/autofs_solaris_v1.c: convert relative targets to
+ absolute paths when using lofs mounts
+
+ * conf/autofs/autofs_solaris_v2_v3.c: ditto
+
+ * conf/autofs/autofs_linux.c: ditto
+
+2003-08-27 Ion Badulescu <ionut@buggy.badula.org>
+
+ * README.autofs: added a paragraph about the resource consumption
+ of auto maps over autofs
+
+ * amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
+ the MFF_IS_AUTOFS flag from init_mntfs() to
+ amfs_lookup_one_mntfs(), where it belongs
+
+ * amd/mntfs.c (init_mntfs): ditto
+
+2003-08-27 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
+ denied a filehandle by the server (used to be EIO)
+
+2003-08-27 Erez Zadok <ezk@a-bsdi42.fsl.cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
+
+2003-08-27 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
+ daemon-initiated timeouts on autofs filesystems, since apparently
+ they appear as "always busy" to the kernel-based expiration routine
+
+2003-08-26 Ion Badulescu <ionut@buggy.badula.org>
+
+ * NEWS: updated
+
+ * conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
+ FS_ON_AUTOFS
+ (AUTOFS_LINKX_FS_FLAGS): ditto
+
+ * conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
+ FS_ON_AUTOFS
+ (AUTOFS_LINKX_FS_FLAGS): ditto
+
+ * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
+ FS_ON_AUTOFS
+ (AUTOFS_LINKX_FS_FLAGS): ditto
+
+ * amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
+ original opt_fs, instead store the new mount point for autofs in a
+ temporary variable and pass it around. Fixes a problem with the
+ link side of nfsl.
+
+2003-08-25 Ion Badulescu <ionut@moisil.badula.org>
+
+ * NEWS: updated
+
+ * amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
+ initialize the fh_wchan member of the cache entry
+ (prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
+ argument of call_mountd()
+
+ * amd/map.c (free_map_if_success): use get_mntfs_wchan for the
+ wchan_t argument of wakeup()
+
+ * amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
+ wchan_t argument of wakeup_task() and wakeup()
+
+ * amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
+ wchan_t argument of nfs_srvr_port()
+
+ * amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
+ argument of sched_task() and wakeup()
+ (amfs_retry): minor cleanup
+ (amfs_bgmount): call nfs_quick_reply on failure
+
+ * amd/sched.c (get_mntfs_wchan): new function which calls the
+ member function get_wchan if defined, otherwise returns the mntfs
+ pointer itself
+
+ * amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
+ calls get_mntfs_wchan() on the inherited filesystem
+
+ * amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
+ of the ops to 0
+
+ * amd/amd.h: new function type vget_wchan
+ (struct mntfs): new member get_wchan which returns the waiting
+ channel associated with the mntfs (normally itself)
+
+2003-08-22 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * conf/mount/mount_linux.c (parse_opts): minor cleanup
+
+ * conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
+ break in case autofs_ptype_expire_multi
+
+2003-08-22 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/autofs/autofs_solaris_v1.h: undefine autofs support if
+ autofs_args_t cannot be determined (hopefully fixes a reported
+ IRIX 6.5.4 problem).
+
+ * conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
+ HAVE_FS_AUTOFS / #endif (see above)
+
+ * conf/autofs/autofs_linux.h: undefine autofs support if the
+ necessary header files are not found (fixes a reported RedHat 6.2
+ Sparc problem).
+
+ * conf/autofs/autofs_linux.c: wrap entire file in #ifdef
+ HAVE_FS_AUTOFS / #endif (see above)
+
+ * libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
+ if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
+
+ * amd/map.c (unmount_mp, unmount_exported): move the code that
+ changes the fattr from NFLNK to NFDIR from unmount_mp to
+ unmount_exported, it was causing troubles (ESTALE) after failed
+ unmounts. This is still very very unclean, but it's the same as the
+ old 6.0 code.
+
+2003-08-22 Nick Williams <Nick.Williams@morganstanley.com>
+
+ * amd/info_ldap.c (amu_ldap_init): don't try to pass a null
+ pointer as a string to plog, Solaris (and other OS's) don't like
+ it and will dump core.
+
+2003-08-13 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/amd.h: introduced two new types, wchan_t and opaque_t, as
+ aliases of voidp. This makes reading the code easier on the eyes. :)
+
+ * ALL: replace various instances of voidp with wchan_t and
+ opaque_t, as appropriate
+
+2003-08-13 Ion Badulescu <ionut@nicu.badula.org>
+
+ * NEWS, configure.in: bumped version up to 6.1b4-pre
+
+2003-08-13 Ion Badulescu <ionut@moisil.badula.org>
+
+ * Released beta version 6.1b3
+
+2003-08-13 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
+ symlinks for host mounts; assorted fixes for the symlink mode
+
+2003-08-05 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/umount/umount_default.c (umount_fs): enable space hack
+ handling for autofs v1
+
+ * amd/map.c (get_first_exported_ap, get_next_exported_ap): new
+ functions that facilitate iterating through the list of
+ mountpoints
+
+ * amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
+ and get_next_exported_ap
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
+
+2003-08-04 Erez Zadok <ezk@ulkesh.dyn.optonline.net>
+
+ * configure.in: check if system stores mount tables in files
+ (usually in /etc), and configure couldn't find a definition for
+ either struct mntent or struct mnttab. If so, abort configure
+ because this could be a new/misconfigured system, or a bug in
+ am-utils.
+
+2003-08-04 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
+ compile warning
+
+2003-08-04 Ion Badulescu <ionut@buggy.badula.org>
+
+ * conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
+ ops->mount_fs() for an already mounted filesystem
+ (autofs_umount_fs): only call ops->umount_fs() if we're holding
+ the last reference to the filesystem
+
+ * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
+ (autofs_umount_fs): ditto
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
+ (autofs_umount_fs): ditto
+
+ * amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
+ already-mounted filesystems
+ (amfs_cont): only release the autofs_fh if the filesystem is not
+ mounted; add another comment about the NFS_SCALEDOWN hack
+ (amfs_bgmount): if the mntfs is already mounted, skip just the
+ filesystem initialization, but do call mount_node()
+
+ * amd/map.c (mount_node): always call autofs_mount_fs(), but only
+ call ops->mount_fs() if the mntfs is not yet mounted
+ (unmount_node): always call autofs_umount_fs(), but only call
+ ops->umount_fs() if the refcount on the mntfs equals 1.
+
+2003-08-02 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
+ here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
+ define dummy struct netexport, and include <ufs/ufs/extattr.h>
+ wrapped in _KERNEL).
+
+ * conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
+ here with the proper workarounds for freebsd5.1 (define dummy
+ struct ufs_extattr_per_mount).
+
+ * conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
+ here with the proper workarounds for bsdi2 (define MAXQUOTAS and
+ dummy struct netexport).
+
+ * include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
+ here, b/c every *BSD system has some sort of problem in including
+ this header file, which includes ugly workarounds. Inclusion of
+ this header was already moved out of am_defs.h (used to compile
+ amd), but we forgot to move it out of mount_headers1.h (used to
+ configure). The specific inclusion of ufsmount.h is now in the OS
+ specific nfs_prot.h file.
+
+ * configure.in: if configure could not find any definition for
+ "struct nfs_args", abort configure with an explanatory message.
+ There's no point in continuing, as this could be a system bug,
+ buggy am-utils, or a new system to which am-utils wasn't ported to
+ yet.
+
+ * minor new port: i386-pc-solaris2.9
+
+2003-08-01 Ion Badulescu <ionut@buggy.badula.org>
+
+ * doc/am-utils.texi (NFS-Link Filesystem): make the documentation
+ match the code (as well as basic logic operations: the negation of
+ 'a or b' is 'not a and not b', not 'not a or not b')
+
+2003-08-01 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * minor new port: i386-unknown-openbsd3.3.
+
+ * m4/macros/check_libwrap_severity.m4: new macro to check if
+ libwrap includes the integer variables deny_severity and
+ allow_severity, since some libwrap implementations do and others
+ don't. The test tries to compile and run a simple empty main()
+ program, then the same program while defining these two variables:
+ comparing the results of the two tests, we can tell whether we
+ should define NEED_LIBWRAP_SEVERITY_VARIABLES.
+
+ * Makefile.am (EXTRA_DIST_M4): distribute new macro
+ check_libwrap_severity.m4.
+
+ * m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
+ we must define explicitly since we've overridden the
+ action-if-found in AC_CHECK_LIB(wrap). Also template for
+ NEED_LIBWRAP_SEVERITY_VARIABLES.
+
+ * amd/amq_svc.c: if libwrap does not include the severity
+ variables, then define and initialize them here.
+
+ * amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
+ Amd binary. Other am-utils binaries don't need -lwrap.
+
+ * configure.in: if libwrap is found, only define it in @WRAPLIB@,
+ so we don't automatically link every am-utils binary with -lwrap.
+ Run test for existence of severity variables in libwrap.
+
+2003-07-31 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
+ and gid.
+
+ * configure.in: move check for AC_CHECK_LIB(libwrap) as far down
+ as possible because on modern tcpwrapper systems such as openbsd,
+ the caller must provide two symbols: deny_severity and
+ allow_severity, which determine the logging level of rejected and
+ requested requests, respectively. If this check happens too
+ early, then $LIBS includes -lwrap, which causes many subsequent
+ tests that need to run a compiled program to fail with missing
+ symbols.
+
+ * m4/macros/header_templates.m4: fix typo in template for
+ readdirplus.
+
+ * configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
+
+ * minor new port: i386-unknown-netbsdelf1.6.1.
+
+ * configure.in: save state before system-specific tests are run.
+
+ * m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
+ because the compiled test program failed to run.
+
+2003-08-01 Ion Badulescu <ionut@buggy.badula.org>
+
+ * NEWS, README.autofs: updated
+
+ * libamu/mount_fs.c (mount_fs): added support for the space hack
+
+ * doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
+ are not expired by default; correct and expand the section
+ describing the program filesystem
+
+ * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
+ FS_ON_AUTOFS for supported filesystems
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
+ mf->mount_fs()
+ (autofs_umount_fs): call mf->umount_fs()
+
+ * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
+ prototype for malloc()
+ (AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
+ supported filesystems
+
+ * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
+ for the space hack; call mf->mount_fs()
+ (autofs_umount_fs): add support for the space hack; call
+ mf->umount_fs()
+ (autofs_mount_succeeded): add support for the space hack
+
+ * conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
+ FS_ON_AUTOFS for supported filesystems
+
+ * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
+ AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
+ (autofs_mounted): host mounts are now supported on all autofs
+ versions, remove the hack to turn it off on v3
+ (autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
+ as needed
+ (autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
+ success
+ (ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
+ '#ifdef autofs_ptype_expire_multi'
+
+ * amd/map.c (mount_node): autofs_mount_fs() now calls
+ mf->mount_fs() internally
+ (unmount_node): autofs_umount_fs() now calls mf->umount_fs()
+ internally
+
+ * amd/autil.c (am_mounted): minor cleanup
+
+ * amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
+ nfs_fs_flags
+
+ * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
+ flag instead of hardcoding filesystem types
+ (amfs_bgmount): better mount_type logging
+
+ * amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
+ this filesystem can be mounted directly onto an autofs mountpoint
+
+2003-07-31 Ion Badulescu <ionut@buggy.badula.org>
+
+ * amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
+ calling amfs_link_ops.umount_fs() for NFS filesystems)
+ (amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
+ properly elsewhere
+ (amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
+ using link (not NFS)
+
+2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * README.autofs: Correct IRIX spelling.
+ AutoFS support exists only on IRIX 6.
+ Update IRIX 6 status.
+
+ Allow AutoFS V1 support to compile on IRIX 6.
+ * conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
+ SVCXPRT * arg.
+ Remove superfluous \n from dlog messages.
+ (autofs_unmount_1_req): Likewise.
+ Switch to get_exported_ap.
+ (autofs_program_1): Invoke handlers with additional transp arg.
+ * conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
+ autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
+
+ * conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
+ AutoFS mounts.
+ [HAVE_FS_LOFS]: Likewise for lofs mounts.
+
+ * conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
+ Don't disable AutoFS support any more.
+
+ * conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
+ (register_autofs_service): Define autofs_xprt.
+
+ * m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
+ Solaris 8+ comment to mention AutoFS V4.
+ (irix6*): Enable AutoFS V1 support on IRIX 6.
+
+2003-07-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
+ of autofs_use_lofs.
+
+2003-07-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * amd/ops_efs.c (efs_mount): Replace on_autofs arg with
+ MFF_ON_AUTOFS flag.
+ (efs_umount): Likewise.
+
+2003-07-30 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * conf/umount/umount_bsd44.c (umount_fs): convert to new way of
+ unmounting which takes autofs into account.
+
+2003-07-30 Ion Badulescu <ionut@moisil.badula.org>
+
+ * ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
+ hack; pass a new on_autofs argument to mount/umount function,
+ based on the MFF_ON_AUTOFS mntfs flag
+
+ * NEWS, README.autofs: updated
+
+ * scripts/amd.conf.5: document new option autofs_use_lofs
+
+ * scripts/amd.conf-sample (autofs_use_lofs): document new option
+
+ * m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
+ the autofs header as amu_autofs_prot.h instead of slurping it into
+ aux_conf.h
+
+ * libamu/mount_fs.c (mount_fs): removed old stub, renamed
+ mount_fs2 to mount_fs, added new argument on_autofs
+
+ * doc/am-utils.texi (Direct Automount Filesystem): document
+ problems with nfs direct mounts on modern kernels, document good
+ autofs support for direct mounts on Solaris
+ (autofs_use_lofs Parameter): document this new option
+ (browsable_dirs Parameter): note that mount storms are avoided
+ when using autofs
+
+ * conf/umount/umount_bsd44.c (umount_fs): removed old stub,
+ renamed umount_fs2 to umount_fs
+
+ * conf/umount/umount_osf.c (umount_fs): removed old stub,
+ renamed umount_fs2 to umount_fs, added new argument on_autofs
+
+ * conf/umount/umount_default.c (umount_fs): ditto as above; return
+ an error on ENOENT instead of faking success
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
+ simplified, now only consults the map for existance of the key and
+ returns success if key is found
+ (autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
+ not on;
+ (autofs_mount_2_free): implemented
+ (autofs_unmount_2_req): use get_exported_ap() instead of
+ referencing export_ap directly
+ (autofs_mount_succeeded): remove code for replying to lookup
+ requests, now only mount requests can end up here
+ (autofs_mount_failed): ditto
+
+ * conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
+ FS_AUTOFS
+ (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
+
+ * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
+ FS_AUTOFS
+ (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
+ (AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
+
+ * conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
+ factored out of autofs_umount_fs()
+ (autofs_mount_fs): renamed from autofs_link_mount() and expanded
+ to deal with filesystems mounted indirectly (via lofs/bind
+ mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
+ (autofs_umount_fs): ditto, from autofs_link_umount()
+
+ * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
+ * (autofs_umount_fs): ditto
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
+ * (autofs_umount_fs): ditto
+
+ * amd/opts.c: made fs_static static
+
+ * amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
+ and nfs_umounted static
+ (mount_nfs_fh): removed unnecessary arguments
+
+ * amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
+ the ffserver method, because using NULL causes problems
+
+ * amd/ops_cdfs.c (cdfs_ops): ditto
+
+ * amd/ops_efs.c (efs_ops): ditto
+
+ * amd/ops_lofs.c (lofs_ops): ditto
+
+ * amd/ops_pcfs.c (pcfs_ops): ditto
+
+ * amd/ops_ufs.c (ufs_ops): ditto
+
+ * amd/ops_xfs.c (xfs_ops): ditto
+
+ * amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
+ map.c
+
+ * amd/nfs_start.c: use get_exported_ap() instead of referencing
+ exported_ap directly
+
+ * amd/mntfs.c (locate_mntfs): new function, factored out of
+ find_mntfs
+ (locate_mntfs): special-case FS_DIRECT filesystems: for direct
+ mounts we will have two filesystems mounted on the same m/p
+ (realloc_mntfs): removed the old EZK hack for failovers
+
+ * amd/map.c (get_exported_ap): new function that returns an
+ exported_ap member by its index
+ (root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
+ made static
+ (fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
+ (get_root_ap): removed unused second argument
+ (unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
+ to catch more cases
+ (mount_node): call autofs_mount_fs after ops->mount_fs for autofs
+ nodes
+ (unmount_node): call autofs_umount_fs before ops->umount_fs for
+ autofs nodes
+
+ * amd/conf.c: new global option "autofs_use_lofs", takes yes/no
+ values
+
+ * amd/autil.c (amfs_mount): take an extra argument (mf)
+ (amfs_mount): call autofs_compute_mount_flags() for mounts
+ directly on autofs m/p
+ (am_unmounted): document and avoid the race between am_umounted()
+ at shutdown time and amfs_cont()
+
+ * amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
+ instead of referencing internal map variables directly
+
+ * amd/amq_subr.c (amqproc_export_1_svc): ditto
+
+ * amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
+ nfs_fs_flags
+ (amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
+ (amfs_toplvl_umount): refuse to attempt the unmount if the
+ mountpoint is not a directory
+
+ * amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
+ flag into the nfs f/s at the bottom of the stack
+
+ * amd/amfs_nfsl.c: call nfs and link member functions through
+ their respective am_ops structures, not directly
+
+ * amd/amfs_linkx.c (amfs_linkx_umount): new static stub
+
+ * amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
+ static functions
+ (amfs_link_mount): removed call to autofs_link_mount()
+ (amfs_link_umount): removed call to autofs_link_umount()
+
+ * amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
+ nfs_fs_flags
+ (do_mount): removed superfluous function arguments
+
+ * amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
+ nfs_fs_flags
+
+ * amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
+ nfs_fs_flags
+ (amfs_auto_mount): pass extra argument (mf) to amfs_mount
+
+ * amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
+ use lofs-mounts or symlinks when mounting on autofs
+ (CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
+ (VLOOK_LOOKUP): new flag, will merely check if a key exists
+ (MFF_IS_AUTOFS): renamed from MFF_AUTOFS
+ (MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
+ on an autofs m/p, or indirectly via a lofs mount/symlink
+ (fh_to_mp2): macro expanded throughout the code and removed
+ (mntfs): removed mf_real_mount hack
+ (autofs_mount_fs): renamed from autofs_link_mount
+ (autofs_umount_fs): renamed from autofs_link_umount
+ (mount_lofs): exposed
+ various other cleanups, functions/variables made static and removed
+
+ * aux_conf.h.in: removed @am_utils_autofs_style@, it is now
+ included directly as amu_autofs_prot.h
+
+2003-07-24 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * doc/am-utils.texi, scripts/amd.conf.5: document that
+ use_tcpwrappers is "yes" by default.
+
+ * amd/amd.c (init_global_options): set default global options.
+
+ * amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
+ are always on (plock and use_tcpwrappers).
+
+ * scripts/amd.conf-sample: reorganize values per option so default
+ one is listed first.
+
+2003-07-23 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * tasks: trim old stuff. Discuss new parser.
+
+ * amd/conf.c (set_conf_kv): initialize the very first map in conf
+ file from global defaults. Bug fix which was introduced after
+ conf.c code restructuring.
+
+2003-07-18 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * m4/macros/header_templates.m4: template for
+ HAVE_EXTERN_HOSTS_CTL.
+
+ * include/am_defs.h: define extern for hosts_ctl() if needed.
+
+ * configure.in (AMU_CHECK_EXTERNS): check for extern definition
+ for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
+
+ * m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
+
+2003-07-18 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * hlfsd/hlfsd.h: redundant extern for mboxfile removed.
+
+ * amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
+ amd.conf global option use_tcpwrappers=yes.
+
+ * scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
+ doc/am-utils.texi (use_tcpwrappers Parameter): document new
+ amd.conf global option.
+
+ * amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
+ option called use_tcpwrappers ("no" by default).
+
+ * amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
+ code only if both libwrap and tcpd.h exist.
+ (amq_program_1): log warning when an Amq service client is denied,
+ and a debug message when a client is allowed.
+
+ * amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
+ (AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
+
+ * include/am_defs.h: include tcpd.h if available and libwrap
+ available.
+
+ * configure.in: check for tcpd.h.
+
+2003-07-18 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
+ hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
+ because it removes useful spaces in between paragraphs. Based on
+ smaller patch from Philippe Troin <phil@fifi.org>.
+
+2003-07-17 Philippe Troin <phil@fifi.org>
+
+ * amq/amq.8: Document the libwrap/amd behavior.
+
+ * amd/amq_svc.c (libwrap_check_client): New function to validate
+ an amq connection with libwrap.
+ (amq_program_1): Call libwrap_check_client() and close the
+ connection if libwrap does not allow it.
+
+ * configure.in: Check for the tcp wrappers library.
+
+2003-07-17 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
+ amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
+ (hlfsd_init): cast pointers to void* before casting them to
+ another type, to avoid gcc-3.3 -Wall warnings.
+
+ * fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
+ avoid conflict with builtin function in gcc-3.3.
+
+2003-07-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * scripts/amd.conf-sample: Remove obsolete comment.
+
+2003-07-16 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/info_file.c (read_line): check for errors from fgets().
+ Although rare, they can occur upon disk or network failures.
+ Patch from Nick Williams <Nick.Williams@morganstanley.com>.
+
+2003-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * BUGS (Solaris 8): Update patch revisions, mention old autofs
+ patches, fix filenames and rpcgen command.
+
+2003-07-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * doc/am-utils.texi (map_defaults Parameter): document new
+ map_defaults option.
+
+ * scripts/amd.conf.5: document new map_defaults option.
+
+ * scripts/amd.conf-sample (map_type): show examples of new
+ map_defaults option.
+
+ * amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
+
+ * amd/get_args.c (get_args): call process_all_regular_maps().
+
+ * amd/conf.c: keep head and tail of cfm list.
+ (init_cf_map): reworked reset_cf_map. This one doesn't reset a
+ globaly reused cfm, but rather just inherits [global] options.
+ (set_conf_kv): just store global/map options without actually
+ creating any mnt_map's. Essentially, we now parse the whole
+ amd.conf file, and then try to process the maps one at a time.
+ (process_one_regular_map): new function to process one map, just
+ renamed from process_regular_map.
+ (process_all_regular_maps): new exported function to process all
+ maps. No need for hacky process_last_map().
+ (find_cf_map): new exported function to return a cf_map_t given a
+ map's mount point (e.g., /home or /net).
+
+ * amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
+ specificed a map_defaults for a given map. If so, use that
+ instead of the /defaults that came from the map itself. Also
+ restructure code a bit so it's not one huge long "if" statement.
+
+ HACK ALERT: there's no easy way to find out what the map mount
+ point is at this point, so I am forced to initialize the
+ mnt_map->cfm field here for the first time, upon the very first
+ search for a /defaults entry in this map. This initialization is
+ much better done in mapc_create(), but it's impossible to do that
+ there with the current code structure.
+
+ * amd/amd.h: struct cf_map becomes linked list. struct mnt_map
+ includes pointer to cf_map_t, amd.conf defaults and options for a
+ given map. extern cleanups.
+
+2003-07-15 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * amd/info_hesiod.c (hesiod_search): It's not possible to have a
+ key such as ".access" in a hesiod map as that would imply a null
+ node in the DNS tree. So a lookup for such a key must clearly
+ fail. With the current info_hesiod.c it does (after calling
+ hes{,iod}_resolve) but returns an error that confuses some
+ programs - eg. apache. This patch shortcuts the process and just
+ returns ENOENT for any key starting with ".". Patch submitted by
+ by Mark Davies <mark@mcs.vuw.ac.nz>.
+
+ * include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
+ fsinfo's own xcalloc.
+
+ * fsinfo/fsi_util.c (xcalloc): remove redundant function.
+
+2003-07-14 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
+ xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
+ never defined. Define it as needed. Patch from Mark Davies
+ <mark@mcs.vuw.ac.nz>.
+
+2003-07-14 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
+ v4 without updating all the header files)
+
+2003-07-13 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * NEWS, tasks: updated
+
+ * amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
+ the am_mfarray, unconditionally
+ (amfs_bgmount): call free_mntfs when we're done with a mntfs, call
+ dup_mntfs when starting processing of a new one; make sure we
+ always go through 'goto failed' for a failed mntfs; use the error
+ code returned by autofs_get_fh()
+
+ * conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
+ codes in case of problems
+
+2003-07-13 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex. In
+ short, use flex.
+
+2003-07-13 Erez Zadok <ezk@a-hpux11.fsl.cs.sunysb.edu>
+
+ * fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
+ lex scanners don't run out of mem.
+
+2003-07-13 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
+ special provision
+
+ * amd/mntfs.c (find_mntfs): compare the filesystem type
+ (i.e. mf_ops) in addition to mf_info; the special provision
+ mentioned below is really for any filesystem already mounted on
+ our mount point, not just for inherited filesystems
+
+2003-07-13 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * doc/Makefile.am (install-html): build per-chapter HTML manual,
+ as well as manual in one big HTML file.
+
+ * doc/am-utils.texi: Minor corrections. Ack Ion's autofs work.
+ Ack maintainers. New section on How to get additionl info,
+ including the Amd book. Correct stale URLs and Emails.
+
+ * amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
+ fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
+ scripts/amd.conf.5, scripts/automount2amd.8,
+ wire-test/wire-test.8: include references to info pages, proper
+ authors, am-utils Web page, and amd book.
+
+2003-07-13 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
+ a special provision for inherited filesystems. This unbreaks the
+ handling of parallel mounts
+
+ * amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
+ filesystems, there can be no alternative mntfs to try to mount
+
+2003-07-13 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/amd.8: reference am-utils info page in amd man page, as per
+ Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
+
+ * fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
+ yywrap() if it doesn't exist.
+
+ * amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
+ fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
+ newer flex 2.5.31 (beta development). These include resolving
+ conflicts with yylineno, unput() vs. nounput(), etc.
+
+2003-07-13 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
+ calling assign_error_mntfs()
+ (amfs_generic_mount_child): ditto
+
+ * amd/autil.c (assign_error_mntfs): move the check for
+ (am_error > 0) up into the caller, it's less confusing that way
+
+ * tasks: some updates
+
+ * conf/transp/transp_tli.c (check_pmap_up): new function which
+ detects if the remote portmapper is functional
+ (amu_clnt_create_best_version): removed
+ (get_nfs_version): use a much simplified version of the old
+ amu_clnt_create_best_version(), based on clnt_create_vers() and
+ its _timed() counterpart
+
+ * conf/transp/transp_sockets.c (check_pmap_up): new function which
+ detects if the remote portmapper is functional
+ (pmap_ping): deleted
+ (get_nfs_version): removed calls to pmap_ping, already done by
+ caller
+
+ * amd/srvr_nfs.c: call check_pmap_up() before continuing with
+ get_nfs_version()
+
+ * amd/amfs_generic.c: updated a couple of log messages
+
+ * configure.in: detect clnt_create_vers and clnt_create_vers_timed;
+ changed LIBTOOL versioning to 3:0:0
+
+2003-07-12 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
+ FS_AUTOFS because the host mount cannot be a top level mount
+ (AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
+ doesn't support direct mounts
+
+2003-07-12 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
+ macros.
+
+2003-07-10 Ion Badulescu <ionut@buggy.badula.org>
+
+ * include/am_utils.h (dlog): improved version for gcc, using
+ vararg macros
+
+ * amd/rpc_fwd.c (fwd_packet): unused variable when compiling
+ without debugging
+
+2003-07-10 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * include/am_utils.h (dlog): change the #define of non-debugging
+ dlog to "nothing" so that all that'll be left behind is a list of
+ args in parenthesis (arg,arg,...). GCC and other native C
+ compilers seem OK with it, even if it doesn't optimize away the
+ whole debugging line.
+
+ * ltmain.sh: was from libtool 1.4.2. updated to libtool 1.4.3,
+ the latest on RH9 systems (but is not the latest libtool
+ available). Stay with stable version in preparation for 6.1
+ release.
+
+ * config.{guess,sub}, doc/texinfo.tex: update to latest off of
+ ftp.gnu.org.
+
+2003-07-09 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
+ style comments: breaks non-C++ compilers (like AIX xlC 6)
+
+2003-07-02 Ion Badulescu <ionut@buggy.badula.org>
+
+ * doc/am-utils.texi (opts Option): document ignore_portmapper option
+
+ * conf/transp/transp_sockets.c (get_nfs_version): better
+ protocol/version cycling while probing remote server; better log
+ messages
+
+ * amd/srvr_nfs.c (start_ping): improved log message
+ (find_nfs_srvr): always use requested nfs_version/nfs_proto; make
+ sure we have a valid NFS port; start the server as "valid, down" if
+ the remote portmapper tells us the NFS service is not running;
+ implement the "ignore_portmapper" pseudo-mount option
+
+ * amd/rpc_fwd.c (fwd_packet): better debug messages
+
+ * amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
+ denied; call wakeup even if mountd call fails
+
+ * amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
+ instead of checking the flags directly
+ * amd/srvr_amfs_auto.c (free_srvr): ditto
+
+ * amd/amfs_generic.c (amfs_bgmount): refined some error/debug
+ messages
+
+ * amd/amd.h (FSRV_ERROR): new macro
+ (FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
+ local filesystem) is always up
+
+2003-06-30 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
+ umount options are present.
+
+ * doc/am-utils.texi (Program Filesystem): document alias options
+ to unmount:=, umount:=.
+
+ * amd/opts.c (expansions): initialize opt_umount.
+ (to_free): initialize opt_umount.
+
+ * amd/amfs_program.c (amfs_program_match): ensure that only one of
+ umount:= or unmount:= options are specified, but that at least one
+ of them is listed.
+
+ * amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
+ annoying in type:program, when one forgets the 'n' in "unmount").
+ They are two separate fields, so we can catch mistakes when
+ someone tries to define both options.
+
+ * doc/am-utils.texi (Program Filesystem): explain that both mount
+ and unmount options must be specified. Correct example to show
+ both.
+
+2003-06-25 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * XXX: beginning of new amd.conf option map_defaults: will parse
+ the option and set remember it in the right places. Need to
+ document this and actually hook it up with the rest of the code.
+ Any volunteers? :-)
+
+ * scripts/amd.conf-sample (map_defaults): example of map_defaults
+ amd.conf option.
+
+ * amd/conf.c (reset_cf_map): initialize global and per-mount
+ map_defaults.
+ (gopt_map_defaults): parse global map_defaults.
+ (process_regular_option,ropt_map_defaults): parse per-map
+ map_defaults amd.conf option.
+
+ * amd/amd.h: a place to store global and per-mount map_defaults.
+
+ * BUGS: more notes about AIX 5.2 problems and how to overcome
+ them.
+
+2003-06-10 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * doc/Makefile.am: force version.texi to be rebuilt regardless of
+ maintainer mode. Silly Automake will not build version.texi if
+ maintainer mode is off (this is hardcoded into the automake perl
+ script!). According to the Automake maintainers, users should
+ always build in CVS trees with maintainer-mode on; but what if I
+ don't want to?! I don't want to distribute Makefiles with
+ maintained rules in them to users. The Automake maintainers also
+ say that "make dist" will rebuild version.texi no matter what. I
+ find that not to be the case. It failed to run a "make" before
+ "make dist" because version.texi doesn't exist! Chicken and Egg
+ situation. So, until Automake deals with version.texi in a more
+ flexible and friendly manner, I adapted a rule to build
+ version.texi and inserted it in this Makefile.am.
+
+2003-06-09 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
+ next best thing to using mkstemp(). Patch from Hendrik Scholz
+ <hscholz@raisdorf.net>.
+
+2003-05-08 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * libamu/mount_fs.c (compute_automounter_mount_flags): use
+ MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
+
+ * m4/macros/header_templates.m4: added template for
+ MNT2_GEN_OPT_AUTOMOUNTED
+
+2003-05-01 Ion Badulescu <ionut@nicu.badula.org>
+
+ * amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
+
+2003-04-23 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * conf/transp/transp_sockets.c (create_amq_service): minor cpp
+ directive indentation and commenting.
+
+2003-04-22 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
+ for an RPC library DoS issue (original patch from Martin Blapp,
+ massaged into something more digestable by me)
+
+2003-04-14 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
+ left over from the recent cleanup
+
+2003-04-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * doc/Makefile.am (DVIPS): use proper options for dvips.
+
+ * doc/am-utils.texi (opts Option): document new 'unmount' option,
+ and better explain the 'nounmount' option. Also some misc options
+ for better generation of html manual.
+
+ * doc/Makefile.am (install-html): support newer texi2html 4.0
+ options, as older options were renamed or changed behavior.
+
+ * amd/autil.c (am_mounted): support new 'unmount' option, to allow
+ all file system mounts to timeout and thus expire. This option is
+ useful for removable local media such as CD-ROMs, USB drives,
+ etc. so they can expire when not in use, and get unmounted (such
+ drives can get work out when they keep spinning). Patch from
+ Christos Zoulas <christos@zoulas.com> (originally from Koji
+ Imada).
+
+2003-04-10 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
+ do not get added to Makefiles by default (they are confusing to
+ users who don't have autotools installed).
+
+2003-04-09 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
+ the 2001-05-23 entry) back to the 6.0 code
+
+2003-04-04 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * libamu/xutil.c (switch_to_logfile): don't try to print logfile
+ if it is null (strlen core dump on solaris). Bug report from John
+ P. Rouillard <rouilj@ieee.org>.
+
+2003-03-31 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * fsinfo/fsinfo.8: typo co-ordinate -> coordinate. Typo report
+ from Perry E. Metzger" <perry@piermont.com>.
+
+2003-03-25 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * include/am_defs.h: Don't include malloc.h if stdlib.h exists,
+ because modern systems (e.g., BSD) complain if you use malloc.h
+ instead of stdlib.h. Let's hope there are no systems out
+ there that need both.
+
+2003-03-20 Erez Zadok <ezk@suse73.fsl.cs.sunysb.edu>
+
+ * minor new port: sparc64-unknown-linux-suse7.3.
+
+2003-03-20 Erez Zadok <ezk@a-freebsd5.fsl.cs.sunysb.edu>
+
+ * minor new port: i386-unknown-freebsd5.0.
+
+ * configure.in: detect nfsclient/nfsargs.h.
+
+ * conf/nfs_prot/nfs_prot_freebsd3.h: include
+ <nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
+
+2003-03-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
+ scripts/amd.conf.5, scripts/expn.1: minor spell checking and
+ extraneous space elimination.
+
+2003-03-07 Ion Badulescu <ionut@buggy.badula.org>
+
+ * conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
+ descriptors if limit exceeded
+ (autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
+ (autofs_release_fh): release pending_mounts and pending_umounts
+ queues
+ (autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
+
+ * amd/mntfs.c (init_mntfs): delete initialization of removed
+ mf_autofs_fh
+ (uninit_mntfs): delete call to autofs_release_fh()
+
+ * amd/map.c (init_map): init autofs_fh to 0, delete initialization
+ of removed autofs_data
+ (free_map): release autofs_fh after unmounting map; delete call to
+ autofs_free_data()
+ (umount_exported): call autofs_release_mp() prior to unmounting
+ autofs f/s
+ (unmount_mp): ditto
+ (free_map_if_success): call autofs_get_mp() if unmounting fails
+ (timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
+ timeouts instead of the per-mountpoint am_ttl
+
+ * amd/autil.c (am_unmounted): release autofs_fh after unmounting
+ autofs f/s
+
+ * amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
+ autofs f/s fails;
+ (amfs_bgmount): ditto
+
+ * amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
+ more related to the mount point than to the f/s mounted;
+ added am_autofs_ttl to am_node, for running expirations on entire
+ filesystems
+
+ * conf/autofs/autofs_*: autofs_get_fh() returns int instead of
+ autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
+ instead of autofs_fh_t *, in an effort to not deal with
+ autofs-specific data structures outside autofs code;
+ new methods autofs_get_mp() and autofs_release_mp(), which
+ acquire/release autofs resources to allow clean unmount attempts;
+ nuke autofs_data_t, never used
+
+ * amd/amd.h: prototypes for new and changed autofs functions
+
+2003-03-07 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/nfs_subr.c (do_readlink): eliminate third argument, never used
+ (nfsproc_getattr_2_svc): reorganize the code a bit
+
+ * amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
+ am_node * argument
+
+ * amd/amd.h: changed prototype for mk_fattr()
+
+ * amd/autil.c (am_unmounted): when remounting, use the parent
+ node's lookup_child() and mount_child() operations, not the
+ generic ones
+
+ * amd/amfs_generic.c (amfs_cont): minor code optimization
+
+2003-03-06 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/amfs_auto.c: lots of renames and code moving:
+ amfs_auto_match() -> amfs_generic_match(), moved to generic;
+ amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
+ amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
+ amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
+ free_continuation(): moved to generic, made static;
+ assign_error_mntfs(): moved to autil.c;
+ amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
+ amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
+ try_mount() + mount_node() -> mount_node(), moved to map.c
+ amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
+ amfs_parse_defaults(): moved to generic;
+ amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
+ amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
+ amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
+ amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
+ amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
+ next_nonerror_node(): moved to autil.c;
+ amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
+ amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
+
+ * amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
+ and moved to autil.c
+
+ * amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
+ out of amd/amfs_auto.c
+
+ * amd/amd.h: struct continuation moved to generic.c; prototypes
+ for the renamed functions; NumChild renamed to NumChildren
+
+ * amd/map.c: collaped unmount_node_wrap() and unmount_node() into
+ the latter
+
+ * amd/mapc.c: key_already_in_chain(): moved to readdir.c;
+ make_entry_chain(): moved to readdir.c;
+
+ * amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
+ amfs_generic_find_srvr()
+
+ * amd/amfs_*.c: adjustments for the renames above
+
+ * amd/ops_*.c: low-level filesystems don't need a find_server()
+ method
+
+ * amd/Makefile.am: added amfs_generic.c and readdir.c
+
+ * doc/am-utils.texi: minor clarification for auto maps
+
+2003-03-06 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/amd.h: moved lots and lots of amd-only stuff here, from
+ include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
+ to be function typedefs, not pointer to function typedefs
+
+ * include/am_utils.h: see above
+
+ * amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
+ function typedef changes
+
+2003-03-05 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
+ bug.
+
+2003-02-02 Erez Zadok <ezk@siamese.fsl.cs.sunysb.edu>
+
+ * NEWS: minor new port: ia64-unknown-linux-rh2.1AS
+
+2003-01-31 Ion Badulescu <ion@console.limebrokerage.com>
+
+ * m4/macros/os_cflags.m4: rhapsody and darwin are the same
+
+ * amd/autil.c (mount_node): vastly simplified, just a wrapper now
+
+ * amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
+ hack, we now do it properly in the generic code
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
+ forking the child; set and reset MFF_MOUNTING here, not in
+ mount_node(), because the latter might be running in child
+ context; call am_mounted() after a successful foreground mount
+
+2003-01-29 Ion Badulescu <ionut@moisil.badula.org>
+
+ * configure.in: new flag --with[out]-ndbm; don't pull in libldap
+ if building --without-ldap; look for the gdbm/ndbm.h header; make
+ explicit the dependency between the ndbm headers and libraries;
+ define NEW_DBM_H as the ndbm header that should be used
+
+ * include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
+ instead of trying to second-guess configure
+
+ * m4/macros/header_templates.m4: new template for NEW_DBM_H
+
+ * m4/macros/check_map_funcs.m4:
+ (ac_upcase_map_name): use the third argument correctly
+
+ * ltmain.sh: working version from libtool-1.4.2-7
+
+ * buildall: print the entire configure command, including extra
+ arguments; pass each of the extra arguments separately, not
+ commingled into one
+
+2003-01-28 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
+ DEBUG; it is not used without DEBUG, but it is referenced at
+ compile time. Bug report from John Kilburg <john@physics.unlv.edu>.
+ (D_ALL): don't include D_XDRTRACE, too verbose and normally
+ unnecessary
+
+2003-01-28 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
+ from latest official GNU versions.
+
+2003-01-25 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
+ vmount).
+
+2003-01-25 Ion Badulescu <ionut@moisil.badula.org>
+
+ * Released beta version 6.1b2
+
+2003-01-24 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
+ calling rmdirs() on mountpoint
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): ditto
+
+ * amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
+
+ * doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
+
+ * NEWS: "sftlookup" -> "softlookup"
+
+ * amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
+ check for "nosoftlookup" in combination with "soft"
+
+2003-01-23 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
+ freebsd22 derivative
+
+ * NEWS: updated for Darwin changes
+
+ * .cvsignore: added A.i386-apple-darwin6.0
+
+ * m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
+ Darwin
+
+2003-01-23 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * conf/mount/mount_aix.c (mount_aix3): clean back this file from
+ all the debugging cruft that is no longer needed (and really was
+ never needed in the first place).
+
+2003-01-10 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
+ (map) files for testing basic amd functionality such as whether it
+ can mount its own mount NFS points.
+
+2002-12-28 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
+ pings are disabled
+
+ * libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
+ instead of casting the pointer to (enum_t *)
+ (xdr_mountstat3): ditto
+ (xdr_nfsstat): ditto
+
+ * libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
+ 64-bit big-endian platforms, bug report from Bill Fenner
+ <fenner@research.att.com>
+
+ * configure.in: increase library patchlevel
+
+ * libamu/xutil.c (amu_release_controlling_tty): close and reopen
+ file descriptors 0,1,2 before calling setsid()
+
+2002-12-27 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * updated copyright year to 2003 on all files
+
+2002-12-10 Erez Zadok <ezk@localhost.localdomain>
+
+ * rename "aux/" subdir into "m4/" so as to avoid problems with
+ MS-DOS systems (where "AUX" is a reserved name). This required
+ fixing numerous files.
+
+2002-12-10 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * configure.in: don't check for bad hasmntopt() function if
+ hasmntopt() doesn't exist on the system, because we will replace
+ it with our own version anyway.
+
+ * conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
+ dlog because htonl() returns a u_long.
+
+2002-12-10 Erez Zadok <ezk@localhost.localdomain>
+
+ * include/am_defs.h: use system's hasmntopt() only if it is found
+ and it is not buggy.
+
+ * libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
+ char.
+
+ * amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
+ amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
+ libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
+ to amu_hasmntopt(). Don't use hasmntopt() directly any more!
+
+ * aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
+ hasmntopt() function, which incorrectly finds the option "soft" in
+ a string "hard,softlookup,ro".
+
+ * libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
+ hasmntopt(), to match what most systems use.
+
+ * aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
+
+ * configure.in: invoke test for bad hasmntopt()
+
+ * NEWS: minor new port, i386-pc-linux-rh8.0.
+ Mention autofs-v4 on solaris9 works.
+
+ * bootstrap: remove any autom4te-*.cache directories, now that
+ autoconf uses a version number for them.
+
+2002-12-09 Ion Badulescu <ionut@moisil.badula.org>
+
+ Patches from Christos Zoulas:
+
+ -1- am_utils.h: add full prototypes
+ -2- amfs_auto.c make functions static and add prototypes
+ -3- map.c: kill double free
+ -5- transp_sockets.c: add full prototypes
+
+2002-12-09 Ion Badulescu <ionut@moisil.badula.org>
+
+ * NEWS: updated
+
+ * doc/am-utils.texi (opts Option): document sftlookup
+
+ * conf/autofs/autofs_solaris_v2_v3.c: compile fixes
+
+2002-11-22 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
+
+ * amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
+ %ld not %d.
+
+2002-11-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * {amd,fsinfo}/Makefile.am: remove special rules for processing
+ yacc/lex files, now that autoconf/automake properly handle them
+ better (esp. now that bison 1.75 behaves differently than older
+ bison versions).
+
+2002-11-21 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * config.guess.long: updated script so it will properly find the
+ version number of the new Itanium 2 machines running "Red Hat
+ Linux Advanced Workstation release 2.1AW (Derry)". The script now
+ will report ia64-unknown-linux-rh2.1AW.
+
+2002-11-20 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amfs_auto_bgmount(): almost complete rewrite
+
+ * fixed amfs_inherit to do the right thing and not dereference
+ freed mntfs'es
+
+ * #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
+ amfs_autofs_lookup_child()
+
+ * release the autofs_fh only in one place
+
+ * remove the mountpoint only if mf_refc == 1
+
+ * print the mntfs type in free_mntfs()
+
+ * new pseudo-mount option 'sftlookup' which causes lookups to
+ mounted shares from downed servers to return EIO; the default
+ depends on whether the mount is 'hard' or 'soft'
+
+ * improved querying of supported NFS versions on the server --
+ don't even try if it's known to be down
+
+ * solaris autofs mount code moved to transp_{sockets,tli}.c
+
+ * incipient (non-functional) AIX autofs support
+
+2002-11-11 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * doc/am-utils.texi (Keep-alives): removed outdated info about not
+ maintaining the state of TCP NFS servers
+
+2002-11-04 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * include/am_utils.h: prototype for ops_search()
+
+ * amd/am_ops.c (ops_search): new function for searching the right
+ set of ops for a given filesystem type
+
+ * amd/restart.c (restart): cleanup and split into two functions in
+ preparation for handling the restart of amd's own mount points
+ (restart_fake_mntfs): new function, factored out from restart()
+
+2002-11-04 Ion Badulescu <ionut@buggy.badula.org>
+
+ * amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
+ (cdfs_umount): ditto
+
+ * conf/mount/mount_linux.c (mount_linux): factor it out to
+ mount_linux_nfs() and mount_linux_nonfs()
+ (mount_linux_nonfs): generalize loop device support to all
+ filesystems (not just cdfs); make it automatic for anything that's
+ a regular file
+ (parse_opts): deprecate the explicit "loop" mount option
+ (do_mount_linux): minor cleanup
+
+ * conf/umount/umount_default.c (umount_fs2): release loop device
+ on umount()
+
+2002-11-03 Erez Zadok <ezk@cnm20>
+
+ * include/am_defs.h: moved #include of net/if.h above net/route.h,
+ because on AIX 5.2 if.h is needed for route.h (let's hope it
+ doesn't break things on other systems).
+
+ * include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
+ to be defined, but I don't want to move the inclusion of signal.h
+ this early into this file. Luckily, amd doesn't need the size of
+ this structure in any other structure that it uses. So we
+ sidestep it for now.
+
+ * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
+ but I couldn't find its definition anywhere. Luckily, amd doesn't
+ need the size of this structure in any other structure that it
+ uses. So we sidestep it for now.
+
+2002-11-02 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * config.guess, config.sub, doc/texinfo.tex: updates from
+ the latest GNU distributions (2002-09-05).
+
+2002-10-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
+ mount.h for NFSOPT_* and NFSMNT_*.
+ Don't use typedefs that aren't found in system header files.
+
+2002-10-30 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
+
+ * conf/nfs_prot/nfs_prot_aix5_2.h: new file.
+
+ * aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
+ for "struct aux52_nfs_args".
+
+ * aux/macros/check_nfs_prot_headers.m4: define new header file for
+ AIX 5.2.
+
+2002-10-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
+ man page.
+
+ * scripts/amd.conf-sample (ldap_proto_version): show example of use
+
+ * doc/am-utils.texi (ldap_proto_version Parameter): document new
+ amd.conf option.
+
+ * amd/conf.c (gopt_ldap_proto_version): new conf function to
+ support ldap_proto_version amd.conf parameter.
+
+ * amd/amd.h: field to hold LDAP protocol version.
+
+ * amd/amd.c (init_global_options): set default for
+ ldap_proto_version. ldap_proto_version patch from George Ross
+ <gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>.
+
+ * amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
+ unbinding from an LDAP server that may have been restarted. Fix
+ from George Ross <gdmr@dcs.ed.ac.uk>.
+
+2002-09-17 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * remove all autoconf stuff added for sys_nerr
+
+ * amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
+
+ * libamu/strerror.c: more explicit text for unknown errno's
+
+2002-10-01 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * include/am_defs.h: define "extern int sys_err" if needed.
+
+ * aux/macros/header_templates.m4: template for
+ HAVE_EXTERN_SYS_NERR.
+
+ * hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
+ (show_mi): remove "extern int sys_err"
+
+ * configure.in: execute test for "extern int sys_err"
+
+ * Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
+
+ * aux/macros/extern_sys_nerr.m4: new test to check for existence
+ of "extern int sys_nerr" definition in system headers.
+
+2002-09-17 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * libamu/xutil.c (dbg_opt): bring comments in line with the code
+
+ * hlfsd/hlfsd.c (main): use amuDebug() instead of touching
+ debug_flags directly
+
+ * amd/amd.c (main): don't init debug_flags, leave it as zero (no
+ debugging by default)
+
+2002-09-11 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ Debug code sanitization:
+
+ - amuDebug() becomes an expression, and explicit if() statements
+ are added around it throughout the code
+ - amuDebugNo() goes away (ugh!)
+ - D_AMQ, D_DAEMON and D_FORK reverse their meaning
+ - D_ALL contains only options that don't affect amd's functionality
+
+2002-09-04 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/amfs_auto.c (free_continuation): avoid double-free'ing the
+ mntfs if there was an error/timeout
+
+2002-09-04 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
+ of "return NULL" to signal an error to the upper layers
+ (amfs_auto_mount): use strdup so the string can be free'd later on
+ [Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>]
+
+2002-09-03 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ Patches from George Ross <gdmr@dcs.ed.ac.uk>:
+
+ * amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
+ it will be done in free_continuation(); assorted debugging messages
+
+ * amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
+ timeout to avoid problems with late ping replies
+
+ * amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
+ debugging messages
+
+ * amd/map.c (unmount_node): more verbose debug message
+
+2002-07-29 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
+ de-allocated memory in str3cat
+ (amfs_auto_lookup_mntfs): check for buffer overflow
+
+2002-07-11 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
+ <wiz@danbala.ifoer.tuwien.ac.at>.
+
+2002-06-26 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * doc/Makefile.am (install-html): don't use locally hacked
+ texi2html features.
+
+ * conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
+ systems should use 127.0.0.1 as the localhost address over which
+ you can do NFS mounts. In the past we found that some NFS clients
+ may not allow mounts from localhost. So we used get_myaddress()
+ and that seemed to work. Alas, on some other systems,
+ get_myaddress() may return one of the interface addresses at
+ random, and thus use a less efficient IP address than 127.0.0.1.
+ The solution is to hard-code 127.0.0.1, but still check if
+ get_myaddress() returns a different value and warn about it.
+
+ * doc/am-utils.texi: don't use ':' in @cindex entries.
+
+2002-06-25 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * Released beta version 6.1b1
+
+2002-06-24 Ion Badulescu <ionut@moisil.badula.org>
+
+ * aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
+
+ * conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
+ aix51_nfs_args, rename unknown fields to u<number>, add the
+ unknown new field into the middle of the old 4.2 structure
+
+2002-06-24 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * include/am_compat.h: better test for struct netconfig
+ (!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
+
+ * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
+
+ * buildall: fix 'buildall -b' on hpux9 and aix5.1
+
+2002-06-24 Ion Badulescu <ionut@buggy.badula.org>
+
+ * INSTALL: updated
+
+ * conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
+ (autofs_link_umount): ditto
+
+ * amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
+
+2002-06-23 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/autofs/autofs_linux.c: compile fixes for autofs v3
+
+2002-06-23 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
+ expirations needed;
+ (autofs_timeout_mp): likewise
+
+ * conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
+ needed;
+ (autofs_timeout_mp): likewise
+
+ * conf/autofs/autofs_linux.c (autofs_mounted): set the first
+ expiration interval
+
+ * amd/autil.c (am_mounted): call autofs_mounted here, instead of
+ in mf_mounted()
+
+ * amd/amd.h (NEVER): moved here from map.c
+ (autofs_mounted): change argument from mntfs* to am_node*
+
+2002-06-23 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
+ timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
+ (autofs_timeout_mp): don't update the ttl if we're going down
+
+ * amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
+ timeout on that particular am_node has expired
+
+ * conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
+ the ttl, as per the comment (compilers are not very good at
+ translating comments into code...)
+
+ * amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
+ instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
+ between link mounts pointing to the same target
+
+2002-06-23 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
+ functions for sending messages back to the kernel
+ (autofs_expire_one): initial implementation of the kernel-based
+ expiration handler
+ (autofs_handle_expire): call autofs_expire_one()
+ (autofs_handle_expire_multi): ditto
+ (autofs_umount_succeeded): search pending_umounts, send message
+ back to the kernel
+ (autofs_umount_failed): ditto
+ (autofs_mount_succeeded): tell amd core not to expire autofs entries
+ (autofs_timeout_mp): expiration function for autofs filesystems
+ (autofs_timeout_mp_task): helper function for autofs_timeout_mp
+
+ * conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
+ keeping tracking of pending umounts
+ (autofs_fh_t) rename pending to pending_mounts, add pending_umounts
+
+ * conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
+
+ * amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
+ filesystems
+
+ * amd/autil.c (mf_mounted): move here the call autofs_mounted()
+ from amfs_auto_mounted().
+
+2002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * amd/nfs_start.c (mount_automounter): Security fix. if user sets
+ -D noamq, don't even create listening socket. Suggestion by Ed
+ Ravin <eravin@panix.com>.
+
+2002-06-22 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * hlfsd/homedir.c (homedir): use setgid() instead of setegid()
+
+ * ALL: #ifdef cleanups, unify some TLI/socket function prototypes
+
+2002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
+ na_gid and na_uid. NetBSD patch from Jun-ichiro itojun Hagino
+ <itojun@iijlab.net>.
+
+ * doc/am-utils.texi (Option): document xlatecookie mount option.
+
+ * libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
+ NFS mount option. Patch from Matthias Scheler <tron@zhadum.de>
+ for NetBSD.
+
+2002-06-22 Ion Badulescu <ionut@edgar.badula.org>
+
+ * conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
+ AUTOFS_LINK_FS_FLAGS
+
+ * conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
+ mounts in autofs_link_mount/umount
+
+2002-06-22 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * configure.in: check for devid inside struct umntrequest
+
+ * conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
+ new umntrequest structure in v4.
+ (autofs_unmount_2_req): ditto
+
+ * README.autofs: updated for Solaris 2.5/2.5.1
+
+2002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * configure.in: only define LDAP/Hesiod if both the headers and
+ the libraries exist, and the user didn't explicitly disable those
+ maps.
+
+2002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * doc/am-utils.texi: fix typos. Can't use ":" in @cindex entries.
+
+2002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
+ amd/amd.8, amd/get_args.c (get_args): document amd -A option.
+
+ * amd/get_args.c (get_args): support "amd -A arg" option to
+ override the system's detected architecture. Patch from George
+ Ross <gdmr@dcs.ed.ac.uk>.
+
+ * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
+ if the system doesn't have it.
+
+ * configure.in: detect existence of ldap_enable_cache function,
+ because it doesn't exist on Solaris 9's latest ldap libraries.
+
+ * amd/info_ldap.c: LDAP patches from George Ross
+ <gdmr@dcs.ed.ac.uk>. Rework of old code, support for wildcards in
+ LDAP queries, and an FD leak fix.
+
+2002-06-22 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * buildall: use ksh for configure on aix5.1; pass the extra
+ arguments after "--" to configure, not to make
+
+ * Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
+
+ * conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
+ with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
+ mount with the alternative nfs3_args structure
+
+ * conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
+ structure, similar to that in aix5.1, for a hack that tries to
+ compensate for IBM's brain fart
+
+ * conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
+
+ * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
+
+ * BUGS: update for direct mounts on Linux; document the brokenness
+ of /bin/sh on AIX 5.1 and HP-UX 9
+
+ * NEWS: aix5.1 port, aix4.3 workaround
+
+2002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * ltmain.sh: use libtool 1.4d, needed support for newer AIX.
+
+2002-06-21 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
+ all solaris2.6+, not just for 2.[6-8]
+
+ * conf/autofs/autofs_default.h: disable autofs if configure
+ detects it
+
+2002-06-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * aux/macros/with_addon.m4: correct M4 quoting.
+
+ * aux/macros/cache_check_dynamic.m4: correct M4 quoting.
+
+ * bootstrap: show version of autotools being used. Helps
+ maintainer debugging.
+
+ * configure.in: new proper syntax for libtool and
+ ansi2knr-filtering rules, required by autoconf 1.53 and higher.
+
+2002-06-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/GNUmakefile: new search paths for "update" target.
+
+ * config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
+ the latest GNU distributions.
+
+2002-06-11 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
+ function into the new amfs_auto_lookup_one_child function; return
+ null if all ivecs failed to match
+
+2002-05-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * config.guess.long: support SuSE version names in long
+ config.guess format.
+
+2002-05-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/lostaltmail.in (vrfy_user): unlink temp files if too
+ small.
+
+2002-04-07 Ion Badulescu <ionut@moisil.badula.org>
+
+ * hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
+
+2002-03-29 Ion Badulescu <ionut@moisil.badula.org>
+
+ * README.autofs: solaris 2.5/2.5.1 info, other minor changes
+
+ * doc/am-utils.texi (History): document solaris 2.5+ support
+
+ * include/am_utils.h: new member in struct mntfs: mfs_real_mount;
+ autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
+ prototype for umount_fs2(); extra argument for UMOUNT_FS()
+
+ * hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
+
+ * libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
+ function; swap mntdir and real_mntdir as necessary for solaris 2.5
+ autofs support
+
+ * conf/umount/umount_default.c (umount_fs2): swap mntdir and
+ real_mntdir as necessary for solaris 2.5 autofs support
+
+ * conf/umount/umount_*.c (umount_fs): wrapper around the new
+ umount_fs2() function
+ (umount_fs2): new function which takes the real mountpoint as an
+ extra argument
+
+ * conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
+ compiled in
+
+ * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
+ function that appends a space at the end of a string (the famous
+ "Autofs Space Protocol")
+
+ * conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
+
+ * conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
+ system-specific definitions for these macros
+
+ * conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
+ which are now handled properly by more generic code
+ (autofs_link_umount): complain if umount_fs() fails, rmdir the
+ mountpoint on success
+ (autofs_umount_succeeded): remove the rmdirs() code, now handled
+ by generic code
+ (autofs_mount_succeeded): ditto
+
+ * amd/nfs_start.c (checkup): implement it as an emtpy stub if
+ DEBUG is not defined
+ (run_rpc): call autofs_add_fdset() after umount_exported() to
+ avoid passing invalid file descriptors to select(); use plog()
+ instead of perror()
+
+ * amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
+ (uninit_mntfs): free mf_real_mount
+
+ * amd/autil.c (am_unmounted): don't remove the mount point if a
+ remount is pending, also don't make the removal conditional on not
+ being an autofs mount point
+
+ * amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
+ mf->mf_real_mount instead of mf->mf_mount
+
+ * amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
+ rmdirs() on mf->mf_real_mount instead of mf->mf_mount
+
+ * amd/amfs_host.c (make_mntpt): change the third argument to be
+ the mountpoint, not the entire mntfs structure
+ (do_mount): takes real_mntdir as an extra argument
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
+ mountpoint here from try_mount(), otherwise the change to mf_flags
+ is lost for background mounts; remove the mountpoint if we created
+ it and the mount fails
+ (amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
+ autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
+
+ * amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
+ AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
+ header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
+ mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
+ extra argument
+
+ * amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
+ the real mountpoint as an additional argument
+
+2002-03-28 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
+ values back from mount_fs(). Return correct error number from
+ this function.
+
+ * conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
+ cruft from this function, moved elsewhere.
+ (mount_linux): prepare for loop-device mounts of ISO images.
+
+2002-03-28 Ion Badulescu <ionut@buggy.badula.org>
+
+ * libamu/Makefile.am (EXTRA_DIST): added strerror.c
+
+ * libamu/strerror.c: strerror() implementation for systems lacking it
+
+ * doc/am-utils.texi (History): rewrote the history :) about autofs
+ support
+
+ * conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
+ (autofs_unmount_2_req): minor cleanup
+ (create_autofs_service): print log message
+ (destroy_autofs_service): ditto
+
+ * conf/autofs/autofs_linux.c: updated copyright
+
+ * amd/nfs_start.c (mount_automounter): move the debug message into
+ create_autofs_service()
+
+ * amd/amd.c (main): call destroy_autofs_service() before
+ going_down(), not after
+
+ * configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
+ if the ldap headers are not found
+
+2002-03-28 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * amd/info_ldap.c: patch from "Sebastien Bahloul"
+ <sebastien.bahloul@medasys.org> to fix a simple initialization bug
+ and change "HE" to HE_ENT so as to compile on HPUX.
+
+2002-02-26 Erez Zadok <ezk@t3.fsl.cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
+ atttributes field named "uid". So #define na_uid to it.
+
+2002-02-12 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * scripts/lostaltmail.in: don't verify user if -noverify option
+ was turned on. fix comment typo.
+
+2002-02-11 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * amd/Makefile.am (TESTS): enable one test script, test1.sh.
+
+ * amd/test1.sh: re-commit simple test script.
+
+2002-02-11 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * Released snapshot 6.1a5
+
+ * NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
+
+ * README: require newer auto-tools, update mailing list address
+
+ * README.autofs: major update
+
+ * configure.in: version changed to 6.1a5
+
+2002-02-11 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
+ stat() on the am_link if called from the parent amd, to prevent
+ deadlocks
+
+ * amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
+ fstype is not link but we have a sublink (Linux autofs needs this)
+ (am_mounted): call amfs_link_ops.mount_fs if the fstype is not
+ link but we have a sublink (Linux autofs needs this)
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
+ not the amd entry point
+
+2002-02-09 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
+ structure for returning the results from readdir_2()
+ (xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
+ changed to process our internal format (which is essentially the
+ NFS readdir format)
+ (xdr_autofs_getrddirres): not needed, deleted
+ (xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
+ changes to handle amd_rddirres instead of autofs_rddirres
+ (autofs_lookup_2_req): return AUTOFS_NONE instead of
+ AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
+ (autofs_readdir_2_req): implemented
+ (autofs_readdir_2_free): not needed, deleted
+ (autofs_program_2): changes from autofs_rddirres to amd_rddirres
+ (autofs_get_fh): changed initialization of the fh->map member, it
+ now gets the mountpoint path because it makes it easier to
+ implement readdir
+ (autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
+ code touching fh->addr
+ (destroy_autofs_service): new function, deregister the autofs
+ service with the portmapper on exit
+
+ * conf/autofs/autofs_linux.c (autofs_handle_missing): update
+ statistics
+ (destroy_autofs_service): new stub
+
+ * amd/mapc.c (mapc_find): fixed indentation
+
+ * amd/map.c (find_ap_recursive): renamed from find_ap2(), made
+ static
+
+ * amd/amd.h: removed prototype for find_ap2(), added prototype for
+ destroy_autofs_service()
+
+ * amd/amd.c (main): call destroy_autofs_service() before going
+ down
+
+2002-02-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_field.m4: need also a new version of
+ AC_CHECK_MEMBERS (plural).
+
+2002-02-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_field.m4: include a fixed version of
+ AC_CHECK_MEMBER. g/cc will fail to check a member if the .member
+ is itself a data structure, because you cannot compare, in C, a
+ data structure against NULL; you can compare a native data type
+ (int, char) or a pointer. Solution: do what I did in my original
+ member checking macro: try to take the address of the member. You
+ can always take the address of anything.
+
+2002-01-31 Erez Zadok <ezk@localhost.localdomain>
+
+ * remove old '%W%' SCCS IDs from all sources.
+
+2002-01-21 Ion Badulescu <ionut@moisil.badula.org>
+
+ * conf/mount/mount_linux.c (mount_linux): fix breakage introduced
+ by the loop device mount support. Linux mount takes a real string
+ as the last argument, unless the mount type is NFS, NCP, or SMB.
+
+2002-01-20 Erez Zadok <ezk@localhost.localdomain>
+
+ * hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
+ because we made some important changes.
+
+2002-01-20 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
+ by default
+
+ * NEWS: document latest changes
+
+ * amd/map.c (unmount_mp): same fix as for hlfsd, update the
+ seconds field in mtime because Linux ignores the useconds field
+
+ * hlfsd/homedir.c: made some global vars static
+ (plt_init): remove all trailing '/' chars from root's home;
+ use root's home, not the username (silly bugfix)
+
+2002-01-20 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * hlfsd/homedir.c (homedir): don't special case uid 0 as having /
+ as home; instead use the root account's home
+ (plt_init): properly initialize root_home from the root account's
+ home directory, or as "" if root doesn't exist
+ (plt_reset): free root_home
+
+2002-01-20 Erez Zadok <ezk@localhost.localdomain>
+
+ * hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
+ Increment seconds, not microseconds (which are ignored by NFS).
+ Set symlink owner to euid.
+
+ * hlfsd/homedir.c (homedir): pass gid to this function, so we can
+ also change the effective GID of the process writing to the user's
+ home dir, as well as the group of the hlfsd symlink.
+ (homedir): run setegid in the right places.
+
+2002-01-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * scripts/redhat-ctl-amd.in: refer to @sbindir@ not
+ ${prefix}/sbin.
+
+ * scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
+ ${prefix}/etc. Bug report from "A Braunsdorf"
+ <ab@eas.purdue.edu>.
+
+2002-01-13 Erez Zadok <ezk@localhost.localdomain>
+
+ * configure.in: only check for clock_gettime if --enable-debug was
+ used.
+
+ * aux/macros/opt_debug.m4: define a cache variable to record value
+ of debug option used.
+
+ * libamu/xutil.c (show_time_host_and_name): do not use
+ clock_gettime unless debugging was compiled in. This way, if
+ debugging is not compiled, we don't bother linking with librt,
+ libpthread, and a whole lot of other libraries that aren't that
+ necessary (esp. on Linux).
+
+2002-01-12 Erez Zadok <ezk@wavy.dyn.optonline.net>
+
+ * doc/am-utils.texi (opts Option): document loop option.
+
+ * include/am_utils.h: each mounted file system (mntfs) should
+ optionally store the loop device used in the field mf_loopdev.
+
+ * conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
+ loop function extern definitions. For now this code is here
+ because we only support loop devices on Linux.
+
+ * conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
+ mount option.
+ (parse_opts): when skipping over unknown mount options, skip over
+ "loop" (since it was given in amd map entry), but not over
+ loop=/dev/loopX, because the latter will go into /etc/mtab.
+ (do_mount_linux): override actual cdfs mounted device name
+ because with loop devices you don't mount the .iso file directly,
+ but the /dev/loopX device that was setup for it.
+ (show_loop, is_loop_device, find_unused_loop_device,
+ setup_loop_device, delete_loop_device): support code for loop
+ devices.
+
+ * amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
+ setup loop device before isofs mount, if "loop" option was given,
+ before actual mount(2).
+ (cdfs_mount): pass loopdev name to mount_cdfs().
+ (cdfs_umount): delete/unset loop device after a successful
+ unmount, if a loop device was used.
+
+ * amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
+
+ * include/am_compat.h: If loop device (header file) exists, define
+ mount table option MNTTTAB_OPT_LOOP.
+
+ * conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
+ here until we have a better way to detect /dev/loop devices.
+
+ * include/am_defs.h: include <linux/loop.h> if it exists. Define
+ LARGEFILE support macros, possibly needed for loop devices.
+ Redefine dev_t apropriately for loop devices.
+
+ * configure.in: check for <linux/loop.h>.
+
+2002-01-10 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
+ parameter 2 orders of magnitude larger than udp (patch from Trond
+ Myklebust)
+
+2002-01-09 Erez Zadok <ezk@localhost.localdomain>
+
+ * aux/macros/linux_headers.m4: properly [quote] a long string in
+ m4 and use AC_MSG_WARN.
+
+ * ALL: put /* comments */ on #else/#endif lines everywhere.
+
+ * configure.in, aux/macros/with_addon.m4: due to limitation of
+ AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
+ package for help string.
+
+ * doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
+ FSinfo section of the manual.
+ (map_reload_interval Parameter): document new amd.conf global
+ parameter.
+
+ * scripts/amd.conf.5 document new global option
+ map_reload_interval. Sort entries for nfs_vers and nfs_proto
+ alphabetically.
+
+ * amd/nfs_start.c (do_select): increment do_mapc_reload's value by
+ global map_reload_interval value, not by fixed ONE_HOUR.
+
+ * amd/amd.c (main): increment do_mapc_reload's value by global
+ map_reload_interval value, not by fixed ONE_HOUR.
+
+ * scripts/amd.conf-sample (map_reload_interval): usage example
+
+ * amd/amd.c (init_global_options): initialize map_reload_interval
+ to 3600 seconds.
+
+ * amd/conf.c (gopt_map_reload_interval): support a new global
+ amd.conf option map_reload_interval, to determine how often (in
+ seconds) Amd should check if the map source has changed and then
+ reload it it. This value was hard-coded to one hour, now it's the
+ default if not otherwise specified.
+
+ * doc/am-utils.texi (plock Parameter): document plock=yes option
+ as using mlockall(2) if found.
+
+ * scripts/amd.conf.5: document -S option as using mlockall(2) if
+ found.
+
+ * include/am_defs.h: include <sys/mman.h> if it exists.
+
+ * configure.in: check for mlockall() function. Check for
+ sys/mman.h.
+
+ * amd/amd.c (main): support mlockall() on systems that have it and
+ don't have plock(3) for plock=yes. On systems that have both,
+ will try plock() first and then mlockall(), until one of them (if
+ any) succeeds.
+
+2002-01-09 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
+ with_addon.m4 (ac_upcase): fix help string formatting using
+ AC_HELP_STRING.
+
+ * amd/test1.sh: simple test script for "make check". Runs "amd
+ -v".
+
+ * amd/Makefile.am (TESTS): add one simple test script, running
+ "amd -v" and checking its return value. More tests can be added.
+
+ * aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
+
+ * aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
+ Instead, list bracketed regexp patterns in [[double brackets]].
+
+ * aux/macros/header_templates.m4: remove all unnecessary
+ HAVE_FIELD_* definitions, now that we're using autoconf's new
+ AC_CHECK_MEMBERS.
+
+ * aux/macros/field_mntent_t_mnt_time_string.m4: don't call
+
+ * configure.in: use new syntax for AMU_CHECK_FIELD
+
+ * aux/macros/check_field.m4: use new and simpler macro
+ AC_CHECK_MEMBERS. Change all sources to use HAVE_aggregate.member
+ instead of HAVE_FIELD_aggregate.member.
+
+ * aux/amdgrep: simple utility script to egrep the am-utils sources
+ for any pattern.
+
+ * aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
+ check_umount_style.m4, check_network_transport_type.m4}: use newer
+ AC_LIBOBJ macros instead of modifying $LIBOBJS directly
+
+ * aux/macros/func_bad_memcmp.m4: redefine to use native
+ AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
+
+ * fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
+ pre-ANSI C compilers will ignore it.
+
+ * conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
+ correctly depending on whether it takes a void or a 0.
+
+ * configure.in: check if s/getpgrp() takes void or a 0.
+
+2002-01-08 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * configure.in: use the newer AC_CONFIG_LINKS instead of
+ AC_LINK_FILES.
+
+ * aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
+ check_mnttab_style.m4, check_mount_style.m4,
+ check_network_transport_type.m4, check_umount_style.m4,
+ check_nfs_prot_headers.m4: removed backward compatible code for
+ pre-autoconf-2.14.
+
+2002-01-07 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
+ this Makefile could explicitly chdir to other directories and run
+ make there.
+ (install-ps): use ${MAKE} with ${MFLAGS}.
+
+ * Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
+ Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
+ could explicitly chdir to other directories and run make there.
+ (install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
+
+ * configure.in: call AC_PROG_MAKE_SET to check if make program
+ defines $MAKE variable.
+
+ * amd/get_args.c (get_version_string): use new PACKAGE_* macros
+ and also report the bug-reporting address.
+
+ * aux/macros/package_{name,version}.m4, header_templates.m4: using
+ new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
+
+ * aux/macros/name_bugreport.m4: simple macro to print out the
+ bug-reporting address which was configured in AC_INIT.
+
+ * bootstrap: remove new autoconf messages about misuse of
+ m4_patsubst and m4_regexp (internal GNU M4 macros).
+
+ * configure.in: remove old comment above AC_OUTPUT.
+ Use AC_CONFIG_FILES and AC_OUTPUT separately.
+ Fix AC_REVISION use.
+ Add AC_COPYRIGHT.
+ Use new style for AC_INIT, listing package name, version, and
+ bug-reporting address.
+ Call new AMU_PACKAGE_* macros.
+
+ * updated copyright year to 2002 on all files
+
+ * configure.in: using newly renamed am-utils macros (AMU_*)
+
+ * aux/macros/*.m4: renamed ALL am-utils specific macros so they
+ start with AMU_*, not AC_*. That way it is easier to distinguish
+ between macros that come with am-utils and those that are part of
+ Autoconf or Automake. It helps to identify those am-utils macros
+ that can be removed once there is generic support for them in a
+ future version of Autoconf.
+
+ * bootstrap: run automake --copy
+ remove autom4te.cache dir before rerunning autoconf
+
+2001-12-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * scripts/amd.conf.5: correct title to section 5, not 8. Correct
+ reversed meaning of nfs_proto and nfs_vers parameters. Typos
+ reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
+
+2001-12-02 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
+
+ * scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
+
+2001-12-02 Ion Badulescu <ionut@moisil.badula.org>
+
+ * hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
+ non-mkstemp code
+
+ * scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
+ happy
+
+ * scripts/ctl-hlfsd.in: ditto (for hlfsd)
+
+ * conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
+ get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
+
+ * conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
+
+2001-11-29 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * tasks: updated
+
+ * NEWS: document the fixed autofs fd leak
+
+ * amq/amq.8: better document the -f option
+
+2001-11-29 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * libamu/mount_fs.c (mnt_flags): same this as for nolock option
+ handling, do for maxgrps.
+
+2001-11-29 Ion Badulescu <ion@guppy.limebrokerage.com>
+
+ * conf/autofs/autofs_linux.c (hash_init): determine the max number
+ of fd's at runtime, use it to dynamically scale the hash and list
+ arrays
+ (autofs_get_fh): sanity check, don't allow a pipe() fd greater
+ than autofs_max_fds
+ (autofs_release_fh): close our end of the pipe here (no clue why
+ or when it got commented out)
+ (autofs_mounted): set kernelfd to -1 after closing it
+
+2001-11-28 Philippe Troin <phil@fifi.org>
+
+ * libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
+ opts.
+ (compute_nfs_args): Added nolock handling.
+ Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>.
+
+2001-11-27 Erez Zadok <ezk@a-hpux11i.fsl.cs.sunysb.edu>
+
+ * ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
+ Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
+ issues. Had to use HP's own yacc/lex.
+
+2001-11-26 Erez Zadok <ezk@a-hpux11i.fsl.cs.sunysb.edu>
+
+ * */Makefile.am: don't use $(OBJECTS) directly because it is no
+ longer automatically defined now that Automake has automatic
+ dependency tracking (which I turn off). Instead, hard-code
+ minimal dependencies on am-utils' header files to depend on
+ PROG_OBJECTS (where PROG is the program name being built). This
+ was discovered by using HP's non-GNU make program.
+
+ * amd/nfs_start.c (checkup): cast getpagesize() return val to
+ long, to avoid conflicts in division of a long by an int (on
+ hpux11i, with their ANSI/C compiler).
+
+ * INSTALL, doc/am-utils.texi: port updates
+
+ * minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
+ i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
+ ia64-unknown-linux-rh7.1.
+
+ * include/am_defs.h: actually declare extern definition for
+ xdr_callmsg() if it doesn't already exist.
+
+ * aux/macros/header_templates.m4: declare template for
+ HAVE_EXTERN_XDR_CALLMSG.
+
+ * configure.in: check for extern definition for xdr_callmsg()
+ because hpux11 has that function but a bad <rpc/xdr.h> header file
+ that doesn't define it in the right place.
+
+ * libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
+ on hpux11 its type is dev_t.
+
+ * conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
+ yet.
+
+2001-11-16 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu>
+
+ * buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
+ to /bin/sh limitations.
+
+ * bootstrap (cmd): turn back on --ignore-deps (this Automake may
+ have problems)
+
+ * libamu/xutil.c: remove __attribute__ format_arg statement for
+ expand_error() because this function, although taking a
+ printf-like string, does not use it in a printf function; it only
+ expands a non-printf amd-special syntax %m.
+
+2001-11-14 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu>
+
+ * conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
+ before using it because older Linux systems don't define this
+ (e.g., Red Hat 4.2)
+
+2001-11-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * configure.in: convert to using autoconfig 2.52. Use new macros.
+ AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
+ parts of autogenerated config.h.in; increase autoconf
+ pre-requisite to version 2.50; use AC_DISABLE_SHARED not
+ AM_DISABLE_SHARED.
+
+ * aux/macros/cache_check_dynamic.m4: finally I can use the new
+ $ECHO_N syntax in macros instead of $ac_n, since I'm using a new
+ autoconf. Isn't it nice to be such forward looking and having
+ placed a comment "XXX: use the next line for autoconf-2.14 and
+ newer"... :-)
+
+ * aux/macros/save_state.m4: highlight message with ***'s
+
+ * aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
+
+ * config.{guess,sub}: upated from latest prep ftp distributions
+
+ * depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
+
+ * ltmain.sh: updated from latest Libtool 1.4.2
+
+ * bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
+ called without default to allow cross compiling" warnings. And,
+ it only took like 3+ years to fix this. But, now it has anoter,
+ albeit less annoying warning (which the manual says to ignore):
+ "AC_PROG_LEX invoked multiple times".
+ When autoheader is run, don't treat the "all clear" message
+ "config.h.in is update" as an error.
+
+ * ltconfig: removed. not needed with latest version of libtool
+
+ * aux/macros/header_templates.m4: replaces acconfig.h and defines
+ all CPP macros we use in this package, including their
+ accompanying C /* comments */.
+
+ * acconfig.h: removed. replaced by new autoconf system to generate
+ header templates using AH_TEMPLATE macros and such.
+
+ * aux/macros/msg.m4: removed. Replaced with new macro
+ AC_MSG_NOTICE
+
+ * Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4. Add
+ aux/macros/header_templates.m4
+
+ * configure.in: early, in host_macros.m4, I'm renaming silly linux
+ $host_os names such as linux-gnu and lignux to plain "linux".
+ Alas, RMS finally had his way and libtool will NOT recognize
+ "linux" as a valid system, only "linux-gnu". Sigh. Rich, I know
+ you're responsible to Linux's fame. Kudos to you and your
+ cohorts. But please don't force the rest of us to use those ugly
+ or long names. Solution: temporarily name $host_os to "linux-gnu"
+ before calling the AC_PROG_LIBTOOL macro, then name it back to
+ "linux". (That way I don't have to maintain my own version of
+ ltmain.sh.
+
+ * buildall: force running configure -C (to create and use a local
+ config.cache file). New default behavior for autoconf is NOT to
+ use cache files. Yeah, that's gonna fly real well with am-utils,
+ with its 700+ automatic tests.
+
+ * conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
+ mktemp, if the former is available.
+
+ * conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
+ mktemp, if the former is available.
+
+ * mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
+ if the former is available.
+
+ * aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
+ be on a separate line, as per new Autoconf manual, to avoid some
+ Bourne Shell syntactical bizarreness.
+
+2001-11-13 Erez Zadok <ezk@a-rh71i.fsl.cs.suunysb.edu>
+
+ * amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
+ for IA64 Linux.
+
+2001-11-12 Ion Badulescu <ionut@buggy.badula.org>
+
+ * libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
+ pointing to '\0' on success, so we need to allow for it. This
+ fixes the problem with rejecting numerical mount options if they
+ are the last option in the string.
+
+ * configure.in: increased library patchlevel
+
+ * NEWS: document the parsing bug
+
+2001-10-29 Ion Badulescu <ionut@moisil.badula.org>
+
+ * configure.in: bumped version up to 6.1a5-pre
+
+ * NEWS: fixed speeling mistaike
+
+2001-10-29 Ion Badulescu <ionut@moisil.badula.org>
+
+ * released snapshot am-utils-6.1a4
+
+2001-10-26 Ion Badulescu <ionut@moisil.badula.org>
+
+ These changes fix autofs support for sublinks. While it is not
+ perfect by any means and is hardly better than non-autofs, at
+ least it works.
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
+ reply if the mount is in progress
+ (autofs_mount_succeeded): handle both delayed lookups and mounts
+ (autofs_mount_failed): ditto
+
+ * amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
+ original opt_fs if we have a sublink
+
+2001-10-23 Ion Badulescu <ionut@moisil.badula.org>
+
+ * amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
+ instead of new_mf) which was causing null pointer error when
+ sublinks were being used
+
+2001-10-22 Ion Badulescu <ionut@moisil.badula.org>
+
+ * README.autofs: updated
+
+ * NEWS: updated
+
+ * INSTALL: updated
+
+ * AUTHORS: added myself
+
+ * doc/am-utils.texi: updated
+
+ * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
+ xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
+ (autofs_readdir_2_req): cast req->rda_offset to (int), same as
+ above
+
+2001-10-22 Ion Badulescu <ionut@moisil.badula.org>
+
+ Autofs direct mounts have been verified to work on Solaris2.[67].
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
+ retrieve the uid and gid from the lookup request
+ (autofs_mount_2_req): skip the first char in the name (it's a
+ leading '/') if this is a direct mount
+
+ * amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
+ and amfs_auto_mount_child for amfs_direct's methods
+
+ * amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
+ if the mntfs lookup fails
+
+2001-10-21 Ion Badulescu <ionut@moisil.badula.org>
+
+ * include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
+ pending a remount
+ (mntfs): new member mf_fsflags, holds a copy of the filesystem's
+ fs_flags
+ (am_ops): new member autofs_fs_flags, holds the filesystem's flags
+ when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
+
+ * conf/autofs/autofs_linux.c (create_autofs_service): turn on
+ FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
+ (autofs_umount_succeeded): don't rmdir the mountpoint if a remount
+ is needed [lest the access that triggered the remount will fail]
+
+ * amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
+ into mf_fsflags on initialization
+
+ * amd/autil.c (am_unmounted): start the remounting right away if
+ the node is marked as needing a remount [fixes the Linux autofs
+ deadlock when mount/unmount collide]
+
+ * amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
+ needing a remount if a mount request comes in while we're
+ unmounting it
+ (amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
+ into mf_fsflags if this is an autofs node
+
+ * amd/amfs_*.c, amd/ops_*.c: added initialization for the new
+ autofs_fs_flags member of am_ops
+
+2001-10-20 Ion Badulescu <ionut@moisil.badula.org>
+
+ With these changes, Solaris 2.[67] autofs support is finally
+ functional!
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
+ (autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
+ xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
+ (autofs_lookup_2_req): do an actual lookup here, and tell the
+ kernel to create a symlink if necessary
+ (autofs_mount_2_req): no need to am_autofs_data
+ (autofs_program_2): enable AUTOFS_READDIR
+ (autofs_link_mount): no code needed here
+ (autofs_link_umount): return success
+ (autofs_mount_succeeded): lstat real mount points; don't mark
+ symlinks as NOTIMEOUT
+
+ * amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
+
+ * amd/map.c (init_map): init am_dev and am_rdev to -1
+ (free_map): free am_mfarray and all mntfs's listed
+
+ * amd/autil.c (mf_mounted): move the lstat of the node to the
+ autofs-specific code
+
+ * amd/amfs_link.c (amfs_link_ops): don't background symlink creation
+
+2001-10-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
+ * BUGS: Explain this.
+
+2001-10-02 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
+
+ * doc/am-utils.texi (redhat-ctl-amd): document new script.
+
+ * scripts/Makefile.am: build redhat-ctl-amd but do not install it.
+
+ * scripts/redhat-ctl-amd.in: new script, useful to correctly
+ control Amd on Red Hat Linux systems. Script adapted from ctl-amd
+ and Red Hat's own rc.d script.
+
+2001-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
+ (MNT2_NFS_OPT_AUTO): Disable.
+ * Makefile.am (EXTRA_DIST_CONF): Reflect new name.
+ * aux/macros/check_nfs_prot_headers.m4: Use this file for all
+ Tru64 UNIX V5 and up releases.
+
+2001-09-24 Ion Badulescu <ionut@moisil.badula.org>
+
+ * include/mount_headers1.h (MFS): define as 1 instead of nothing,
+ to fix compile problems on OS X (patch from Ahmon Dancy)
+
+ * aux/macros/try_compile_anyfs.m4 (MFS): ditto
+
+2001-08-13 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu>
+
+ * doc/am-utils.texi (in_network Selector Variable): document
+ expanded syntax
+
+ * libamu/wire.c (is_network_member): support for network/netmask
+ as well as network/bits syntax in in_network()
+
+2001-08-11 Erez Zadok <ezk@a-linux64.fsl.cs.sunysb.edu>
+
+ * amq/amq.c (show_mti): print full four digits for year, and print
+ it in MM/DD/YYYY format, not in YY/MM/DD format.
+
+2001-08-11 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
+ initial attempt to do something useful -- but commented out for now
+ (autofs_link_mount): create an action structure with a link
+ request and pass it up
+ (autofs_mount_2_req): pass the link request to the kernel
+ (autofs_free_data): new helper function
+
+ * conf/autofs/autofs_linux.h: added definition for autofs_data_t
+
+ * conf/autofs/autofs_solaris_v2_v3.h: ditto
+
+ * amd/map.c (init_map): initialize am_autofs_data
+ (free_map): call the autofs cleanup function if necessary
+
+ * include/am_utils.h (am_node): added private data and cleanup
+ function for autofs
+
+ * tasks: removed some obsolete entries
+
+2001-08-11 Erez Zadok <ezk@a-solaris8.fsl.cs.sunysb.edu>
+
+ * amd/map.c (free_map_if_success): run autofs_umount_failed() only
+ if this mount node is of type autofs.
+
+2001-08-11 Ion Badulescu <lionut@gonzales.badula.org>
+
+ * amd/amd.h: removed mf_array from struct continuation (moved into
+ am_node)
+
+ * include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
+ vlookup_child; added vmount_child; added mount_child to the fs_ops
+ API; added prototypes for amfs_auto_mount_child and
+ amfs_error_mount_child
+
+ * amd/map.c (init_map): initialize am_mfarray to 0
+
+ * amd/amfs_*, amd/ops_*: new API function mount_child, old API
+ function lookuppn renamed to lookup_child
+
+ * amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
+ amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
+ amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
+ amfs_auto_mount_child; moved the freeing of the error mntfs in the
+ newly allocated am_node from lookup_mntfs to mount_child; make
+ sure lookup_child returns a negative error if the node needs to be
+ mounted; removed the call to lookuppn3 from lookup_child
+
+ * amd/amfs_error.c: added stub implementations of
+ amfs_error_lookup_child and amfs_error_mount_child
+
+ * amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
+ conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
+ call both lookup_child and mount_child, instead of the old
+ lookuppn API method
+
+2001-07-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/get_args.c (get_args): a better way to handle GNU and
+ non-GNU getopts without strdup-ing the getopt string.
+
+2001-07-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/info_ldap.c (amu_ldap_rebind): The first time you called
+ amu_ldap_init, aldh->ldap is not set. So when amu_ldap_rebind is
+ called, this function is absolutely sure to return 0. Then
+ amu_ldap_init return 0 without having opened any LDAP connection.
+ This is not the correct behavior.
+ (get_ldap_timestamp, amu_ldap_search): error to free an object
+ ("entry") that is automatically freed by the library. Patch from
+ Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>.
+
+2001-07-19 Ion Badulescu <ionut@moisil.badula.org>
+
+ * AUTHORS (variables): added Philippe Troin
+
+ * Makefile.am (EXTRA_DIST): added bootstrap
+
+ * include/am_compat.h (xfs_args_t): define as u_int if the
+ filesystem is supported but we can't autodetect the type for
+ xfs_args_t. This allows Linux to mount xfs filesystems.
+
+2001-07-12 Philippe Troin <phil@fifi.org>
+
+ * doc/am-utils.texi: Added @dircategory Administration.
+
+2001-07-12 Philippe Troin <phil@fifi.org>
+
+ * aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
+ with only the `yes' and `no' as possible answers.
+
+ * configure.in: Added support for disabling LDAP and HESIOD even
+ if the supporting libraries are found.
+
+ * Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
+
+2001-07-12 Philippe Troin <phil@fifi.org>
+
+ * include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
+ if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
+ and the linux nodev options are different beasts.
+
+ * conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
+ entry (not really necessary on linux).
+
+2001-07-12 Philippe Troin <phil@fifi.org>
+
+ * amd/get_args.c (get_args): Prepend "+" to the getopt string if
+ HAVE_GNU_GETOPT to avoid getting all options (even the ones after
+ the first non-option argument) slurped in by GNU getopt.
+
+ * aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
+ if GNU/glibc getopt implementation is detected.
+
+ * configure.in: Added call to AC_CHECK_GNU_GETOPT.
+
+ * acconfig.h: Document HAVE_GNU_GETOPT.
+
+ * Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
+
+2001-06-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
+ am-utils URL references use www.am-utils.org, not the columbia
+ URL.
+
+2001-06-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/transp/transp_sockets.c (create_nfs_service): cast to
+ u_long to ensure clean compile on freebsd5 and bsdi2.
+
+2001-05-23 Ion Badulescu <ionut@moisil.badula.org>
+
+ WARNING: WORK IN PROGRESS
+
+ It works for me on Linux (both autofs and nfs mounts), for nfs and
+ link, but I won't make any guarantees outside those.
+
+ * amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
+ point and the device/fileserver are the same. This is an important
+ change of philosophy, watch out for memory leaks!
+
+ * amd/map.c (get_ap_child): helper function for
+ amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
+ and inserts it into all necessary structures
+
+ * amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
+ free any of the removed fields
+ (amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
+ subfunctions, including some code stolen from bgmount; lookuppn
+ now generates an array of possible mntfs to try mounting, and
+ bgmount will actually try to mount each of them.
+ (amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
+ (amfs_parse_defaults): new helper function for lookuppn
+
+2001-05-19 Erez Zadok <ezk@kosh.dyn.optonline.net>
+
+ * conf/mount/mount_linux.c: typo: added comma after '0' element.
+
+2001-05-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
+ autofs-v4 again
+ (autofs_get_opts): don't pass pgrp, the kernel will get it
+ automatically anyway, not to mention that we were passing bogus
+ data if amd was not daemonized.
+
+ * conf/mount/mount_linux.c (linux_nfs_error): don't special case
+ the 0 result, just put it into the translation list
+
+2001-05-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * conf/mount/mount_linux.c (linux_nfs_error): don't report success
+ (0) as error (NE_IO)!
+
+2001-05-18 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
+ least one share is already mounted
+
+2001-05-17 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * libamu/util.c (str3cat): updated comment
+
+ * include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
+
+ * conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
+ (autofs_mounted): disable autofs support for host f/s if version < 4
+ (create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
+ (autofs_umount_succeeded): use rmdirs instead of rmdir
+ (autofs_mount_failed): ditto
+
+ * amd/opts.c (expand_op): align the debugging messages
+
+ * amd/map.c (mount_auto_node): use am_node *mp instead of casting
+ the void *arg; update the comment
+
+ * amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
+ comparing to &amfs_direct_ops
+ (mount_node): ifs_mount doesn't exist, make note of it in the
+ comment
+
+ * amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
+
+ * amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
+ create the mountpoint directory for auto f/s; it is now handled in
+ autofs_linux.c
+ (amfs_auto_bgmount): renamed the mpe parameter to mp_error;
+ renamed dont_retry to retry and reverted its meaning as well;
+ moved the mp variable up one scope and made use of it throughout
+ the function;
+ (amfs_auto_readdir): whitespace
+ (amfs_auto_readdir_browsable): whitespace, also some debugging
+
+ * amd/am_ops.c (vops): updated a comment
+
+ * .cvsignore: added A.i386-pc-linux-rh7.[01]
+
+2001-05-01 Ion Badulescu <ionut@gonzales.dev.hydraweb.com>
+
+ * conf/mount/mount_linux.c: fixed stupid error in the linux
+ nfs_errormap[], which was mapping ENOENT to success!!!
+
+2001-04-28 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * BUGS: added info about the direct mount problems on Linux and
+ about the kernel patches on www.am-utils.org.
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
+ removed obsolete comment
+
+ * amd/autil.c (forcibly_timeout_mp): always log a message when the
+ forced unmount request is ignored
+ (mf_mounted): don't lstat unless this is an autofs mount point,
+ lest we deadlock
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
+ MFF_MKMNT to the flags, it causes deadlocks later on when
+ unmounting
+
+2001-04-14 Erez Zadok <ezk@whitestar.dyn.optonline.net>
+
+ * COPYING: update copyright year
+
+ * amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
+ amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
+ amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
+ amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
+ conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
+ conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
+ conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
+ libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
+ messages for clarity, to avoid duplication, to better recognize
+ what the message means and where it ran, and to fix typos.
+
+ * amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
+ function's name to the beginning of the function, before any other
+ messages are logged.
+
+2001-04-14 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * conf/mount/mount_linux.c (do_mount_linux): removed plog() of
+ binary data
+
+2001-04-05 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
+ MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
+ work (needed for MacOS X); removed duplicate definition of NFS.
+
+2001-03-29 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * amd/amd.h, amd/amfs_auto.c, amd/conf.c,
+ doc/am-utils.texi,
+ scripts/amd.conf-sample, scripts/amd.conf.5:
+ renamed selectors_on_default to selectors_in_defaults,
+ kept the former as a deprecated option;
+ renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
+ renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
+
+2001-03-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
+ include/am_utils.h: compile fixes for --enable-debug=no
+
+2001-03-15 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * NEWS: updated
+
+ * README.autofs: updated
+
+ * conf/mount/mount_linux.c (linux_version_code): export the fn
+
+ * conf/nfs_prot/nfs_prot_linux.h: ditto
+
+ * conf/autofs/autofs_linux.c (create_autofs_service): verify the
+ kernel version here, and turn off bind_works if the kernel is
+ older than 2.4.0.
+ (autofs_link_mount): don't touch bind_works here, it's useless
+ b/c we're in a child process; remove the mountpoint directory if
+ the bind mount fails
+
+ * amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
+ into dlogs
+
+ * conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
+ mntent struct before initializing it
+
+2001-03-14 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * conf/mount/mount_linux.c (parse_opts): added support for lofs
+ (mount_linux): support lofs through bind mounts and/or FiST lofs
+
+ * scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
+ /var/mail and /usr/spool/mail
+
+ * conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
+ kernel is newer than 2.4.0
+ (MNTTYPE_LOFS): ditto
+
+ * conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
+ (autofs_lookup_failed): removed stub
+
+ * conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
+ the file, made static;
+ (autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
+ and friends to determine if bind mounts can be used and to trigger
+ further cascading mounts; return proper error codes
+ (autofs_link_umount): distinguish between symlinks and bind mounts
+ and handle both correctly
+ (autofs_umount_succeeded): remove call to autofs_link_umount()
+
+ * amd/map.c (umount_exported): try to unmount all mount points on
+ an autofs filesystem; this isn't really needed and will be removed
+ when we start handling restarting autofs mounts
+
+ * amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
+ if necessary
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
+ causing the wrong mntfs to be selected when using autofs; removed
+ call to autofs_link_mount() (moved where it belongs, in
+ amfs_link.c)
+
+ * amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
+ solution is needed, because background mounting is only necessary
+ for linux autofs + bind mounts
+
+ * amd/amd.h: removed prototype for autofs_lookup_failed (internal
+ static function for linux autofs); added prototype for
+ autofs_link_umount
+
+ * configure.in: bump up library patchlevel
+
+2001-02-28 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * aux/macros/check_mount_trap.m4,
+ aux/macros/check_nfs_fh_dref.m4,
+ aux/macros/check_nfs_prot_headers.m4,
+ aux/macros/type_recvfrom_fromlen.m4,
+ aux/macros/type_yp_order_outorder.m4:
+ Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
+ aix[1-3], osf[1-3] and hpux[6-9].
+
+2001-02-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * check_mount_style.m4, check_mount_trap.m4,
+ check_network_transport_type.m4, check_nfs_fh_dref.m4,
+ check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
+ check_nfs_socket_connection.m4, os_cflags.m4,
+ type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
+ cleanup (use [[0-1]] instead of M4 changequote commands).
+
+ * Makefile.am: removed unused conf/trap/trap_hpux11.h
+
+2001-02-27 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * aux/macros/check_network_transport_type.m4,
+ aux/macros/check_mount_style.m4,
+ aux/macros/check_mount_trap.m4,
+ aux/macros/check_network_transport_type.m4,
+ aux/macros/check_nfs_fh_dref.m4,
+ aux/macros/check_nfs_prot_headers.m4,
+ aux/macros/check_nfs_sa_dref.m4,
+ aux/macros/check_nfs_socket_connection.m4,
+ aux/macros/os_cflags.m4,
+ aux/macros/type_auth_create_gidlist.m4,
+ aux/macros/type_recvfrom_fromlen.m4,
+ aux/macros/type_yp_order_outorder.m4:
+ Reworked the scripts, so that a new _unknown_ version of a known OS
+ will use the option for the newest _known_ version of that OS. For
+ example, when freebsd6 comes out, it will use the stuff for
+ freebsd5, not the stuff for freebsd2. This makes configure more
+ likely to succeed on new systems/versions.
+
+ * Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
+
+2001-02-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * Makefile.am (install-snapshot): use a different symlink target
+ for the experimental snapshots.
+
+2001-02-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
+ distributions.
+
+2001-02-22 Erez Zadok <ezk@earth.cs.columbia.edu>
+
+ * released snapshot am-utils-6.1a3
+
+ * amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
+ get_args.c
+
+2001-02-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/mtab.c: added the functions hasmnteq and haseq to
+ ease checks for non-numeric values in opt=value strings.
+ Recoded hasmntval to qualify input as numeric, allow hex and
+ octal strings on rhs of =, and log when the value is missing
+ or invalid.
+
+ * conf/mount/mount_linux.c: revised mount_linux to use new
+ hasmnteq function to extract type of non-nfs mounts, and added
+ a log message to catch possible failure of strdup.
+
+ * amd/am_ops.c: revised merge_ops to use new haseq function
+
+ * amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
+ discover protocol setting.
+
+ * include/am_utils.h: added function prototypes for hasmnteq
+ and haseq
+
+2001-02-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
+ pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
+
+ * include/am_defs.h (_LINUX_NFS3_H): ditto
+
+ * conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
+
+2001-02-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
+ command.
+
+2001-02-18 Erez Zadok <ezk@earth.cs.columbia.edu>
+
+ * aux/macros/mount_headers.m4, include/mount_headers[12].h: split
+ mount_headers.h in two because one relative header (nfs_prot.h)
+ file cannot be included inside another from the start directory of
+ the first (it's relative to the directory of the first).
+
+2001-02-09 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * AUTHORS: added Ahmon Dancy <dancy@franz.com>
+
+ * (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
+
+ * aux/macros/mount_headers.m4: moved all the C code into a
+ separate file, include/mount_headers.h; the effect is that
+ configure goes down in size by a factor of 2.5!
+
+ * include/mount_headers.h: new file, with C code from
+ aux/macros/mount_headers.m4
+
+2001-02-01 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * conf/mount/mount_linux.c: made linux_nfs_error() more robust.
+
+2001-02-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.1a2
+
+ * updated ltmain.sh and ltconfig from latest stable version of
+ libtool-1.3.5
+
+2001-02-01 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
+ of nfs_error here, from mount_linux.c, so that it can actually be
+ used.
+
+ * conf/mount/mount_linux.c: added unused errno 41 to the
+ nfs_errormap array, lest the following errno's get shifted up by
+ one!
+
+Sat Jan 13 00:04:38 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * amd/amd.h (autofs_lookuppn): Fixup whitespace.
+ * amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
+ * amd/amfs_error.c: (amfs_error_match): Likewise.
+ * amd/amfs_host.c (fetch_fhandle): Fixup whitespace. Remove
+ unnecessary temporary variable.
+ * amd/info_file.c (read_line): Likewise.
+ (search_or_reload_file): Likewise.
+ * amd/info_ldap.c (get_ldap_timestamp): Likewise.
+ * amd/map.c (get_root_ap): Likewise.
+ * amd/nfs_prot_svc.c: Likewise.
+ * amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
+ foofs_readlink, foofs_ffserver): Likewise.
+ * amd/ops_autofs.c (autofs_bgmount): Likewise.
+ * amd/ops_lofs.c (lofs_match): Likewise.
+ * amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
+ * amd/ops_xfs.c (xfs_match): Likewise.
+ * amd/srvr_amfs_auto.c (srvrlog): Line break.
+ * amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
+ nfs_srvr_port): Fixup whitespace.
+ * conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
+ * conf/nfs_prot/nfs_prot_hpux.h: Likewise.
+ * conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
+ * conf/nfs_prot/nfs_prot_irix5.h: Likewise.
+ * conf/nfs_prot/nfs_prot_irix6.h: Likewise.
+ * conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
+ * conf/nfs_prot/nfs_prot_osf2.h: Likewise.
+ * conf/nfs_prot/nfs_prot_osf4.h: Likewise.
+ * conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
+ * conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
+ * conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
+ * conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
+ * conf/transp/transp_tli.c (get_mount_client): Likewise.
+ * hlfsd/nfs_prot_svc.c: Likewise.
+ * include/am_defs.h (sys_errlist): Likewise.
+ * include/am_utils.h (am_get_progname, am_get_hostname,
+ amq_program_1): Likewise.
+ (nfsxprt): Moved declaration.
+
+Fri Jan 12 23:31:45 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ Removed support for amq -M.
+
+ * acconfig.h (ENABLE_AMQ_MOUNT): Removed.
+ * aux/macros/opt_amq_mount.m4: Removed.
+ * Makefile.am (EXTRA_DIST_AUX): Don't distribute
+ opt_amq_mount.m4.
+ * configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
+
+ * amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
+ * amd/amq_svc.c (amq_program_1): Removed amq -M support.
+ * amq/amq.c (mount_map): Removed.
+ (main): Removed -M option handling.
+ Removed transport-type specific CLIENT creation.
+ (get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
+
+ * amq/amq.8: Removed -M documentation.
+ * doc/am-utils.texi (Top-level Filesystem): Removed amq -M
+ reference, but retain comment on mount -t amd.
+ (Controlling Amd): Likewise.
+
+ * tasks: Removed this task.
+
+Fri Jan 12 23:18:26 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * conf/autofs/autofs_*.c: Bump copyright year to 2001.
+ * hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
+
+ * aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
+ solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
+ protocol version numbers, not solaris versions.
+ * conf/autofs/autofs_solaris[12].[ch]: Renamed to
+ autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
+ * Makefile.am (EXTRA_DIST_CONF): Likewise.
+
+ * aux/macros/check_autofs_style.m4: Use solaris2 style for both
+ versions 2 and 3 of the AutoFS protocol.
+
+ Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
+ with Solaris 8 mntfs).
+
+ * conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
+ xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
+ autofs_postmount_2_req ): Don't define for version 3.
+ (autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
+ AUTOFS_POSTMOUNT if missing.
+
+ * conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
+
+ * aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
+ files on systems without existing autofs port.
+ * conf/autofs/autofs_default.[ch]: New files, empty.
+ * Makefile.am (EXTRA_DIST_CONF): Distribute them.
+ * INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
+ link.
+
+2001-01-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * Makefile.am (EXTRA_DIST): distribute new LDAP files.
+
+ * README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
+ proposed Schema, and internet draft.
+
+Fri Jan 12 22:27:07 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Support Tru64 UNIX V5.1:
+
+ * conf/nfs_prot/nfs_prot_osf5_1.h: New file.
+
+ * Makefile.am (EXTRA_DIST_CONF): Distribute it.
+
+ * aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
+ AutoFS, need to disable it until a port exists.
+
+ * INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
+ minor port.
+
+2001-01-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * ALL: bump copyright year to 2001.
+
+2001-01-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * acconfig.h: correct comments for NODEV/NONDEV mount options
+
+Fri Jan 5 05:12:02 2001 Erez Zadok <ezk@subzero.cs.columbia.edu>
+
+ * libamu/xdr_func.c: removed ugly casts to "groups*", now that
+ irix6's nfs_prot.h is fixed.
+
+ * conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
+ <rpcsvc/mount.h> here so we don't have to include this header.
+
+2001-01-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
+ struct groups, not the pointer to this struct.
+
+ * include/am_xdr_func.h: prototype should take "groups *" as 2nd
+ arg.
+
+ * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
+ casting of second arg of xdr_groups to "groups *". It's only
+ needed for irix6, due to problems with xdr_groups on that platform.
+ (xdr_groups): prototype should take "groups *" as 2nd arg.
+
+ * conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
+ definition. Report from Ahmon Dancy <dancy@franz.com>.
+
+2000-12-06 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * include/am_defs.h: force non-inclusion of <linux/fs.h> via
+ <linux/auto_fs.h>
+
+ * conf/autofs/autofs_linux.c (autofs_mounted): rename
+ AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
+ previous commit)
+
+ * configure.in: fixed libtool version
+
+2000-12-02 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * doc/am-utils.texi (opts Option): document lock/nolock
+
+2000-12-02 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
+ modified autofs_fh_t to have a linked list of autofs_pending_mount;
+ added some support for autofs4
+
+ * conf/autofs/autofs_linux.c: use a linked list for pending
+ request, to allow for handling multiple simultaneous request;
+ incipient non-functional support for autofs4; incipient
+ non-functional support for bind-mounting
+
+ * amd/amd.c (main): print a warning if PROCLOCK is requested but
+ the O/S doesn't support it
+
+ * libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
+ option
+
+ * include/am_defs.h: don't include <linux/fs.h> on a glibc2
+ system; include <linux/auto_fs4.h> if it exists, instead of
+ <linux/auto_fs.h>
+
+ * include/am_compat.h: define the "nolock" mnttab option if the
+ NONLM NFS mount option is defined
+
+ * acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
+
+ * configure.in: added detection of the NONLM Linux NFS mount
+ option; added a clarification for the library versioning rules and
+ increased the minor level; added detection of <linux/auto_fs4.h>
+ and the MS_BIND generic mount option
+
+2000-11-29 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * Enabled Solaris 2.7 autofs support (tested, works)
+
+ * Updated NEWS, README.autofs
+
+ * Updated Makefile's, make dist is now fixed
+
+ * Fixed potential memory leak in map.c
+
+ * Fixed autofs style detection for solaris 2.[67]
+
+ * Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
+
+2000-11-28 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ More Solaris 2.[67] work in progress:
+
+ * changed the API for the mount/umount methods: fmount/fumount are
+ gone, and mount/umount now take two arguments (am_node and mntfs)
+
+ * changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
+ means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
+ means the am_node is a node on a filesystem of type autofs.
+
+ * renamed nfs_program_2_transp to current_transp so it can be used
+ with autofs
+
+ * renamed quick_reply() to nfs_quick_reply()
+
+ * added two more autofs methods: autofs_umount_failed() and
+ autofs_compute_mount_flags() -- it turns out that on sol2.6 the
+ autofs mounts MUST be overlay'ed
+
+ * moved the autofs_mount_succeeded() into am_mounted()
+
+ * made amd *not* timeout autofs mounts -- the kernel will do it
+ for us
+
+ * store dev and rdev of a mounted filesystem in the mntfs
+ structure, to help autofs
+
+ * moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
+ prevent deadlocking with autofs
+
+ * amd/Makefile.am: shuffled things around to make
+ update_build_version be the last thing that runs
+
+2000-11-27 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
+ and made configure create a symlink to the appropriate one
+
+ * moved the xdr autofs functions from libamu/xdr_func.c into the
+ system-specific conf/autofs/autofs*.c
+
+ * added some more experimental code to the sol2.6 autofs support,
+ but it's by no means functional
+
+2000-11-27 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * libamu/wire.c (getwire_lookup): truncate the hostname to
+ MAXHOSTNAMELEN characters.
+
+2000-11-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
+ 256 bytes, not 64. Suggestion form Kris Kennaway
+ <kris@FreeBSD.org>.
+
+2000-11-26 Erez Zadok <ezk@dmath5.geometrie.tuwien.ac.at>
+
+ * configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
+ options kerb, rdirplus, readdirsize, and xlatecookie
+ (NetBSD-1.5K).
+
+ * acconfig.h: recognize NFS mount options rdirplus, readdirsize,
+ and xlatecookie (NetBSD-1.5K)
+
+2000-11-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/srvr_nfs.c: comment on NFS proto search order.
+
+ * libamu/xutil.c (real_plog): don't try to write the last byte of
+ the fmt buf. security suggtion from NetBSD: Thomas Klausner
+ <wiz@danbala.ifoer.tuwien.ac.at>
+
+2000-11-22 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
+ fattr.na_fileid, it is now done in map.c when the map is initialized
+
+ * amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
+ to 0, to avoid cache aliasing problems on Linux (and to follow the
+ NFS spec!)
+
+2000-11-22 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
+
+ * libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
+ (security)
+
+ * libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
+ __attribute__, __format__, and __printf__ for GCC string auditing.
+
+ * wire-test/wire-test.8: this is not a section 8L man page.
+
+ * libamu/xutil.c (expand_error): don't use sys_nerr on systems
+ that support strerror().
+ (dplog): fmt is const
+ (plog): fmt is const
+ (real_plog): fmt is const. use new expand_error function with its
+ new return value. be more careful about running off the end of
+ char[] fixed size buffers.
+
+ * libamu/wire.c (getwire): fix alignment error on alpha using an
+ extra automatic storage variable ifrpool.
+
+ * hlfsd/hlfsd.c (fatal): use proper printf style to plog.
+
+ * fsinfo/fsinfo.c (find_username): getlogin() returns a const.
+
+ * fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
+ vfprintf.
+
+ * fsinfo/fsi_lex.l (yyerror): use vfprintf.
+
+ * fixmount/fixmount.8: this is not a section 8L man page.
+
+ * doc/am-utils.texi (Hesiod maps): fixed typo.
+
+ * amd/sched.c (do_task_notify): typo in comment.
+
+ * amd/opts.c (expand_op): expand_error[] is a const char *.
+
+ * amd/amd.c (main): use proper printf style to plog.
+
+2000-11-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
+ proplist mnttab flag. Bug fix from Wolfram Klaus
+ <klaus@physik.fu-berlin.de>.
+
+2000-11-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * updated config.guess, config.sub, and doc/texinfo.tex from
+ mirrors
+
+ * Makefile.am (update): proper updating of config.* and texinfo
+ from mirrors.
+
+ * aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
+ reports their system name as "netbsdelf" in config.guess.
+
+2000-11-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (opts Option): document new mount option
+ "proplist"
+
+ * include/am_compat.h: define amd mount option "proplist" if the
+ system doesn't recognize it, but the NFS bit flag exists.
+
+ * configure.in, acconfig.h: recognize/support "proplist" NFS mount
+ option in Amd, useful under DU-4.0 to process ACLs over NFS
+ mounts.
+
+2000-11-10 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ * conf/mount/mount_linux.c (mount_linux): removed unnecessary
+ rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
+
+2000-10-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
+
+2000-11-05 Ion Badulescu <ionut@moisil.dev.hydraweb.com>
+
+ Too many changes to list them here. Here's a high level
+ description:
+
+ * Forward-ported the Linux fixes from 6.0.5pre
+
+ * Got rid of a mountain of #ifdef DEBUG, replaced with smart
+ header-file #ifdef's
+
+ * and, the grand finale: initial Solaris 2.6 autofs
+ support. Compiles, mounts, gets requests; all the
+ infrastructure is in place to actually implement the calls. Linux
+ autofs might be a bit broken, but only compile-time so it'll be
+ easy to fix.
+
+2000-11-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * MIRRORS (Note): added a mirror at ufl.edu
+
+2000-10-11 Erez Zadok <ezk@lorien.dev.hydraweb.com>
+
+ * amq/amq.8: synchronize Amq's options with reality
+
+ * amq/amq.c (main): synchronize Amq's usage() string with reality
+
+2000-10-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/ctl-amd.in: add targets condrestart (redhat) and
+ reload.
+
+2000-10-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
+ defined.
+
+2000-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
+ \a.
+
+2000-09-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * include/am_utils.h: removed unused field opt_autopref
+
+ * amd/opts.c: removed unused variable $autopref
+
+2000-09-05 Erez Zadok <ezk@aladdin.dev.hydraweb.com>
+
+ * conf/mtab/mtab_svr4.c (lockfile): function not needed unless
+ MOUNT_TABLE_ON_FILE is defined.
+ mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
+ (update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
+
+2000-09-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * buildall (Usage): typo in usage string
+
+2000-08-25 Erez Zadok <ezk@lynn.soscorp.com>
+
+ * conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
+ is no defined on older Linux systems (kernel 2.0.36)
+
+2000-08-19 Erez Zadok <ezk@earth.cs.columbia.edu>
+
+ * scripts/amd.conf.5: correct swapped descriptions for ldap_base
+ and ldap_hostports.
+
+ * doc/am-utils.texi: correct swapped descriptions for ldap_base
+ and ldap_hostports.
+
+ * scripts/amd.conf-sample: swap examples for ldap_base and
+ ldap_hostports.
+
+2000-08-13 Erez Zadok <ezk@earth.cs.columbia.edu>
+
+ * scripts/amd.conf-sample: -O is CLI equivalent to "os"
+ amd.conf parameter
+
+2000-07-30 Erez Zadok <ezk@earth.cs.columbia.edu>
+
+ * scripts/amd.conf-sample (nfs_retransmit_counter): correct
+ meaning and use of parameter
+
+2000-07-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi: updated URLs to www.am-utils.org.
+
+2000-07-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Supported Platforms): document osf4.0f
+
+2000-06-19 Erez Zadok <ezk@vir.cs.columbia.edu>
+
+ * doc/am-utils.texi (dollar Selector Variable): document
+ ${dollar}.
+
+ * amd/opts.c: special new variable ${dollar} which expands into a
+ literal '$' sign. Otherwise there is no way to include a literal
+ dollar symbol in an amd map.
+
+2000-06-11 Ion Badulescu <ib42@moisil.cs.columbia.edu>
+
+ * amd/opts.c (eval_selectors): don't deref opt after it's been
+ XFREE'd
+
+2000-06-11 Erez Zadok <ezk@earth.cs.columbia.edu>
+
+ * amd/opts.c: move mount_type expansion until later in the list,
+ so common variable are "hit" first.
+
+2000-06-11 Ion Badulescu <ib42@moisil.cs.columbia.edu>
+
+ * amd/opts.c (split_opts, eval_selectors): split old function
+ eval_opts into two, one that only splits non-selectors and
+ assigns the values to fs_static, and one that only evaluates
+ selectors; also simplified the rather obfuscated logic inside
+ these functions
+ (expand_op): made it take a char * instead of a structure from
+ which it was using only one field (a char *). Also now returns a
+ char * instead of modifying said structure in place
+ (expand_opts): deal with the change above
+ (expand_selectors): renamed from expand_key
+ (expand_options): new function, expands non-selectors; it's the
+ complement of expand_selectors, both of which are just wrappers
+ around expand_op()
+ (eval_fs_opts): use the new split_opts, eval_selectors to allow
+ using options (like ${rhost}) in selectors
+
+2000-06-11 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * config.guess.long: munge config.guess' output so that intel
+ linux appears as i386-pc-linux
+
+Fri Jun 9 16:06:56 2000 Erez Zadok <ezk@defiant.dev.hydraweb.com>
+
+ * conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
+ Don't use it.
+
+2000-06-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * amd/mapc.c (maptypes): Change default allocation mode to
+ MAPC_INC where reload support is missing to avoid warning in
+ mapc_create().
+
+2000-06-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
+ solaris 2.5 until a full port can be done.
+
+2000-06-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * Makefile.am, aux/GNUmakefile: fix maintainer rules to update
+ config.* and texinfo.tex files.
+
+ * amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
+ mtime update of the symlinks on the SYMTTL option, but rather
+ delay unmount of what was looked up using am_timeo_w. Patch from
+ Nick Williams <Nick.Williams@msdw.com>. As Nick says "Basically:
+ during unmount, increment the parent dir's mtime (fixes
+ people doing amq -u). During stat, increase the TTL (to fix bad-luck
+ timeouts), but leave the mtime alone."
+
+ (nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
+ nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
+ Patch from Nick Williams <Nick.Williams@msdw.com>.
+
+ * amd/map.c (unmount_mp): update mtime of amd symlink to further
+ reduce the chances of race conditions between unmounting and
+ looking up an entry again. Patch from Nick Williams
+ <Nick.Williams@msdw.com>.
+
+ * README: updated instructions
+
+ * bootstrap: remove log file before existing
+
+2000-06-06 Erez Zadok <ezk@aladdin.dev.hydraweb.com>
+
+ * configure.in: no longer using aux/ subdir. don't force autoconf
+ 2.14. comment out (but leave explanation) everything that's needed
+ for autoconf 2.14, so for now it works with autoconf-2.13, but the
+ code is ready for 2.14 when it is released. Similar changes to
+ make code work with automake-1.4, until the next release comes
+ out.
+
+ * libamu/Makefile.am: include definitions that are required in
+ automake 1.4, but won't be necessary when the next release of
+ automake comes out (see XXX comments).
+
+ * cache_check_dynamic.m4, check_checkmount_style.m4,
+ check_mnttab_style.m4, check_mount_style.m4,
+ check_network_transport_type.m4, check_nfs_prot_headers.m4,
+ check_umount_style.m4: use symlink creation code that works for
+ both autoconf 2.13 and 2.14 (when the latter comes out).
+
+ * bootstrap: new script for maintainers to run to update autoconf,
+ automake, and libtool related files. Has the same effect as
+ "buildall -K".
+
+ * removed dependencies on CVS versions of autoconf, automake, and
+ libtool, especially the modified automake I had. This is so that
+ maintainers could built the auto* files out of the latest released
+ GNU autoconf, automake, and libtool. However, without my nice
+ patches to automake, many files that used to live in the aux/
+ subdir now were moved to the top level source directory: acconfig.h,
+ acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
+ config.guess.long, config.h.in, config.sub, configure.in, depcomp,
+ install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs. Also
+ texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
+
+2000-06-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * cvs-server.txt: instructions for maintainers to access the CVS
+ server for am-utils.
+
+2000-06-03 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * amd/restart.c (restart): grr.. passing around initialized
+ structures is *really* bad habit. memset(mo, 0) so at least we can
+ test for NULL pointers...
+
+2000-06-02 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/am_ops.c (ops_match): changed XLOG_USER messages about
+ merging addopts options to the more appropriate XLOG_INFO. Patch
+ submitted by Tom Schmidt <tschmidt@micron.com>.
+
+ * config.{guess,sub}: make sure chmod'ed a+rx. Updated from
+ latest GNU copies.
+
+2000-05-30 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * aux/configure.in: bump up the version to 6.1a2
+
+2000-05-29 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * released snapshot am-utils-6.1a1
+
+2000-05-29 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
+ version and store it in the fh
+ (autofs_get_opts): support protocol version 4
+
+ * amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
+ releasing it
+
+ * conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
+ svc_getcaller() to sockaddr_in, to appease glibc 2.2
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
+ autofs handling and the parent is already handled by autofs,
+ handle this filesystem as well
+ (amfs_auto_mount): create the mountpoint for an autofs mount
+ (amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
+
+ * include/am_utils.h (FS_AUTOFS): new flag signalling that the
+ filesystem wants autofs handling; toplvl, auto, host and direct
+ have this flag, at least for now
+
+2000-05-28 Erez Zadok <ezk@mulberry.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Network Filesystem Group): minor typos
+
+2000-05-28 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
+
+ * amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
+ version=2 and proto=udp and try again
+
+ * amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
+ instead of a voidp; handle the NFS_SCALEDOWN case by removing the
+ cached server entry and re-querying the server
+
+ * amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
+ statement, assign mnttype from the fs-specific mf_ops->fs_type
+ instead
+
+ * amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
+ defined;
+ (amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
+ always exists
+ (amfs_nfsx_umount): removed the hacked am_node -- umounted() now
+ takes an mntfs; call umounted() only if it's defined
+
+ * amd/amfs_auto.c: removed amfs_auto_umounted and moved its
+ functionality into am_umounted().
+ (amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
+ as needing an "NFS scaledown" and retry the operation
+
+ * amd/amfs_*.c: changed all fmount/fumount functions to
+ mount/umount and made them take an am_node instead of an
+ mntfs. This is a first step towards an amfs/ops API separation.
+
+ * amd/{amfs,ops}_*.c: changed the umounted() function to take an
+ mntfs instead of an am_node
+
+2000-05-28 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
+ up gcc
+
+ * aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
+ which always defines HIDE_MOUNT_TYPE
+
+ * amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
+ initialization -- now done in init_mntfs()
+
+ * amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
+ mounting an autofs-style map
+
+ * amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
+
+ * amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
+ necessarily a string type, so handle the nfs/autofs separation
+ differently
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
+ opt_mount_type (now done in ops_match())
+
+ * amd/am_ops.c (ops_match): need to initialize opt_mount_type if
+ it's not initialized yet
+
+2000-05-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
+ one or two arguments (bsdi3 vs. bsdi4)
+
+2000-05-27 Ion Badulescu <ib42@chestnut.mcl.cs.columbia.edu>
+
+ * libamu/xutil.c (amu_release_controlling_tty): removed an unused
+ variable from the previous patch
+
+2000-05-26 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * aux/macros/check_autofs_style.m4: fixed substitution for default
+ case
+
+ * libamu/xutil.c (amu_release_controlling_tty): close standard
+ file descriptors, re-open them as /dev/null
+
+ * include/am_defs.h: don't try to include both <ndbm.h> and
+ <db1/ndbm.h>, it really doesn't work
+
+2000-05-16 Ion Badulescu <ib42@earth.cs.columbia.edu>
+
+ * hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
+ on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
+ getattr). This fixes the problem introduced by the Linux nfsv3
+ patches.
+
+2000-05-12 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
+
+2000-05-10 Ion Badulescu <ib42@earth.cs.columbia.edu>
+
+ * amd/ops_autofs.c (autofs_handle_fdset): call
+ autofs_lookup_failed instead of autofs_mount_failed, if the name
+ is not in the map
+ (autofs_umount_{succeeded,failed}): pass the actual mount point,
+ not its parent, as it's needed for clean-up;
+
+ * amd/autil.c (am_unmounted): notify autofs that the umount
+ succeeded
+
+ * amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
+ moved elsewhere
+
+2000-05-09 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
+ if necessary;
+ (amfs_auto_mounted): test if opt_mount_type is NULL first
+ (amfs_auto_mount): revert earlier change
+
+ * amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
+ if mount failed
+
+2000-05-09 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * amd/ops_autofs.c (autofs_link_mount): use am_link as target
+
+ * amd/map.c (unmount_mp): release file handle for autofs f/s about
+ to be unmounted; this leak was preventing the unmount altogether
+
+ * amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
+ code, was broken
+ (amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
+ handle it
+
+2000-05-07 Ion Badulescu <ib42@moisil.cs.columbia.edu>
+
+ * Merged changes from stable branch
+
+2000-04-30 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu>
+
+ * include/am_defs.h, aux/macros/mount_headers.m4,
+ aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
+ linux/list.h before including linux/fs.h, and define __KERNEL__
+ for those two headers. All of this to get a couple of definitions
+ that are needed in the new struct vfsmount.
+
+ * aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
+
+ * include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
+ between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
+ defining _LINUX_IN_H so it doesn't get included.
+
+2000-04-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor new ports: i686-pc-linux-gnu-rh6.2,
+ i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
+
+2000-04-03 Erez Zadok <ezk@vir.cs.columbia.edu>
+
+ * aux/acconfig.h: move all #undef macros above @TOP@, so they can
+ be recognized by pickier autoconf.
+
+2000-04-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
+ or \c.
+
+2000-03-25 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu>
+
+ * include/am_defs.h: ditto
+
+ * aux/macros/{mount_headers,try_compile_anyfs}.m4: force
+ non-inclusion of <linux/string.h>. Breaks build on newer 2.3
+ kernels.
+
+2000-02-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Amq -w option): document new amq -w option.
+
+ * amq/amq.8: document new amq -w option.
+
+ * amq/amq.c: disable last remains of insecure amq -M code.
+ (main): add amq -H option to show usage.
+ (main): new amq -w option, translates getpwd() into an amd path.
+
+2000-02-25 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * libamu/util.c (get_server_pid): new function
+
+ * hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
+
+ * conf/transp/transp_sockets.c: removed create_autofs_service
+
+ * conf/mount/mount_linux.c: added autofs mount options; split
+ mount_linux into two functions, itself and do_mount_linux
+
+ * aux/macros/check_hide_mount_type.m4: better failover
+
+ * aux/configure.in: changed version to 6.1a1; added
+ AC_CHECK_AUTOFS_STYLE
+
+ * aux/aux_conf.h.in: added @am_utils_autofs_style@
+
+ * amd/opts.c: added "mount_type" option
+
+ * amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
+ variables in here; split create_autofs_service into sun and linux
+ specific functions
+
+ * amd/nfs_start.c: removed autofs-specific variables
+
+ * amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
+ (get_root_ap): renamed root_ap to get_root_ap
+
+ * amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
+ amfs_toplvl_mounted with amfs_auto_mounted
+ (mount_amfs_toplvl): moved code around, added autofs handling
+ (amfs_toplvl_mounted): removed
+
+ * amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
+ replaced with amfs_nfsl_u?mount
+
+ * amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
+ replaced with amfs_link_umount
+
+ * amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
+ replaced with amfs_link_u?mount
+
+ * amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
+ from amfs_toplvl_mounted to amfs_auto_mounted
+
+ * all: added autofs hooks throughout the code
+
+ * amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
+
+ * README.autofs: linux status update
+
+2000-02-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor new port: alphaev6-dec-osf5.0
+
+ * doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
+ but only for UDP.
+
+ * released snapshot am-utils-6.0.4s3
+
+ * conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11. Note
+ that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
+ kernel! Must set nfs_proto=udp in amd.conf [global].
+
+ * aux/config.guess.long: set and export PATH separately. DU5
+ /bin/sh doesn't like setting it on the command line in a
+ back-tick'ed `script`.
+
+2000-02-24 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * Makefile.am: removed struct_nfs_mount_data.m4
+
+ * aux/macros/struct_nfs_mount_data.m4: deleted
+
+ * aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
+
+ * aux/configure.in: removed check for struct nfs_mount_data
+
+2000-02-24 Ion Badulescu <ib42@beetle.mcl.cs.columbia.edu>
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
+ avoid having 'failed' in a message not indicating a failure
+ (amfs_auto_lookuppn): ditto
+
+ * amd/ops_autofs.c (autofs_bgmount): ditto
+ (autofs_lookuppn): ditto
+
+2000-02-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * added .cvsignore files into the CVS repository.
+
+ * remove files which can be regenerated: .in, configure, some
+ files in aux/, and more.
+
+2000-02-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (nfs_vers/nfs_proto): description of two
+ parameters was reversed. Reported by Paul Jenner
+ <p.jenner@eim.surrey.ac.uk>.
+
+2000-02-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.4s2
+
+ * amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
+ as inherit, error, and toplvl (failover code).
+
+ * amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
+ global options in amd.conf: one to set the NFS version globally
+ (i.e., nfs_vers=2), and one to set the NFS protocol globally
+ (i.e., nfs_proto=udp).
+
+ * amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
+ so when a matching mount entry failed, try the next one.
+
+2000-02-15 Erez Zadok <ezk@moisil.cs.columbia.edu>
+
+ * amd/amfs_auto.c: a new debug option "readdir" to trace the
+ progress of the browsable_dirs code.
+
+ * conf/mount/mount_linux.c (mount_linux): ensure that the new
+ linux NFSv3 code works for v2-only machines.
+
+2000-02-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: cleanup unused dnl entries.
+
+ * conf/mount/mount_linux.c (parse_opts): typo: check for string
+ equality, not string inequality for pcfs and cdfs.
+
+ * aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
+
+ * libamu/mount_fs.c (compute_mount_flags): check for INTR and
+ NOINTR options as well (intr was never passed to linux mount
+ syscall).
+
+2000-02-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.4s1
+
+ * aux/GNUmakefile: buildall -k (for maintainers) temporarily now
+ ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
+ obsolete". It is harmless but annoying, and will be fixed when
+ autoconf and automake in their respective CVS trees are working
+ and in sync again.
+
+ * scripts/amd.conf.5: document -D hrtime,xdrtrace
+
+ * all man pages: update copyright to 2000.
+
+ * doc/am-utils.texi: update copyright to 2000.
+
+Wed Feb 9 14:22:31 2000 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * include/am_utils.h (D_XDRTRACE): Define.
+ (D_TEST): Disable here.
+
+ * libamu/xutil.c (dbg_opt): Handle it.
+
+ * doc/am-utils.texi (-D-Option): Document it.
+
+ * libamu/xdr_func.c: Use it instead of D_TRACE.
+
+ * include/am_utils.h (D_HRTIME): Define.
+
+ * doc/am-utils.texi (-D-Option): Document it.
+
+ * libamu/xutil.c (show_time_host_and_name): Print high-resolution
+ timestamp if available and activated.
+
+ * aux/configure.in (clock_gettime): Check for it in -lrt and
+ -lposix4.
+
+ * hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
+ if defined, even for some systems with in kernel mount tables.
+
+2000-02-08 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
+ allow compiles against libc5
+
+ * aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
+ linux when the kernel doesn't support it
+
+ * include/am_compat.h: add workaround for linux efs
+
+2000-02-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
+ Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
+
+2000-02-07 Ion Badulescu <ionut@moisil.cs.columbia.edu>
+
+ * libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
+ nfs (linux NFSv3).
+
+ * include/am_defs.h: avoid reinclusion of some header files under
+ linux.
+
+ * conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
+
+ * conf/mount/mount_linux.c (mount_linux): support nfs mount
+ (implementation) version 4 for NFSv3.
+
+ * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
+
+ * aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
+ need to fix the code on other linux machines).
+
+ * aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
+
+ * aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
+ under linux (depends on ac_cv variable, is that a good idea?)
+
+ * added NFSv3 support for linux
+
+ * aux/{configure.in,acconfig.h}: new option ver3
+
+ * aux/macros/mount_headers.m4: commented out inclusion of
+ linux/fs.h, it's not needed on rh61 (and actually generates
+ conflicts), we should see if it's still needed on libc5 systems
+
+ * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
+ try to have its own (out of date) list of headers and ifdef's and
+ ...
+
+2000-02-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0.3 ***
+ *******************************************************************
+
+2000-02-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mount/mount_default.c: dummy empty file to work around a
+ limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
+ processes them even if they are optional, enclosed in if/else).
+
+2000-01-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.3s5
+
+2000-01-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * update to use latest version of autoconf, automake, and libtool.
+
+ * aux/GNUmakefile (depcomp): "make update" should also update the
+ depcomp script.
+
+ * Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
+
+ * aux/configure.in: use renamed AC_CHECK_AMU_FS.
+
+ * aux/macros/check_amu_fs.m4: renamed macro name and file name to
+ say AMU_FS, not AM_FS.
+
+ * aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
+ latest version of autoconf doesn't handle it (bug in 2.14a)
+
+ * aux/configure.in: require version 2.14 of autoconf.
+
+ * amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
+
+ * doc/am-utils.texi (Automount Filesystem): document type:=auto
+ map browsability option.
+
+ * amd/mapc.c (make_entry_chain): patch from Steven Danz
+ <sdanz@awc.kc.noaa.gov> to allow browsable auto maps.
+
+2000-01-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.3s4
+
+ * amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
+ are set to mapcache:=sync. Fix from Nick Williams
+ <Nick.Williams@msdw.com>.
+
+2000-01-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.3s3
+
+ * minor port to i386-unknown-netbsd1.4.1
+
+ * amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
+ <Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale
+ file handles when doing rapid mounts and umounts in succession
+ such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
+
+2000-01-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor port to i386-pc-bsdi4.1.
+
+2000-01-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
+ argument to irs_gen_acc(), which was changed in bsdi 4.1.
+
+2000-01-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
+ systems with in-kernel mount tables unless this macro is defined
+ (Solaris 8).
+
+2000-01-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * ALL: bump copyright year to 2000.
+
+1999-12-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
+ solaris 7, but should not be used unless MAX_MNTOPT_STR also
+ exists (solaris 8).
+
+ * doc/am-utils.texi (opts Option): document new mount option:
+ optionstr.
+
+Fri Dec 10 01:31:53 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
+ mount_svr4().
+ (mount_svr4): Adapt prototype.
+ * conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
+ they are evaluated and show up in Solaris 8 in-kernel mnttab.
+
+ * aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
+ option.
+ * aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
+
+1999-12-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.3s2
+
+1999-12-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (opts Option): document noexec and nomnttab
+ (new to Solaris 8).
+
+ * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
+ distribution.
+
+ * applied fixes from Rainer Orth for Solaris 8.
+
+ * libamu/wire.c (getwire): increment the cp pointer in the loop
+ body, because the ioctl() inside the "for" loop will overwrite the
+ ifr structure, thus not detecting all of the interfaces. Bug
+ reported and fixed by Amitha Perera <perera@cs.rpi.edu>.
+
+Thu Dec 9 19:09:38 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
+ MOUNT_TABLE_ON_FILE.
+
+ * amd/get_args.c (get_args): Initialize mnttab_file_name even for
+ in-kernel mount table. conf/mtab/mtab_svr4.c (read_mtab) depends
+ on a non-NULL value.
+
+ * amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
+ LDAP structure to get error code, but use it directly.
+ (amu_ldap_search): Likewise.
+
+ * conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
+ ldap support.
+ * conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
+
+ * conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
+ nfsstat, already in <nfs/nfs.h>.
+ * aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
+ versions beyond 7.
+ Allow for micro versions of SunOS 5.[67].
+
+ * aux/configure.in: Check for new Solaris 8 Beta Refresh
+ MS_NOMNTTAB mount(2) option.
+ * aux/macros/check_mnttab_location.m4: Use it to test for
+ mntfs-based in-kernel mnttab.
+
+ * aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
+
+ * aux/macros/check_fs_headers.m4: Revert test for duplicate
+ objects.
+ * aux/macros/check_fs_mntent.m4: Likewise
+
+ * aux/macros/HEADER: Fixed typo.
+
+ * include/am_defs.h: Likewise.
+
+1999-12-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
+
+1999-11-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
+
+ * amd/info_ldap.c (string2he): updated function which does not
+ corrupt strings when called more than once. Patch from
+ JOHANN.PFEFFERL.JP@germany.agfa.com.
+
+1999-11-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * MIRRORS (Asia): two new mirrors in Japan.
+
+1999-11-10 Erez Zadok <ezk@kosh.cs.columbia.edu>
+
+ * doc/am-utils.texi: document new variables for ${uid} and ${gid}.
+
+ * amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
+ last lookup from the RPC credentials.
+
+ * aux/configure.in: upped version-info to 4:0:2 because I've added
+ a new interface to libamu.
+
+ * libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
+ so it can be used by amd.
+
+ * amd/opts.c: new variables ${uid} and ${gid}.
+
+1999-10-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/ctl-amd.in: add "status" command that tells you if amd
+ is running on not (same output as RedHat scripts).
+ Added start_msg and stop_msg targets as they are used on HPUX.
+ reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
+
+1999-10-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.3s1
+
+1999-10-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/amd.c (main): On AIX you must lower the stack size using
+ ulimit() before calling plock. Otherwise plock will reserve a lot
+ of memory space based on your maximum stack size limit. Since it
+ is not easily possible to tell what should the limit be, I print a
+ warning before calling plock(). See the manual pages for
+ ulimit(1,3,4) on your AIX system.
+
+ * include/am_defs.h: define default extern for vsnprintf()
+
+ * aux/configure.in: check for extern definition for vsnprintf()
+
+1999-10-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
+ <njw@ms.com>. SYMPTOMS: 'occasionally' sublinks do not point to
+ the correct location, but to the top level of the mountpoint and
+ an (error-hook) is seen being mounted in the log file. This causes
+ things to Go Wrong(TM).
+ CAUSE: When evaluating two locations which are requested
+ 'practically simultaneously', and the two locations resolve to the
+ same NFS mountpoint (but different sublinks), the later request
+ will be "deferred" and retried after wakeup when the first mount
+ succeeds. To do this, it rewinds the options location string to
+ re-evaluate the location when the mount is retried. However, it
+ shouldn't rewind the options for two reasons: (a) the semantics of
+ the map language say you shouldn't and (b) the NFS mount reference
+ is not reset at the same time, meaning that on the retry it will
+ have an options structure out-of-sync with the mount
+ structure. The "shortcut" code when retrying the mount sees the
+ mount structure is already filled in and does not fully evaluate
+ the options structure.... so if the first location is not the one
+ which ties in with the mountpoint (see ordering in the
+ recreate-by), you're now well messed up.
+
+ * BUGS: mention aix4.3 plock() bug (memory usage blows up and
+ plock fails)
+
+1999-10-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/GNUmakefile: certain files should be copied if they are
+ newer, not also if they are bigger: install-sh, ltconfig,
+ ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
+
+ * minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
+
+1999-10-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
+
+ * aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
+
+1999-09-30 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0.2 ***
+ *******************************************************************
+
+1999-09-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mount/mount_linux.c (mount_linux): print the updated mount
+ flags.
+
+ * doc/am-utils.texi: document $full_os and $vendor.
+
+ * scripts/amd.conf-sample: examples of $full_os and $vendor.
+
+ * scripts/amd.conf.5: document $full_os and $vendor.
+
+ * amd/conf.c: add support for $full_os and $vendor.
+
+1999-09-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (netgrp Selector Function): don't give
+ examples with old single '=' assignment variable. Use foo:=bar.
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
+ comment describing this complex function.
+
+ * doc/Makefile.am (alldocs): do install-ps last (because distiller
+ is slow) and install-html next to last (because texi2html is also
+ slow).
+
+ * amd/amd.8: Major fixes to the description of the option -t
+ timeout.retransmit.
+
+ * doc/am-utils.texi: better description of "trace" debug option.
+ amd -H (not -v) shows log_options and debug_options. Major fixes
+ to the description of amd -t timeout.retransmit, and the amd.conf
+ parameters nfs_retransmit_counter and nfs_retry_interval.
+
+ * scripts/amd.conf.5: better description of "trace" debug option.
+ amd -H (not -v) shows log_options and debug_options. Major fixes
+ to the description of the parameters nfs_retransmit_counter and
+ nfs_retry_interval.
+
+1999-09-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
+ option, but a mount map option.
+
+ * libamu/xutil.c (switch_to_logfile): log the name of the log file
+ we switched into, after the log file had been [re]opened.
+
+1999-09-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/mapc.c (mapc_reload_map): count and show the number of times
+ a map was reloaded. Only reload a map if its modify-time was
+ updated. But amq -f forced a reload no matter what.
+
+ * amd/amd.h: new flag to struct mnt_map to count number of times a
+ map was reloaded.
+
+ * amd/mapc.c (mapc_reload_map): attempt to reload the map without
+ losing current data by reloading into a temp copy, and switching
+ the hashes round only if the reload was successful. Patch from Jon
+ Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
+ (mapc_sync): mapc_reload_map() always succeeds.
+
+1999-09-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
+ rebind to an LDAP server forever. Try up to 10 times.
+
+ * fsinfo/fsi_lex.l (yyerror): rework code that will never happen
+
+ * released snapshot am-utils-6.0.2s2
+
+ * aux/configure.in: bumped library version-info to 3:2:1, since
+ some libamu code got changed.
+
+ * libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
+ is better and more secure. Fix from "David O'Brien"
+ <obrien@NUXI.com>.
+
+ * aux/configure.in: check for vsnprintf.
+
+1999-09-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/linux_headers.m4: use AC_MSG_ERROR.
+
+ * aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
+ not optional. Make sure ARG is supplied else flag an error.
+
+1999-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor port i386-unknown-freebsdelf3.3
+
+ * released snapshot am-utils-6.0.2s1
+
+1999-09-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
+
+ * include/am_defs.h: extern definition for getitimer().
+
+ * aux/configure.in: use AC_CHECK_EXTERNS. Look for getitimer()
+ extern.
+
+ * aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
+ that calls AC_CHECK_EXTERN in a loop. This saves repeated code in
+ configure.
+
+ * aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
+ 'int' as the 5th arg to authunix_create().
+
+ * aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
+ size_t for the 6th arg of recvfrom().
+
+ * aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
+ aix4.x systems.
+
+ * libamu/mount_fs.c (print_nfs_args): cast some values to int, to
+ avoid gcc -Wall errors.
+
+ * scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
+ in a struct sockaddr_in. On Solaris x86 hosts, using pack()
+ results in byte-misaligned values. Bug fix from Jeffrey C Honig
+ <jch@BSDI.COM>.
+
+ * libamu/mount_fs.c (compute_automounter_mount_flags): turn on
+ automntfs (ignore on bsdi-4.1) flag.
+ (compute_automounter_nfs_args): ditto.
+
+ * aux/acconfig.h: add new flag for automntfs (ignore)
+
+ * aux/configure.in: check for new automntfs flag (bsdi-4.1).
+
+1999-09-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * MIRRORS: added new site in Germany. Updated status of umn.edu
+ and ferginc.com, who may no longer be mirroring am-utils.
+
+1999-09-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0.1 ***
+ *******************************************************************
+
+1999-09-08 Erez Zadok <ezk@cs.columbia.edu>
+
+ * aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
+ netexport defined.
+
+ * aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
+ struct netexport defined.
+
+1999-09-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_field.m4 (ac_upcase_var_name): include
+ <ifaddrs.h> so we can detect fields within struct ifaddrs.
+
+ * libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
+ getifaddrs() and struct ifaddrs has no ifa_next field.
+
+ * aux/configure.in: check if 'struct ifaddrs' has a field
+ ifa_next.
+
+ * include/amq_defs.h (AMQ_STRLEN): double size of amq string
+ length to 2048 bytes.
+
+ * conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
+ header files and ufs/ufs/ufsmount.h. Bug reported by <Christos
+ Zoulas> christos@zoulas.com.
+
+ * aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
+ Bug reported by <Christos Zoulas> christos@zoulas.com.
+
+ * aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
+
+1999-09-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/xutil.c (expand_error): use strerror if available instead
+ of sys_errlist. Bug reported by <Christos Zoulas>
+ christos@zoulas.com.
+
+ * hlfsd/hlfsd.c (fatal): use strerror if available instead of
+ sys_errlist.
+
+ * amq/amq.c (show_mi): use strerror if available instead of
+ sys_errlist.
+
+ * aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
+ nfs_prot header is used for any future (1.5 etc.) netbsd systems.
+
+ * amq/pawd.c (find_mt): check for type nfsl as well. Fix from
+ "Andrew J. Korty" <ajk@purdue.edu>
+
+1999-08-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Supported Platforms): updates for redhat
+ systems.
+
+ * INSTALL: updates for redhat systems.
+
+ * libamu/wire.c (getwire_lookup): spell "succeeded" correctly
+
+1999-08-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/ctl-amd.in: sleep 1 second between killing amd and
+ restarting it, because amq may respond that amd is down, where in
+ fact it is still trying to unmount itself after unmapping itself
+ from the portmapper.
+
+ * aux/config.guess.long: new script to print long version of
+ config.guess output.
+
+ * buildall (host_alias): use long version of config.guess.
+
+1999-08-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
+ scripts.
+
+1999-08-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.1s11
+
+ * libamu/xutil.c (expand_error): make sure expanding the string
+ with textual version of errno doesn't overrun the 1024 bytes
+ buffer.
+ (real_plog): null terminate msg, just in case.
+
+ * amq/amq.c (main): don't getopt -M option and don't process it
+ unless ENABLE_AMQ_MOUNT is on.
+
+ * amd/amq_svc.c (amq_program_1): all code that relates to amq -M
+ is conditional on #ifdef ENABLE_AMQ_MOUNT.
+
+ * amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
+ when amq -M code is disabled. Not taking any chances.
+
+1999-08-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.1s10
+
+Sun Aug 22 16:18:59 1999 Erez Zadok <ezk@subzero.cs.columbia.edu>
+
+ * libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
+ 128.59.16.0), try to shift the network out of zeros (e.g.,
+ 128.59.16) and try again. Irix 6.4 requires short network
+ numbers.
+
+1999-08-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/wire.c (getwire_lookup): correctly compute subnet using
+ netmask.
+
+ * libamu/mount_fs.c (compute_automounter_nfs_args): require that
+ Amd's own NFS mounts use reserved ports (if possible). IP packet
+ security fix from Jeffrey C Honig <jch@BSDI.COM>.
+
+ * conf/transp/transp_tli.c (create_autofs_service): use correct
+ autofs_port. IP packet security fix from Jeffrey C Honig
+ <jch@BSDI.COM>.
+
+ * conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
+ function. IP packet security fix from Jeffrey C Honig
+ <jch@BSDI.COM>.
+ (create_nfs_service): use bind_resv_port() directly. ensure that
+ privileged ports are used. IP packet security fix from Jeffrey C
+ Honig <jch@BSDI.COM>.
+
+ * amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
+ from reserved ports and from a local IP address. IP packet
+ security fix from Jeffrey C Honig <jch@BSDI.COM>.
+
+ * amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
+ hard-coded 1024. IP packet security fix from Jeffrey C Honig
+ <jch@BSDI.COM>.
+ (amqproc_mount_1_svc): provide information on the caller making an
+ amq -M request. IP packet security fix from Jeffrey C Honig
+ <jch@BSDI.COM>.
+
+ * amd/map.c (free_map_if_success): If the program doing an unmount
+ of a program filesystem fails, amd tries to interpret the return
+ code as an errno. Fix from Jeffrey C Honig <jch@BSDI.COM>.
+
+ * amd/info_nis.c (determine_nis_domain): don't always print
+ warning about NIS domain name not being set, even if NIS is not in
+ use.
+
+1999-08-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
+ (amu_ldap_search): initialize variable err.
+
+1999-08-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/wire.c: written using getifaddrs() for BSD systems,
+ contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
+
+1999-08-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
+
+ * aux/configure.in: check for irs.h and ifaddrs.h.
+ Increase libamu.so --version-info to 3:1:1 since we've changed the
+ source code for the library.
+ Check for getifaddrs() function.
+
+1999-08-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/mount_fs.c (print_nfs_args): print fields namlen and
+ bsize if they exist.
+
+ * conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
+ and ->bsize fields correctly, if those fields exist. This is a
+ bug in that amd neglected to set these fields, but told the
+ kernel it is mounting the nfs_args_t structure using mount version
+ 3 (which requires both bsize and namlen fields).
+
+ * aux/configure.in: test for two new nfs_args_t fields (used on
+ newer linux with mount versions 2 and 3): bsize and namlen.
+
+ * doc/am-utils.texi (netgrpd Selector Function): document new
+ selector function.
+
+ * amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
+ test if the current host (fully-qualified name) is in the ARG host
+ netgroup. The netgrp() function uses the short form of a host
+ name. Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
+
+ * doc/am-utils.texi (automount2amd): document new script.
+
+ * scripts/Makefile.am: create, install, and distribute
+ automount2amd perl script and its man page.
+
+ * scripts/automount2amd.8: new man page for automount2amd.
+
+ * scripts/automount2amd.in: new file, contributed a in 1993 by
+ Mike Walker <mike@tab00.larc.nasa.gov>. Fixed to use addopts for
+ any automount map options specified.
+
+1999-08-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.1s9
+
+1999-08-09 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu>
+
+ * amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
+ 1.
+ (amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
+ (amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
+ (u_int)~0.
+
+ * amd/mapc.c (make_entry_chain): NFS cookies should be
+ monotonically increasing, because Linux 2.3 expects that, even
+ though it is not in the spec (RFC-1094) for NFS V2.
+
+1999-08-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_lib_funcs.m4: removed unused macro.
+
+ * aux/macros/linux_headers.m4: new macro to ensure that linux
+ kernel headers match running kernel version.
+
+ * aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
+ amd is configured on linux hosts that run one kernel but have
+ headers for a different version.
+
+ * amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
+ logic which uses nis_isup and has_yp_order. Make sure it is used
+ correctly , esp. for NIS+ in NIS-compatibility mode. Bug fix from
+ Peter Breitenlohner <peb@mppmu.mpg.de>.
+
+ * include/am_defs.h: fix conflicts on linux 2.2 systems with older
+ libc5. Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
+
+ * scripts/lostaltmail.in: use sockaddr_in(), not pack() to
+ correctly fill in a struct sockaddr_in. On Solaris x86 hosts,
+ using pack() results in byte-misaligned values.
+
+1999-08-02 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
+ mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>. Also use
+ better macros for case statement.
+
+ * conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
+ unless ldap is actually available.
+
+ * use updated config.guess and config.sub. Use newer automake
+ that fixes problems with distributing optional libamu files
+ (clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
+ and ualarm.c)
+
+1999-07-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor port i386-unknown-openbsd2.5
+
+1999-07-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor ports to freebsdelf 3.[0-2] and 4.0 completed
+
+ * aux/macros/check_nfs_prot_headers.m4: support freebsdelf
+
+ * aux/macros/check_nfs_socket_connection.m4: support freebsdelf
+
+1999-06-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.1s8
+
+1999-06-23 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu>
+
+ * include/am_defs.h: avoid various header conflicts on
+ RedHat/Linux 6.0 and kernels 2.2.10 or newer.
+
+ * aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
+ kernel 2.2.10)
+
+ * amd/amfs_program.c (amfs_program_exec): make sure logfp is
+ initialized dynamically to stderr if needed.
+
+ * libamu/xutil.c (dplog): make sure logfp is initialized
+ dynamically to stderr if needed.
+ (plog): ditto.
+
+ * amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
+ not initialized.
+
+ * libamu/xutil.c: don't initialize logfp statically to stderr,
+ because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
+ be manipulated like a variable.
+
+ * include/am_defs.h: avoid more conflicts between <linux/fs.h> and
+ <sys/mount.h> on 2.2 linux kernels.
+ include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
+
+1999-04-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
+
+ * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
+ renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
+ won't attempt to add it to the header files to distribute.
+
+1999-04-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/GNUmakefile: invoke aclocal with new --altdir flag.
+
+1999-04-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor new port: i386-unknown-netbsd1.4 (ALPHA)
+
+ * aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
+ and <isofs/cd9660/cd9660_mount.h> because they are also included
+ from MOUNT_HEADERS. Causes multiple inclusion of unprotected
+ headers on netbsd-1.4_ALPHA.
+
+1999-04-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
+ sys_errlist extern doesn't end with [].
+
+ * aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
+
+1999-04-11 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * newer automake wants texinfo.tex to be in aux/ not doc/
+
+1999-03-30 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/conf_parse.y: alloca support.
+
+ * fsinfo/fsi_gram.y: alloca support.
+
+ * libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
+ needed.
+
+ * aux/configure.in: test for alloca support. Needed because bison
+ generates parsers that use alloca, and hpux9 does have alloca and
+ its /bin/cc doesn't support it builtin (the way gcc does).
+
+ * libamu/alloca.c: new file, needed on hpux9 with /bin/cc. Taken
+ verbatim from bison-1.25.
+
+ * include/am_defs.h: fixed typo #errir -> #error
+
+ * released snapshot am-utils-6.0.1s7
+
+ * README.y2k: more information about am-utils' compatibility, from
+ Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
+
+ * scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
+ compliant format. Patch from Paul Balyoz
+ <pbalyoz@sedona.ch.intel.com>
+
+ * doc/am-utils.texi (Supported Platforms): hpux10.20 could have
+ nfs v.3 support (with some vendor patches), but it is turned off.
+
+ * aux/macros/os_cflags.m4: use ansi compiler options on hpux.
+
+ * conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
+ confusing am-utils. 10.20 with some patches has incomplete
+ support. Patch from Jon Peatfield
+ <J.S.Peatfield@damtp.cam.ac.uk>.
+
+1999-03-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor port i386-pc-bsdi4.0.1
+
+1999-03-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Supported Platforms): add forgotten listing
+ for powerpc-linux.
+
+1999-03-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/amd.conf.5: fix typo. From Jeffrey C Honig
+ <jch@BSDI.COM>.
+
+ * doc/am-utils.texi: document iso9660 options norrip, gens, and
+ extatt.
+ (opts Option): documented dumbtimr and noauto options. From
+ Jeffrey C Honig <jch@BSDI.COM>.
+
+ * include/am_compat.h: define default strings for options norrip,
+ gens, and extatt.
+
+ * amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
+ extatt.
+
+ * aux/macros/mount_headers.m4: also include
+ <isofs/cd9660/cd9660_mount.h> as needed.
+
+ * aux/configure.in: check for isofs mount options for bsdi4:
+ norrip, gens, and extatt. Reported by Jeffrey C Honig
+ <jch@BSDI.COM>.
+
+ * aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
+ (bsdi4).
+
+1999-03-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
+
+ * conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
+ for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
+
+1999-03-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * get latest copies of config.guess, config.sub, ltconfig, and
+ ltmain.sh from libtool-1.2f.
+
+ * all Makefile.am: don't use continuation lines (using \) for
+ short lists of files.
+
+ * libamu/Makefile.am (DISTCLEANFILES): make distclean should
+ remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
+ Reported by Jeffrey C Honig <jch@BSDI.COM>.
+
+ * fixmount/Makefile.am (DISTCLEANFILES): make distclean should
+ remove checkmount.c. Reported by Jeffrey C Honig <jch@BSDI.COM>.
+
+ * Makefile.am (DISTCLEANFILES): make distclean should remove
+ amu_nfs_prot.h, config.cache.old, and dbgcf.h. Reported by
+ Jeffrey C Honig <jch@BSDI.COM>.
+
+1999-03-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.1s6
+
+1999-03-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * INSTALL: document freebsdelf.
+
+ * doc/am-utils.texi (Supported Platforms): document freebsdelf.
+
+1999-03-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor new ports: i386-unknown-freebsdelf3.1 and
+ i386-unknown-freebsdelf4.0
+
+ * aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
+
+ * aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
+
+ * aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
+
+ * amd/opts.c (eval_opts): changed log level of "executing
+ negated..." message from USER to INFO, as per Guntram Wolski
+ <gwolsk@sei.com>.
+
+1999-02-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * */Makefile.am (LDADD): force linking against an installed
+ libamu.{a,so}.
+
+ * doc/am-utils.texi (addopts Option): document remopts interaction
+ with addopts.
+
+ * amd/am_ops.c (ops_match): if addopts are specified, apply them
+ to the value of remopts as well as opts.
+
+ * amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
+
+1999-02-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.1s5
+
+ * conf/mount/mount_linux.c (mount_linux): set default nfs_args
+ options for ac{reg,dir}{min,man} as per the mount-2.8a package,
+ but only if noac option was not used.
+
+1999-02-05 Erez Zadok <ezk@retro.cs.columbia.edu>
+
+ * conf/mount/mount_linux.c (mount_linux): print nfs_args again
+ since it was updated.
+ (mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
+ and newer. Bug was found by Neil Conway
+ <nconway.list@ukaea.org.uk>
+
+1999-02-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.1s4
+
+1999-02-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amq/amq.c (main): don't list -M as a valid amq option unless
+ configure'd with --enable-amq-mount.
+
+Wed Feb 3 18:11:18 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * amd/nfs_start.c (amd_use_autofs): Define.
+ (mount_automounter): Create autofs service listener only if
+ necessary to avoid unnecessary clashes with e.g. automountd.
+
+ * amd/amd.h (amd_use_autofs): Declare.
+
+ * amd/conf.c (gopt_mount_type): Set amd_use_autofs.
+ (ropt_mount_type): Likewise.
+
+1999-02-02 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_mnt2_nfs_opt.m4:: ditto
+
+ * aux/macros/check_mnt2_cdfs_opt.m4: ditto
+
+ * aux/macros/check_mnt2_gen_opt.m4: ditto
+
+ * aux/macros/check_mnttab_opt.m4: new macro in this file to loop
+ over AC_CHECK_MNTTAB_OPT. Reduces size of configure script a lot.
+
+ * conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
+ nfs/nfs.h and nfs/nfsmount.h if they exist. Patch from
+ christos@zoulas.com (Christos Zoulas).
+
+ * amd/info_hesiod.c: some forward declarations. Patch from
+ christos@zoulas.com (Christos Zoulas).
+
+1999-01-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
+ option if it was already in that state. Patch from David
+ Wolfskill <dhw@whistle.com>.
+
+1999-01-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: automake nowadays supports LTLIBOBJS (but not
+ LTALLOCA yet). Substitute value of LIBTOOL_DEPS for libtool
+ rebuild make rules.
+
+ * Makefile.am: new rules to remake libtool (maintainers only)
+
+ * amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
+ if -D trace was used.
+
+1999-01-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * buildall: all if statements should have an else clause because
+ of Ultrix's /bin/sh.
+
+1999-01-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amq/amq.c: removed dummy variables.
+
+ * amq/pawd.c: removed dummy variable.s
+
+ * fixmount/fixmount.c (usage): removed dummy variables.
+
+ * fsinfo/fsinfo.c: removed dummy variables.
+
+ * hlfsd/hlfsd.c: removed dummy variables.
+
+ * wire-test/wire-test.c: removed dummy variables.
+
+ * mk-amd-map/mk-amd-map.c: removed dummy variables.
+
+ * doc/texinfo.tex: updates from GNU mirror.
+
+ * aux/GNUmakefile (../doc/texinfo.tex): new rule to update
+ doc/texinfo.tex from GNU mirror.
+
+ * released snapshot am-utils-6.0.1s3
+
+ * Makefile.am (install-snapshot): better snapshot and new
+ install-snapshot and test-snapshot rules (maintainer).
+
+ * amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
+ args may be NULL.
+ Some dlog() entries were not enclosed in #ifdef DEBUG. Fix from
+ Bill Paul <wpaul@ctr.columbia.edu>
+
+1999-01-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * check for experimental generic 'ignore' mount flag on freebsd3.
+
+ * Update library -version-info to 3:0:1 (will result in 2.1.0 .so
+ version, which is backwards compatible with older versions.) Only
+ one new interface was added to libamu.
+
+ * amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
+ that are specific to automounter mounts.
+
+ * aux/configure.in: update libamu.so age and revision since a new
+ interface was added to libamu/mount_fs.c
+ (compute_automounter_mount_flags).
+
+ * libamu/mount_fs.c (compute_automounter_mount_flags): new
+ function to compute generic mount flags that are specific to mount
+ points only.
+
+ * aux/{configure.in,acconfig.h}: add support for generic mount
+ entry ignore option.
+
+ * released snapshot am-utils-6.0.1s2
+
+ * amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
+
+ * libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
+ of knc_semantics from u_long to u_int.
+
+ * aux/macros/check_mount_style.m4: freebsd3 no longer needs a
+ special mount helper.
+
+1999-01-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
+ amu_nfs_conf.h should always be found in $top_builddir.
+
+Tue Jan 12 00:05:42 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
+ to avoid wrong reports from show_fstypes.
+
+ * conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
+
+ * conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
+
+Tue Jan 12 00:05:42 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
+
+Tue Jan 12 00:05:42 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * hlfsd/homedir.c (delay): Cast child to long, adapt format.
+ (hlfsd_getpwent): Likewise for pw_uid.
+
+ * amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
+ format.
+
+ * conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
+ tv_sec to int to match format.
+ (get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
+ formats.
+
+ * amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
+ long, adapt format.
+
+ * include/am_defs.h: Handle __attribute__ if available. From
+ GNU fileutils 4.0 lib/errors.h.
+
+Mon Jan 11 13:46:44 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
+ match format.
+
+ * hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
+ adapt format.
+ (nfsproc_lookup_2_svc): Likewise.
+ (nfsproc_readlink_2_svc): Likewise for userid, groupid.
+
+ * hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
+ format.
+
+ * hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
+ format.
+
+ * amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
+ long, adapt format.
+
+ * amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
+ unsigned long, adapt format.
+ (got_nfs_fh): Likewise.
+ (prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
+ format.
+ (call_mountd): Likewise, mnt_version also.
+ (mount_nfs_fh): Likewise.
+
+ * amd/ops_autofs.c (autofs_program_1): Cast args to int to match
+ format.
+ (autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
+ unsigned long, adapt formats.
+ (autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
+ (autofs_bgmount): Use long format to match arg.
+ (autofs_lookuppn): Removed superfluous arg.
+
+ * amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
+ format.
+ (got_portmap): Likewise for port.
+ (recompute_portmap): Likewise for fs->fs_version, mnt_version.
+ (find_nfs_srvr): Likewise for nfs_version.
+
+ * amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
+ format.
+
+ * amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
+ to unsigned long, adapt format.
+ Cast tvv.tv_sec to int to match format.
+
+ * amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
+ format.
+
+ * amd/map.c (root_fh): Cast pid to long, adapt format.
+ (timeout_mp): Cast time_t to long, adapt format.
+
+ * amd/clock.c (reschedule_timeouts): Use long format, cast time_t
+ arg.
+
+ * amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
+ match format.
+ (amfs_host_fmount): Likewise.
+ (amfs_host_umounted): Likewise. Removed superfluous arg.
+
+ * amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
+ long, adapt format.
+ (amfs_auto_bgmount): Use long format, cast time_t arg.
+ (amfs_auto_lookuppn): Removed superfluous arg.
+
+ * amd/amd.c (main): Cast geteuid() result to long, adapt format.
+
+ * conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
+ to int to match format.
+
+ * include/am_utils.h: Declare plog, dplog as printf-like.
+
+ * conf/mount/mount_irix6.c (mount_irix): Print type as char *.
+
+Mon Jan 11 13:46:44 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * amd/info_hesiod.c (hesiod_isup): New function.
+ * amd/mapc.c (maptypes): Add it.
+
+1999-01-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0.1s1
+
+1999-01-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * ALL: bump copyright year to 1999.
+
+Fri Jan 8 15:24:15 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
+ too.
+
+ * aux/macros/check_mtype_printf_type.m4: Adapt corresponding
+ printf type.
+
+Fri Jan 8 15:24:15 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
+
+ * conf/nfs_prot/nfs_prot_irix6.h: Likewise.
+
+ * conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
+
+ * conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
+
+ * Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
+ automake.
+
+Thu Jan 7 02:55:18 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
+ in current automake.
+
+Thu Jan 7 02:55:18 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/am-utils.texi: Added some missing inter-punctation after
+ @xref, or use @pxref/@ref as appropriate. Spotted by makeinfo
+ from texinfo 3.12b.
+
+1999-01-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/texinfo.tex: updated off of latest GNU mirror.
+
+1999-01-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Supported Platforms): update platforms that
+ support NFS v.3. Nicer postscript printing on double-sided pages.
+
+ * amd/info_hesiod.c: add extern definition for hesiod_init()
+
+1999-01-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0 ***
+ *******************************************************************
+
+1998-12-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
+
+1998-12-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
+ bsdi4 for NFS V3/nfs mounts.
+
+1998-12-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * using latest libtool (1.2e + patches), now supporting shared
+ libraries on many more systems. Also using latest autoconf and
+ automake (unreleased GNU CVS'd versions.)
+
+ * minor new ports: hppa2.0w-hp-hpux11.00,
+ i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
+
+ * fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
+ have /usr/bin/flex but not libfl.
+
+1998-12-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * lots of code cleanup, to make sure libamu.so does not use
+ undefined symbols. Some system's shared libraries cannot handle
+ that.
+
+1998-12-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * include/am_defs.h: only defined seteuid extern if function also
+ exists and is not superceded by setresuid (hpux).
+
+ * amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
+ braces to avoid confusion with nested if-then-else clauses.
+
+ * aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
+ updated from latest versions.
+
+1998-12-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor new port: i386-pc-bsdi4.0
+
+ * conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
+ definitions for bsdi4.
+
+ * {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
+ some make programs (bsdi4) do not support VPATH correctly.
+
+1998-12-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mount/mount_aix.c: minor code cleanup
+
+ * aux/configure.in: check for extern definition to xdr_groups.
+
+1998-12-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor new port: powerpc-ibm-aix4.3.1.0
+
+ * aux/macros/*.m4: updates for aix 4.3
+
+1998-12-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * minor new port: i386-unknown-openbsd2.4
+
+ * aux/configure.in: don't check for xfs on openbsd because
+ openbsd-2.4 introduces a new file system named xfs, but different
+ than Irix's XFS. Sigh.
+
+ * minor new port: i386-unknown-freebsd2.2.8
+
+1998-12-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
+ name match. Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
+
+1998-11-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
+ avoid race conditions when shutting down systems running amd.
+
+ * Makefile.am: add a dist-hook to change modes of the directories
+ in the tar file so they are not world writable.
+
+ * conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
+ since it is now finally defined in the header files and
+ (hopefully) stable.
+
+ * amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
+ is specified in mount options. freebsd patches from David
+ O'Brien.
+
+ * amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
+ (main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
+ amd/get_args.c (get_args): posix: use -1 to check for return from
+ getopt() (not EOF), as per posix.
+
+ * amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
+ O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree. Use
+ real variable whose pointer is on the stack for decoding a long
+ int.
+
+1998-11-11 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
+ chkconfig utility.
+
+1998-11-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0b2s3
+
+ * conf/transp/transp_sockets.c (create_nfs_service): remove C++
+ style comments.
+
+1998-11-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0b2s2
+
+ * created CVS package
+
+ * amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
+ condition between unmounting and re-mounting an entry, by
+ increasing the ttl of a looked up entry before unmounting it.
+ Patch from Mike Mitchell <mcm@unx.sas.com>.
+
+ * All files: spell comments and strings.
+
+1998-11-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: look for yp_all in libnsl only if yp_all not
+ already found elsewhere (in libc or other default libraries).
+ This is so RedHat 5.1 systems could find yp functions in libnsl,
+ but also so AIX 4.2.1 will NOT include libnsl, because the latter
+ has broken nis functionality that also exists and works ok in libc.
+
+1998-10-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/amd.c (main): bug fix: swapped arguments to kill(2). Fix
+ from Danny Rathjens <dkr@cs.fiu.edu>.
+
+1998-10-28 Erez Zadok <ezk@spruce.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0b2s1
+
+1998-10-27 Erez Zadok <ezk@spruce.mcl.cs.columbia.edu>
+
+ * aux/macros/*.m4: support bsdi4 as bsdi3.
+
+ * aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
+ 2.7 (libraries located in /usr/lib/fn). This is off until Sun
+ includes LDAP header information.
+
+1998-10-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0b1 ***
+ *******************************************************************
+
+1998-10-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * mk-amd-map/mk-amd-map.c (main): use perror not strerror.
+ (main): set return type to int if no ndbm maps.
+
+ * include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
+ kernels.
+
+1998-10-18 Erez Zadok <ezk@london.mcl.cs.columbia.edu>
+
+ * A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
+ for netbsd 1.3.2.
+
+1998-10-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
+ systems put NIS functions there.
+
+ * mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
+ <obrien@NUXI.com> merged in. Use POSIX -1 return code from
+ getopt(), not EOF. Use .db extentions for systems that use it,
+ instead of .{pag,dir}.
+
+1998-10-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
+ amd/amd.c (main): avoid overrunning hostname buffer. Bug fix from
+ "David O'Brien" <obrien@NUXI.com>.
+
+ * scripts/amd.conf.5: minor typo reported by "David O'Brien"
+ <obrien@NUXI.com> in .TH section of man page.
+
+ * amd/info_nis.c (am_yp_all): don't leak key-val entries. Patch
+ from Thomas Richter <richter@chemie.fu-berlin.de>.
+
+1998-10-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Program Filesystem): minor typo fixed as per
+ Andreas Stolcke <stolcke@speech.sri.com>.
+
+ * minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
+ and sparc-sun-solaris2.7.
+
+ * conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
+ a 4.4lite kernel, and somethings were removed, such as
+ INITMOUNTNAMES.
+
+ * amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
+ processing /defaults. Free temporary opts. Patch from
+ dsr@mail.lns.cornell.edu (Daniel S. Riley)
+
+ * amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
+ processing /defaults. Free temporary opts. Patch from
+ dsr@mail.lns.cornell.edu (Daniel S. Riley)
+
+ * conf/mtab/mtab_osf.c (read_mtab): patch from
+ dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
+ uninitialized memory on Digital Unix.
+
+1998-10-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
+ systems now use "char *" as their mount type.
+
+1998-10-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/conf.c (gopt_map_type, ropt_map_type): check if map type
+ exists.
+
+ * amd/mapc.c (mapc_type_exists): function to test if a map of
+ certain type exists.
+
+1998-10-08 Erez Zadok <ezk@horatio.mcl.cs.columbia.edu>
+
+ * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
+ include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
+ in RH-5.1 sparc64 between <netinet/in.h> and
+ <linux/byteorder/generic.h> (2.1 kernels).
+
+1998-09-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
+ 5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
+ from yp_all().
+
+1998-09-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mount/mount_linux.c (parse_opts): check for pcfs support
+ only if autoconfigured.
+
+1998-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * Makefile.am (EXTRA_DIST): distribute README.yk2 file.
+
+ * README.y2k: explain y2k compliance status of am-utils.
+
+1998-09-16 Erez Zadok <ezk@iguana.mcl.cs.columbia.edu>
+
+ * amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
+ amfs_host_umounted): clnt_sperrno() may return a const.
+
+Sat Aug 8 23:28:32 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
+ Zoulas. Turned on checking for mount options: async, synchronous,
+ deadthresh, leasterm, nqnfs, and readahead.
+
+ * amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
+ to include prototype definition for nis_isup().
+
+Sun Jul 19 18:50:10 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
+
+Tue Jul 14 20:34:25 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0a17s1
+
+Wed Jul 8 21:49:15 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/host_macros.m4: all x86 hosts should have $arch be
+ i386, not i[456]86.
+
+Tue Jul 7 18:55:09 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
+ include/am_defs.h: include <linux/posix_types.h> before
+ <linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
+ headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
+ __KERNEL_STRICT_NAMES).
+
+ * aux/configure.in: check for <linux/posix_types.h> because it is
+ need for RedHat 5.1.
+
+Wed Jun 17 00:05:33 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
+ .in as well, so it doesn't get removed by make clean.
+
+Tue Jun 16 22:00:15 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
+ check_mount_type.m4}: redhat 5.1 puts some modules in
+ /lib/modules/preferred/.
+
+Wed May 13 16:33:57 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_autofs.c (mount_autofs): cast pid to long.
+
+Tue Apr 28 15:12:36 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
+ conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
+ avoid amd/am_ops.c (show_fstypes) from erroneously claiming
+ support.
+
+Fri Apr 24 23:02:11 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
+ unconditionally, may be missing on Ultrix V4.3.
+
+Thu Apr 23 20:24:33 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
+ missing from <sys/mntent.h>.
+
+ * conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
+ without KERNEL defined here.
+
+ * aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
+ <cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
+ ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
+
+ * amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
+
+ * ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
+ Removed purely local (and obsolete) entry.
+
+Thu Apr 23 00:22:17 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a16 ***
+ *******************************************************************
+
+Wed Apr 22 01:20:39 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_mount_style.m4: define freebsd3 mount style.
+
+ * aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
+
+ * aux/macros/check_mtype_printf_type.m4,
+ aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
+ of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
+ integers, but I'll keep them as integers and do the mapping in
+ conf/mount/mount_freebsd3.c
+
+ * minor new port to i386-pc-bsdi3.1.
+
+ * minor new port to i386-unknown-netbsd1.3.1.
+
+ * amd/opts.c: new option addopts:=ARG, which smartly merges ARG
+ options with whatever the /default ones for a key are. This
+ allows adding or overriding /default options individual keys.
+
+ * amd/am_ops.c (ops_match): strdup/malloc string assigned to
+ opt_opts because it'll get free()'d upon next use.
+ (merge_opts): new function to merge two sets of options.
+ (ops_match): if addopts option exist, append and merge it to the
+ current default options.
+
+Tue Apr 21 12:54:59 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * wire-test/wire-test.c (main): use dynamically allocated returned
+ string with list of interfaces.
+
+ * amd/get_args.c (get_version_string): allocate enough space for
+ header version string and a list of network interfaces of any
+ length.
+
+ * libamu/wire.c (print_wires): return dynamically allocated string
+ containing list of networks. Must be dynamic because some sites
+ had potentially dozens of network interfaces. Patch from Matthew
+ Crosby <mcrosby@ms.com> slightly modified.
+
+Mon Apr 20 00:37:20 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
+ irix 5.3 does not have full header definitions for it.
+
+ * fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
+ undefined it when not needed (similar to amd/conf_tok.l)
+
+ * hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
+ of these to unsigned short (because uid_t on some linux systems is
+ small).
+
+ * released snapshot am-utils-6.0a16s10
+
+ * doc/am-utils.texi (opts Option): documented resvport mount
+ option.
+
+Sun Apr 19 18:17:03 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (-D-Option): document behavior of -D info and
+ especially what it does to hesiod (turn on RES_DEBUG).
+
+ * scripts/amd.conf.5: document info debugging option.
+
+ * libamu/xutil.c (dbg_opt): parse info debugging option.
+
+ * include/am_utils.h (D_INFO): define new trace option.
+
+ * Makefile.am (EXTRA_DIST): include list of official mirrors in
+ distribution.
+
+ * libamu/wire.c (SIZE): in the simple case, just compute
+ sizeof(struct ifreq).
+
+Sun Apr 19 16:30:35 1998 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/amd.c (daemon_mode): set a temporary secure umask(0022)
+ before writing log file and restore it afterwards. Patch from
+ Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
+
+ * amd/get_args.c (get_args):
+
+ * doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
+ file specified by -F is always processed last.
+
+ * amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
+ won't be reused. Allows startup script to redirect stdout. Patch
+ from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
+
+ * libamu/xutil.c (switch_to_logfile): compare logfile name and
+ syslog string with correct length. Patch from Donald Buczek
+ <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
+
+ * amd/restart.c (restart): correctly inherit existing NFS V.3
+ mounts upon restart. Patch from Donald Buczek
+ <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
+
+Sat Apr 18 19:01:19 1998 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * using libtool 1.2 and automake 1.3 (with my patches).
+
+ * aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
+ AMU_CFLAGS to avoid conflicts with automake-1.3.
+
+Sun Apr 5 23:09:08 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * converted to using libtool-1.2.
+
+Tue Mar 10 16:52:09 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
+ for loop (ITER) which used to run only to initialize the variable
+ dd once and then break; with a simple assignment.
+
+ * hlfsd/hlfsd.h: cleanup so it compiles with Solaris
+ /opt/SUNWspro/bin/cc, and use gid_t not int.
+
+ * amd/mapc.c (mapc_sync): don't dereference pointer (so it
+ compiles with Solaris /opt/SUNWspro/bin/cc)
+
+Sun Mar 8 15:54:22 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/config.{guess,sub}: used from gcc-2.8.1.
+
+Sat Mar 7 15:33:27 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0a16s9
+
+ * INSTALL, doc/am-utils.texi (Supported Platforms): updated names
+ based on new output of new config.guess.
+
+ * aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
+
+ * amd/amd.8,doc/am-utils.texi: document correct usage of default
+ /etc/amd.conf file.
+
+ * fixmount/fixmount.c (inetresport,privsock): use some more
+ portable code from amq/amq.c.
+
+ * amd/get_args.c (get_args): use default /etc/amd.conf file only
+ if no arguments had been passed to amd.
+
+ * fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
+ ala amq/amq.c so that fixmount will work on both types of systems.
+
+ * amq/amq.c (main): do no close tcp socket before running udp try,
+ because we're not sure if it was opened at all.
+
+ * mips-dec-ultrix* port merged in and cleaned up.
+
+ * aux/configure.in: up minor shared library revision number, since
+ it has changed enough.
+
+ * hlfsd/hlfsd.c (main): don't check for overlay mount option here,
+ as it is now done in compute_nfs_args(). Remove ultrix specific
+ code also because it was moved to compute_nfs_args().
+
+ * conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
+ we have more generic code in print_nfs_args().
+
+ * libamu/mount_fs.c (print_nfs_args): print maxlen of
+ nfs_args.addr, and also syncaddr (which is mostly NULL). Print
+ struct knetconfig from nfs_args->knconf.
+
+ * aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
+ headers here, but in try_compile_anyfs.m4.
+
+ * aux/macros/type_ufs_args.m4: move test for struct ufs_specific
+ (for ultrix) here from its own macro.
+
+ * aux/macros/type_cdfs_args.m4: move test for struct iso_specific
+ (for ultrix) here from its own macro.
+
+ * amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
+ for overlay mount option. Remove code which checks for overlay
+ option, as it is now done in compute_nfs_args().
+
+ * libamu/mount_fs.c (compute_mount_flags): move here code which
+ checks for overlay mount option which was in amd/amfs_toplvl.c:
+ mount_amfs_toplvl().
+
+Wed Feb 7 15:35:51 1998 Rainer Orth <ro@xayide.TechFak.Uni-Bielefeld.DE>
+
+ * The following are Rainer's ChangeLog entries for his ultrix
+ port, added manually. -Erez.
+
+ * merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
+ (mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
+
+ * include/am_defs.h: include cdfs specific mount headers
+ avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
+
+ * include/am_compat.h: define several mount options corresponding
+ to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
+ noversion, rrip (cdfs), nocache, quota, sync (generic) removed
+ duplicate MNTTAB_OPT_RO definition
+
+ * aux/macros/try_compile_anyfs.m4: include Ultrix specific
+ ufs/cdfs mount headers
+
+ * aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
+ specific mount headers
+
+ * aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
+ mount types in mount headers (Ultrix)
+
+ * aux/configure.in: Ultrix/Digital UNIX specific checks: new
+ headers, mount structures and fields, filesystem and mount types,
+ mount flags
+
+ * aux/acconfig.h: placeholders for new mount options: quota
+ (generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
+ cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
+ structures
+
+ * amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
+ ufs_args.ufs_flags and has ufs specific pgthresh option
+
+ * amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
+ CDFS mount flags and options
+
+ * amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
+ hlfsd/hlfsd.c (main): store generic mount flags in
+ nfs_args.gfs_flags, handle separate NFS ro flag
+
+ * aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
+ struct_ufs_specific}.m4: new files; check for Ultrix specific
+ mount structures
+
+ * conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
+
+ * aux/macros/type_auth_create_gidlist.m4 (ultrix*):
+ AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
+ comment in <rpc/auth.h>
+
+ * include/am_defs.h: #define KERNEL to avoid definition of
+ gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
+ <config.h> to force single definition here
+
+ * libamu/mount_fs.c (compute_nfs_args): Ultrix support for
+ nfs_args.gfs_flags moved to callers store mount options in
+ nap->optstr
+
+ * include/am_defs.h: fix _am_mntent mnt_{type, opts} field
+ descriptions
+
+ * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
+ include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
+ definition in prototypes
+
+ * aux/macros/mount_headers.m4: include <sys/errno.h> before
+ AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
+ definitions
+
+ * conf/nfs_prot/nfs_prot_ultrix.h: new file
+
+ * aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
+
+ * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
+ aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
+ inclusion of <rpc/xdr.h>
+
+Sat Mar 7 13:56:05 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: save state of config.cache and confdefs.h
+ (as dbgcf.h) at various points of the configure.
+
+ * aux/macros/save_state.m4: new macro to save state of configure,
+ esp. useful in long ones. Saves confdefs.h and write $ac_cv_*
+ cache variables that are known so far.
+
+ * released snapshot am-utils-6.0a16s8
+
+1998-03-06 Erez Zadok <ezk@mercer.psl.cs.columbia.edu>
+
+ * fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
+ it, but only for flex.
+
+Fri Mar 6 17:23:17 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu>
+
+ * hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
+ to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
+ to write the dump file.
+
+ * doc/am-utils.texi,amd/opts.c: rename all references to nomadic
+ functions to boolean functions, which is what they really are.
+
+ * aux/configure.in: don't look for strcasecmp in libucb at all,
+ but rather complete it from libamu/strcasecmp.c as needed.
+
+Fri Mar 6 03:29:20 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
+
+ * libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
+ which defines IFF_ROUTE instead of IFF_LOOPBACK. Patch from Tom
+ Schmidt <tschmidt@micron.com>.
+
+ * released snapshot am-utils-6.0a16s7
+
+ * conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
+ hppa1.0-hp-hpux11.00.tgz.
+
+Thu Mar 5 21:59:03 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * converted all sources to use mntent field names, and map mnttab
+ field names to mntent's.
+
+ * include/am_defs.h (mnt_special): map struct mnttab field names
+ to struct mntent field names.
+
+ * aux/macros/check_mount_trap.m4: hpux11's mount trap style is
+ identical to svr4/solaris2.
+
+ * aux/macros/check_mount_style.m4: hpux11's mount style is
+ identical to svr4/solaris2.
+
+ * aux/macros/check_network_transport_type.m4: hpux11 is a TLI
+ system!
+
+ * aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
+ dereferencing style is same as svr4.
+
+ * aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
+ dereferencing style is same as svr4.
+
+ * conf/transp/transp_tli.c (create_nfs_service): if failed to
+ getnetconfigent() of ticlts, then try udp (hpux11).
+
+ * conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
+ struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
+ 2.5.1 (HP used them).
+
+ * amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
+ because hpux11 doesn't like it. if t_open failed, print error
+ based on t_errlist, not sys_errlist.
+
+Wed Mar 4 22:01:55 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi: lots of documentation fixes from Rainer Orth
+ <ro@TechFak.Uni-Bielefeld.DE>.
+
+Sat Feb 28 22:16:35 1998 Erez Zadok <ezk@kosh.cs.columbia.edu>
+
+ * fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
+ later.
+
+ * include/am_defs.h: defined the extern for ualarm() if it isn't
+ found, regardless if the function isn't found in standard
+ libraries, because otherwise libamu will include it.
+
+1998-02-28 Erez Zadok (per Ron Snyder) <ezk@short.cvo.roguewave.com>
+
+ * initial port to hpux-11 completed. Compiles cleanly, but
+ probably does not work, because of missing NFS V.2/3 headers.
+
+ * amd/conf_tok.l: cast yytext to char* when passed to strlen and
+ strdup, for hpux-11's ansi-cc compiler.
+
+ * include/am_utils.h: renamed all xfree() to XFREE() to avoid
+ conflict with hpux-11's system headers. Also move (voidp) cast
+ from sources to inside the macro itself.
+
+Sat Feb 28 13:44:21 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0a16s6
+
+ * amd/info_nis.c (nis_isup): new function to test if NIS is up
+ without hanging amd. Used to ensure that amd does not clear the
+ maps when the expiration period arrived, if the service is down.
+ Otherwise it would be left with empty maps. It is better to stay
+ with possibly old information than none at all.
+
+ * amd/mapc.c (mapc_sync): check to see if map service is up.
+
+Tue Feb 24 02:19:42 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
+ includes auxiliary library only if needed.
+
+1998-02-22 Erez Zadok <ezk@mercer.psl.cs.columbia.edu>
+
+ * amd/conf_tok.l: undefine ECHO again, so it doesn't get used
+ later.
+
+Sun Feb 22 01:41:08 1998 Erez Zadok <ezk@zen.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
+ completed.
+
+ * conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
+
+Sat Feb 21 19:45:48 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Network Host Filesystem): correct example for
+ type:=host map.
+
+ * aux/macros/os_cflags.m4: only osf4 should compile with
+ -D_SOCKADDR_LEN.
+
+ * aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
+ and OSF4.
+
+ * BUGS: include a new file listing known bugs.
+
+Sat Feb 21 03:50:48 1998 Erez Zadok <ezk@mercer.psl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
+ versions.
+
+ * aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
+ size_t for recvfrom fromlen arg.
+
+Sat Feb 21 03:33:59 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/ctl-hlfsd.in: turn -D fork so primary process never
+ hangs.
+
+Sat Feb 21 02:45:51 1998 Erez Zadok <ezk@mercer.psl.cs.columbia.edu>
+
+ * include/am_defs.h: don't include <sys/stat.h> and
+ <linux/stat.h>, just remaining definitions in <statbuf.h>
+
+Thu Jan 29 00:44:28 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0a16s5
+
+ * conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
+ mount(2).
+
+ * check for <sys/fs/xfs_clnt.h> and include it when needed.
+
+ * conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
+ efs and xfs separately from "ufs".
+
+ * amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
+
+ * aux/configure.in: look for irix efs and xfs file systems.
+
+ * scripts/amd.conf.5: new unmount_on_exit option documented.
+
+ * doc/am-utils.texi (unmount_on_exit): new option documented.
+
+ * amd/conf.c (gopt_unmount_on_exit): new function to handle new
+ amd.conf option.
+
+ * amd/map.c (umount_exported): if global amd.conf flag
+ unmount_on_exit is on, then try to unmount all mounted (or
+ restartable) file systems.
+
+ * amd/amd.c: if print_pid option is on, then normally print it to
+ stdout. If also pid_file is specified, then print the process ID
+ into that file.
+
+ * amd/get_args.c (get_args): print correct -l option depending if
+ system supports syslog and/or syslog facilities. Patch from
+ Tom Schmidt <tschmidt@micron.com>.
+
+ * doc/am-utils.texi (opts Option): updates for documentation for
+ new cdfs options defperm, nodefperm, noversion, rrip.
+
+ * amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
+ nodefperm, noversion, rrip.
+
+ * conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
+ on osf.
+
+ * aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
+ expand_cpp_string.m4}: use #error to make failed compilations
+ fail faster, rather than have the program fail during a run.
+
+ * include/am_compat.h: added a few new cdfs options: rrip,
+ noversion, defperm, and nodefperm (used in OSF).
+
+Wed Jan 28 20:24:09 1998 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0a16s4
+
+ * doc/am-utils.texi (Global Parameters): update manual for new
+ amd.conf global variable hesiod_base.
+
+ * scripts/amd.conf.5: update man page for new amd.conf global
+ variable hesiod_base.
+
+ * amd/get_args.c (get_args): use /etc/amd.conf file if exists by
+ default, else try command line options. Patch from Randall
+ S. Winchester <rsw@Glue.umd.edu>.
+
+Wed Jan 28 12:20:56 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/info_hesiod.c (hesiod_search), amd/conf.c
+ (gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
+ included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
+ support a hesiod base name in the amd.conf file.
+
+ * doc/am-utils.texi (pid_file Parameter): document new global
+ amd.conf parameter.
+
+ * scripts/amd.conf.5: document new global option pid_file.
+
+ * amd/amd.c (daemon_mode): if cannot open pid_file, continue to
+ run, but print error message.
+
+ * amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
+ init_global_options): Included patch from Randall S. Winchester
+ <rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
+
+ * amd/get_args.c (get_args): correct usage info on amd -t.
+
+ * amd/*.c: massive file name and symbol name changes. All amd
+ file systems files and symbols are prefix with amfs_*. Now using
+ real name of file system: amfs_auto instead of afs, amfs_inherit
+ instead of ifs, amfs_linkx instead of sfsx, etc. This will enable
+ clear distinction between amd file system and generic ones like
+ nfs/ufs/pcfs/hsfs. Also, now we can implement true afs (Andrew
+ f/s) and DFS (Distributed f/s).
+
+ * amd/amfs_union.c: unionfs for amd is always defined, no need to
+ #ifdef it.
+
+Mon Jan 26 16:51:38 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu>
+
+ * libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
+ or off, based on the particular quirks of the OS in question.
+
+ * aux/macros/check_nfs_socket_connection.m4: new macro to set the
+ correct wait of handling un/connected NFS sockets.
+
+ * scripts/wait4amd.in: use rlogin instead of rsh.
+
+ * amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
+ -v, always show "nfs3" for NFS V.3.
+
+1998-01-25 Erez Zadok <ezk@snoopy.cs.columbia.edu>
+
+ * lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
+ more picky than 2.7.2.3 did.
+
+1998-01-24 Erez Zadok <ezk@snoopy.cs.columbia.edu>
+
+ * include/am_utils.h (dlog): amuDebug macros reduced to shorter
+ forms.
+
+Fri Jan 23 18:38:30 1998 Erez Zadok <ezk@goat.mcl.cs.columbia.edu>
+
+ * released snapshot am-utils-6.0a16s3
+
+ * include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
+ in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
+ must not, fake a definition for varargs.
+
+Fri Jan 16 10:16:40 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * README: show how to configure in additional support such as
+ hesiod using various --enable-* flags.
+
+Wed Jan 14 15:13:02 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: look for strcasecmp(), and replace it if not
+ available.
+
+ * amd/ops_nfsl.c (nfsl_match): host names should be compared using
+ case insensitive.
+
+ * amd/opts.c: for each map variable, define if the comparison
+ needs to be done case insensitive.
+
+ * include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
+ Patch from Thomas Richter <richter@chemie.fu-berlin.de>
+
+1998-01-14 Erez Zadok <ezk@irt.cs.columbia.edu>
+
+ * aux/configure.in: look for "isofs" as a possible mount type for
+ cdfs (RedHat Linux).
+
+Wed Jan 14 02:07:05 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
+ type if not defined.
+
+ * conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
+ already defined.
+
+ * aux/configure.in: look for ext2fs before ufs, b/c some linux
+ have both.
+
+Mon Jan 12 15:43:20 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * Makefile.am (snapshot): allow me to install snapshots into the
+ ftp directory.
+
+ * scripts/ctl-hlfsd.in: don't turn on -D mem by default.
+
+ * amd/get_args.c (get_args): minor bug in output of amd -H.
+
+Mon Jan 12 03:05:06 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a15 ***
+ *******************************************************************
+
+Sun Jan 11 15:06:34 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/conf.c (*_browsable_dirs): allow specifying
+ browsable_dirs=full, which will print *all* entries (other than
+ /default), including those with '*' and '/' characters.
+
+ * amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
+ to 1500.
+
+ * doc/am-utils.texi: fixed reversed documentation for NFS mount
+ options vers and proto.
+
+ * doc/Makefile.am (install-html): separate target just for
+ installing html files. Another new target "alldocs" is just for
+ installing all files needed for the am-utils home page.
+
+ * scripts/amd.conf-sample: updated example for log_file.
+
+ * scripts/amd.conf.5: updated for new way to declare new syslog
+ facility in the log_file option.
+
+ * amd/amd.8: updated for new way to declare new syslog facility in
+ the -l option.
+
+ * libamu/xutil.c (get_syslog_facility): allow users to specify the
+ syslog facility as an appended string to the log device. Ex. amd
+ -l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
+ will use the default LOG_DAEMON facility.
+
+ * amd/get_args.c (get_args): updated new syntax for amd -l
+ syslog:facility.
+
+Thu Jan 8 04:05:10 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
+ (intel).
+
+ * libamu/wire.c (print_wires): bug fix. Nullify output buffer
+ before appending to it, on systems with two or more network
+ interfaces.
+
+ * conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
+ the mntent for cachefs.
+
+ * include/am_defs.h: external definition for strstr() should use
+ const for both arguments.
+
+ * aux/configure.in: add extern definitions for getwd() if missing.
+
+ * include/am_defs.h: define the extern for strdup() even if the
+ function does not exist, for it will be filled in by
+ libamu/strdup.c
+
+ * amq/pawd.c (cluster_server): don't use getccent() if the extern
+ for it isn't there. On hpux 10.20, the function is in libc, but
+ <cluster.h> and struct cct_entry do not exist.
+
+ * aux/configure.in: check for an extern for getccent() b/c some
+ hpux systems don't have it (hpux 10.20).
+
+Wed Jan 7 00:09:19 1998 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * doc/am-utils.texi (Amq -T option): manual documentation updates
+ for new amq options -T/-U.
+
+ * amq/amq.8: updated man page for new amq options -T/-U.
+
+ * amq/amq.c: two new switches to amq. -U will contact amd using
+ UDP only. -T will use TCP only. Normally amq will try TCP and
+ if that failed, will try UDP.
+
+ * doc/am-utils.texi (pawd): manual documentation for pawd.
+
+ * amq/pawd.1: new man page for pawd.
+
+Tue Jan 6 04:21:59 1998 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amq/pawd.c: a new program, Print Automounter Working Directory,
+ to print the proper pathname of the cwd or any other pathname,
+ adjusted for automounter paths, while avoiding mount points.
+
+ * aux/macros/localconfig.m4: trivial support for am-utils
+ maintainers to adjust some of the configuration of am-utils after
+ it has been auto-configured by putting whatever definitions you
+ wish in a file called localconfig.h, located in the top build
+ directory (the same one where config.h is created for you).
+
+ * doc/am-utils.texi (Caching Filesystem): updated documents for
+ cachefs file system.
+
+ * amd/ops_cachefs.c: initial cachefs support, for solaris.
+ type:=cachefs, requires cachedir:=/cache/dir/name to be defined
+ and initialized with cfsadmin -c. $rfs is backdir to be cached
+ from, and $fs is the local mount point of the cachefs.
+
+ * conf/mount/mount_svr4.c (mount_svr4): support mounting of
+ cachefs file systems.
+
+ * amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
+ mnttab type is.
+
+Mon Jan 5 23:22:49 1998 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/opts.c: added support for new variable $cachedir.
+
+ * include/am_utils.h: added opt_cachedir field to struct am_opts.
+
+Sat Jan 3 01:43:57 1998 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
+ local hostname does not match $rhost, and if so, also assume
+ type:=nfs.
+
+Fri Jan 2 01:00:40 1998 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * updated all source files to add 1998 as a copyright year.
+
+ * amd/ops_nfsl.c: new amd meta file system "type:=nfsl". Behaves
+ like type:=linkx if the pathname denoted by $fs exists, and like
+ type:=nfs if it does not. A convenient shortcut for the most
+ popular amd map entry.
+
+ * amd/amd.c (main): amd should chdir to / before starting, to
+ avoid hanging on other NFS server if started elsewhere.
+
+ * amd/ops_TEMPLATE.c: added an empty template file for developers
+ who wish to write new amd pseudo file systems.
+
+Thu Jan 1 00:27:28 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * hlfsd/homedir.c (plt_init): make function exported, to save on
+ the unnecessary init_homedir() function which was removed.
+ (table_add): don't use xmalloc() when you can use strdup()
+ instead.
+
+Thu Jan 1 00:15:58 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu>
+
+ * hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
+ because we will be making more passwd calls afterwards. On
+ Solaris 2.5.1, making getpwent() calls after calling endpwent()
+ results in a memory leak! (and no, even Purify didn't detect
+ it...)
+
+Tue Dec 23 18:23:47 1997 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu>
+
+ * hlfsd/hlfsd.c (main): Bug fix. Don't try to free() an
+ automatically allocated address.
+
+ * amd/ops_afs.c (mount_toplvl): Bug fix. Don't try to free() an
+ automatically allocated address.
+
+ * ALL SOURCES: change every direct call to free() to xfree(), so
+ it can be mapped to the right debugging function as needed.
+
+ * include/am_utils.h: new free() policy. If debugging memory,
+ call dxfree(), which will print the file name and line number
+ where the free occurred and the pointer address. if only regular
+ debugging, then free() and reset the pointer to NULL so it cannot
+ be used afterwards inadvertently. If not DEBUG at all, then just
+ run free(). Three different #define macros set the right mapping.
+
+ * libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
+ be called only when debugging the memory.
+
+Tue Dec 23 04:24:28 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * wire-test/wire-test.c (main): use xmalloc() not malloc().
+
+ * conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
+ calloc().
+
+ * conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
+
+ * conf/mount/mount_linux.c (parse_opts): use xmalloc() not
+ malloc().
+
+ * amd/info_ldap.c: use xmalloc() not malloc().
+
+ * libamu/xutil.c (xzalloc): new function to allocate memory and
+ zero its bytes.
+
+ * amq/amq.c: amq does not need its own definition of xfree().
+
+ * aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
+ look for function malloc_verify() in libmapmalloc.a, and function
+ mallinfo() in libmalloc.
+
+ * libamu/xutil.c (checkup_mem): do not use mallinfo field
+ uordbytes, because it does not always exist. Rather, compute it
+ from other fields..
+
+ * include/am_utils.h: add external definition to xfree() function
+ used when debugging memory references.
+
+Mon Dec 22 03:01:30 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_afs.c (afs_readdir_browsable): reduce the number of
+ bytes heuristically computed to be returned to the kernel.
+ Otherwise browsable_dirs fails on OpenBSD 2.2.
+
+ * amd/mntfs.c (uninit_mntfs): bug fix. Moved freeing of
+ mf_private field to AFTER it gets used.
+
+Sat Dec 20 00:51:21 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
+ on systems that don't support it.
+
+ * include/am_defs.h: add missing extern definition for free().
+
+ * aux/configure.in: check for external definition for free().
+
+ * libamu/Makefile.am: add to comment a mention of strstr as an
+ optional function.
+
+ * libamu/xutil.c (switch_to_logfile): use openlog() options only
+ if they exist.
+
+ * conf/transp/transp_sockets.c (get_nfs_version): don't use
+ clnt_spcreateerror if it does not exist.
+
+ * aux/configure.in: check for missing functions clnt_create and
+ clnt_spcreateerror. Check for missing strstr, and complete
+ its code. Check for missing external definition for strstr.
+
+ * aux/macros/host_macros.m4: normalize sun3* names.
+
+ * Makefile.am: updates for new sunos3 files distributed.
+
+ * conf/nfs_prot/nfs_prot_sunos3.h: new file.
+
+ * conf/fh_dref/fh_dref_sunos3.h: new file.
+
+ * aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
+
+ * aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
+
+ * doc/am-utils.texi (wire Selector Variable): updated manual for
+ adjusted variables wire, network, and netnumber, all using the
+ in_network() function.
+
+Fri Dec 19 04:37:36 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/opts.c: allow options to be processed by executing arbitrary
+ functions. Converted wire, network, and netnumber all to use the
+ nomadic function in_network. So from now on they perform a match
+ against all networks, not just primary.
+
+ * initial port to alpha-unknown-linux-gnu, probably works, but
+ untested yet.
+
+ * conf/nfs_prot/nfs_prot_linux.h: add special definitions for
+ __FD_* macros which for som strange reason do not get included
+ from <selectbits.h> on redhat alpha linux. Also turn off usage of
+ <rpc/des_auth.h> because it is incomplete on the same systems.
+
+ * hlfsd/homedir.c (table_add): cast uid field to int, for
+ comparison.
+
+ * include/am_defs.h: more coflicts with redhat alpha linux
+ "resolved".
+
+ * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
+ There's a conflict of definitions on redhat alpha linux between
+ <netinet/in.h> and <linux/fs.h> which must be avoided.
+
+ * aux/configure.in: check for <socketbits.h>, which is in use on
+ redhat alpha linux.
+
+ * doc/am-utils.texi (Selectors): added documentation to describe
+ the new "!" (negated) nomadic functions.
+
+ * amd/opts.c (f_in_network): print debugging info that is correct,
+ rather than saying that any ARG is on a local network.
+ (eval_opts): added support for negating nomadic functions, by
+ prepending "!" to their name. Example, !exists(/foo/bar).
+
+Thu Dec 18 20:57:19 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * include/am_compat.h: ensure that all NFS3 systems have the mount
+ table entries (and amd opts switches) "proto" and "vers".
+
+ * hlfsd/homedir.c (table_add): added some debugging info to try
+ and track down a serious memory leak in hlfsd.
+
+1997-12-18 Erez Zadok <ezk@t-rex.mcl.cs.columbia.edu>
+
+ * libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
+ you do NOT set the noconn option, and use connected sockets
+ always. So I'm now forced not to set it at all, and have the user
+ specify it as "conn" or "noconn" in their /default entry. Argh...
+ Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
+ buggy (TCP hangs with "short receive" kernel errors). I'd better
+ wait until they get it working in their version of the automounter
+ first. So I'm putting the "noconn" option back.
+
+Thu Dec 18 02:39:39 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
+ nfs_args field maxgrouplist accordingly.
+
+ * include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
+ for mount table entry for maxgroups based on NFS mount option
+ maxgrp.
+
+ * aux/configure.in: put back testing for NFS mount option
+ "maxgrps". Added test for mount table entry "maxgroups".
+
+ * libamu/mount_fs.c (compute_nfs_args): perform more careful tests
+ on nfs_proto, because it could be NULL.
+
+ * doc/am-utils.texi (Selectors): added example of in_network()
+ selector.
+
+ * aux/macros/check_hide_mount_type.m4: all hpux versions,
+ including 9.x, should use "ignore" as the mount type to hide from
+ amd.
+
+Wed Dec 17 13:09:21 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * include/am_utils.h (NSTREQ): use new macro instead of strncmp()
+ every where in the sources.
+
+Wed Dec 17 01:15:01 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
+ print as much info that is given in struct nfs_args as possible.
+ useful for detecting internal flags and options, as well as the
+ file handle used.
+
+ * scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
+ after /etc and before /etc/local.
+
+Tue Dec 16 18:51:36 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in, libamu/Makefile.am: added support for linking
+ with specific versions of libamu. Upped shared library version of
+ libamu to 1 (libamu.so.1.0.0)
+
+ * include/am_defs.h: added external definition for mkstemp() as
+ needed.
+
+ * minor new port to i386-unknown-netbsd1.3 (BETA version of
+ netbsd).
+
+ * aux/config.guess: don't leave a trailing '.' on the system name
+ for NetBSD-1.3_BETA and similarly for OpenBSD.
+
+ * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
+ differences in ypall calling conventions.
+
+ * mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
+ in preference over mktemp(), b/c it is more secure.
+
+ * aux/configure.in: check for mkstemp(), a more secure version of
+ mktemp().
+
+Mon Dec 15 02:32:14 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
+ table "vers" option generally do not set the mnttab entry to
+ "nfs3", but to "nfs" and then they set "vers=3". Setting it to
+ "nfs3" works, but it may break some things like "df -t nfs" and
+ the "quota" program (esp. on Solaris and Irix). So on those
+ systems, set it to "nfs".
+
+Sat Dec 13 01:36:27 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Distrib): updates for new ports, location of
+ am-utils' home page, and URL cross references (now supported by my
+ version of texi2html).
+
+ * aux/macros/check_mtype_type.m4: also use string type for file
+ system mount types under nextstep for mount(2).
+
+ * aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
+ integer and string types for file system mount types in mount(2),
+ but it is better to use string types.
+
+ * conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
+ 0, not 1! Otherwise, all NFS calls (esp. mount) return errno 1
+ (EPERM) instead of 0 (OK). Fixes m68k-next-nextstep3 which now
+ works.
+
+ * conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
+ not 1! Otherwise, all NFS calls (esp. mount) return errno 1
+ (EPERM) instead of 0 (OK).
+
+ * libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
+ by -D trace (protocol trace).
+
+1997-12-11 Erez Zadok <ezk@bach.cs.columbia.edu>
+
+ * A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
+ macro based on existence on others, and include <sys/stat.h>.
+
+Thu Dec 11 14:14:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
+ inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
+ which this header is broken (it tries to include non-existing
+ headers).
+
+Wed Dec 10 16:09:07 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/mount_fs.c (mnt_flags): support either nfs or generic
+ mount option for grpid.
+
+ * aux/configure.in: turn back on NFS mount option grpid.
+
+Sat Dec 6 04:36:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/Makefile.am (install-ps): added target to install postscript
+ file in the am-utils' home page, as well as a few other useful
+ files for the new am-utils Web page.
+
+Mon Nov 17 05:22:56 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a14 ***
+ *******************************************************************
+
+Sun Nov 16 21:56:16 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Supported Platforms): updated table of new
+ ports.
+
+Sat Nov 15 06:36:27 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
+ options so that they can be printed in logs as needed.
+
+ * doc/am-utils.texi (osver Parameter): updated for the correct
+ usage of the -o/-O options.
+
+ * scripts/amd.conf.5: corrected info for -o/-O options.
+
+ * amd/amd.8: updated man page for new -O op_sys_name option, and
+ corrected the usage of the -o op_sys_ver option
+
+ * amd/get_args.c (get_args): added new amd option -O to override
+ OS name.
+ (get_args): updated usage string. Removed old -m option. Added
+ -o and -O options.
+
+ * conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
+ it is not there. Reportedly, irix 5.2 does not define it.
+
+ * scripts/lostaltmail.in: removed references to unused $hack
+ variable.
+
+ * aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
+ <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
+ for solaris2.5.
+
+ * doc/am-utils.texi (Distrib): typo in the subscription
+ instructions to amd-dev. Patch from Stefan Vogel
+ <vogel@physik-rzu.unizh.ch>.
+
+1997-11-15 Erez Zadok <ezk@amtrak.cs.columbia.edu>
+
+ * NFS3 works on powerpc-ibm-aix4.2.1.0.
+
+ * libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
+ static. Some compilers (gcc from egcs on aix 4.2.1) corrupt the
+ stack of an automatic variable when pointer to it is passed around
+ several times.
+
+Fri Nov 14 20:09:28 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/xutil.c (real_plog): syslog like behavior for normal
+ logging. Will not print repeated strings, only a count "last
+ message repeated N times", but will always print something if
+ message is repeated more than 100 times.
+
+ * scripts/lostaltmail.in: look for lostaltmail.conf files also in
+ /etc/global, /etc/os, and /etc/local (in that order).
+
+Mon Nov 10 03:03:17 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
+ mounts.
+
+ * aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
+ aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
+
+ * conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
+ NFS_SA_DREF macro is a pointer to the structure that used to be
+ passed to it before. So now I have to dereference the pointer
+ before accessing its values.
+
+ * hlfsd/hlfsd.c (main): use the new and cleaner
+ compute_nfs_args() and compute_automounter_nfs_args() functions.
+
+ * amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
+ compute_nfs_args() and compute_automounter_nfs_args() functions.
+
+ * amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION. Use the new
+ and cleaner compute_nfs_args() and compute_automounter_nfs_args()
+ functions.
+
+ * libamu/mount_fs.c (compute_nfs_args): major code cleanup that
+ relates for struct nfs_args. A new function sets the numerous
+ possible flags and fields of nfs_args_t in an orderly fashion.
+ Code cleaned up, organized, and moved from amd/hlfsd into
+ libamu. This saves on overall size of code.
+ (compute_automounter_nfs_args): A variant of compute_nfs_args()
+ which sets special options/flags that need to be used when NFS
+ mounting an automounter's mount point. Used by hlfsd and amd.
+
+ * amq/amq.c (get_secure_amd_client): don't print any more
+ "get_secure_amd_client: using TCP, port 12345". It's more
+ annoying than useful a message, even when assumed to be compiled
+ under DEBUG only.
+
+Thu Oct 30 14:33:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
+ mount table entries. The code used to define the /etc/mnttab name
+ for file systems based on physical media (disk, cdrom, floppy) to
+ the generic name, rather than the OS specific name. For example
+ autoconf searches for all these types of mount table entries for a
+ floppy based file system: vfat pcfs pc msdos msdosfs fat. But if
+ it found any, it hard-coded the mnttab name to "pcfs" rather than
+ the actual name found! Same for ufs, cdfs, pcfs, tmpfs, lofs,
+ nullfs, unionfs, and umapfs.
+
+ * aux/configure.in: also test for xfs (for newer Irix) when
+ looking for mount type names, numbers, etc of a disk-based ufs.
+
+Sun Oct 26 19:32:57 1997 Erez Zadok <ezk@defiant.soscorp.com>
+
+ * amq/amq.c (main): use pmap_ping() to test if remote host is up.
+ This works better on bsdi2 and bsdi3, because their portmapper
+ does not appear to like forwarding operations (it is generaly
+ insecure).
+
+Sat Oct 25 04:55:56 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a13 ***
+ *******************************************************************
+
+Fri Oct 24 05:04:37 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
+ struct datum typedef.
+
+ * conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
+ ypall_callback_fxn_t for netbsd.
+
+ * aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
+ the 5th arg to authunix_create(), while before and after they used
+ gid_t.
+
+ * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
+ clnt_create_timed() on older Solaris 2.3 systems that did not have
+ it.
+
+ * conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
+ kernel only on bsdi2, so do not include it.
+
+Fri Oct 24 00:29:42 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
+ messages about resolution of mailboxes based on uid/gid.
+
+ * scripts/ctl-hlfsd.in: check for alternate password file in
+ ${prefix}/etc/passwd and use it in hlfsd's startup.
+
+Thu Oct 23 22:48:50 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * hlfsd/homedir.c (hlfsd_getpwent): added support for -P
+ passwdfile option. If hlfsd is started with -P passwdfile, then
+ the passwdfile is read and parsed just as a standard unix
+ passwd(4) file. Only the username, uid, and homedir fields are
+ read and checked. All the rest are ignored. No NIS/netgroup
+ support!
+
+ * hlfsd/hlfsd.c (main): check if hlfsd is run as root after
+ parsing command line options, so that usage() can be printed when
+ -h is invoked.
+
+Wed Oct 22 00:16:39 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/nfs_start.c (mount_automounter): if autofs service listener
+ fails to initialize it is OK if using a test amd.
+
+ * amd/opts.c (f_in_network): new nomadic function in_network(arg),
+ which returns TRUE if 'arg' is any one of this host's networks.
+
+ * libamu/wire.c (getwire): rewritten parts of function, to store
+ all networks names and numbers in the order of the interface (not
+ in reverse).
+
+Mon Oct 20 01:59:25 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: don't add ops_ufs.o on AIX twice. My code
+ would have worked had it not been due to AIX's buggy /bin/sh.
+
+ * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
+ am-utils.ps in the distribution sources.
+ (html): generate html documentation for
+ http://www.am-utils.org
+
+Sun Oct 19 12:35:49 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
+ ypall_callback_fxn_t. The NetBSD team compiles all sources with
+ gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
+
+ * amd/info_nis.c: allow for override of ypall_callback_fxn_t
+ function typedef.
+
+ * libamu/xutil.c (amu_release_controlling_tty): new function to
+ release the controlling tty in a clean and sane manner. No longer
+ using setpgid() b/c it may not work. Uses setsid(),
+ and ioctl() (in order). This new function is used in amd/amd.c
+ and hlfsd/hlfsd.c. Also avoid setpgrp(), because it works on some
+ systems, but on others it is the same as setpgid().
+
+Sat Oct 18 23:42:40 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/acconfig.h: check for nfs mount option 'fsname'. Code for
+ it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
+ never used, because the configure test for fsname flag wasn't
+ used. This fixed a bug in HPUX 10, where syncer and manual mounts
+ left blank lines in /etc/mnttab.
+
+ * aux/configure.in: check for nfs mount option 'fsname'.
+
+Fri Oct 17 13:30:27 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
+ mount flags of toplvl mounts. Important esp. for HPUX 10. Now
+ hpux-10 will mount amd's mounts points as 'ignore' (by df).
+
+ * aux/configure.in: check for NFS mount option 'ignore', useful in
+ HPUX 10.
+
+Thu Oct 16 03:28:33 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
+ mount type and not NFS, for the amd mount points.
+
+ * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
+ an RPC timeout as an error, but just an info message. From
+ Andreas Stolcke <stolcke@speech.sri.com>
+
+ * If the NFS server is down or does not support the portmapper
+ call (such as certain Novell NFS servers) we mark it as version 2
+ and we let the nfs code deal with the case that is down. If when
+ the server comes back up, it can support NFS V.3 and/or TCP, it
+ will use those. From christos@deshaw.com (Christos Zoulas).
+
+ * hlfsd/homedir.c (plt_print): various compile time cleanups to
+ printfs that take a long, but pass an int to print. From
+ christos@deshaw.com (Christos Zoulas).
+
+ * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
+ macro to determine if the OS has a bad yp_all(), based on the host
+ OS name. So far only irix (all versions) have a bad yp_all, so
+ they will use am_yp_all() instead (which is slower as it
+ enumerates manually all of the map's entries).
+
+Thu Oct 16 03:14:37 1997 Erez Zadok <ezk@subzero.cs.columbia.edu>
+
+ * amd/info_nis.c (am_yp_all): code for a replacement yp_all that
+ avoids using a file-descriptor leaking yp_all() on some systems
+ like irix.
+
+Wed Oct 15 21:52:35 1997 Erez Zadok <ezk>
+
+ * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
+ systems using /usr/bin/flex.
+
+ * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
+ that have a modified GNU flex which does define yywrap (DU-4.x).
+
+Fri Sep 26 14:25:29 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/checkmount/checkmount_bsd44.c: include prototype.
+
+Fri Sep 26 01:26:24 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a12 ***
+ *******************************************************************
+
+Fri Sep 26 00:13:48 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
+ code in irix6 until it can be tested correctly
+
+ * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
+ on clnt_create for 3 seconds, rather than wait for the much longer
+ default.
+
+ * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
+ Includes NFS3, untested.
+
+Thu Sep 25 11:03:11 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
+ pcfs_args_t if they exist.
+
+ * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
+ cdfs_args_t if it exists.
+
+ * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
+ hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
+
+Wed Sep 24 00:48:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (wire-test): updated documentation for the new
+ option.
+
+ * wire-test/wire-test.8: updated man page for new option.
+
+ * wire-test/wire-test.c (main): added a test for various
+ combinations of NFS proto/vers to a remote/local host.
+
+ * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
+ <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
+ freebsd will correctly set mount options for pcfs and cdfs.
+
+ * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
+ 0777 (if field exists).
+
+ * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
+ <msdosfs/msdosfsmount.h> if available.
+
+ * minor new port: rs6000-ibm-aix4.1.4.0.
+
+ * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
+ write the "time" field in /etc/mnttab.
+
+ * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
+ detecting mnt_time field of mntent_t.
+
+ * libamu/mtab.c (mnt_free): fixed typo in macro names for
+ detecting mnt_time field of mntent_t.
+
+Tue Sep 23 15:30:03 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mtab/mtab_file.c (lock): Use flock() in preference over
+ fcntl() to lock the mtab file.
+
+Mon Sep 22 23:04:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/transp/transp_sockets.c (get_nfs_version): define
+ the try_again goto label only for NFS3.
+ (pmap_ping): assume timeout failure of clnt_stat.
+
+ * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
+ "groups *".
+
+Mon Sep 22 20:34:33 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
+ <dsr@mail.lns.cornell.edu> to make sure that amd works with more
+ secure portmappers that do not allow forwarding of RPC messages to
+ other services.
+
+ * */Makefile.am: all source files should also depend on the new
+ include/am_xdr_func.h header.
+
+ * include/am_xdr_func.h: new file as part of the code cleanup from
+ Christos Zoulas <christos@deshaw.com>.
+
+ * Lots of fixes from Christos Zoulas <christos@deshaw.com> that
+ involved missing prototypes, cleaned up ones, and removal of
+ unused variables.
+
+ * libamu/xdr_func.c (xdr_mountres3): some code cleanup. A switch
+ statement with only one case is unclean.
+
+Mon Sep 22 17:26:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
+ 0 so that all fields are initialized to zero at first. This way
+ SunOS 4.x and other systems don't get /etc/mtab entries with
+ random integers for the fsck/freq fields. Patch from Andreas
+ Stolcke <stolcke@speech.sri.com>.
+
+Mon Sep 22 00:34:19 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
+ that the important definition for HOSTNAMESZ will be found.
+
+ * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
+ (inside the nfs_args structure) if the system uses that macro.
+ Otherwise systems like SunOS refuse to NFS mount long pathnames
+ and result in ENAMETOOLONG errno's.
+
+Wed Sep 17 04:56:11 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * doc/am-utils.texi (Supported Platforms): specify new support for
+ solaris 2.6, and hlfsd running on 2.5.1 too.
+
+Wed Sep 17 03:55:02 1997 Erez Zadok <ezk@amsterdam.psl.cs.columbia.edu>
+
+ * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
+ mount if it is not supported or was turned off.
+
+Wed Sep 17 03:19:36 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
+ again. Apparently at some previous release SunOS 4 supported was
+ broken and all nfs mounts resulted in ESTALE.
+
+Wed Sep 17 00:26:25 1997 Erez Zadok <ezk@amsterdam.psl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
+ solaris 2.6.
+
+ * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
+ protocol header selection.
+
+Sat Sep 13 14:31:51 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
+ infinite loop.
+
+Sun Sep 7 18:23:23 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a11 ***
+ *******************************************************************
+
+Fri Sep 5 11:55:10 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/amd.c (main): if plock() succeeded, don't try to display
+ errno message. Patch from Chris Metcalf
+ <metcalf@catfish.lcs.mit.edu.
+
+Thu Sep 4 19:17:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * hlfsd/homedir.c (table_add): make sure duplicate passwd entries
+ are ignored. Only the first entry should ever be used, because
+ that's how lookup in passwd database works.
+
+ * conf/transp/transp_sockets.c (get_nfs_version): when determining
+ if a remote host is up or down, use NFS v.2. Fix suggested by
+ Enami Tsugutomo <enami@cv.sony.co.jp>.
+
+ * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
+ function to get the best possible NFS version, but also timeout
+ faster than normal defaults, so remote hosts which are down can be
+ detected in a reasonable time.
+ (get_nfs_version): use the new "best" function.
+
+Tue Sep 2 00:41:00 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a10 ***
+ *******************************************************************
+
+Mon Sep 1 15:39:51 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/transp/transp_tli.c (get_nfs_version): don't use
+ clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
+ and earlier).
+
+ * aux/configure.in: test for existence of clnt_tp_create_timed(),
+ since Solaris 2.4 (and possibly earlier) do not have it.
+
+Mon Sep 1 15:23:18 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu>
+
+ * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
+ field if it exists (solaris 2.4's autofs does not have it).
+
+Mon Sep 1 14:45:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/type_auth_create_gidlist.m4: a new test to determine
+ the correct type to the 5th argument of authunix_create().
+
+Mon Sep 1 03:44:32 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu>
+
+ * libamu/xdr_func.c (xdr_umntrequest): add test for autofs
+ structure umntrequest, if it has the field rdevid. Seems Solaris
+ 2.4 and earlier didn't have it.
+
+Mon Sep 1 01:10:53 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
+ can be done before primary process forks.
+ (main): bug fix: wait a bit to give child a chance to initialize.
+ Without this, hlfsd got into a busy infinite loop while, never
+ completing the mount.
+
+ * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
+ to make amd works when talking to NIS+ servers in NIS
+ compatibility mode.
+
+Mon Sep 1 00:46:56 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
+
+Sun Aug 31 20:20:40 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/conf.c (gopt_fully_qualified_hosts): a new function to
+ process another new global variable.
+
+ * amd/ops_nfs.c (make_nfs_auth): if a new global variable
+ fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
+ Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
+
+ * amd/conf.c (process_last_regular_map): If the amd.conf file only
+ has a [global] section (pretty useless IMHO), do not try to
+ process a map that does not exist.
+
+ * scripts/amd.conf.5: fixed typos (repeated 'as' word).
+
+ * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
+
+ * amd/conf.c (reset_cf_map): Bug fix. Reset 'tag' field of cfm
+ structure, so it does not carry over from map entry to another.
+
+Sat Aug 30 18:39:21 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/amd.c (main): fixed the meaning of the plock option. A bug
+ caused it to be reversed.
+
+Sat Aug 30 15:13:18 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * hlfsd/stubs.c: don't initialize some statics here. They are
+ better initialized in hlfsd_init_filehandles().
+
+Fri Aug 22 14:47:16 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/conf.c (gopt_show_statfs_entries): new function and a global
+ amd.conf key show_statfs_entries. Defaults to 'no'. If 'yes',
+ then all maps flagged as browsable will also show a count of the
+ number of entries (keys) in that map.
+
+ * amd/nfs_subr.c (count_map_entries): new function to count number
+ of entries in a map. Now used if browsable is turned on in a map,
+ to return a count of available keys in a given map.
+
+ * hlfsd/stubs.c (eq_fh): use correct memcmp(). BUG fixed! hlfsd
+ confused the file handles for ".", "..", and the symlink, causing
+ mess.
+
+ * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
+ but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
+ with bad memcmp() in libc's (nextstep3).
+
+Thu Aug 21 17:38:41 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: check if autofs_args_t has a field named
+ addr. Solaris has it for specifying the address of the daemon,
+ but Irix does not. So how does irix tell the kernel the daemon's
+ address? I suspect that it is hardcoded to "localhost" using a
+ "private well-known port" (#define AUTOFS_PORT 2048).
+
+ * conf/nfs_prot/nfs_prot_linux.h: added missing autofs
+ definitions.
+
+ * README.autofs: new file listing autofs support notes
+
+ * very preliminary autofs code working. Call it pre-alpha
+ quality.
+
+Sun Aug 17 02:25:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
+ "autofs" if system does not support it.
+
+ * amd/amd.c (main): log am-utils version string (same as amd -v)
+ at start of run.
+
+ * conf/transp/transp_sockets.c (get_nfs_version): in order to tell
+ if a remote host is available, try to contact its portmapper and
+ timeout if no answer is received in 3 seconds.
+
+Thu Aug 14 16:12:04 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_extern.m4 (pattern): use a simpler pattern for
+ match for external function definitions. The function could span
+ multiple lines, so only match the opening parenthesis, not the
+ closing one too.
+
+ * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
+ posix mode for nextstep3. It is broken.
+
+ * amd/amd.c (init_global_options): run uname() only if
+ <sys/utsname.h> and uname(2) exist.
+
+ * amd/rpc_fwd.c (fwd_packet): if remote host is down, the
+ forwarding socket is null, so declare this an error.
+
+ * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
+ for when a remote host is down. Try, in order, "host down", "host
+ unreachable", "invalid argument".
+
+ * amd/ops_nfs.c (discard_fh): don't dereference a null pointer
+ (happens when remote host is down, and fp->fh_fs is NULL).
+ (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
+ and FSF_DOWN.
+
+ * amd/sched.c: nobody uses "union wait" any more, or so it
+ appears, so clean up that code.
+
+ * conf/transp/transp_tli.c (get_nfs_version): if remote host is
+ down, time it out faster than default (3 seconds).
+ (get_mount_client): free netconfig entry when done with it.
+
+ * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
+ port to nextstep3 (m68k-next-nextstep3).
+
+ * fsinfo/Makefile.am (LDADD): needs to link with libamu in case
+ system does not have strdup().
+
+ * include/am_defs.h: complete external definition for getlogin()
+ if needed.
+
+ * conf/transp/transp_tli.c (get_nfs_version): no need to keep
+ static versout variable.
+
+ * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
+ server is probably down. Don't use sendto() in that case.
+
+ * buildall (default): run gmake if found, before trying plain
+ make. GNU make is always preferable.
+
+Tue Aug 12 21:23:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/host_macros.m4: cleanup of os_version and os
+ overrides. Solaris 2.5.1 for example will come up as solaris2 and
+ 2.5.1, rather than sunos5 and 5.5.1. Both can be overridden in
+ the amd.conf file.
+
+Fri Aug 8 14:37:30 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a9 ***
+ *******************************************************************
+
+Thu Aug 7 00:52:14 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
+ (i486-ncr-sysv4.3.03) headers. Needed to complete missing stuff
+ from <ndbm.h> and <sys/resource.h>.
+
+ * scripts/amd.conf.5: new map page.
+
+ * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
+ does not.
+
+ * amd/amd.8: updated man page.
+
+ * amd/get_args.c (get_args): removed defunct -h option to amd.
+
+ * amq/amq.8: updated man page.
+
+ * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
+ SparcCompiler CC won't complain.
+
+ * amd/info_hesiod.c (hesiod_search): small fixes to compile with
+ hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
+
+ * aux/macros/opt_ldflags.m4: new option added to configure
+ --enable-ldflags, to specify -L option for configuring/compiling.
+ The older one --enable-libs is now to be used only for -l options.
+
+ * amd/ops_nfs.c (mount_nfs_fh): bug fixed. Should initialize
+ nc_protoname from nfs_proto if available for all TLI systems, not
+ just those that have NFS V3.
+
+ * amd/info_ldap.c: ldap patches from Leif Johansson
+ <leifj@matematik.su.se>, adding two new amd.conf ldap variables:
+ ldap_cache_seconds and ldap_cache_maxmem.
+
+ * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
+ htons().
+
+Sun Aug 3 17:20:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/nfs_start.c (mount_automounter): register amd with the rpc
+ program number that may have been overridden by amd.conf.
+
+ * libamu/xutil.c (set_amd_program_number, get_amd_program_number):
+ allow storing and retrieving alternate amd program numbers.
+
+ * amd/conf.c (gopt_portmap_program): new function to parse
+ amd.conf entry portmap_program=1234.
+
+ * amq/amq.c (main): allow specifying an alternate rpc program
+ number for amd via -P prognum.
+
+ * new amq RPC to get the process id of the running amd. This is
+ used in ctl-amd to quickly find the pid of the amd that is to be
+ killed.
+
+ * expanded shared libraries support. Using GNU libtool-1.0,
+ am-utils now builds shared libraries on many platforms that have
+ support for it and proper compilers/linkers. See "INSTALL" file
+ for compatibility chart.
+
+Thu Jul 31 13:07:23 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * fsinfo/fsi_lex.l: removed code that was in support of very old
+ versions of flex. No longer needed.
+
+Tue Jul 29 12:00:13 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/amd.c (init_global_options): find the kernel architecture
+ from uname() if possible.
+
+Mon Jul 28 03:53:59 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * new working port: i386-unknown-openbsd2.1
+
+Fri Jul 25 03:16:31 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu>
+
+ * working port: sparc-sun-solaris2.4. Had to fix fhandle_t from
+ structure to actual char[], because the structure was passed to
+ xdr_fhandle as data and not a pointer. Surprisingly, gcc
+ -fpcc-struct-return did not help.
+
+ * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
+ definitions for solaris 2.4 have to be different from 2.3, and
+ different from 2.5.
+
+ * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
+
+Thu Jul 24 16:22:39 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
+ types, not ==. Fix from Christos Zoulas <christos@deshaw.com>.
+
+ * mk-amd-map/mk-amd-map.8: man page taken from bsd44.
+
+Thu Jul 24 00:01:55 1997 Erez Zadok <ezk@moisil.cs.columbia.edu>
+
+ * conf/mount/mount_linux.c: made the nfs error mapping code into a
+ small function.
+
+Wed Jul 23 16:11:49 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
+ error mappings from errno numbers to NFS errors. From Debian
+ Linux.
+
+ * scripts/am-eject.in (fs): new script (taken from Debian Linux
+ folks) to auto-unmount floppy/cd devices before ejecting them.
+
+ * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
+ '5' as second arg to show_area_being_processed. I'm not sure why.
+
+ * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
+ second arg to show_area_being_processed. I'm not sure why.
+
+ * conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
+ ensure that you have a buffer in *xopts to strcat onto.
+ (mount_linux): fixed from Debian folks to ensure that NFS mount
+ sockets are connected only for kernels prior to 1.3.10 (avoids
+ hangs for multi-homed hosts).
+
+ * amd/mapc.c (make_entry_chain): from Debian folks: don't skip
+ over amd map keys that have a prefix, and include the prefix in
+ the returned readdir().
+
+ * amd/info_passwd.c (passwd_init, passwd_search): format
+ enhancements from the Debian Linux folks. They added
+ - var0:=pw-prefix:=anydir
+ - var1:=pw-rhost:=dom3.dom2.dom1
+ - var2:=pw-user:=user
+ - var3:=pw-home:=/anydir/dom1/dom2/dom3/user
+
+ * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
+
+ * amd/ops_afs.c (afs_retry): patches from Debian Linux. If
+ afs_mount timed out, then explicitly forbid further retries after
+ the timeout. (afs_bgmount): bug fix from Debian Linux. Timeout
+ values (17 and 5) were mistakenly swapped.
+
+Wed Jul 23 15:53:25 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
+ support for Solaris 2.4 (the header files incorrectly define parts
+ of the NFS V.3 protocol, but the kernel does not support it).
+
+Wed Jul 23 00:07:12 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
+ for determining if using old or new hesiod libraries,
+ respectively.
+
+ * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
+ V.3 then use non-connected sockets (both TCP and UDP). Otherwise
+ they cause hangs of mounts from multi-homed hosts when the return
+ route is not the same as the outgoing route (esp. on NetBSD
+ 1.2.1). If "conn" option was supplied, then don't turn on the
+ "noconn" mount option. Otherwise default to "noconn" mount
+ option.
+
+ * aux/configure.in: better check for systems that need libgdbm and
+ <ndbm.h>
+
+Tue Jul 22 04:02:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
+ mounts are hidden from df(1) on systems that keep mount tables in
+ kernel, such as osf1.
+
+Tue Jul 22 02:26:55 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a8 ***
+ *******************************************************************
+
+Mon Jul 21 21:33:19 1997 Erez Zadok <ezk@stone.mcl.cs.columbia.edu>
+
+ * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
+ AF_INET when hlfsd mounts itself, thus getting an errno "protocol
+ family not supported".
+
+Mon Jul 21 20:46:59 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * verified that amd on NetBSD 1.2.1 (i386) works, but the OS
+ itself is flaky.
+
+ * verified that amd AIX 3 works w/ the new readdir() code.
+
+Mon Jul 21 18:59:30 1997 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu>
+
+ * amd/mapc.c (maptypes): changed the default map caching type for
+ nis and ndbm maps to "MAPC_ALL", so that all possible entries will
+ be available to amd for browsable_dirs=yes.
+
+Mon Jul 21 18:04:16 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
+ afs_readdir into a browsable version and a non-browsable one.
+ Fixed bugs that resulted in an infinite nfs_readdir loop on the
+ localhost for some operating systems.
+
+Sat Jul 19 19:38:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_afs.c (afs_readdir): fixed up the browsable code to
+ comply with nfs_readdir specs. It was returning all entries at
+ once, even if there was not enough space in the RPC packet. Now,
+ it sends a reasonably sized chunk, and sets static state to resume
+ it for the next continuation RPC of readdir.
+
+ * amd/conf.c (set_conf_kv): fixed bug that resulted in the first
+ regular map not getting all of the [global] options defaulted from.
+
+Fri Jul 18 00:45:12 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amq/amq.c (main): fixed so that portmapper "ping" will only fail
+ upon an RPC timeout
+
+ * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
+ amd/hlfsd process to kill.
+
+ * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
+ determine how to avoid df from seeing amd's toplvl mounts. Moved
+ from libamu/mount_fs.c and include/am_utils.h. Ensure that hlfsd
+ is hidden from df.
+ (mount_toplvl): fixed df types for irix.
+
+Thu Jul 17 21:59:45 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu>
+
+ * amq/amq.c (main): fixed bug that caused the 5 second timeout for
+ TLI amq using udp to be ignored.
+ (main): if amq cannot contact remote host's portmapper within 5
+ seconds, timeout and fail faster than the default longer timeout
+ (this is for non-TLI systems).
+
+Thu Jul 17 17:08:13 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amq/amq.c (get_secure_amd_client): if amq cannot contact
+ remote host's portmapper within 5 seconds, timeout and fail faster
+ than the default TLI timeout of over 4 minutes.
+
+ * amd/am_ops.c (ops_showfstypes): added styles for new bsd44
+ file systems nullfs, unionfs, and umapfs.
+ (ops_show1): cleanup code and and reuse this function.
+ (vops): empty placeholders for nullfs, unionfs, and umapfs.
+
+ * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
+ bsd44 style file systems.
+
+ * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
+ sources.
+
+ * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
+ conflict with systems that define it in <sys/ioctl.h> and also
+ define a conflicting one via lex. Newer versions of f/lex are ok.
+
+Wed Jul 16 00:17:45 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
+ acdirmin/max and acregmin/max only if they exist.
+
+ * aux/configure.in: test for nfs_args fields acdirmin and
+ acregmin.
+
+Tue Jul 15 17:24:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
+ "nondev" and commented back in checking for "nodev". This was a
+ typo.
+
+ * include/am_compat.h: more compatibility options: define "ro"
+ mnttab option all the time. Define "overlay" as needed. Added
+ more fillers of mnttab options (as per Daniel S. Riley
+ <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
+ acregmin, noac, grpid, nosuid, and actimo.
+
+ * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
+ per dsr@mail.lns.cornell.edu (Daniel S. Riley). Then cleaned up
+ the same code for other options in struct opt_tab.
+
+Mon Jul 14 22:36:37 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/get_args.c (get_args): moved amd.conf file parsing to before
+ the switching the default log/debug options. Suggested by
+ dsr@mail.lns.cornell.edu (Daniel S. Riley).
+
+ * aux/update_build_version: new script to record the build version
+ of amd, along with the rest of the info thet comes up with amd -v.
+
+Sun Jul 13 00:30:24 1997 Erez Zadok <ezk@decca.damtp.cam.ac.uk>
+
+ * aux/macros/os_cflags.m4: new macro, to add additional
+ compilation options (also used during configuration), based on the
+ OS and the compiler. Used for solaris-2.6, osf, and irix6.
+
+Fri Jul 11 10:15:11 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/conf_tok.l, conf_parse.y: allow values of keys to include
+ white spaces, if they are double-quoted (key="some value")
+
+ * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
+ of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
+
+Fri Jul 11 02:16:06 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a7 ***
+ *******************************************************************
+
+Thu Jul 10 12:19:25 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * include/am_defs.h: fill in extern definition of innetgr() in
+ case system headers don't.
+
+ * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
+ will show the full pathname to yacc/bison and f/lex. Some systems
+ have older or bad versions of those and this way the user will
+ know for sure what is being invoked.
+
+ * tasks: file populated with todo items.
+
+ * scripts/amd2ldif.in: Script to convert amd maps to plain text
+ LDAP object files. Contributed by Leif Johansson
+ <leifj@matematik.su.se>.
+
+ * aux/config.guess: added recognition for sun3's running 4.2bsd,
+ from Tom Schmidt <tschmidt@micron.com>. Fixed one small typo.
+
+ * amd/conf.c: several variables that were local to a map, were
+ also added to [global], where they apply to all maps. Each map
+ can then individually override those defaults. Flags
+ affected: browsable_dirs and mount_type. Options affected:
+ map_type, map_options, and search_path.
+
+ * amd/amd.h: eliminated several global flags each of which took an
+ int, in favor of one global flags variable used as a bit field.
+
+ * amd/amd.c (init_global_options): moved all global variables into
+ a single struct amu_global_options, so it is easier to add new
+ ones and/or identify existing ones.
+
+ * amd/get_args.c (get_args): removed unused amd -m option.
+
+ * amd/conf.c (gopt_cluster): added new amd.conf option for cluster
+ name, same as amd -C.
+
+ * amd/info_ldap.c: LDAP info map functions from Leif Johansson
+ <leifj@matematik.su.se>.
+
+ * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
+ amd.conf options for ldap_base and ldap_hostports.
+
+ * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
+ if the current host is in the ARG host netgroup.
+
+ * aux/configure.in: some systems replaced dbm in libc with GNU's
+ libgdbm, so check for libgdbm, but only if dbm_open is not in
+ libc already. This was a recommendation from Tom Schmidt
+ <tschmidt@micron.com>.
+
+ * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
+ completed.
+
+Wed Jul 9 18:14:59 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * port to sparc-unknown-netbsd1.2E done, not tested. Includes NFS
+ V.3.
+
+Tue Jul 8 17:35:07 1997 Erez Zadok <ezk@elk.mcl.cs.columbia.edu>
+
+ * port to i386-unknown-freebsd3.0 done and working. Includes NFS
+ V.3.
+
+ * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
+ file handle dereferencing style similar to freebsd22.
+
+ * include/am_defs.h: need to include <net/if_var.h> before
+ <netinet/if_ether.h> on freebsd3.
+
+ * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
+ for freeBSD 3.0.
+
+Tue Jul 8 16:53:41 1997 Erez Zadok <ezk@moisil.cs.columbia.edu>
+
+ * amd/info_nis.c (nis_reload): cast nis' callback function so
+ picky compilers won't complain.
+
+ * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
+ gets compiled only if the system has NFS V3 and does not have
+ xdr_mountres3.
+
+Tue Jul 8 12:42:03 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * COPYING: put in some legal stuff in this file.
+
+Mon Jul 7 19:10:44 1997 Erez Zadok <ezk@prometheus.soscorp.com>
+
+ * NFS V3 now works under Irix5, thanks to patches from
+ Andreas Stolcke <stolcke@speech.sri.com>.
+
+ * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
+ version and an irix6 version, since irix5's NFS V3 code is broken
+ and hacky.
+
+ * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
+ sizes for some hesiod queries. Patch from Danny Braniss
+ <danny@cs.huji.ac.il>.
+
+Mon Jul 7 19:04:14 1997 Erez Zadok <ezk@glory.soscorp.com>
+
+ * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
+
+Sun Jul 6 14:22:24 1997 Erez Zadok <ezk@glory.soscorp.com>
+
+ * aux/{configure.in,acconfig.h}: added checks for struct
+ nfs_args's fields proto and sotype (bsdi3).
+
+ * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
+ nfs_args.flags for bsdi3. Set field proto to 0. Set sotype field
+ to SOCK_STREAM or SOCK_DGRAM.
+
+ * aux/macros/check_mount_style.m4: add case for bsdi3.
+
+ * amd/info_hesiod.c: got hesiod support for bsdi3.
+
+Sun Jul 6 11:14:47 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: look for hesiod on libc (bsdi3)
+
+ * amd/get_args.c (get_args): reformat usage so it fits in 80
+ columns.
+
+ * scripts/ctl-amd.in: changed directory name for optional tftpboot
+ map to /tftpboot/.amd.
+
+Sat Jul 5 17:46:45 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a6 ***
+ *******************************************************************
+
+Sat Jul 5 03:17:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/ctl-amd.in: include -T tag for tftpboot.
+
+ * new port: mips-sgi-irix5.3. Compiled with gcc, but NFS V3 code
+ is broken and needs work on the specific nfs_args that irix5 uses
+ for V3 mounts.
+
+Sat Jul 5 01:44:25 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/get_args.c (get_args): new options amd -T tag. A map with
+ tag=foo matching the -T tag will be processed. All untagged maps
+ get processed all the time.
+
+Fri Jul 4 16:19:26 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: need to check for strcasecmp in libucb (ncr2)
+
+ * aux/macros/check_os_libs.m4: a new macro to set the usage of
+ libnsl and libsocket based on the OS.
+
+ * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
+ defined (problem on osf4).
+
+ * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
+
+ * include/am_defs.h, aux/macros/try_compile_nfs.m4,
+ aux/macros/mount_headers.m4: do include <sys/proc.h> because it
+ failes on irix5. Rather, put in the individual
+ conf/nfs_prot/nfs_prot_*.h headers.
+
+ * amd/conf.c: AIX3 doesn't like strdup() being passed a constant
+ char*, so cast all strdup()'s args to a non-const char*.
+
+ * amd/mapc.c (root_newmap): don't try to strdup only a "const
+ char *".
+
+Fri Jul 4 15:47:10 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
+ sys/errno.h.
+
+Thu Jul 3 17:49:00 1997 Erez Zadok <ezk@prometheus.soscorp.com>
+
+ * made sure am-utils compiles, links, and runs properly on Irix
+ 6.2 using "cc -32 -Wl,-woff,"
+
+ * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
+ AC_CHECK_LIB. If OTHER-LIBRARIES are defined and used, then add
+ them to $LIBS.
+
+ * aux/configure.in: some cleanup of which libraries are needed.
+ Espectially ensure that libnsl is included only on Solaris, where
+ so far it is the only system on which it is absolutely necessary.
+ Also no longer need to include libc explicitly.
+
+ * amd/amd.c,wire-test/wire-test.c (main): convert IP address to
+ network-long order before printing it.
+
+ * wire-test/wire-test.c (main): also check and report on the IP
+ address of the local host, since some systems have bad versions of
+ get_myaddress, or ones that conflict with other versions in
+ multiple libraries (SunOS 4 and Irix especially).
+
+Wed Jul 2 18:19:02 1997 Erez Zadok <ezk@starblazers.soscorp.com>
+
+ * scripts/ctl-amd.in: don't use full pathname so killproc() works
+ better. Also run bsd44 and irix style ps programs.
+
+ * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
+ of library no matter if it was found or not.
+
+Wed Jul 2 02:11:48 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
+ for M_* macros, but ensure that <sys/stream.h> is not included at
+ all so it won't conflict with other M_* macros.
+
+Tue Jul 1 21:16:51 1997 Erez Zadok <ezk@mako.cs.columbia.edu>
+
+ * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
+ irix should be "spec" (host:/path), not the dir of the mnt point.
+
+ * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
+ fixed. If on, it essentially ignored the setting in a
+ selector-controlled /defaults if there were 2 or more entries in it.
+
+Tue Jul 1 12:23:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
+ using BSD style ps, then try SVR4 style ps.
+
+ * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
+ etc., to avoid conflicts with similar named macros in <ldap.h>.
+
+ * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
+ support needed for LDAP. Now the code has to be written mostly in
+ amd/info_ldap.c.
+
+ * Included additional patches from Andreas Stolcke
+ <stolcke@speech.sri.com> to support using the best possible
+ combination of NFS version (2,3) and protocol (udp,tcp) for any
+ given host, since it appears that some Irix versions have NFS V3,
+ but do not support TCP.
+
+ * scripts/ctl-amd.in: updated amd control script to look for and
+ use amd.conf file.
+
+Tue Jul 1 00:28:23 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/mapc.c (mapc_create): now, each map in the amd.conf can be
+ initialized off of a different type, or default to cycling through
+ all maps until one of them matches.
+
+Mon Jun 30 20:49:13 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
+ if browsable_dirs=yes is set in the map section in amd.conf, that
+ map will return all entries back to a readdir(2).
+
+Sun Jun 29 16:22:11 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * rudimentary amd.conf file support included. You may even
+ override things like os=sos5, to get "backwards" compatibility with
+ upl102.
+
+Sat Jun 28 13:35:02 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/conf.c: new file to process amd.conf file.
+
+ * amd/get_args.c (get_args): new options -H to print help.
+
+ * moved enable_default_selectors to be amd.conf controlled, and
+ not compiler controlled.
+
+ * amd/get_args.c (get_args): new options -F <conf-file> to parse an
+ amd configuration file.
+
+Wed Jun 25 23:15:42 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * converted all files that used strcmp() == 0 or != 0 to using
+ the STREQ() macro.
+
+Mon Jun 23 22:31:14 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
+ search for any number of functions in any given library.
+
+Mon Jun 23 01:04:23 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/mapc.c: Included patch from Leif Johansson
+ <leifj@matematik.su.se> to ensure that systems without an RE
+ library can compile.
+
+ * libamu/mount_fs.c (mount_fs): Included patch from Andreas
+ Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
+ table are properly delimited by a comma.
+
+ * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
+ Stolcke <stolcke@speech.sri.com>, to allow users to override the
+ proto= and vers= mount options.
+
+Sun Jun 22 01:00:11 1997 Eric Dana (edana@ncr2.bgs.com)
+
+ * conf/nfs_prot/nfs_prot_svr4.h: port completed to
+ i486-ncr-sysv4.3.03. Assorted source cleanups done.
+
+ * include/am_defs.h, aux/macros/mount_headers.m4: don't include
+ mnttab.h if sys/mnttab.h was already included, because on ncr2,
+ they contain conflicting entries for struct mnttab.
+
+Sat Jun 21 23:52:15 1997 Eric Dana (edana@ncr2.bgs.com)
+
+ * aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
+
+Fri Jun 20 06:14:17 1997 Erez Zadok <ezk>
+
+ * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
+
+ * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
+ on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
+
+Wed Jun 18 18:59:49 1997 Erez Zadok <ezk@defiant.soscorp.com>
+
+ * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
+ nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
+ better.
+
+Tue Jun 10 17:06:58 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
+ NULL, set the maxlen and len fields in netbuf to zero.
+
+Wed May 28 22:52:28 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/fix-amd-map.in (name): replace all matching patterns on
+ line.
+
+Sun May 25 19:33:41 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a5 ***
+ *******************************************************************
+
+Sun May 25 13:37:24 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
+ procedure now returns the full string that amd -v returns.
+
+ * amd/get_args.c (get_version_string): new function to return
+ complete version/info string so it could be used more flexibly.
+
+ * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
+ of Fs types into a string buffer, rather than a FILE*.
+
+ * amd/mapc.c (mapc_showtypes): put the list of map types into a
+ string buffer, rather than a FILE*.
+
+Sun May 25 01:25:36 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/get_args.c (get_args): amd -v also prints user who built
+ amd, hostname built on, and date of configuration.
+
+Sat May 24 13:40:50 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * scripts/lostaltmail.conf-sample: sample lostaltmail
+ configuration file.
+
+ * scripts/lostaltmail.in: new script lostaltmail used to redeliver
+ "lost" mail that hlfsd redirected to a temp location because the
+ primary home file system of the user was full.
+
+ * scripts/amd2sun.in: new script amd2sun. Used to convert Sub
+ automount maps to amd maps.
+
+ * scripts/ctl-hlfsd.in: new script ctl-hlfsd. Used to start,
+ stop, or restart hlfsd.
+
+ * scripts/expn.1: man page for expn command.
+
+ * scripts/ctl-amd.in: new script ctl-amd. Used to start, stop, or
+ restart amd.
+
+ * scripts/expn.in: new script expn. Actually taken from David
+ Muir Sharnoff <muir@idiom.com>. Used by hlfsd's mail re-delivery
+ script.
+
+ * scripts/wait4amd.in: new script wait4amd added. Waits for amd
+ to come up on a host, and then runs a command (rsh $hostname by
+ default).
+
+ * scripts/Makefile.am: new directory now holds all shell/perl
+ scripts that belong to am-utils.
+
+ * conf/mount/mount_linux.c (parse_opts): new parser for
+ linux-specific mounts. Handles fs-type specific mount-options
+ correctly. Currently implemented: msdos, iso9660.
+
+ * amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
+ (fix for linux).
+
+ * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
+ (fix for linux).
+
+ * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
+ core dumps upon "ls" of a mount point; an invalid pointer was
+ being returned and dereferenced.
+
+ * port to Linux sparc working!
+
+ * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
+ failed to write test file, or else the fd will leak.
+
+Sun May 18 00:42:41 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
+ instead of strcmp().
+
+ * Port to Digital Unix 4.0 (OSF) done.
+
+ * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
+ with dirname() function in <string.h> on OSF systems.
+
+ * fsinfo/fsi_util.c (set_ether_if): take out extern definition of
+ inet_addr(). It should come from <arpa/inet.h> instead.
+
+ * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
+
+ * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
+ avoid conflicts with DU 4.0 system header.
+
+Thu May 15 22:49:12 1997 Erez Zadok <ezk@subzero.cs.columbia.edu>
+
+ * libamu/mount_fs.c (mount_fs): pass along NFS version so I can
+ determine if to include additional options in the mount table file
+ entry (such as proto=tcp, and vers=3).
+
+Thu May 15 00:42:12 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * libamu/mount_fs.c (mount_fs): include NFS version number in the
+ mount table options, as well as proto={tcp,udp}.
+
+Wed May 14 14:30:19 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * NFS V3 code ported to most other systems, so it compiles for V2
+ and V3 NFS systems.
+
+ * NFS VERSION 3 support, first pass. Working for Solaris and
+ using TCP.
+
+Sun May 11 01:14:29 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amq/amq.c: many newline characters were missing from various
+ stderr printfs.
+
+Sat May 10 13:09:06 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
+ Solaris, which include NFS V3 support.
+
+ * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
+
+ * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
+ protocol version while getting a mount client.
+
+ * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
+ file handle size, and proper file handle based on the correct NFS
+ version number.
+
+ * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
+ Solaris and other SVR4 systems.
+
+ * amd/ops_nfs.c: store NFS file handle version and version
+ specific handle in struct fh_cache.
+ (got_nfs_fh): pick the correct RPC reply based on the NFS version
+ of the server.
+ (prime_nfs_fhandle_cache): figure out the right NFS file handle
+ for a node, but now include NFS protocol version information.
+ (call_mountd): set the correct version for the mount protocol,
+ based on the NFS protocol version.
+ (nfs_init): use the NFS protocol generic structure
+ am_nfs_handle_t.
+
+ * include/am_utils.h: new structure am_nfs_handle_t to contain all
+ possible versions of NFS file handles.
+
+ * amd/srvr_nfs.c (start_ping): ping program performs NFS version
+ specific pings.
+ (recompute_portmap): figure out the correct portmap version mount.
+ (nfs_keepalive): call start_ping() with the correct NFS version.
+ (find_nfs_srvr): if mount option "vers=" is given, use it. Get
+ the NFS server version and verify that it is up.
+
+ * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
+ function to find the best NFS version for a particular host.
+
+ * libamu/amu.h: determine what is the highest version of NFS we
+ should try.
+
+ * include/am_utils.h (NFS_VERSION3): added definition for NFS V3
+ protocol number.
+ Added field fs_version to struct fserver, so we can now store the
+ server protocol version.
+
+Fri May 9 01:09:45 1997 Erez Zadok <ezk@lorien.cs.columbia.edu>
+
+ * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
+ underscores too, so I can test for sub-fields.
+
+ * libamu/wire.c: use test that checks for sub-fields of struct
+ ifreq.
+
+Sat May 6 10:20:17 2000 Erez Zadok <ezk@glory.soscorp.com>
+
+ * port to BSD/OS 3.0 completed! Many xdr_ functions were broken
+ into smaller files. M4 macros fixed to test for existence of
+ file systems using getvfsbyname().
+
+ * amd/sched.c (sigchld): signal handler must waitpid() for all
+ possible children.
+
+ * hlfsd/homedir.c: signal handler must waitpid() for all possible
+ children.
+
+ * aux/macros/check_restartable_signals.m4: new macro to determine
+ if need to reinstall signal handlers per OS is better than trying
+ to figure these out based on system macros.
+
+Fri May 5 19:23:28 2000 Erez Zadok <ezk@glory.soscorp.com>
+
+ * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
+
+ * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
+
+ * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
+ (must be supplied for bsdi 3.0)
+
+ * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
+ associated new macro) for determining the right way to compute the
+ size of the interface structure.
+
+Fri Apr 11 15:56:13 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * aux/configure.in: need to include libc before libnsl if
+ get_myaddress() is available because on irix libnsl has a buggy
+ get_myaddress().
+
+ * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
+ on Irix 6 (an SVR4 variant)
+
+Thu Mar 27 02:28:40 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a4 ***
+ *******************************************************************
+
+Wed Mar 26 21:15:36 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/amq_subr.c (ok_security): turned off insecure code unless
+ user explicitly runs configure --enable-amq-mount.
+
+ * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
+
+ * amd/nfs_start.c (mount_automounter): use code that separately
+ creates the NFS and the amq service. Register tcp and udp
+ services for amd.
+
+ * conf/transp/transp_*.c (create_amq_service): new function to
+ separately create the amq service for amd. Simplified prototypes
+ for create_nfs_service().
+
+Wed Mar 19 20:40:56 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a3 ***
+ *******************************************************************
+
+Wed Mar 19 17:49:18 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0. Lots
+ of small changes to support these two.
+
+Wed Mar 19 14:33:30 1997 Erez Zadok <ezk@grande.cs.columbia.edu>
+
+ * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
+ should run if MOUNT_TABLE_ON_FILE, not otherwise.
+
+Mon Mar 17 22:02:43 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * hlfsd/hlfsd.c (main): fill in fhsize field if exists
+ (freebsd-2.2).
+
+ * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
+ exists (freebsd-2.2).
+
+Sat Mar 15 19:37:48 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * new port: i386-unknown-freebsd2.2. FreeBSD 2.2 and higher
+ changed the filehandle type in struct nfs_args from nfsv2fh_t to
+ u_char.
+
+Sat Mar 14 10:11:03 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * SHARED LIBRARIES: too many changes to list individually. Now,
+ libamu can be built as a shared library, and other programs link
+ with it.
+
+Tue Mar 11 22:24:09 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * aux/macros/opt_shared.m4: new macro for setting options for
+ building shared am-utils libraries.
+
+Sun Mar 9 19:17:46 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * fixmount/fixrmtab: cleaned up the script.
+
+ * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
+ fixrmtab gets distributed too.
+
+ * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
+ Added extern for xdr_mountlist().
+
+ * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
+ MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
+ the sources.
+
+Sat Mar 8 00:23:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * fixmount/hlfsd ported to bsd44, hpux, and linux systems.
+
+ * aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
+
+ * conf/fixmount/fixmount_default.c: use lockf() if flock() is
+ unavailable.
+
+ * include/am_defs.h: include <string.h> even if don't have
+ STDC_HEADERS defined (sunos4).
+ (seteuid): define seteuid() to be setresuid() for systems that
+ have but not the other (hpux).
+
+ * aux/macros/check_extern.m4: test should include <strings.h>.
+
+Tue Mar 4 17:16:52 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * lib/xutil.c (debug_option): moved from amd/getargs.c to this
+ more proper file.
+
+ * include/am_utils.h: put in structure for debug options, for all
+ progams to use.
+
+ * amd/get_args.c: moved structure for debug options out.
+
+Sun Mar 2 00:13:07 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * ported fixmount.
+
+ * lib/ualarm.c: replacement function for systems that don't have a
+ ualarm().
+
+ * ported fsinfo.
+
+Sun Mar 1 10:23:34 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * ported mk-amd-map.
+
+ * buildall: added -K option to buildall, to run mkconf.
+
+Fri Feb 28 01:10:25 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a2 ***
+ *******************************************************************
+
+Thu Feb 27 13:58:59 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * all *.[hcyl] files: add copyright line.
+
+ * aux/macros/check_mount_type.m4: test for mount type for
+ linux-like systems, by checking for loadable or statically linked
+ kernel filesystem modules.
+
+ * aux/macros/check_mnttab_type.m4: test for mount table entry
+ for linux-like systems, by checking for loadable or statically
+ linked kernel filesystem modules.
+
+ * aux/configure.in: pcfs filesystems can use vfat type (linux)
+
+ * aux/macros/check_fs_mntent.m4: test for filesystem existence for
+ linux-like systems, by checking for loadable or statically linked
+ kernel filesystem modules.
+
+ * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
+ 9.0 header files. This should be removed when HPUX 9.0 is deemed
+ defunct.
+
+ * aux/acconfig.h: set an undefined variable for having an extern
+ to clnt_sperrno().
+
+ * include/am_defs.h: define extern for clnt_sperrno() if needed.
+
+ * aux/configure.in: test for extern clnt_sperrno().
+
+ * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
+ similar to irix.
+
+ * aux/macros/check_mount_style.m4: use mount helper on HPUX.
+
+ * aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
+ not integer (but may be mapped to one later).
+
+ * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
+ files. They have mount(2) and vfsmount(2) which don't take same
+ arguments, and they have string mount types MNTTYPE_* as well as
+ integer types MOUNT_*. So I need this new mount function to map
+ from string types to integer types for the vfsmount() function.
+
+ * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
+ vfsmount(), call mount_hpux().
+
+Thu Feb 27 03:34:14 1997 Erez "HWank1" Zadok <ezk@okeeffe.cs.columbia.edu>
+
+ * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
+ both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
+
+Thu Feb 27 00:26:00 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
+ hpux.
+
+ * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
+
+ * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
+
+ * buildall: added ability to configure using other shells than
+ /bin/sh, on those systems where /bin/sh is buggy or limited
+ (HPUX).
+
+ * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
+ defined am_nfs_fh, and also test for plain typedef "nfs_fh".
+
+ * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
+ reinstated macro.
+
+ * aux/configure.in: check for <nfs/export.h>
+
+ * include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
+
+ * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
+ exists.
+
+ * aux/macros/mount_headers.m4 (define): removed some non-working
+ (on HPUX) code that attempts to recreate the fhandle_t rather than
+ load it up from system headers. Also added some NFS protocol
+ header inclusion. include <nfs/export.h> (HPUX) if exists.
+
+Wed Feb 26 00:32:35 1997 Erez "HWank1" Zadok <ezk@okeeffe.cs.columbia.edu>
+
+ * aux/macros/mount_headers.m4 (define): Use M4 changequote to
+ ensure [] brackets are correctly used.
+
+ * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
+ multi-line M4 inclusions in [].
+
+Tue Feb 25 22:19:44 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
+ it exists.
+
+ * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
+ config.h macro for field f_fstypename of struct statfs.
+
+ * aux/configure.in: testing for field f_fstypename field of struct
+ statfs (NetBSD).
+
+ * aux/acconfig.h: moved all of the "static" definitions out to a
+ fixed file called include/am_defs.h. Added to all */Makefile.am
+ files a dependency on am_defs.h. Created am_defs.h of course, and
+ then added #include <amd_defs.h> to all of the source and header
+ files that required it.
+
+Mon Feb 24 01:27:02 1997 Erez Zadok <ezk@defiant.soscorp.com>
+
+ * aux/acconfig.h: two more externals for xdr functions that may be
+ implemented by libamu.
+
+ * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
+ definitions.
+
+Sun Feb 23 15:25:26 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * buildall (default): added -D option for turning on even stricker
+ developer options.
+
+ * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
+ determine dependencies on optional NFS protocol headers.
+
+ * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
+
+ * aux/macros/check_nfs_prot_header.m4: new test to determine what
+ NFS protocol headers to use.
+
+ * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
+ complete missing system headers for NFS protocol definitions.
+
+Sun Feb 16 15:58:42 1997 Erez "HWank1" Zadok <ezk@vir.cs.columbia.edu>
+
+ * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
+ #ifdef's as needed.
+
+ * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
+ suitable #ifdef'ed.
+
+ * include/am_compat.h: a couple more mnttab options
+ (timeo/retrans) setting just in case.
+
+ * amd/autil.c (host_normalize): make sure hostent->h_name is
+ passed a non-const char *.
+
+ * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
+
+ * {lib,amq,amd}/*.c (many functions): cast xdr_entry to
+ XDRPROC_T_TYPE.
+
+ * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
+ XDRPROC_T_TYPE.
+
+ * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
+ XDRPROC_T_TYPE.
+
+ * lib/wire.c (getwire): Make sure safe assignment from const to
+ none is done.
+
+Sat Feb 15 19:38:51 1997 Erez "HWank1" Zadok <ezk@vir.cs.columbia.edu>
+
+ * aux/macros/expand_cpp_int.m4: new macro for expanding integers.
+
+ * aux/configure.in: added linux/fs.h support in configure and
+ several M4 macros.
+
+ * conf/mount/mount_linux.c (mount_linux): use macro instead of
+ "ugly" fixed hex number for mount() arguments.
+
+Sat Feb 15 02:09:47 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
+ turned all of its code always on. That code always seems to
+ compile, as long as you have hesiod and libresolv.
+
+ * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
+ of its code always on.
+
+ * aux/configure.in: removed superfluous test for hs_zone_transfer
+ function (will never find it because it is an amd-internal
+ function).
+
+ * amd/mapc.c (maptypes): must used correct new name for am-utils'
+ hesiod initialization function: hesiod_am_init.
+
+ * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
+ hesiod_am_init so as not to conflict with libhesiod's
+ hesiod_init() function.
+
+ * aux/configure.in: added test and explicit inclusion of
+ libresolv.a for later resolution of library references with
+ libhesiod.
+
+ * aux/macros/opt_cppflags.m4: new file. configure/compile C
+ preprocessor flags.
+
+ * aux/macros/opt_libs.m4: new file. configure/compile library
+ flags.
+
+ * Makefile.am (EXTRA_DIST_AUX): include two new macros
+ opt_cppflags.m4 and opt_libs.m4.
+
+ * aux/configure.in: test for libhesiod needs to additional
+ libresolv to link completely. Additional configuration time
+ options added for setting initial CPPFLAGS and LIBS.
+
+Tue Feb 10 02:15:40 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ *******************************************************************
+ *** Released am-utils-6.0a1 ***
+ *******************************************************************
+
+Thu Feb 6 02:55:19 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
+ it works on freebsd, where they map dbm_pagfno a non-existing
+ macro on purpose, to force you to port the code to Berkeley DB.
+
+Fri Jan 31 01:35:09 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
+ actual mount_toplvl, to avoid some possible race conditions.
+
+Thu Jan 30 02:31:49 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
+
+Wed Jan 29 18:25:07 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
+
+ * amd/amd.c (main): fix local address using htonl(). Free up
+ buffers allocated by netdir_*() functions.
+
+Wed Jan 22 23:53:24 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/fix-amd-map.in: new script that will convert old-style amd
+ maps to new one.
+
+Tue Jan 21 01:18:16 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
+ and replies back to simple nfs/link type mount queries).
+
+ * conf/mtab/mtab_svr4.c: reorganized the code in this file to be
+ easier to read, and fixed a few bugs with un/setting the lock file
+ descriptor.
+
+Wed Jan 8 15:27:49 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
+ signals in Svr3 systems. Only stellix ever used this.
+
+ * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
+ by DYNAMIC_BUFFERS, since it was not in use.
+
+Tue Jan 7 00:45:59 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/opts.c (eval_opts): removed AMD_COMPAT code. Amd no longer
+ takes '=' sign as old selector. Fix your maps.
+ (deslashify): removed APOLLO code that treated two '//' as one.
+
+Sun Jan 5 01:25:09 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
+ was not used. It made any submount error fail the whole group.
+
+ * amd/ops_nfs.c (make_nfs_auth): removed code dependent on
+ HAS_NFS_QUALIFIED_NAMES.
+ (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
+ is never on. So code that was triggered by #ifndef
+ NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
+ be fixed later.
+ Removed all ULTRIX_HACK code. Ultrix is DEAD!
+ removed all PRESET_AC code, which was only on for Linux to preset
+ the attribute cache values (otherwise they default to zero).
+ (nfs_umounted): revobed KICK_KERNEL code (IRIX systems). Will
+ have to fixed up later.
+ (mount_nfs_fh): removed code that was never included, which
+ attempted to set the port on which amd's nfs mounts on. This
+ isn't supported by the ping algorithm yet. In any case, it is all
+ done in nfs_init().
+
+ * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
+ removed HAS_TCP_NFS code. The whole use of NFS V.3 with TCP or
+ specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
+ have to be addressed later.
+
+ * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
+ on PRECISE_SYMLINKS.
+
+ * amd/mapc.c (mapc_meta_search): removed code that depended on
+ HAS_DEPOT. It is known buggy code. The whole DEPOT support needs
+ to be rethought.
+ (mapc_add_kv): ported code to use standard regular expression
+ (regexp) library.
+
+ * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
+ FLUSH_KERNEL_NAME_CACHE and the macro itself.
+
+Sat Jan 4 15:46:58 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/map.c (exported_ap_alloc): removed all code triggered by
+ SHRINK_EXPORTED_AP and the macro itself.
+
+ * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
+ in all the time. Assuming that there is always NIS realod
+ available.
+ (yp_all_fixed): removed code for BROKEN_YP_ALL. If your yp_all()
+ function is broken such that it does not release filedescriptors
+ it created, then you are hosed. Get a fix for yp_all from your
+ vendor or switch operating systems.
+
+Tue Dec 31 15:34:36 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
+ HAVE_HS_ZONE_TRANSFER.
+
+Mon Dec 30 17:33:23 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
+ always included. We should always try to inform the remove mount
+ daemon of mounts we performed. If we want an option for this, it
+ should be a run-time option.
+
+ * amd/host_ops.c: removed all that optionally did not make the
+ directory mount points for amd.
+
+ * HOST_EXEC code removed from everywhere. There is no indication
+ that it was used anywhere. If it needs to be used, then a
+ run-time switch should control it.
+
+Thu Dec 26 00:06:52 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amd/*_ops.c: removed all references to mntent_t's fields
+ mnt_freq and mnt_passno, since they are no longe rused (and never
+ have been).
+
+ * amd/am_ops.c: removed function sunos4_match, which was off
+ anyway. This was one of the places where an '=' sign was allowed
+ as an assignment operator (which is now ':=').
+
+ * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
+ was off anyway. This was one of the places where an '=' sign was
+ allowed as an assignment operator (which is now ':=').
+
+Tue Dec 24 01:53:52 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * amq/amq.c: ported to am-utils. Working.
+
+ * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
+ to be string, as it should be (rather than a string mapped to int
+ and back mapped to string).
+
+Sun Dec 22 13:26:05 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
+
+ * lib/umount_fs.c: split this into three files: default, osf, and
+ bsd44, that are in conf/umount/umount_*.c.
+
+Thu Dec 19 17:33:46 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu>
+
+ * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
+ macro to automatically figure out if an external definition for
+ sys_errlist[] exists.
+
+ * lib/xutil.c (xfree): removed "#undef free" because it's not
+ needed there. Any system that redefines free() needs help.
+
+ * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
+ was dependent on REWRITE_MTAB_IN_PLACE. It does not appear to be
+ in active use anywhere. If added later, it should be a run-time
+ configuration option.
+
+ * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
+ be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
+ in a file in /etc.
+
+ * lib/util.c (str3cat): removed _AIX code. AIX should have a
+ working realloc, or else find a cleaner solution to this.
+ (mkdirs): removed SUNOS4_WORKAROUND code. This was to do a sync()
+ after immediately making directories so that fsck will be able to
+ fix the filesystem in the event of an immediate crash. This was
+ because a bug in UFS which is fixed by now.
+
+ * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
+ code. Does not appear to be on and used anywhere.
+ (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
+
+ * lib/resvport.c: split the binding of reserved ports code to a
+ separate file. A #define (HAVE_T_OPEN) separates the TLI (SVR4)
+ from the BSD code.
+
+Thu Dec 19 02:08:35 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
+ in by automake and configure, for optional sources that need to be
+ built as part of libamu.a.
+
+ * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
+ to LIBOBJS.
+
+ * lib/memcmp.c (memcmp): new file added to replace a possible bad
+ implementation of memcmp.
+
+Wed Dec 18 22:20:23 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * converted the sources to use memset/memmove/memcmp instead of
+ bzero/bcopy/bcmp.
+
+ * ran all sources through gnu Indent w/ options specified in
+ aux/amindent.
+
+Wed Dec 11 22:19:29 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ * At this point the initial generation of config.h via autoconf and
+ some preliminary makefiles via automake is done. I will not begin
+ modifying sources, so it's a good time to document from here.
+
+Wed Dec 10 22:19:29 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu>
+
+ *******************************************************************
+ *** Initial ChangeLog Entry ***
+ *******************************************************************