From owner-svn-src-all@FreeBSD.ORG Wed Jan 28 22:55:08 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 62834737; Wed, 28 Jan 2015 22:55:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48384EF0; Wed, 28 Jan 2015 22:55:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t0SMt8Nh010949; Wed, 28 Jan 2015 22:55:08 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t0SMt7gd010940; Wed, 28 Jan 2015 22:55:07 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201501282255.t0SMt7gd010940@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Wed, 28 Jan 2015 22:55:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r277863 - in vendor/amd/dist: . amd amq conf contrib doc fixmount fsinfo hlfsd include libamu mk-amd-map scripts wire-test X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jan 2015 22:55:08 -0000 Author: pfg Date: Wed Jan 28 22:55:06 2015 New Revision: 277863 URL: https://svnweb.freebsd.org/changeset/base/277863 Log: amd: flatten the tree Added: vendor/amd/dist/AUTHORS - copied unchanged from r277862, vendor/amd/dist/contrib/amd/AUTHORS vendor/amd/dist/BUGS - copied unchanged from r277862, vendor/amd/dist/contrib/amd/BUGS vendor/amd/dist/COPYING - copied unchanged from r277862, vendor/amd/dist/contrib/amd/COPYING vendor/amd/dist/ChangeLog - copied unchanged from r277862, vendor/amd/dist/contrib/amd/ChangeLog vendor/amd/dist/FAQ - copied unchanged from r277862, vendor/amd/dist/contrib/amd/FAQ vendor/amd/dist/INSTALL - copied unchanged from r277862, vendor/amd/dist/contrib/amd/INSTALL vendor/amd/dist/MIRRORS.html - copied unchanged from r277862, vendor/amd/dist/contrib/amd/MIRRORS.html vendor/amd/dist/MIRRORS.txt - copied unchanged from r277862, vendor/amd/dist/contrib/amd/MIRRORS.txt vendor/amd/dist/NEWS - copied unchanged from r277862, vendor/amd/dist/contrib/amd/NEWS vendor/amd/dist/README - copied unchanged from r277862, vendor/amd/dist/contrib/amd/README vendor/amd/dist/README.attrcache - copied unchanged from r277862, vendor/amd/dist/contrib/amd/README.attrcache vendor/amd/dist/README.ldap - copied unchanged from r277862, vendor/amd/dist/contrib/amd/README.ldap vendor/amd/dist/README.y2k - copied unchanged from r277862, vendor/amd/dist/contrib/amd/README.y2k vendor/amd/dist/TODO - copied unchanged from r277862, vendor/amd/dist/contrib/amd/TODO vendor/amd/dist/amd/ - copied from r277862, vendor/amd/dist/contrib/amd/amd/ vendor/amd/dist/amq/ - copied from r277862, vendor/amd/dist/contrib/amd/amq/ vendor/amd/dist/aux_conf.h.in - copied unchanged from r277862, vendor/amd/dist/contrib/amd/aux_conf.h.in vendor/amd/dist/bootstrap - copied unchanged from r277862, vendor/amd/dist/contrib/amd/bootstrap vendor/amd/dist/conf/ - copied from r277862, vendor/amd/dist/contrib/amd/conf/ vendor/amd/dist/cvs-server.txt - copied unchanged from r277862, vendor/amd/dist/contrib/amd/cvs-server.txt vendor/amd/dist/doc/ - copied from r277862, vendor/amd/dist/contrib/amd/doc/ vendor/amd/dist/fixmount/ - copied from r277862, vendor/amd/dist/contrib/amd/fixmount/ vendor/amd/dist/fsinfo/ - copied from r277862, vendor/amd/dist/contrib/amd/fsinfo/ vendor/amd/dist/hlfsd/ - copied from r277862, vendor/amd/dist/contrib/amd/hlfsd/ vendor/amd/dist/include/ - copied from r277862, vendor/amd/dist/contrib/amd/include/ vendor/amd/dist/ldap-id.ms - copied unchanged from r277862, vendor/amd/dist/contrib/amd/ldap-id.ms vendor/amd/dist/ldap-id.txt - copied unchanged from r277862, vendor/amd/dist/contrib/amd/ldap-id.txt vendor/amd/dist/ldap.schema - copied unchanged from r277862, vendor/amd/dist/contrib/amd/ldap.schema vendor/amd/dist/libamu/ - copied from r277862, vendor/amd/dist/contrib/amd/libamu/ vendor/amd/dist/mk-amd-map/ - copied from r277862, vendor/amd/dist/contrib/amd/mk-amd-map/ vendor/amd/dist/scripts/ - copied from r277862, vendor/amd/dist/contrib/amd/scripts/ vendor/amd/dist/tasks - copied unchanged from r277862, vendor/amd/dist/contrib/amd/tasks vendor/amd/dist/vers.m4 - copied unchanged from r277862, vendor/amd/dist/contrib/amd/vers.m4 vendor/amd/dist/wire-test/ - copied from r277862, vendor/amd/dist/contrib/amd/wire-test/ Deleted: vendor/amd/dist/contrib/ Copied: vendor/amd/dist/AUTHORS (from r277862, vendor/amd/dist/contrib/amd/AUTHORS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/amd/dist/AUTHORS Wed Jan 28 22:55:06 2015 (r277863, copy of r277862, vendor/amd/dist/contrib/amd/AUTHORS) @@ -0,0 +1,430 @@ +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. + +* Ion Badulescu + +Co-maintainer of am-utils since late 1999: Linux and Solaris autofs support, +Linux NFSv3 support, major code reorganization, etc... + +* 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. + +November 29, 2002: compile fixes for NetBSD, a couple of bug fixes (one +already fixed by maintainers) + +April 12, 2003: support new "unmount" option, useful to timeout removable +local media mounts. + +October 12, 2004: patch to support two new amd.conf options, domain_strip +and auto_attrcache. Patch to cleanup NFS attribute-cache flag computation. +Patch to fix an inconsistency in timeouts in the RPC code between socket and +TLI implementations. Patch to print version string (amd -v) after all +options had been initialized, so we can print domain, host, and hostd. +Linux patch to use umount2(2) if umount(2) fails. + +* 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. + +June 23, 2005: assortment of small compile bugs on aix4, and solaris 5/6/7. + +* 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). + +April 18, 2003: patch to reference am-utils info pages in man page. + +November 28, 2004: small fixes to typos in amd.conf(5) man page. + +* 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. Texi +documentation fix. + +November 28, 2001: Bug fix. Support "nolock" as an NFS option, not a +generic mount option. + +July 17, 2003: pref:=null core dump fix. libgdbm portability. tcpd/librap +support. And a few other things for the 6.0 branch. + +* 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 + +* George Ross +April 29, 2002: Rework of old code, support for wildcards in LDAP queries, +and an FD leak fix. Amd -A support. + +October 21, 2002: ldap_unbind fix for SIGPIPE, and support for LDAPv3 +protocol version parameter (with Tim Colles ). + +* Matthias Scheler +June 14, 2002: patch to use "xlatecookie" NFS mount option. + +* Jun-ichiro itojun Hagino . +June 11, 2002: minor fixes to support NetBSD 1.6A. + +* 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. + +* Mark Davies +July 14, 2003: define "xlatecookie" mnttab option if not defined (for +NetBSD). Support null hesiod entries if they start with a ".". + +* Eric S. Raymond +December 9, 2003: fix unbalanced [] typo in fsinfo man page. + +* Martin Blapp +July 6, 2004: recognize fields in pcfs_args_t in FreeBSD 5. + +* Dan Nelson +August 2, 2004: pawd to recognize "host" type mounts. + +* Hauke Fath +August 3, 2004: pawd to recognize "linkx" type mounts. + +* Michael van Elst +September 1, 2004: bug fix to avoid race condition in calls to mntctl on +AIX. + +* Jonathan Chen +October 22, 2004: patch/fix to move mlock/mlockall/plock code after the +fork(). +June 29, 2005: core dump going off end of exported_ap[] array. +September 29, 2005: patch/fix for pawd not to go into an infinite loop. +October 25, 2005: patch/fix for pawd to repeatedly resolve path. + +* David Rage +January 17, 2005: prevent Amd from logging 'Read-only filesystem' errors +when the mount point has an ancestor (i.e. '/') that is mounted read-only. + +* Kevin Layer +January 28, 2005: basic instructions how to setup Amd on Mac OS-X. + +* Dan Ottavio +March 2, 2005: new global amd.conf option debug_mtab_file, to set the debug +mtab file when using debug_options=mtab. Default has changed from "./mtab" +to "/tmp/mtab" to avoid security problem. Bug fixed to ensure that Amd +terminates properly even mtab file doesn't exist. + +* Erik Kline +January 3, 2005: implementation of executable maps for Amd. + +* Jim Zajkowski +March 14, 2005: small patch to amd2ldif. + +* Adam Morley +January 27, 2005: synchronize what amd2ldif does vs. what the ldap.schema +expects. + +* Graeme Wilford +July 4, 2005: buffer overflow in pawd. + +* Steve Plite +September 22, 2005: repair reversed meaning of D_AMQ, so amq will unregister +on exit. Copied: vendor/amd/dist/BUGS (from r277862, vendor/amd/dist/contrib/amd/BUGS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/amd/dist/BUGS Wed Jan 28 22:55:06 2015 (r277863, copy of r277862, vendor/amd/dist/contrib/amd/BUGS) @@ -0,0 +1,303 @@ + LIST OF KNOWN BUGS IN AM-UTILS OR OPERATING SYSTEMS + +Note: report am-utils bugs via Bugzilla to https://bugzilla.am-utils.org/ or +by email to the am-utils@am-utils.org mailing list. + + +(1) mips-sgi-irix* + +[1A] known to have flaky NFS V.3 and TCP. Amd tends to hang or spin +infinitely after a few hours or days of use. Users must install recommended +patches from vendor. Patches help, but not all the time. Otherwise avoid +using NFS V.3 and TCP on these systems, by setting + + /defaults opts:=vers=2,proto=udp + +[1B] yp_all() leaks a file descriptor. Eventually amd runs out of file +descriptors and hangs. Am-utils circumvents this by using its own version +of yp_all which uses udp and iterates over NIS maps. The latter isn't as +reliable as yp_all() which uses TCP, but it is better than hanging. + +(I have some reports that older version of hpux-9, with older libc, also +leak file descriptors.) + +[1C] SGI's MIPSpro C compiler on IRIX 6 has the unfortunate habit of +creating code specificially for the machine it runs on. The ABI and ISA +used depend very much on the OS version and compiler release used. This +means that the resulting amd binary won't run on machines different from +the build host, particularly older ones. Older versions of am-utils +enforced the O32 ABI when compiling with cc to work around this, but this +ABI is deprecated in favor of the N32 ABI now, so we use -n32 -mips3 to +ensure that the binaries run on every host capable of running IRIX 6 at +all. If this is not appropriate for you, configure with something like +CC='cc -64' instead to get the desired ABI and ISA. + +(2) alpha-unknown-linux-gnu (RedHat Linux 4.2) + +hasmntopt(mnt, opt) can go into an infinite loop if opt is any substring +of mnt->mnt_opts. Redhat 5.0 does not have this libc bug. Here is an +example program: + +#include +#include +main() +{ + struct mntent mnt; + char *cp; + mnt.mnt_opts = "intr,rw,port=1023,timeo=8,foo=br,retrans=110,indirect,map=/usr/local/AMD/etc/amd.proj,boo"; + cp = hasmntopt(&mnt, "ro"); + printf("cp = %s\n", cp); + exit(0); +} + +It is possible that sufficiently newer version of libc for RH4.2 fix this +problem. + + +(3) mips-dec-ultrix4.3 + +Rainer Orth reports + +[3A] One needs the Kernel Config Files (UDTBIN430) subset installed to +compile am-utils, otherwise essential header files (net/if.h, net/route.h, +rpcsvc/mount.h, rpcsvc/yp_prot.h, rpcsvc/ypclnt.h, sys/proc.h) are +missing. + +[3B] It's probably impossible to build am-utils with DEC C on Ultrix V4.3. +This compiler is pseudo-ANSI only. Maybe the new ANSI C compiler in V4.3A +and beyond will do. I successfully used gcc 2.8.1. + +[3C] You need to build against a recent libhesiod (I used 3.0.2) and +libresolv/lib44bsd (I used BIND 4.9.5-P1). The resolver routines in +libc seem to cause random memory corruption. It is necessary to specify +LIBS=-l44bsd. lib44bsd is a helper library of libresolv used to supply +functions like strdup which are missing on the host system. This isn't +currently autoconfiscated. + +[3D] You need to configure with CONFIG_SHELL=/bin/sh5 /bin/sh5 buildall; +/bin/sh cannot handle the shell functions used in buildall and is both +buggy and slow. + +[3E] At least the gcc 2.7.0 fixincludes-mangled needs a +forward declaration of struct utsname to avoid lots of gcc warnings: + +RCS file: RCS/utsname.h,v +retrieving revision 1.1 +diff -u -r1.1 utsname.h +--- utsname.h 1995/06/19 13:07:01 1.1 ++++ utsname.h 1998/01/27 12:34:26 +@@ -59,6 +59,7 @@ + #ifdef KERNEL + #include "../h/limits.h" + #else /* user mode */ ++struct utsname; + extern int uname _PARAMS((struct utsname *)); + #endif + #define __SYS_NMLN 32 + + +(4) powerpc-ibm-aix4.2.1.0 + +[4A] "Randall S. Winchester" reports that for amd to +start, you need to kill and restart rpc.mountd and possibly also make sure +that nfsd is running. Normally these are not required. + +[4B] "Stefan Vogel" reports that if your amq +executable dump core unexpectedly, then it may be a bug in gcc 2.7.x. +Upgrade to gcc 2.8.x or use IBM's xlC compiler. + +[C] Do not link amd with libnsl. It is buggy and causes amd to core dump +in strlen inside strdup inside svc_register(). + + +(5) *-linux-rh51 (RedHat Linux 5.1) + +There's a UDP file descriptor leak in libnsl in RedHat Linux 5.1. This +library part of glibc2. Am-utils currently declares redhat 5.1 systems as +having a "broken yp_all" and using an internal, slower, leak-free version. +The leak is known to the glibc maintainers and a fix from them is due soon, +but it is not yet in the glibc-2.0.7-19 RPM. + + +(6) rs6000-ibm-aix4.1.x + +A bug in libc results in an amq binary that doesn't work; amq -v dumps core +in xdr_string. There is no known fix (source code or vendor patch) at this +time. (Please let am-utils@am-utils.org know if you know of a fix.) + + +(7) *-aix4.3.2.0 + +The plock() function will pre-reserve all of the memory up to the maximum +listed in the ulimit. If the ulimit is infinite, plock() will try to take +all of the system's memory, and fail with ENOMEM (Not Enough Space). +Normally ulimit may be set to a few gigs of max memory usage, but even that +is too much; Amd doesn't need more than a few megs of resident memory size +(depending on the particular usage, number of maps, etc.) Solution: lower +your ulimit before starting amd. This can be done inside the ctl-amd +script, but be careful not to limit it too low. Alternatively, don't use +plock on aix-4.3: set it to plock=no in amd.conf (which is the default if +you do nothing). + + +(8) *-linux (systems using glibc 2.1, such as RedHat-6.x) + +There's a UDP file descriptor leak in the NIS routines in glibc, especially +those that do yp_bind. Until this is bug fixed, do not set nis_domain in +amd.conf, but let the system pick up the default domain name as set by your +system. That would avoid using the buggy yp_bind routines in libc. + + +(9) *-linux (SuSE systems using unfsd) + +The user-level nfsd (2.2beta44) on older SuSE Linux systems (and possibly +others) dies with a SEGV when amd tries to contact it for access to a volume +that does not exist, or one for which there is no permission to mount. + + +(10) *-*-hpux11 + +If you're using NFSv3, you must install HP patches PHNE_20344 and +PHNE_20371. If you don't, and you try to use amd with NFSv3 over TCP, your +kernel will panic. + + +(11) *-linux* (any system using a 2.2.18+ kernel) + +The Linux kernels don't support Amd's direct mounts very well, leading to +erratic behavior: shares that don't get remounted after the first timeout, +inability to restart Amd because its mount points cannot be unmounted, etc. +There are some kernel patches on the am-utils Web site, which solve these +problems. See http://www.am-utils.org/patches/. + +Later 2.4.x kernels completely disallow the hack amd was using for direct +mounts, so another solution will have to be found. + +Note: the above is for the old-style amd mount_type = nfs. The autofs mounts +don't support direct mounts at all (due to lack of kernel support). + +(12) *-aix5.1.0.0 and *-hpux9* + +/bin/sh is broken and fails to run the configure script properly. You need +to use /bin/ksh instead. The buildall script will do it for you; if for some +reason you need to run configure directly, run it using 'ksh configure' +instead of just 'configure'. + +[12A] *-aix5.2.* + +Apparently there is an NFS client side bug in vmount() which causes amd to +hang when it starts (and tries to NFS-mount itself). According to IBM +engineers, this has to do with partial support code for IPv6: the NFS kernel +code doesn't appear to recognize the sin_family of the amd vmount(), +although amd does the right thing. The bug doesn't appear to be in 5.1 or +4.3.3. A fix from IBM is available, APAR number IY41417. + +A binary built on 4.3.3 will not work on 5.2, because the kernel ABIs have +changed. + +[12C] *-aix* + +It is important that you install bos.net.nfs.adt before configuring and +building am-utils. If you don't, you will get compile-time or +configure-time errors, especially when configure tries to find AIX's +definition of struct nfs_args. + +(13) *-linux and *-darwin6.0 + +Certain linux kernels (2.4.18+ are fine, 2.4.10- are probably bad, those in +between have not been tested) have a bug which causes them to reconnect +broken NFS/TCP connections using unprivileged ports (greater than 1024), +unlike the initial connections which do originate from privileged +ports. This can upset quite a few NFS servers and causes accesses to the +mounted shares to fail with "Operation not permitted" (EPERM). + +The darwin (MacOS X) kernel defaults to using unprivileged ports, but that +can be changed by setting the resvport mount flag (which amd sets by +default). Nonetheless, if a TCP connection breaks, under certain unclear +circumstances the kernel might "forget" about that flag and start using +unprivileged ports, causing the same EPERM error above. + +(14) Solaris + +The line "%option" in *.l files may cause Solaris /usr/ccs/bin/lex to abort +with the error "missing translation value." This is a bug in Solaris lex. + +Moreover, both Solaris yacc and lex produce code that does not pass strict +compilation such as "gcc -Wall -Werror". + +Use GNU Flex and Bison instead. You can download ready-made binaries from +www.sunfreeware.com. Note, however, that sometimes the binaries on +sunfreeware.com don't seem to work, often because they are built against an +older revision of Solaris or build tools. In that case, build a fresh +version of GNU flex and/or bison from the latest stable sources. See +http://www.gnu.org/software/flex/ and http://www.gnu.org/software/bison/. + +(15) Solaris 8 + patch 10899[34]-xx (18 <= xx < 25) or patch 11260[56]-xx + +With this patch, Sun updated the autofs kernel module and automountd +userspace daemon from version 3 to version 4. They also updated the +/usr/include/rpcsvc/autofs_prot.x file, but forgot to regenerate the +autofs_prot.h file. Thus, when amd is compiled, it uses the old header and +thinks it should use autofs version 3, when in fact the kernel now supports +(and expects) only version 4. + +The workaround is to run 'rpcgen -C -h /usr/include/rpcsvc/autofs_prot.x > +/usr/include/rpcsvc/autofs_prot.h' and completely reconfigure and rebuild +am-utils (removing config.cache before running configure). + +The problem is fixed in patch revisions 10899[34]-25 and up. + + +(16) Linux kernel 2.4+ and lofs mounts + +Lofs mounts are not supported by the linux kernel, at all, but since 2.4.0 +the kernel supports a similar type of mount called a bind mount. Its +semantics are closer to those of a hardlink than to those of lofs, and one +of the results is that bind mounts ignore any mount options paseed to them. + +Amd uses bind mounts internally to emulate lofs mounts, which means that +lofs mounts on linux will effectively ignore their mount parameters and +inherit whatever options the original filesystem mounted upon had. + + +(17) autoconf 2.57 + +If you see configure warnings of the following kind: + +configure: WARNING: sys/proc.h: present but cannot be compiled +configure: WARNING: sys/proc.h: check for missing prerequisite headers? +configure: WARNING: sys/proc.h: proceeding with the preprocessor's result +configure: WARNING: ## ------------------------------------ ## +configure: WARNING: ## Report this to bug-autoconf@gnu.org. ## +configure: WARNING: ## ------------------------------------ ## + +please ignore them. They are not real errors, and neither +bug-autoconf@gnu.org nor the am-utils maintainers are interested in hearing +about them. Autoconf simply tries to do more than we need and attempts to +compile each header in isolation, which fails for many system headers. +That's ok, because we only need to know if a header file exists -- we know +how to use it properly ourselves. + +While autoconf does offer a way to specify other files to be included with +the tested header, in order to avoid these warnings, using it would enlarge +the resulting configure script by an order of magnitude, and for no real +gain. Configure is big enough as it is, we don't need any more useless +baggage in it. + +(18) NetBSD 2.0.2, FreeBSD 5.4, OpenBSD 3.7, and quite possibly most other + BSDs and other OSs (as of September 2005) + +Some BSD kernels don't have a way to turn off the NFS attribute cache. They +don't have a 'noac' mount flag, and setting various cache timeout fields in +struct nfs_args doesn't turn off the attribute cache; instead, it sets the +attribute cache timeout to some internal hard-coded default (usually +anywhere from 5-30 seconds). If Amd cannot turn off the NFS attribute +cache, under heavy Amd usage, users could get ESTALE errors from automounted +symlinks, or find that those symlinks point to the wrong place. One +workaround which would minimize this effect is to set auto_attrcache=1 in +your amd.conf, but it doesn't eliminate the problem! The best solutions are +(1) to use Amd in Autofs mode, if it's supported in your OS, and (2) talk to +your OS vendor to support a true "noac" flag. See README.attrcache for more +details. + +Erez & the am-utils team. Copied: vendor/amd/dist/COPYING (from r277862, vendor/amd/dist/contrib/amd/COPYING) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/amd/dist/COPYING Wed Jan 28 22:55:06 2015 (r277863, copy of r277862, vendor/amd/dist/contrib/amd/COPYING) @@ -0,0 +1,37 @@ +Copyright (c) 1997-2006 Erez Zadok +Copyright (c) 1989 Jan-Simon Pendry +Copyright (c) 1989 Imperial College of Science, Technology & Medicine +Copyright (c) 1989 The Regents of the University of California. +All rights reserved. + +This code is derived from software contributed to Berkeley by +Jan-Simon Pendry at Imperial College, London. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + This product includes software developed by the University of + California, Berkeley and its contributors, as well as the Trustees of + Columbia University. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. Copied: vendor/amd/dist/ChangeLog (from r277862, vendor/amd/dist/contrib/amd/ChangeLog) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/amd/dist/ChangeLog Wed Jan 28 22:55:06 2015 (r277863, copy of r277862, vendor/amd/dist/contrib/amd/ChangeLog) @@ -0,0 +1,12025 @@ +2006-05-11 Erez Zadok + + ******************************************************************* + *** Released am-utils-6.1.5 *** + ******************************************************************* + +2006-05-10 Erez Zadok + + * Minor new ports: i386-unknown-freebsd6.1 (RELEASE) + powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9. + + * libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness + problems on IRIX-6.5. + + * conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix + signedness problems on IRIX-6.5. + +2006-05-01 Erez Zadok + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * libamu/mtab.c (hasmntval): fix inverted meaning of error from + hasmntvalerr(). + +2006-04-14 Erez Zadok + + * 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 + + * amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug + (Coverity). + +2006-03-27 Erez Zadok + + * 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 + + * minor new port: i386-pc-linux-suse10.1 (beta 8). + +2006-03-21 Christos Zoulas + + * amd/am_ops.c (merge_opts): Remove useless check found by + Coverity; xmalloc never returns NULL. + +2006-03-21 Erez Zadok + + * 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 + , 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 + + * 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 + + * amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid + comparison was failing. + +2006-03-08 Erez Zadok + + * configure.in: properly test for either or + (unfortunately, Autoconf will map both names to the + same $ac_cv_* variable name). Some systems support one header or + another. Patch inspired by work Debian did. + +2006-02-10 Erez Zadok + + ******************************************************************* + *** Released am-utils-6.1.4 *** + ******************************************************************* + +2006-01-04 Erez Zadok + + * 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 + + * updated copyright year to 2006 on all files. + +2005-12-20 Erez Zadok + + * 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 + + * minor new ports: i386-unknown-netbsdelf2.1, + i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***