diff options
Diffstat (limited to 'contrib/amd/ChangeLog')
| -rw-r--r-- | contrib/amd/ChangeLog | 13085 |
1 files changed, 0 insertions, 13085 deletions
diff --git a/contrib/amd/ChangeLog b/contrib/amd/ChangeLog deleted file mode 100644 index d996f8e75082..000000000000 --- a/contrib/amd/ChangeLog +++ /dev/null @@ -1,13085 +0,0 @@ -2014-10-28 Christos Zoulas <christos@zoulas.com> - - ******************************************************************* - *** Released am-utils-6.2 *** - ******************************************************************* - - * add ylwrap.amd, sick and tired of patching broken ylwrap. - -2014-09-05 Christos Zoulas <christos@zoulas.com> - - * factor out the size check for both readdir methods - (raven at themaw.net) - -2014-09-03 Christos Zoulas <christos@zoulas.com> - - * configure test for 64 bit xdr function (raven at themaw.net) - -2014-09-01 Christos Zoulas <christos@zoulas.com> - - * bug fix from raven at themaw.net to prevent writing v3 handle - to a v2 structure. - -2014-07-21 Christos Zoulas <christos@zoulas.com> - - * fix permission problems with access - * auto_nfs_version = 3 now works for me. - -2014-07-20 Christos Zoulas <christos@zoulas.com> - - * refresh some autoconf files - * force autoconf version since earlier versions don't work - * changes from raven at themaw.net to support NFSv3 for automounted - toplevel filesystems presented to the list in May. A few bug fixes - and integration changes by me. The code now works well enough to - mount the filesystem with NFSv3 and automount children but readdir - does not work yet (so no listing of automounted filesystems). - The new code is not enabled by default. To enable use - auto_nfs_version = 3 - in your configuration file. - -2014-03-26 Christos Zoulas <christos@zoulas.com> - - From Ian Kent <ikent@redhat.com> - - * use mktemp in scripts/fixrmtab - * fix documentatio nits - * [linux] Add ext2, ext3, ext4 specific mount options - * fix tcpwrappers (hosts.{allow,deny} problems for specific host - entries - -2014-03-20 Christos Zoulas <christos@zoulas.com> - - - * don't background autofs umount - * avoid fh NULL dereference on umount - * handle ENOENT umount return for autofs mounts - * fix error message in get_nfs_version - * fix debug log deadlock - * [linux] retry umount on EBUSY - * handle failed umount on exit - -2014-03-09 Christos Zoulas <christos@zoulas.com> - - * Remove BSD advertising clause. - * Remove expn program which is not used by anything - -2013-12-05 Christos Zoulas <christos@zoulas.com> - - * Change the way we handle multiple lex scanners and yacc parsers - in a single program. Our old patch to ylwrap does not work anymore - because the bison parsers need shared symbols that start with yy - and we can't easily select which ones work. So now we use -P and - -p to let lex and yacc do the work for us. This requires a patch - to ylwrap, but it is smaller. - - -2013-12-05 Christos Zoulas <christos@zoulas.com> - - * Change the way we handle multiple lex scanners and yacc parsers - in a single program. Our old patch to ylwrap does not work anymore - because the bison parsers need shared symbols that start with yy - and we can't easily select which ones work. So now we use -P and - -p to let lex and yacc do the work for us. This requires a patch - to ylwrap, but it is smaller. - -2013-05-14 Christos Zoulas <christos@zoulas.com> - - * update to handle new autoconf and regen files - -2012-11-23 Christos Zoulas <christos@zoulas.com> - - * recognize mountport=, noacl options - * simplify the bootstrap process, by forcing - all the files to be rebuild with autoreconf -f - i - -2012-10-03 Christos Zoulas <christos@zoulas.com> - - * add missing ops_nfs4.c to the Makefile.am - -2012-09-14 Christos Zoulas <christos@zoulas.com> - - * add locking option handling for lustre - * fix noatime, nodiratime, mandlock for linux - -2012-07-25 Christos Zoulas <christos@zoulas.com> - - * bug fixes for lustre rhost parsing - -2012-06-27 Christos Zoulas <christos@zoulas.com> - - * Disable 1/2-baked sun map support to avoid SIGSEGV - -2012-06-16 Christos Zoulas <christos@zoulas.com> - - ******************************************************************* - *** Released am-utils-6.2-rc1 *** - ******************************************************************* - - * Fix libtool.m4 to work with later versions of autoconf. - * In buildall, use eval so that quoted strings work - * Centralize nfs version checking function, and introduce - new configuration variable nfs_vers_ping, which is the - max version we ping for. This is not documented yet, because - there might be a better way separate the max version we can - use vs the max version we ping for. - -2012-06-09 Christos Zoulas <christos@zoulas.com> - - * fix issue with parsing nfsv4 security option strings - -2012-05-01 Christos Zoulas <christos@zoulas.com> - - * Handle EPERM return from v4 file handles - in old linux kernels - -2012-03-09 Christos Zoulas <christos@zoulas.com> - - * fix linux autofs detection - * fix wrong types in new amq mount xdr processing - -2012-01-25 Christos Zoulas <christos@zoulas.com> - - * FreeBSD portability fixes - -2012-01-23 Christos Zoulas <christos@zoulas.com> - - * Avoid type punned warnings - -2011-12-29 Christos Zoulas <christos@zoulas.com> - - * fix bug I introduced in get_nfs_version that caused it to return 0 - * add direct support for ext{2,3,4} - -2011-12-15 Christos Zoulas <christos@zoulas.com> - - * Include <linux/fs.h> on linux, to grab extra mount flags - * Add support for lustre - -2011-11-28 Christos Zoulas <christos@zoulas.com> - - * For nfsl mounts, match against either the short local - host name or the fqdn name. - -2011-10-06 Christos Zoulas <christos@zoulas.com> - - * Add NFSv4 support (loosely based on Ramya's code). - Currently if the NFSv4 mount fails with ENOENT we fail - back to NFSv3, unless -DNO_FALLBACK. - * Replace strdup with xstrdup. It is not nice to replace - system functions with ones that behave differently. - * Add various consistency checks (caller function checks - variable for NULL, but callee does not). - * Fix error handling in various paths. - * Don't check before using XFREE(). free(NULL) works. - -2011-09-15 Christos Zoulas <christos@zoulas.com> - - * amq -i addition (prints info about the map files) - -2011-09-14 Christos Zoulas <christos@zoulas.com> - - * Solaris OS and compiler fixes from: - Hofmann, Frank <Frank.Hofmann@morganstanley.com> - Sayle, Alex <Alex.Sayle@morganstanley.com> - - (void)&var generates warnings, removed - - __inline is invalid, changed with inline - - <sys/socket.h> and other headers have extra dependendcies - ` -2011-08-11 Christos Zoulas <christos@zoulas.com> - - * fix potential buffer overflow in expand_error() - (Richard Kettlewell). Does not seem to be exploitable. - - * simplify %option parsing to appease ancient flex. - -2011-06-21 Christos Zoulas <christos@zoulas.com> - - * add support for linux autofs version 5 (untested) - -2011-06-18 Christos Zoulas <christos@zoulas.com> - - * roll back to an older version of libtool that works - - * newer versions of config.guess and config.sub - - * minor fixes to buildall - -2011-05-19 Christos Zoulas <christos@zoulas.com> - - * m4/macros/libtool.m4: for AIX AC_LANG_PROGRAM is incorrectly - used and the latest autoconf gives an error. For now just - quote it. - - * configure.in: Fedora Core 15 and RedHat 6 now don't define - af_family_t in <linux/socket.h>, but in <bits/sockaddr.h>. - Include <sys/socket.h> so that we get <bits/sockaddr.h> - indirectly. This caused the <linux/nfs_mount.h> detection - test to fail. - -2010-11-24 Erez Zadok <ezk@fsl.cs.sunysb.edu> - - * m4/macros/os_cflags.m4: for linux, define _GNU_SOURCE (to get - definitions for O_LARGEFILE and more). - -2010-11-20 Christos Zoulas <christos@zoulas.com> - - * Update news items, add release readme, mark as rc1 - - * Fix addopts code to work with options that are key=value - when the built-in hasmntopt() code is not used. The problem - was that the code passed "key=" to hasmntopt not "key". - -2009-12-10 Christos Zoulas <christos@zoulas.com> - - * Copy all fields of the am_opts structure - When we introduced am_loc we also added a function to - create a duplicate of an am_opts structure. As it turns - out, that only made a partial copy of the struct and some - fields (e.g. opt_cache) was left blank in the new structure. - Unfortunately any code that was checking the options - through the mntfs structure was mislead by the partial - copy: caching was disabled completely, for example, and - since browsing relies on caching being enabled it wasn't - working either. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * Initialize RPC authentication flavor to AUTH_UNIX instead - of zero. RHEL 5 uses version 6 of the mount_arg structure - that includes the desired RPC authorization flavour. - Unfortunately amd initializes that value to zero, meaning - AUTH_NULL, resulting in all NFS servers denying operations. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * Make sure to remove nodes in the proper order when going - down. Depending on what order the nodes got created it's - possible that the parent of a node has a bigger am_mapno - (index in exported_ap[]) so that it gets freed before - its child while the child's am_parent pointer is still - pointing to the already freed block of memory. - This change makes sure that umount_exported() cleans up - all children of a node first before freeing the node. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * Fix Linux-specific stuff in ops_tmpfs.c - AUTOFS_TMPFS_FS_FLAGS is defined only in the Linux-specific - conf_linux.c file, so it cannot be built on Solaris. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * Add missing parenthesis to fix defined(XXX - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * In the previous commit we've already made a change that - makes this code unnecessary since the node is returned - even if the backing file server is known to be down. - Since the code path is unused it should be removed. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * amfs_generic_lookup_child() tries to find an alternate - file server if it detects that the current one is down. - However, in the comparison used to decide if a possible - mount is the same as the current one it compares the am_loc - pointers instead of the actual mntfs pointers. Since - amfs_lookup_one_location() creates a brand new am_loc - structure for the returned mntfs structure the am_loc - pointer will be different even if the mntfs it's pointing - to is the same. - This tricks amfs_generic_lookup_child() think it has - found an alternate file server while it hasn't and thus - starts multiple racing mounts for the very same node and - mntfs. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * In the new am_loc scheme mounted mntfs structures still - have their mf_fo structure left intact. So when restart - creates a fake mntfs for an already mounted filesystem it - should not free mf_fo right away. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * Setting the error flag of the mntfs for which the share - is already mounted results in the mount point not being - removed when it times out. (Amd considers it an error - mntfs and thus umount becomse a no-op.) - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * Right now AMD sets all timeout values to their defaults - even if you explicitly set them to zero. This patch - introduces separate flags that store if the respective - values have been set and the code path setting default - values checks these flags instead of testing the values - for zero. [Linux only] - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * Fix mntfs related lookup/(un)mount race conditions, by - introducing a new structure linking an mntfs to a node. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * We have to free the buffers allocated by the XDR routines when - decoding the mount response after copying them to their final place. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - -2009-12-09 Christos Zoulas <christos@zoulas.com> - - * Free continuation in amfs_retry() if we don't call amfs_bgmount() - Normally it's amfs_bgmount() which frees the continuation. However, if - the mount is already in progress and we're in amfs_retry() for another - node we don't try mounting the filesystem once again. Still, we have - to free the continuation as we won't get called again and thus would - leak the continuation structure and our am_loc references. - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - - * Fix use-after-free and double free of mntfs private data - ops_nfs.c(nfs_init) does not clear private data pointer after free(). - This leads to use-after-free and double free in case mount() fails. - (found by valgrind) - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - -2009-11-23 Christos Zoulas <christos@zoulas.com> - - * The temporary filename buffer was leaked in lock_mtab(). - From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> - -2009-10-27 Christos Zoulas <christos@zoulas.com> - - * Deal with errno.h->sys/errno.h better - -2009-10-26 Christos Zoulas <christos@zoulas.com> - - * Fix issue with autoconf 2.63 - - * Fix compile warnings for gcc-4.4.x - -2009-04-15 Christos Zoulas <christos@zoulas.com> - - * Share the LDAP connection between different maps to save resources - on the LDAP server. (Olaf Flebbe <o.flebbe@science-computing.de>) - -2009-03-20 Christos Zoulas <christos@zoulas.com> - - * Fix largefile re-definitions - - * Fix compilation error caused in previous patch - -2009-02-19 Christos Zoulas <christos@zoulas.com> - - * Add a synchronous unmount amq rpc that will wait for the remote - filesystem to be unmounted, or return an error. Enabled by amq -uu - -2009-01-11 Erez Zadok <ezk@fsl.cs.sunysb.edu> - - * amd/ops_udf.c: don't define functions/variables which may not be - used. - - * amd/ops_tmpfs.c (mount_tmpfs): force gcc not to complain about - unused variables. - - * config.guess.long: properly support Fedora Core. - -2009-01-09 Christos Zoulas <christos@zoulas.com> - - * Fix nfs mounts on linux 2.6.26 by explicitly initializing context. - - * Treat an empty sublink as an unset sublink; this allows us to - say sublink:=; in a spec to override the default. (This produces - Bad selector error, but it works. XXX: We need to decide how to - unset a selector. I proposed an unset keyword a while ago). - -2009-01-06 Christos Zoulas <christos@zoulas.com> - - * re-renerate all generated files with newer versions of the - auto-tools. - - * move INSTALL to INSTALL.am-utils to avoid conflicts - - * fix incompatibilities with new m4 and new autoconf. - - * add UDF filesystem support. - - * fix NetBSD nfs file handle detection. - -2009-01-02 Christos Zoulas <christos@zoulas.com> - - * add nocasetrans, nojoliet, rrcaseins for cd9660 filesystems - -2008-12-03 Christos Zoulas <christos@zoulas.com> - - * allow ldap queries try a comma-separated list of servers given as: - - ldap_hostports = host1:port1,host2,host3:port3 - - original patch from Florian Geyer - -2008-09-19 Christos Zoulas <christos@zoulas.com> - - * the auth_create gid on NetBSD is int - - * deal with lossage from flex -P - - * fix missing/incorrect prototypes - -2008-09-17 Christos Zoulas <christos@zoulas.com> - - * fix manual page section issues (sorting, non-existant) - - * add missing forward declarations - - * avoid null pointer derefs (coverity) - - * more portable endian detection support - - * implement tmpfs support - - * use sizeof var instead of constant - - * fix yyerror declaration and definition - - * fix yy function renaming, and correct some renaming issues. - - * work around automake < 1.9 issue where ylwrap is not being run - for a single yacc or lex file. - - * NetBSD - - handle headers that need other headers to compile - - add exfs and tmpfs specific glue - - add options log, noatime, nocoredump, nodevmtime, softdep, - symperm, union - - NetBSD's new mount system call needs the size of the opaque - filesystem specific structure, but passing 0 for now works. - We would need to change a lot more code to pass the size from - the fs-specific calls, so for now punt. - - recvfrom takes socklen_t * on NetBSD - - handle newer NetBSD using statvfs - - NetBSD calls its ufs ffs - - * Linux - - Most recent kernels have trouble with trying to parse the pid - hostname and do locking. What before was a silent failure, now - there is a warning printed and the mount is rejected. This is - the simplest fix: - (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884) - -2007-04-13 Erez Zadok <ezk@cs.sunysb.edu> - - * amd/sun_map.c (sun_append_str): When translating '&' from Sun - automounter maps, replace it with "${key}" in the Amd map, not - with the value of the key at the time. This way '*' maps work - too. - - * config.guess.long: don't use -q option to grep because some - systems don't support it. Bug fix for solaris. - -2007-03-11 Christos Zoulas <christos@zoulas.com> - - * amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a - string. It causes spurious xstrlcpy() syslog() errors. Use - memcpy() and explicitly terminate the string. - -2007-01-20 Erez Zadok <ezk@cs.sunysb.edu> - - * updated copyright year to 2007 on all files. - -2006-12-27 Erez Zadok <ezk@cs.sunysb.edu> - - * minor new port: ia64-hp-hpux11.23 - - * m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller - needs to define rfc931_timeout. - - * amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for - libwrap. - - * amd/amq_svc.c: some versions of libwrap require the caller to - define rfc931_timeout in addition to allow/deny_severity. - - * amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when - forced unmount functionality exists for all systems. - - * libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf - only if field exists. - - * conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from - including <tiuser> or <sys/tiuser> (TLI definitions are already - included from elsewhere). - - * configure.in: detect nfs_args_t->pathconf field. - -2006-11-27 Erez Zadok <ezk@cs.sunysb.edu> - - * doc/Makefile.am: properly publish html files using newer - text2html. - -2006-11-27 Erez Zadok <ezk@shekel.local> - - * doc/Makefile.am: obfuscate emails in ChangeLog before it is - published on web site. - - * obfuscate many more emails in the distro, esp. of files which get - posted on the am-utils web site. - -2006-11-26 Erez Zadok <ezk@shekel.local> - - * minor new port: i386-apple-darwin8.8.1. - - * doc/am-utils.texi: remove obvious URLs used by spammers, and - replace them with links to the am-utils web site, which uses PNG - images to obfuscate the actual email/mailman URLs. - -2006-10-30 Erez Zadok <ezk@cs.sunysb.edu> - - * doc/am-utils.texi (Password maps): minor typo reported by - Christoph P. Kukulies. - -2006-10-26 Erez Zadok <ezk@cs.sunysb.edu> - - * minor new port: i386-pc-linux-fc6. - - * m4/macros/linux_headers.m4: handle newer Linux kernels which - removed UTS_RELEASE from <linux/version.h>. - -2006-10-25 Erez Zadok <ezk@cs.sunysb.edu> - - * minor new ports: i386-pc-linux-centos4.4 and - powerpc-apple-darwin8.7.0. - - * config.guess.long: recognize CentOS Linux. - -2006-06-20 Erez Zadok <ezk@cs.sunysb.edu> - - * minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris). - - * config.guess.long: recognize NexentaOS (GNU/OpenSolaris) - - * config.guess, config.sub: updates from latest official GNU - distributions. - -2006-05-11 Erez Zadok <ezk@cs.sunysb.edu> - - * Minor new ports: i386-unknown-freebsd6.1 (RELEASE), - powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9. - -2006-05-10 Erez Zadok <ezk@cs.sunysb.edu> - - * 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-16 Daniel P. Ottavio <ottavio@vm.fsl.cs.sunysb.edu> - - * amd/sum_map_tok.l: Fixed a bug in a regular expression that - prevented dashes in hostnames. This was posted in BZ by Thomas - A. Fine. - - * README.sun2amd: Fixed a typo. Sentence mentions use of autofs - type when it should be host type. - -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.1a1 *** - ******************************************************************* - - * README.sun2amd: revised. - -2005-10-09 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make - sure that sun_entry2amd() is not called when yp_match() returns an - error, this is done by checking that 'res' is 0. Bug fix (same - BZ#); free the output allocated by yp_match() instead of freeing - the return value of sun_entry2amd(). - - * amd/sun_map.c (sun_entry2amd): Fix a comment. - - * README.sun2amd: Made a first pass at describing the status of - the sun2amd feature. - Moved the date. - -2005-10-09 Erez Zadok <ezk@cs.sunysb.edu> - - * README.sun2amd: place holder. - - * Makefile.am (EXTRA_DIST): distribute new README.sun2amd file. - -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. - - * amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a - before libamu.la. Some linkers (e.g., IRIX-6.5) incorrectly - complain about undefined symbols. - - * 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> - - * 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. - - * 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> - - * 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> - - * README.attrcache: 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. - - * README.attrcache: new file documenting in detail OS bugs - relating to attribute caching, which can affect Amd's reliability - under heavy load. - Update status of freebsd and openbsd. - - * 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-15 Erez Zadok <ezk@cs.sunysb.edu> - - * amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just - in case. - (fh_to_mp3): increment amd_stats.d_stale counter only if we are - actually returning ESTALE. - - * amd/info_exec.c (exec_parse_qanswer), amd/info_file.c - (file_search_or_reload), amd/info_hesiod.c (hesiod_search), - amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm), - amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search, - nisplus_search): don't dereference mnt_map->cfm which may be null - if we're not using an amd.conf file. - -2005-09-14 Erez Zadok <ezk@cs.sunysb.edu> - - * libamu/xutil.c (unregister_amq): if failed to de-register Amd - from portmapper, report it under dlog (debugging), not as an - annoying plog that always shows up. - -2005-09-13 Erez Zadok <ezk@cs.sunysb.edu> - - * mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c - (strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c - (sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert), - amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload), - amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii() - arg to unsigned char, which is safer as per Christos. - - * amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char. - - * configure.in: keep a dummy unused AM_PROG_LEX, because old - Automake (1.6.3) looks for it if you refer to LEX in your - Makefile.am files. Silly thing, fixed in newer versions of - Automake (1.9.2). - -2005-09-11 Erez Zadok <ezk@cs.sunysb.edu> - - * Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro. - - * configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX. - - * m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc - exist, but exist with an error if none found. - - * m4/macros/prog_lex.m4: new macro to check if f/lex exist, but - exit with an error if not found (am-utils requires f/lex). - -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-28 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white - spaces or '\n' before passing strings to the parser. - - * amd/amd.h : oops, reverting bad changes - - * amd/info_file.c : oops, reverting bad changes - - * amd/mapc.c : oops, reverting bad changes - - * amd/sun_map_parse.y : oops, reverting bad changes - -2005-08-27 Erez Zadok <ezk@cs.sunysb.edu> - - * libamu/xutil.c: amd_program_number is a u_long now. - (unregister_amq): if pmap_unset failed to de-register Amd from the - portmapper, print an error message. - (get_amd_program_number): returns a u_long now. - (set_amd_program_number): take a u_long now. - - * include/am_utils.h: get_amd_program_number() returns u_long now. - set_amd_program_number() takes a u_long now. - - * amq/amq.c: amd_program_number is a u_long, not int. - - * amd/nfs_start.c (mount_automounter): when registering Amd with - the portmapper (for Amq service), don't fail if just one of TCP or - UDP failed to register, but only if both transports failed. That - way Amq can still contact Amd using the transport that did - register correctly. However, now, if both transports failed to - register, then set amd_state to "Done" so it would shutdown - cleanly. - - * conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better - comments. - - * libamu/xutil.c: debug_flags should always be initialized to - D_CONTROL (amq,daemon,fork). - (debug_option): allow setting initial immutable debug_flags via - amd.conf; afterward, prevent it (i.e., one tries it via "amq -D"). - - * 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-27 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/info_file.c (file_search_or_reload): Changed the key - variable that is passed to the sun_entry2amd. - - * amd/mapc.c (mapc_add_kv): Add support for multiple entries - packed into one line. This is a workaround for handling Sun style - mounts that contains multiple entries on one line: "multi-mount - entries". The sun2amd conversion tools will convert such entries - into type:=auto and pack each of the auto-entries into one line - separated by '\n'. The mapc_add_kv function will now recognize - such entries and add then. - - * amd/sun2amd.c (sun2amd_convert): Add print statement that - includes the line number during a parser failure. - - * sun_map.c: Fix the AMD_MAP_PREF_KW definition. Fix spelling. - (sun_mountpts2amd): removed this function - (sun_hsfs2amd): added some more comments - (sun_nfs2amd): moved support for multi-mount entries from this - function to sun_multi2amd(). - (sun_multi2amd): New function to handle multi-mount entries. This - function will convert the Sun version to an Amd type:=auto. Each - extra auto entry will be appended to the same line separated by a - '\n'. - (sun_entry2amd): Fixed a bug if-statement. This function now - checks for multi-mount entries. - - * amd/sun_map.h: Add a fstype member to the sun_mountpt struct. - - * amd/sun_map_parse.y: Parser now supports fstype for multi-mount - entries. - - * amd/sun_map_tok.l: No longer print the line and column number - when parsing. This is because the parser is handed strings not - files. Therefore, the line number will always be 1. It is now up - to the higher level tools to echo line information during error - when they feed the parser. - -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-20 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/sun_map.c: Clean up #defines - (sun_entry2amd) : Verify that the key and entry values passed are - not NULL. Free the Sun entry struct when done. - - * amd/sun_map.h: Add some "not implemented yet" comments to the - map and mmap structures. - - * amd/sun_map_parse.y: Removed automap include functionality, it - will need to be re-implemented using a pre-processor. - Clean up function calls. - -2005-08-16 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/sun2amd.c (sun2amd_convert): If the input line is too long - don't return an error just null terminate and continue. Fix bug: - the map key was not written. - - * amd/sun_map.c: Add a new Amd device, and cdfs constant. - (sun_locations2amd): Write the NFS type keyword - for each host of the mount entry. Add a space between each mount - location. - (sun_hsfs2amd): New function to support hsfs to - cdfs. - (sun_nfs2amd): Don't write the nfs type here. Fix - comments. - (sun_entry2amd): Change function parameter var for - clarity. Add support for hsfs. - - * amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list - after it has been returned. - -2005-08-16 Erez Zadok <ezk@cs.sunysb.edu> - - * amd/get_args.c (get_args): initialize debug_flags if they've - never been set. - -2005-08-15 Erez Zadok <ezk@cs.sunysb.edu> - - * amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount - point. Now, we can properly initialize the cfm structure of the - mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX) - inside each info_*.c file. - (mapc_find): takes 4rd arg (mntpt) and passes it to calls to - mapc_create. - (root_newmap): pass NULL as 4th arg (mntpt). - - * amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to - initialize map cfm structure (including flags) so late. - - * amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to - mapc_find. - - * amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to - mapc_find. - - * amd/amd.h: extern for mapc_find changed to pass the mount point. - - * libamu/xutil.c: debug_flags should be unsigned. - (dbg_opt): fix comments for updated debug_flags, add "defaults". - (debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be - changed, because they could mess Amd's state and only make sense - to be set once when Amd starts. Currently these immutable flags - are "daemon," "fork," "amq," and "mtab." If Amd not compiled with - debugging, set default "control" options (daemon,fork,amq). - (unregister_amq): proper use of D_AMQ. - - * include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT, - D_IMMUTABLE, and D_MASK. Updated definitions of D_ALL and D_TEST. - debug_flags extern should be unsigned. - - * scripts/amd.conf-sample (debug_options): mention new "defaults" - option. - - * scripts/amd.conf.5,doc/am-utils.texi: document new debug option - "defaults" and properly explain the corrected meanings of - "daemon," "fork," "amq," and their "no" inversions. Better - explain "all" and "test" too. Correct default debug_mtab file to - /tmp/mtab. - - * hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK. - - * hlfsd/homedir.c (homedir): proper use of D_FORK. - - * hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of - D_DAEMON. - - * amd/nfs_start.c (mount_automounter): proper use of D_AMQ. - - * amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab, - which is more common on more systems (instead of /tmp/mnttab). - - * amd/amd.c (main): properly use D_DAEMON. - -2005-08-14 Erez Zadok <ezk@cs.sunysb.edu> - - * libamu/xutil.c (xlog_opt): define new pseudo log_option named - "defaults", which is an alias for "fatal,error,user,warning,info". - - * scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new - log_option "defaults". - - * amq/amq.8: typo. Arg name for -D is "debug_options" not - "log_options". - - * libamu/xutil.c: make xlog_level static, and initialize it to - XLOG_DEFAULT. - (cmdoption): take unsigned int as flags argument, and print any - errors as XLOG_ERROR (which cannot be turned off). - (switch_option): remove old code which disallowed you from turning - off flags that were set when Amd started up. Now, you can turn - any log option on/off at start time or later on (via amq -x), - other than the two mandatory options (fatal+error). - - * include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR. Define - XLOG_MASK to mask out unused flag bits. Define XLOG_DEFAULT to be - what it was before (fatal + error + user + warning + info), but - use the new mask. Remove extern's for xlog_level and - xlog_level_init. Change extern for cmdoption() to take an - unsigned flags argument. - - * doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8: - document mandatory log options - (fatal+error) which cannot be turned off and are always on by - default. They must be on so that Amd can report crucial errors, - including those related to setting flags on/off. - - * hlfsd/hlfsd.c (main): remove hack to initialize log_options. - - * wire-test/wire-test.c: remove reference to unused xlog_level. - - * amd/mapc.c (mapc_create): 'alloc' flags variable should be - unsigned. - - * amd/get_args.c (get_args): no need for hack using - xlog_level_init. - - * amd/Makefile.am: separate sources common to amd and sun2amd into - a special, locally-built only, static library called libaminfo.a. - - * libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf() - wrapper function. - (xvsnprintf): new function which already gets a va_list. This was - needed to avoid nesting va_list's (which apparently isn't - allowed). - - * include/am_utils.h: prototype for new xvsnprintf wrapper. - - * 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-14 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/info_file.c: add key to sun_entry2amd()'s parameters - - * amd/info_hesiod.c: add key to sun_entry2amd()'s parameters - - * amd/info_ldap.c: add key to sun_entry2amd()'s parameters - - * amd/info_ndbm.c: add key to sun_entry2amd()'s parameters - - * amd/info_nis.c: add key to sun_entry2amd()'s parameters - - * amd/info_nisplus.c: add key to sun_entry2amd()'s parameters - - * amd/sun_map.c: New functions to support sun translation to amd. - The function sun_entry2amd's parameters were expanded to include - the key value. sun_entry_2amd() now returns NULL on error. - - * amd/sun_map.h: Expand sun_entry2amd's parameters to include key - value. - - * amd/sun_map_parse.y: Change how file system types are parsed out - of the list of options for each entry. The previous way was not - working properly so now we just look for the 'fstype' keyword in - each option. If it exists we copy its key value. - Added some comments to sun_map_parse_read(). - - * amd/amd.h: Added an extern from info_file.c called - file_read_line(). Previously this function was static but is now - used in sun2amd.c. - - * amd/info_file.c: Changed the static function read_line() to a - public function called file_read_line(). This function is now - used in sun2amd.c - - * amd/sun2amd.8: Filled in the contents of this man page. This is - a conversion utility that converts Sun maps to Amd maps. - - * amd/sun2amd.c: Implemented a working version of this utility. - -2005-08-11 Erez Zadok <ezk@cs.sunysb.edu> - - * amd/sun_map_parse.y: instead of using a custom FOO_alloc() - function, use Amd's CALLOC(struct FOO) macro. - - * amd/sun_map.h: remove extern definitions to functions no longer - needed. - - * amd/sun_map.c: removed superfluous *_alloc() functions, some of - which caused conflicts with same-named symbols in the parser - (since we rename 'yyalloc' to 'sun_map_alloc'). - - * configure.in: keep AC_INIT on same line, for nightly snapshot - build script. - - * amd/Makefile.am: f/lex libraries are incompatible with multiple - scanners, so don't link Amd with libl.a/libfl.a. - -2005-08-10 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/sun_map_tok.l: Clean up regular expression so HPUX stops - whining. - -2005-08-09 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/sun_map_parse.y: Moved license below special yacc bracket to - be portable with HPUX's yacc. Clean up externs. - - * amd/sun_map_tok.l: Moved license below special lex bracket to be - portable with HPUX's lex. Fixed definitions to allow for a - non-flex lex to parse strings instead of files. Added some casts - to strlcpy usage to silence warnings. Moved the % options because - HPUX was complaining, - -2005-08-08 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/sun_map_tok.l: Applied some definition goop to handle the - ECHO symbol that lex defines. This symbol causes problems on - RedHat-EL-powerPC platforms. Replaced strncpy with strlcpy. - Renamed the function sun_map_yyinput to sun_map_input. This - function is a utility function that is not generated by lex. - Therefore, the 'yy' may cause confusion. - -2005-08-08 Erez Zadok <ezk@cs.sunysb.edu> - - * amd/sun_map_tok.l: allocate more output slots so lex scanners - don't run out of memory. - - * amd/sun_map_parse.y: declare extern for sun_map_parse(). - - * libamu/xutil.c (xsnprintf): ensure proper comparisons between - signed and unsigned quantities. - -2005-08-06 Erez Zadok <ezk@cs.sunysb.edu> - - * libamu/util.c, amd/autil.c (strsplit): moved strsplit() function - from Amd code to to libamu, so sun2amd could use it. - - * amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man - page. - (EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files - - * amd/sun2amd.8: placeholder for man page. - - * amd/sun2amd.c: placeholder for C version of translator from Sun - syntax maps to Amd maps. - - * */*.[0-9]: include file name in nroff source comment. - - * ALL: use '0' properly when assigning or passing it to functions. - If in the context pointer, use NULL. If in the context of a - single char (say within a string), the use '\0'. This is just to - make the code clearer. - - * m4/macros/header_templates.m4: template for HAVE_MAP_SUN. - - * amd/mapc.c (maptypes): add placeholder for Sun-syntax map - methods. - - * amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c - - * amd/info_sun.c: placeholder for meta info parser to get info - from Sun automount-style /etc/auto_master, possibly following - into multiple info services (via /etc/nsswitch.conf). - - * libamu/xutil.c (xsnprintf): if vsnprintf truncated the output - string to avoid an overflow, print an error. Include some code to - break out any possible infinite loop between plog() and - xsnprintf(). - (real_plog): now we can use (carefully) xsnprintf() directly. - - * amd/sun_map.[hc]: cleanup and formatting. - - * amd/sun_map_parse.y: to match the literal string "fstype=" use - double quotes, not single quotes. - - * amd/get_args.c (get_args): call conf_parse() using conf_in. - - * amd/amd.h: use renamed parser symbols (yyparse -> conf_parse; - yyin -> conf_in). - - * ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb, - and suggested by the Automake manual. This enhanced parser will - prefix each conflicting yacc/lex symbol with a unique name - produced from INPUT. For example, if INPUT is foo_parse.y, then - yyparse() becomes foo_parse(). This requires that both your .l - and corresponding .y files have the same prefix (e.g., foo_parse.y - and foo_tok.l). - - * amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c - source files are built automatically, and therefore should not be - in the distro (IMHO), and should be cleaned upon "make clean". - (amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files. - - * ylwrap: new file needed because we have two parsers now. - - * amd/sun_map_{parse.y,tok.l}: cleanup and formatting. - -2005-08-06 Daniel P. Ottavio <dottavio@ic.sunysb.edu> - - * amd/Makefile.am: Added new files sun_map.h, sun_map.c, - sun_map_parse.y, and sun_map_tok.l. These files add support for - parsing Sun style maps. The yacc/lex files needed custom rules so - they don't cause symbol conflicts with each other. - - * amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the - line limit for info services. - - * amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN - - * amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN, - added support for parsing Sun style maps. The support for Sun - maps is done using the sun_entry2amd() function. This function is - called for each entry line that is read only when Sun parsing is - enabled. For each entry line that is passed to the function a - copy of the Amd equivalent is returned. - - * amd/sun_map.h: new header file for Sun style map support - - * amd/sun_map.c: new source file for Sun style map support, clean - up comments, additional sun2amd conversion routines - - * amd/sun_map_parse.y: new yacc file for parsing Sun style maps, - fix copyright notice, put filename below license. - - * amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix - copyright notice, put filename below license. - - * amd/get_args.c: replace usage of strlcat with xstrlcat - - * include/am_utils.h: added 'extern void xstrlcat()' - - * libamu/util.c: Added a xstrlcat() function that wraps the - syscall strlcat() so that string truncations can be logged. - -2005-08-06 Erez Zadok <ezk@cs.sunysb.edu> - - * amd/info_file.c (file_search, file_reload): pass mnt_map to - file_search_or_reload. - (file_search_or_reload): ensure that mnt_map is never NULL. - - * amd/info_nis.c (nis_search): call sun_entry2amd() if - sun_map_syntax=yes. - - * amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if - sun_map_syntax=yes. - - * amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if - sun_map_syntax=yes. - - * amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm. - (search_ndbm): call sun_entry2amd() if sun_map_syntax=yes. - - * amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if - sun_map_syntax=yes. - - * amd/info_exec.c (exec_search): pass mnt_map to - exec_parse_qanswer. - (exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes. - - * doc/am-utils.texi (sun_map_syntax Parameter): document new - common parameter. - - * scripts/amd.conf.5: selectors_in_defaults is a common parameter, - not just [global]. Use consistent capitalization of Amd/Amq. - Document new sun_map_syntax parameter. - - * scripts/amd.conf-sample: properly list all of the parameters - which are common to both the [global] and the per-map sections. - (sun_map_syntax): example of new parameter. - - * 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. - - * amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse - sun_map_syntax flag (global or per map). - - * amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the - map uses Sun automounter syntax. - - * 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 *** - ******************************************************************* |
