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 change 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/becopy/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 genration 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.

