PRIMARY AUTHORS AND MAJOR CONTRIBUTORS TO AM_UTILS: Original authors of amd were the Berkeley team and especially Jan-Simon Pendry. Since then many people have contributed patches. This file lists the ones who contributed major code changes, in no particular order, and I thank them all. This is of course not to diminish the smaller contributes of the many others. Thank you all. * Erez Zadok The most significant changes were made by Erez Zadok in terms of bug fixes, ports, and new features added. Erez Zadok is the current maintainer of am-utils, as of January 1997. * Randall S. Winchester May 7, 1997: contributed a special version of upl102 that included NFS V.3 support. Some of the code was contributed by Christos Zoulas . I (Erez) ported these changes to am-utils. September 12, 1997: lots of small prototype cleanups and fixes to numerous files. January 27, 1998: support pid files in the amd.conf file. Provide base name for hesiod zone files. Always use /etc/amd.conf if exists. August 8, 1998: add detection support for NFS V.3 for NetBSD 1.3F. February 1, 1998: fixes for NetBSD to better detect its features. September 4, 1999: assorted fixes for NetBSD 1.4+. * Hannes Reinecke Back in 1995, contributed code for linux. A new parser for file system specific options that only exist under linux. * Leif Johansson June 22, 1997: minor patch to ensure that systems without an RE library work. June 23, 1997: mount options should be properly comma limited. July 10, 1997: info_ldap.c and prototype changes to all map _init and _mtime functions. Contributed scripts/amd2ldif.pl. August 4, 1997: info_ldap.c fixes and adding two new amd.conf ldap variables: ldap_cache_seconds and ldap_cache_maxmem. * Andreas Stolcke June 22, 1997: patches to ensure that proto= and vers= options work properly in mount tables and can be overridden. Later on, more code contribued to optimize the best combination of proto/vers. July 4, 1997: patches to get NFS V.3 working under irix5. September 9, 1997: initialize all fields of mntent_t structures to 0. October 2, 1997: don't log an RPC timeout as an error but only as an info message. December 19, 1997: detected an FMR (Free Memory Read) in amd/mntfs.c, uninit_mntfs(). * Danny Braniss July, 6 1997: contributed patches to hesiod on bsdi3. * Tom Schmidt July 10, 1997: Recommdation to include libgdbm if libc has no dbm_open. Patches for netgrp(host) command. Mods to aux/config.guess to recognize sun3. January 19, 1998: print correct -l option depending if system supports syslog and/or syslog facilities. January 29, 1998: fix for 0.0.0.0 loopback on SunOS 3.X which defines IFF_ROUTE instead of IFF_LOOPBACK. May 30, 2000: correct logging types for addopts/mergeopts messages. * Daniel S. Riley July 11, 1997: fixes to DU-4.0 to support string POSIX.1 signals, and struct sockaddr with sa_len field. July 13, 1997: Move amd.conf parsing to before switch_option() on log/debug options. Minor type wrt "ro" option in libamu/mount_fs.c. Added more fillers of mnttab options, for acdirmax, acdirmin, acregmax, acregmin, noac, grpid, nosuid, and actimo. August 15, 1998: fix memory leak in processing of /defaults, and avoid accessing uninitialized memory in osf1. * Roman Hodek July 23, 1997: Got lots of patches from the Debian Linux folks, who fixed several generic bugs, and one serious one for Linux. The latter involved using connected sockets for NFS mounts on kernels 1.3.10 and older. Roman's work is baed on amd-upl102, and work from Ian Murdock and Dominik Kubla . * Rainer Orth August 6, 1997: assorted fixes to support hesiod-1.3, solaris 2.4 (which I already fixed but did not release yet), and support for $LDFLAGS at configure/compile time. February 24, 1998: lots of patches for ultrix 4.3 port. February 28, 1998: lots of documentation fixes! January 8, 1999: texi fixes, and more Ultrix 4.3 fixes, among others. January 11, 1999: hesiod_isup function. Fix format errors in dlog/plog. Remove obsolete or unnecessary files/macros. Don't report disabled file systems. More misc fixes. February 3, 1998: don't start autofs listener unless autofs maps were in use. December 10, 1999: assorted fixed and lots of fixes to support in-kernel mount tables in Solaris 8. February 9, 2000: new debug options hrtime (hi-res timer) and xdrtrace. bug fixes. * Jason Thorpe August 25, 1997: make amd work when talking to NIS+ servers in NIS compatibility mode. Fix originally came from Matthieu Herrb . * Chris Metcalf August 29, 1997: patch to make amd use FQHN for NFS/RPC authentication, useful esp. for cross-domain NFS mounts. September 2, 1997: if plock() succeeded, don't display errno string. * Enami Tsugutomo September 4, 1997: don't ping remote servers with NFS V.3 always, but V.2, regardless of client's NFS version. (conf/transp/transp_sockets.c) * Dan Riley September 19, 1997: make sure that amd works with more secure portmappers that do not allow forwarding of RPC messages to other services. * Wolfgang Rupprecht August 10, 1997: netbsd and other bsd systems have a mask flag for pcfs_args (msdos mount). * Christos Zoulas September 25, 1997: fix to initialize uid/gid fields of pcfs_args_t on netbsd. October 10, 1997: compile time cleanups of printf()s in hlfsd code. If nfs server is down or does not support a portmapper call, then mark it down as version 2, and try again later. April 12, 2003: support new "unmount" option, useful to timeout removable local media mounts. * Bill Paul November 5, 1997: NFS v.3 support for AIX 4.2.1, which does *not* include headers for this. Bill had to guess at the right structures, field names, sizes, alignment, etc. January 15, 1999: small ldap bug fixes. * Stefan Vogel November 14, 1997: typo in the subscription instructions to amd-dev. * Guntram Wolski November 15, 1997: pointed out mismatching documentation for the -o option. * Michael Hucka January 11, 1997: pointed out reversed definition of NFS mount options vers and proto. * Albert Chin January 12, 1998: minor bug in output of amd -H. * Thomas Richter January 13, 1998: use case insensitive comparisons for variables that need it (such as all hostname related ones, and more). July 20, 1998: don't leak memory in the private version of yp_all (when vendor yp_all is bad). * Fred Korz January 30, 1998: minor typo fixed to tftp example in am-utils.texi. * Donald Buczek March 6, 1998: correctly inherit existing NFS V.3 mounts upon restart. March 17, 1998: compare log file name and syslog string with correct length. March 20, 1998: do not close stdout in case it gets reused elsewhere and to allow startup script to redirect it. Set a temporary secure umask(0022) before writing log file and restore it afterwards. * Matthew Crosby April 20, 1998: allow arbitrary number of interfaces in wire listing. * David O'Brien September 4, 1998: bug fix to avoid overrunning hostname buffer, and minor amd.conf man page typo correction. September 22, 1999: use more secure vsnprintf in real_plog(). * Danny Rathjens October 29, 1998: swap arguments to kill(2) in amd.c. * Mike Mitchell November 3, 1998: 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. * Douglas K. Rand" December 3, 1998: case insensitive host name match for nfsl. * David Wolfskill January 28, 1999: don't turn on/off noconn option if it was already in that state. * Jeffrey C Honig March 14, 1999: clean up more autogenerated files upon "make distclean". March 15, 1999: avoid overly verbose NIS warning even on systems that don't run NIS. On BSD systems, wire.c uses getifaddrs(), sysctl(), IRS routines, and more fixes. Numerous IP packet security fixes. March 16, 1999: documentation typos. new cdfs options. ufs structure detection for bsdi4. September 17, 1999: fixes to expn. * Paul Balyoz March 26, 1999: ensure lostaltmail displays Y2K compliant dates. * Jon Peatfield March 30, 1999: turn off incomplete NFS V.3 support in HPUX 10.20. September 22, 1999: safe reloading of maps without first clearing old copies, and using cached copies if map failed to reload. * Peter Breitenlohner July 24, 1999: patch for linux 2.2.x to work with older libc5 systems, and nis_isup mis-logic fixes. December 13, 2001: report typos in scripts/amd.conf.5. * Dale Talcott July 26, 1999: added NFS3 support for AIX mounting. * Christophe Kalt July 14, 1999: add netgrpd() syntax function which uses FQHN. * Andrew J. Korty September 5, 1999: pawd works for type:=nfsl. * Nick Williams September 1, 1999: bug fix for incorrect symlinks when two locations are requested simultaneously. November 1, 1999: fixes to sync maps even if they are set to mapcache:=sync. January 19, 2000: fix (and reduce the incidence of) stale file handles when doing rapid mounts and umounts in succession. June 5, 2000: better handling of potential race-conditions during rapid u/mounts. Correctly update d_drops stats for amq -s. * Johann Pfefferl November 16, 1999: fix to ldap code so repeated calls to string2he don't corrupt the string passed. * Amitha Perera December 9, 1999: detect all wire() interfaces correctly. * Steven Danz January 25, 2000: allow browsable auto maps. * Wolfram Klaus . November 21, 2000: recognize proplist mnttab flag. * Thomas Klausner November 21, 2000: lots of NetBSD fixes (many of which are generic). * Olaf Kirch February 1, 2001: important Linux NFS error number mapping fixed * Ahmon Dancy February 9, 2001: Apple Rhapsody/Darwin/OS X port * Sebastien Bahloul July 3, 2001: LDAP fixes and updates to support new APIs March 27, 2002: LDAP bug and port to HPUX-11. * Philippe Troin July 12, 2001: Proper handling of GNU getopt, support for optionally disabling LDAP/Hesiod, fixes for the dev/nodev option on Linux November 28, 2001: Bug fix. Support "nolock" as an NFS option, not a generic mount option. July 17, 2003: Debian fixes. Null am_pref free. * Trond Myklebust January 10, 2002: Proper initialization of the timeo parameter on Linux, TCP _must_ have a timeout 2 orders of magnitude larger than UDP * Sean Fagan March 14, 2003: detect and use the MNT2_GEN_OPT_AUTOMNTFS mount flag on OS X / Darwin. * Hendrik Scholz June 9, 2003: mk-amd-map should open temp db file using O_EXCL.