am-utils-6.1.git
20 years ago* conf/umount/umount_linux.c (umount_fs): cleanup this function,
Erez Zadok [Thu, 21 Jul 2005 05:22:47 +0000 (05:22 +0000)]
* 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).

* 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.

20 years ago* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
Erez Zadok [Thu, 21 Jul 2005 00:50:02 +0000 (00:50 +0000)]
* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.

20 years agominor NEWS typo
Erez Zadok [Wed, 20 Jul 2005 21:43:28 +0000 (21:43 +0000)]
minor NEWS typo

20 years ago* conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
Erez Zadok [Wed, 20 Jul 2005 03:32:30 +0000 (03:32 +0000)]
* 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.

* 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.

20 years agoalso fix speling errors and a typo
Erez Zadok [Tue, 19 Jul 2005 00:31:43 +0000 (00:31 +0000)]
also fix speling errors and a typo

20 years agosilly whitespace
Erez Zadok [Tue, 19 Jul 2005 00:06:13 +0000 (00:06 +0000)]
silly whitespace

20 years ago* configure.in: better help for users, if nfs_args can't be found.
Erez Zadok [Sat, 16 Jul 2005 17:19:47 +0000 (17:19 +0000)]
* configure.in: better help for users, if nfs_args can't be found.

20 years ago* BUGS: more details on AIX's need to install bos.net.nfs.adt
Erez Zadok [Fri, 15 Jul 2005 18:32:02 +0000 (18:32 +0000)]
* 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).

20 years ago* amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
Erez Zadok [Mon, 11 Jul 2005 01:55:28 +0000 (01:55 +0000)]
* 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.

20 years ago* amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
Erez Zadok [Sun, 10 Jul 2005 21:41:48 +0000 (21:41 +0000)]
* 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.

20 years ago* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
Erez Zadok [Sat, 9 Jul 2005 19:41:06 +0000 (19:41 +0000)]
* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
that are compatible with NFSv3.

20 years ago* m4/macros/header_templates.m4: extern template for strlcat().
Erez Zadok [Thu, 7 Jul 2005 23:34:23 +0000 (23:34 +0000)]
* 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().

Check for snprintf function and extern.

20 years ago* configure.in: overdue new major libtool shlib version.
Erez Zadok [Thu, 7 Jul 2005 22:29:26 +0000 (22:29 +0000)]
* configure.in: overdue new major libtool shlib version.

20 years agoNEWS item
Erez Zadok [Wed, 6 Jul 2005 22:51:45 +0000 (22:51 +0000)]
NEWS item

20 years ago* conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
Erez Zadok [Wed, 6 Jul 2005 22:34:26 +0000 (22:34 +0000)]
* 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.

20 years ago* amq/pawd.c (getawd): avoid buffer overflow. Bug fix from Graeme
Erez Zadok [Tue, 5 Jul 2005 17:45:37 +0000 (17:45 +0000)]
* amq/pawd.c (getawd): avoid buffer overflow.  Bug fix from Graeme
Wilford <G.Wilford@surrey.ac.uk>.

20 years agoNEWS note
Erez Zadok [Thu, 30 Jun 2005 14:59:08 +0000 (14:59 +0000)]
NEWS note

20 years ago* amd/map.c (get_next_exported_ap): Avoid running off the end of
Erez Zadok [Thu, 30 Jun 2005 14:58:22 +0000 (14:58 +0000)]
* 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.

20 years ago* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
Erez Zadok [Sat, 25 Jun 2005 19:18:35 +0000 (19:18 +0000)]
* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.

20 years ago* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
Erez Zadok [Sat, 25 Jun 2005 19:03:05 +0000 (19:03 +0000)]
* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
must come before C code.

20 years ago* conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
Erez Zadok [Sat, 25 Jun 2005 18:15:32 +0000 (18:15 +0000)]
* 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.

20 years ago* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
Erez Zadok [Sat, 25 Jun 2005 02:25:36 +0000 (02:25 +0000)]
* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
copying code.

20 years ago* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
Erez Zadok [Fri, 24 Jun 2005 00:48:59 +0000 (00:48 +0000)]
* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
be missing from older hpux10 systems.

20 years ago* configure.in: update bug-reporting address to list
Erez Zadok [Fri, 24 Jun 2005 00:30:16 +0000 (00:30 +0000)]
* 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

20 years agoundo bad macro testing
Erez Zadok [Thu, 23 Jun 2005 23:46:03 +0000 (23:46 +0000)]
undo bad macro testing

20 years agoimproved rpcvers_t macro
Erez Zadok [Thu, 23 Jun 2005 21:40:44 +0000 (21:40 +0000)]
improved rpcvers_t macro

20 years ago* Makefile.am (EXTRA_DIST_M4): distribue new type_rpcvers_t.m4
Erez Zadok [Thu, 23 Jun 2005 21:05:18 +0000 (21:05 +0000)]
* Makefile.am (EXTRA_DIST_M4): distribue 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).

20 years ago* conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
Erez Zadok [Thu, 23 Jun 2005 20:48:41 +0000 (20:48 +0000)]
* 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.

20 years agofix typo
Erez Zadok [Thu, 23 Jun 2005 20:46:11 +0000 (20:46 +0000)]
fix typo

20 years ago* include/am_defs.h: define extern for sleep(3) if needed.
Erez Zadok [Thu, 23 Jun 2005 20:02:40 +0000 (20:02 +0000)]
* 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.

20 years ago* BUGS: update Solaris information about use of f/lex and
Erez Zadok [Wed, 22 Jun 2005 18:38:06 +0000 (18:38 +0000)]
* BUGS: update Solaris information about use of f/lex and
yacc/bison.

20 years ago.ignore update
Erez Zadok [Tue, 21 Jun 2005 14:36:10 +0000 (14:36 +0000)]
.ignore update

20 years ago* minor new port: i386-pc-linux-suse9.3.
Erez Zadok [Mon, 20 Jun 2005 19:23:35 +0000 (19:23 +0000)]
* minor new port: i386-pc-linux-suse9.3.

* configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
so u32 is available for <linux/sunrpc/msg_prot.h>.

20 years ago* amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
Erez Zadok [Fri, 17 Jun 2005 00:23:41 +0000 (00:23 +0000)]
* 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.

20 years ago* minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
Erez Zadok [Wed, 15 Jun 2005 23:09:56 +0000 (23:09 +0000)]
* 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.

20 years ago* scripts/amd.conf-sample (map_type): typo, said mount_type
Erez Zadok [Wed, 15 Jun 2005 19:55:48 +0000 (19:55 +0000)]
* scripts/amd.conf-sample (map_type): typo, said mount_type
instead of map_type for the 'exec' example.

20 years ago******************************************************************* am-utils-6_1
Erez Zadok [Sat, 11 Jun 2005 14:11:30 +0000 (14:11 +0000)]
*******************************************************************
*** Released am-utils-6.1 ***
*******************************************************************

20 years ago* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
Erez Zadok [Sat, 4 Jun 2005 16:34:33 +0000 (16:34 +0000)]
* 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.

20 years ago******************************************************************* am-utils-6_1_rc7
Erez Zadok [Fri, 3 Jun 2005 14:46:35 +0000 (14:46 +0000)]
*******************************************************************
*** 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.

20 years ago* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
Erez Zadok [Wed, 1 Jun 2005 21:17:26 +0000 (21:17 +0000)]
* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
longer needed.

20 years ago* completed set of fixes for irix6.5.
Erez Zadok [Sat, 28 May 2005 19:11:28 +0000 (19:11 +0000)]
* 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.

20 years ago* include/am_xdr_func.h: remove trailing comma at end of enum
Erez Zadok [Sat, 28 May 2005 18:35:54 +0000 (18:35 +0000)]
* include/am_xdr_func.h: remove trailing comma at end of enum
list.

20 years ago* m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
Erez Zadok [Sat, 28 May 2005 18:34:10 +0000 (18:34 +0000)]
* 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.

20 years agominor typo
Erez Zadok [Sat, 28 May 2005 17:35:46 +0000 (17:35 +0000)]
minor typo

20 years ago* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
Erez Zadok [Sat, 28 May 2005 17:34:10 +0000 (17:34 +0000)]
* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
extra parentheses around assignments as "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.

20 years ago* libamu/alloca.c: remove file from distro.
Erez Zadok [Sat, 28 May 2005 16:44:42 +0000 (16:44 +0000)]
* 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.

20 years ago* amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
Erez Zadok [Sat, 28 May 2005 16:39:23 +0000 (16:39 +0000)]
* 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.

20 years ago* amq/amq.c: remove unused lint/rcsid cruft.
Erez Zadok [Sat, 28 May 2005 15:54:03 +0000 (15:54 +0000)]
* amq/amq.c: remove unused lint/rcsid cruft.

20 years ago* configure.in: check for <linux/socket.h>, which, if found,
Erez Zadok [Fri, 27 May 2005 21:26:34 +0000 (21:26 +0000)]
* 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.

20 years ago******************************************************************* am-utils-6_1_rc6
Erez Zadok [Thu, 26 May 2005 13:45:00 +0000 (13:45 +0000)]
*******************************************************************
*** Released am-utils-6.1-rc6 ***
*******************************************************************

* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
define an extern for mntctl() if needed.
* ltmain.sh: update from latest libtool-1.5.18, so we can properly
that matches the appropriate libtool M4 macros.  This makes

20 years ago* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
Erez Zadok [Thu, 26 May 2005 13:36:35 +0000 (13:36 +0000)]
* 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.

20 years ago* Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
Erez Zadok [Tue, 24 May 2005 04:45:01 +0000 (04:45 +0000)]
* 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: onlu
define an xtern 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 latst 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 macthes 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.

20 years agoimport of libtool 1.5.18 M4 macros
Erez Zadok [Tue, 24 May 2005 04:44:12 +0000 (04:44 +0000)]
import of libtool 1.5.18 M4 macros

20 years ago* minor new port: i386-pc-linux-deb3.0.
Erez Zadok [Mon, 23 May 2005 19:03:31 +0000 (19:03 +0000)]
* minor new port: i386-pc-linux-deb3.0.

20 years ago* minor new ports: i386-unknown-netbsdelf2.0.2 and
Erez Zadok [Sun, 22 May 2005 23:19:00 +0000 (23:19 +0000)]
* minor new ports: i386-unknown-netbsdelf2.0.2 and
i386-unknown-openbsd3.7.

20 years agosilly unbalanced ifdef
Erez Zadok [Fri, 20 May 2005 17:05:12 +0000 (17:05 +0000)]
silly unbalanced ifdef

20 years ago* minor new ports: i386-pc-linux-gentoo1.4.16 and
Erez Zadok [Fri, 20 May 2005 14:34:26 +0000 (14:34 +0000)]
* 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.

* minor new ports: i386-pc-linux-suse9.2 and
i386-unknown-freebsd5.4.

20 years agoactually commit the change -- duh
Erez Zadok [Wed, 18 May 2005 18:12:31 +0000 (18:12 +0000)]
actually commit the change -- duh

20 years ago* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
Erez Zadok [Wed, 18 May 2005 17:59:41 +0000 (17:59 +0000)]
* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.

20 years agocredit bug when it belongs am-utils-6_1_rc5
Erez Zadok [Wed, 18 May 2005 01:09:36 +0000 (01:09 +0000)]
credit bug when it belongs

20 years ago*******************************************************************
Erez Zadok [Wed, 18 May 2005 01:03:19 +0000 (01:03 +0000)]
*******************************************************************
*** Released am-utils-6.1-rc5 ***
*******************************************************************

20 years ago* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
Erez Zadok [Tue, 17 May 2005 16:48:55 +0000 (16:48 +0000)]
* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
sending annoying warning for a minor issue.

* amd/nfs_subr.c: check for NULL pointer before dereferencing it.

20 years ago * amd/nfs_subr.c: check for NULL pointer before dereferencing it
Ion Badulescu [Tue, 17 May 2005 15:05:23 +0000 (15:05 +0000)]
    * amd/nfs_subr.c: check for NULL pointer before dereferencing it

20 years agostart rc5
Erez Zadok [Mon, 16 May 2005 23:23:29 +0000 (23:23 +0000)]
start rc5

20 years ago* m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
Erez Zadok [Mon, 16 May 2005 19:00:30 +0000 (19:00 +0000)]
* 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).

20 years agosuggestion from Dan Riley <dsr at mail.lns.cornell.edu>. Better
Erez Zadok [Mon, 16 May 2005 18:41:40 +0000 (18:41 +0000)]
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.

20 years ago* amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
Erez Zadok [Mon, 16 May 2005 18:08:53 +0000 (18:08 +0000)]
* 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>.

* 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>.

20 years ago******************************************************************* am-utils-6_1_rc4
Erez Zadok [Sat, 14 May 2005 04:12:09 +0000 (04:12 +0000)]
*******************************************************************
*** Released am-utils-6.1-rc4 ***
*******************************************************************

20 years agodocument memleak in NEWS item
Erez Zadok [Fri, 13 May 2005 13:29:24 +0000 (13:29 +0000)]
document memleak in NEWS item

20 years ago* amd/amd.c (main) : fixed memory leak detected by valgrind
Daniel Ottavio [Thu, 12 May 2005 23:01:25 +0000 (23:01 +0000)]
* amd/amd.c (main) : fixed memory leak detected by valgrind

* amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
valgrind

20 years ago* m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
Erez Zadok [Wed, 11 May 2005 18:42:51 +0000 (18:42 +0000)]
* 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.

20 years ago******************************************************************* am-utils-6_1_rc3
Erez Zadok [Wed, 11 May 2005 13:22:27 +0000 (13:22 +0000)]
*******************************************************************
*** 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.

20 years agostart rc3
Erez Zadok [Tue, 10 May 2005 01:03:34 +0000 (01:03 +0000)]
start rc3

20 years agochangelog commit am-utils-6_1_rc2
Erez Zadok [Tue, 10 May 2005 01:03:05 +0000 (01:03 +0000)]
changelog commit

20 years ago* amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
Erez Zadok [Mon, 9 May 2005 03:10:16 +0000 (03:10 +0000)]
* amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
old_def_opts variable.

* 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>.

(AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).

if missing.

20 years agopowerpc64-unknown-linux-sles9.
Erez Zadok [Thu, 5 May 2005 20:02:38 +0000 (20:02 +0000)]
powerpc64-unknown-linux-sles9.

20 years ago* config.guess.long: detect SuSE Enterprise Server and call it
Erez Zadok [Thu, 5 May 2005 20:01:35 +0000 (20:01 +0000)]
* config.guess.long: detect SuSE Enterprise Server and call it
"sles" not "suse".

20 years ago* doc/am-utils.texi (amd): document proper use of
Erez Zadok [Tue, 3 May 2005 03:14:31 +0000 (03:14 +0000)]
* 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>.

20 years ago* minor new ports: powerpc64-unknown-linux-rhel4, and
Erez Zadok [Tue, 3 May 2005 02:40:14 +0000 (02:40 +0000)]
* minor new ports: powerpc64-unknown-linux-rhel4, and
powerpc64-unknown-linux-suse9.

20 years ago* amd/amfs_host.c (amfs_host_umount): We do not want to pass
Daniel Ottavio [Mon, 2 May 2005 00:27:47 +0000 (00:27 +0000)]
* 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.

20 years ago * amd/nfs_subr.c: am_fh definition moved here from amd.h;
Ion Badulescu [Sun, 1 May 2005 18:06:18 +0000 (18:06 +0000)]
* 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)

20 years ago* m4/macros/host_macros.m4: use sw_vers on Apple machines to find
Erez Zadok [Sat, 30 Apr 2005 16:37:55 +0000 (16:37 +0000)]
* 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.

20 years ago* config.guess, config.sub, doc/texinfo.tex: updates from latest
Erez Zadok [Fri, 29 Apr 2005 18:50:44 +0000 (18:50 +0000)]
* config.guess, config.sub, doc/texinfo.tex: updates from latest
official GNU distributions.

from latest official GNU versions.

20 years ago* m4/macros/host_macros.m4: for macosx, change architecture value
Erez Zadok [Fri, 29 Apr 2005 18:48:19 +0000 (18:48 +0000)]
* 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).

20 years agorecord timeo/retrans toplvl bug fix
Erez Zadok [Mon, 25 Apr 2005 03:37:15 +0000 (03:37 +0000)]
record timeo/retrans toplvl bug fix

20 years agoOnly take into account mounts that have a non-empty mountpoint.
Christos Zoulas [Mon, 25 Apr 2005 01:54:50 +0000 (01:54 +0000)]
Only take into account mounts that have a non-empty mountpoint.

20 years ago* scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
Erez Zadok [Sun, 17 Apr 2005 03:05:54 +0000 (03:05 +0000)]
* 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.

* 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.

20 years ago* amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
Daniel Ottavio [Sat, 9 Apr 2005 18:15:35 +0000 (18:15 +0000)]
* 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.

20 years ago* include/am_utils.h (XFREE): XFREE() should nullify the pointer
Erez Zadok [Thu, 7 Apr 2005 23:31:07 +0000 (23:31 +0000)]
* include/am_utils.h (XFREE): XFREE() should nullify the pointer
even when compiling without debugging.  It's safer this way.

20 years agoupdate NEWS
Erez Zadok [Thu, 7 Apr 2005 23:27:22 +0000 (23:27 +0000)]
update NEWS

20 years agofix typo
Erez Zadok [Thu, 7 Apr 2005 05:52:06 +0000 (05:52 +0000)]
fix typo

20 years ago* libamu/xutil.c (am_set_hostname),
Erez Zadok [Thu, 7 Apr 2005 05:50:38 +0000 (05:50 +0000)]
* 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 xstrnlen instead of strlen.

* conf/checkmount/checkmount_{default,svr4}.c
(fixmount_check_mount): document why NOT to use xstrnlen.

* 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).

20 years ago* libamu/util.c (xstrlcpy): truncating a string is serious. Use
Erez Zadok [Thu, 7 Apr 2005 05:09:16 +0000 (05:09 +0000)]
* libamu/util.c (xstrlcpy): truncating a string is serious.  Use
XLOG_ERROR not XLOG_WARNING.

20 years ago* include/am_utils.h: external definition for new xstrlcpy
Erez Zadok [Thu, 7 Apr 2005 03:50:41 +0000 (03:50 +0000)]
* 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.

20 years ago* amq/pawd.c (find_mt): It only handles *some* filesystem types,
Erez Zadok [Thu, 7 Apr 2005 03:08:46 +0000 (03:08 +0000)]
* 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.

20 years ago* amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
Erez Zadok [Thu, 31 Mar 2005 21:59:42 +0000 (21:59 +0000)]
* amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
copying exactly len bytes, so add null just to be safe.

the memset can be removed because strncpy() should padd the

20 years ago* amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
Daniel Ottavio [Wed, 30 Mar 2005 13:48:33 +0000 (13:48 +0000)]
* amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
to make sure it null terminates.

20 years ago* amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
Daniel Ottavio [Wed, 30 Mar 2005 04:57:39 +0000 (04:57 +0000)]
* 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.

20 years ago * include/am_defs.h: Clarify comment.
Rainer Orth [Mon, 21 Mar 2005 19:08:05 +0000 (19:08 +0000)]
* include/am_defs.h: Clarify comment.

20 years ago* include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
Erez Zadok [Mon, 21 Mar 2005 17:14:27 +0000 (17:14 +0000)]
* 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>.