xref: /netbsd-src/external/bsd/am-utils/dist/NEWS (revision 8bae5d409deb915cf7c8f0539fae22ff2cb8a313)
1*8bae5d40Schristos*** Notes specific to am-utils version 6.2
2*8bae5d40Schristos
3*8bae5d40Schristos    - Removed license advertising clause
4*8bae5d40Schristos    - Removed expn program
5*8bae5d40Schristos
6*8bae5d40Schristos*** Notes specific to am-utils version 6.2-rc1
7*8bae5d40Schristos
8*8bae5d40SchristosFilesystem Support:
9*8bae5d40Schristos    - Add support for NFSv4
10*8bae5d40Schristos    - Add support for Lustre
11*8bae5d40Schristos    - Add support for ext{2,3,4}
12*8bae5d40Schristos    - Add support for linux autofs version 5
13*8bae5d40Schristos    - Add support for TMPFS and UDF
14*8bae5d40SchristosNew features:
15*8bae5d40Schristos    - Add amq -i (prints information about maps)
16*8bae5d40Schristos    - Add synchronous unmount code for amq -uu
17*8bae5d40Schristos    - Allow a comma-separated list of LDAP servers for failover
18*8bae5d40SchristosChanges in behavior:
19*8bae5d40Schristos    - Empty variable assignments, now unset the variable value.
20*8bae5d40Schristos    - Share LDAP connections between different maps to save resources
21*8bae5d40SchristosPortability fixes:
22*8bae5d40Schristos    - Changes to work with Linux-2.6.x, Linux-3.x and NetBSD-5.x, NetBSD-6.x,
23*8bae5d40Schristos      FreeBSD 7.x, Solaris
24*8bae5d40SchristosBug fixes:
25*8bae5d40Schristos    - Many bug fixes, see ChangeLog
26*8bae5d40Schristos
27a53f50b9Schristos*** Notes specific to am-utils version 6.2a3
28a53f50b9Schristos
29a53f50b9Schristos- minor new ports:
30a53f50b9Schristos	i386-apple-darwin8.8.1
31a53f50b9Schristos	i386-pc-linux-centos4.4 (RHEL4 clone)
32a53f50b9Schristos	i386-pc-linux-fc6 (Fedora Core 6)
33a53f50b9Schristos	i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris)
34a53f50b9Schristos	ia64-hp-hpux11.23 (gcc and cc)
35a53f50b9Schristos	powerpc-apple-darwin8.7.0
36a53f50b9Schristos
37a53f50b9Schristos- Bugs fixed:
38a53f50b9Schristos	* reduce annoying warnings from xstrlcpy when expanding options.
39a53f50b9Schristos	* translate '*' Sun maps correctly with "${key}"
40a53f50b9Schristos
41a53f50b9Schristos*** Notes specific to am-utils version 6.2a2
42a53f50b9Schristos
43a53f50b9SchristosNew amd.conf global parameter: nfs_allow_any_interface.  By default it is
44a53f50b9Schristosset to 'no' which means that Amd accepts local NFS packets only from
45a53f50b9Schristos127.0.0.1.  If set to 'yes' then Amd will accept local NFS packets from any
46a53f50b9Schristoslocal interface; this is useful on hosts that may have multiple interfaces
47a53f50b9Schristoswhere the system is forced to send all outgoing packets (even those bound to
48a53f50b9Schristosthe same host) via an address other than 127.0.0.1.
49a53f50b9Schristos
50a53f50b9SchristosAdd support for specifying the host to match in the mount selectors netgrp
51a53f50b9Schristosand netgrpd.  Now one can use either netgrp(<group-name>) or
52a53f50b9Schristosnetgrp(<group-name>,<host-name>).
53a53f50b9Schristos
54a53f50b9SchristosSupport new mount options for type:=pcfs mounts: longname, nowin95,
55a53f50b9Schristosshortname, user=N, group=N, mask=N, and dirmask=N.
56a53f50b9Schristos
57a53f50b9SchristosTwo new amd.conf [global] parameters: nfs_retry_interval_toplvl and
58a53f50b9Schristosnfs_retransmit_counter_toplvl.  They are similar to nfs_retry_interval and
59a53f50b9Schristosnfs_retransmit_counter, and allow you to set the "timeo" and "retrans" NFS
60a53f50b9Schristosmount parameters, respectively, but ONLY for Amd's top-level mounts (which
61a53f50b9Schristosare NFSv2/UDP currently).  This is useful because on some systems you may
62a53f50b9Schristoswish to set these parameters differently than the OS default, so as to
63a53f50b9Schristosbetter tune Amd's responsiveness under heavy scheduler loads.
64a53f50b9Schristos
65a53f50b9Schristos- minor new ports:
66a53f50b9Schristos	i386-pc-linux-fc5 (Fedora Core 5)
67a53f50b9Schristos	i386-pc-linux-suse10.1 (beta 8)
68a53f50b9Schristos	i386-unknown-freebsd6.0 (RELEASE)
69a53f50b9Schristos	i386-unknown-freebsd6.1 (RELEASE)
70a53f50b9Schristos	i386-unknown-netbsdelf2.1
71a53f50b9Schristos	i386-unknown-netbsdelf3.0 (RELEASE)
72a53f50b9Schristos	i386-unknown-openbsd3.8
73a53f50b9Schristos	i386-unknown-openbsd3.9
74a53f50b9Schristos	powerpc-apple-darwin8.5.0
75a53f50b9Schristos	powerpc-apple-darwin8.6.0
76a53f50b9Schristos
77a53f50b9Schristos- Bugs fixed:
78a53f50b9Schristos	* one serious memory leak in amfs_generic (caught by Coverity)
79a53f50b9Schristos	* assorted potential (but rare) NULL pointer dereferences (Coverity)
80a53f50b9Schristos	* correctly print nfs_args->addr info (sin_family/port/addr)
81a53f50b9Schristos	* pawd should resolve path repeatedly until no more to do
82a53f50b9Schristos	* handle old-style filehandles correctly (for mount points longer
83a53f50b9Schristos	  than 28 chars)
84a53f50b9Schristos	* use-after-free bug in amfs_lookup_mntfs (Coverity)
85a53f50b9Schristos	* don't turn off attribute cache for regular NFS mounts (improves
86a53f50b9Schristos	  performance)
87a53f50b9Schristos	* detect G/DBM support via gdbm_compat library (Debian)
88a53f50b9Schristos	* detect NDBM support in libc (FreeBSD 6)
89a53f50b9Schristos
90a53f50b9Schristos*** Notes specific to am-utils version 6.2a1
91a53f50b9Schristos
92a53f50b9SchristosMAJOR BUG FIXES: Synchronize Amd's view of its file systems with the
93a53f50b9Schristoskernel's NFS client-side DNLC/dcache.  Amd changes its view when it reloads
94a53f50b9Schristosmaps (automatically or via "amq -f") because new map entries could be added,
95a53f50b9Schristosold one removed, or existing ones changed.  Amd also changes its view when a
96a53f50b9Schristossimple entry has expired and was flushed, or was forced out via "amq -u".
97a53f50b9SchristosAmd was not updating the mtime of its parent directory (often the amd
98a53f50b9Schristosautomount point): this resulted in the kernel re-using cached entries, which
99a53f50b9Schristosare now possibly stale.  Many users had seen this problem in the form of
100a53f50b9Schristosoccasional ESTALE errors, or dangling/broken automounted symlinks,
101a53f50b9Schristosespecially on systems under heavy use.  To tell the kernel to ignore (flush)
102a53f50b9Schristosits old entries for an directory, the mtime of the directory must be updated
103a53f50b9Schristos(monotonically incremented).  Amd was indeed doing so in several places, but
104a53f50b9Schristosunfortunately it was using time(2) which only provides a one-second
105a53f50b9Schristosresolution clock: this was fine a decade ago, but not good enough on today's
106a53f50b9Schristosfast systems; using only a one-second resolution clock meant that on busy
107a53f50b9Schristossystems that invoke Amd many times a second, some rapidly changing entries
108a53f50b9Schristosdo not get flushed from the kernel, and the kernel thus uses stale entries.
109a53f50b9SchristosThe solution to all of these was to rework the whole clock timer updates to
110a53f50b9Schristosuse gettimeofday(), using a micro-second resolution timer, and to use that
111a53f50b9Schristostime whenever Amd needs to update an mtime/atime/ctime of any node.
112a53f50b9SchristosFinally, we now update the mtime in places that were never updated before
113a53f50b9Schristos(when a whole map is flushed or a single entry times out).
114a53f50b9Schristos
115a53f50b9SchristosWarning: some OSs, we discovered, are incapable of turning off their
116a53f50b9SchristosNFS attribute cache entirely.  This means that Amd cannot work fully
117a53f50b9Schristosreliability on these systems, not under heavy load.  This is documented in
118a53f50b9Schristosdetail in the README.attrcache file included with this distribution.
119a53f50b9Schristos
120a53f50b9SchristosInclude test-attrcache script to test the NFS attribute cache behavior using
121a53f50b9SchristosAmd.
122a53f50b9Schristos
123a53f50b9SchristosTell syslog not to log automatically to /dev/console; it's unfriendly.  If
124a53f50b9Schristosuser really wants to, they can set it in /etc/syslog.conf.
125a53f50b9Schristos
126a53f50b9SchristosMoved pawd's path-matching functionality into Amd, where it can be done a
127a53f50b9Schristoslot more efficiently (we no longer need to construct and send the whole
128a53f50b9Schristosmounted tree, only to match small parts of it).  This will lessen the CPU
129a53f50b9Schristosand network load on systems that use pawd heavily, and also minimize the
130a53f50b9Schristoschance that we exceed default or hard-coded UDP/TCP RPC packet sizes.
131a53f50b9Schristos
132a53f50b9SchristosChanged slightly how Amd behaves when you try to change log_options after
133a53f50b9SchristosAmd started (options can be turned on/off via "amq -x ARG").  It used to be
134a53f50b9Schristosthat Amd won't let you turn off options which were on when Amd started.
135a53f50b9SchristosThat limited users' ability to reduce Amd's logging levels to a minimum.
136a53f50b9SchristosNow, Amd will allow you to turn on/off any option, other than the two
137a53f50b9Schristosoptions "fatal" and "error."  Both are on by default and considered
138a53f50b9Schristosmandatory.  These two don't produce a lot of log messages, so your logs will
139a53f50b9Schristosremain small, but they are important to keep on, so Amd can report serious
140a53f50b9Schristosproblems (including errors relating to incorrectly setting other log
141a53f50b9Schristosoptions).
142a53f50b9Schristos
143a53f50b9SchristosAmd now understands a new log_option called "defaults" which is synonymous
144a53f50b9Schristoswith "fatal,error,user,warning,info" (and is also what logging happens by
145a53f50b9Schristosdefault).
146a53f50b9Schristos
147a53f50b9SchristosAmd now understands a new debug_option called "defaults" which is synonymous
148a53f50b9Schristoswith "all,nohrtime,nomtab,noxdrtrace".
149a53f50b9Schristos
150a53f50b9SchristosChanged the misleading inverted logic of certain debug_options:
151a53f50b9Schristos
152a53f50b9Schristos1. "xdrtrace" is included in "all" because "all" (as the name implies),
153a53f50b9Schristos   should be *all* options, not just a subset.  If you want the old behavior
154a53f50b9Schristos   of "all" then use "defaults" (all only adds "xdrtrace" which can be
155a53f50b9Schristos   chatty on some systems).
156a53f50b9Schristos
157a53f50b9Schristos2. Certain debug options are hereby declared immutable: they may not be
158a53f50b9Schristos   changed by "amq -D" after Amd starts, because it doesn't make much sense
159a53f50b9Schristos   to change them after Amd starts, and it could really mess up Amd.  These
160a53f50b9Schristos   immutable flags are currently "daemon," "fork," "amq," and "mtab."
161a53f50b9Schristos
162a53f50b9Schristos3. the debug option "daemon" *will* cause Amd to daemonize.  Before, it was
163a53f50b9Schristos   causing Amd NOT to daemonize.  This was greatly confusing, especially
164a53f50b9Schristos   since the code, documentation, and comments often conflicted with each
165a53f50b9Schristos   other.  If you don't want Amd to daemonize, which is useful for debugging
166a53f50b9Schristos   it, then use the debug option "nodaemon" -- it makes a lot more sense.
167a53f50b9Schristos
168a53f50b9Schristos4. Similarly, the "fork" option *will* cause Hlfsd to fork.  Use "nofork" if
169a53f50b9Schristos   you don't want Hlfsd to fork.  This option is only applicable to Hlfsd.
170a53f50b9Schristos
171a53f50b9Schristos5. Similarly, the "amq" option, which is now on by default, will cause Amd
172a53f50b9Schristos   to register itself with the RPC portmapper (for Amq), as is done
173a53f50b9Schristos   normally.  If you don't want Amd to register with the portmapper, use
174a53f50b9Schristos   "noamq" -- this naming convention makes more sense.  This was also
175a53f50b9Schristos   confusingly documented and coded in places.
176a53f50b9Schristos
177a53f50b9Schristos   Note: unfortunately, these changes to the "daemon," "fork," and "amq"
178a53f50b9Schristos   debug options may be incompatible with people's previous use of Amd.
179a53f50b9Schristos   Some of you may have to update your amd.conf slightly or your startup
180a53f50b9Schristos   options (if they're hard-coded in your amd startup script).  Sorry, but
181a53f50b9Schristos   we have to fix those old problems sooner or later.  However, if you never
182a53f50b9Schristos   set any debug_options, or you used to "all," then you won't be affected
183a53f50b9Schristos   by the change in meaning of these three flags.
184a53f50b9Schristos
185a53f50b9Schristos- minor new ports:
186a53f50b9Schristos	i386-pc-linux-deb3.1
187a53f50b9Schristos	i386-unknown-netbsdelf3.0 (BETA)
188a53f50b9Schristos	powerpc-apple-darwin8.2.0
189a53f50b9Schristos
190a53f50b9Schristos- Bugs fixed:
191a53f50b9Schristos	* abort with an error if yacc/lex programs not found
192a53f50b9Schristos	* properly turn off the attrcache in freebsd and openbsd
193a53f50b9Schristos	* can turn off attrcache on netbsd, but need kernel patch, see
194a53f50b9Schristos	  README.attrcache
195a53f50b9Schristos	* pawd goes into an infinite loop on type:=auto
196a53f50b9Schristos	* consistent search for file system mnttab/mount names
197a53f50b9Schristos	* convert all sprintf to safer xsnprintf
198a53f50b9Schristos	* convert all strcat to safer xstrlcat
199a53f50b9Schristos	* convert all strcpy to safer xstrlcpy
200a53f50b9Schristos	* fix three buffer overruns in expand_op (amd/opts.c)
201a53f50b9Schristos	* pawd was trying UDP only, now try TCP if UDP failed
202a53f50b9Schristos
203a53f50b9Schristos*** Notes specific to am-utils version 6.1.1
204a53f50b9Schristos
205a53f50b9SchristosNew amd.conf global parameter: forced_unmounts (default to "no").  If set to
206a53f50b9Schristos"yes," and the client OS supports forced or lazy unmounts, then Amd will
207a53f50b9Schristosattempt to use them if it gets any of three serious error conditions when
208a53f50b9Schristostrying to unmount an existing mount point or mount on top of one: EIO,
209a53f50b9SchristosESTALE, or EBUSY.  This could be useful to recover from serious conditions
210a53f50b9Schristossuch as hardware failure of mounted disks, or NFS servers which are down
211a53f50b9Schristospermanently, were migrated, or changed their IP address.  Only
212a53f50b9Schristos"type:=toplvl" mounts hung with EBUSY are forcibly unmounted using this
213a53f50b9Schristosoption: this is useful to ensure that a new Amd can mount itself even if a
214a53f50b9Schristosprevious Amd died and left its mount points hung, or to force Amd to
215a53f50b9Schristosshutdown cleanly, even if some processes (i.e., user shells) have their CWD
216a53f50b9Schristoson Amd's own mount point.  This functionality is available for Linux, BSD44
217a53f50b9Schristossystems, Solaris, OSF/1, and partially for AIX.
218a53f50b9Schristos
219a53f50b9SchristosNew amd.conf global parameter: truncate_log (default to "no").  If set to
220a53f50b9Schristos"yes", then Amd will truncate the log file (if it's a regular file) on
221a53f50b9Schristosstartup.  This could be useful when conducting extensive testing on Amd maps
222a53f50b9Schristos(or Amd itself) and you don't want to see log data from a previous run in
223a53f50b9Schristosthe same file.
224a53f50b9Schristos
225a53f50b9Schristos- minor new ports:
226a53f50b9Schristos	i386-pc-linux-fc4
227a53f50b9Schristos	i386-pc-linux-suse9.3
228a53f50b9Schristos	i386-pc-linuxoldld-deb3.1
229a53f50b9Schristos
230a53f50b9Schristos- bugs fixed:
231a53f50b9Schristos	* safer mtab handling for Linux (locks + handles /proc/mounts)
232a53f50b9Schristos	* small compile problems on Solaris 6 (rpcvers_t)
233a53f50b9Schristos	* small compile problems on HPUX 10 (h_errno)
234a53f50b9Schristos	* possibly missing definition of INADDR_NONE in wire.c
235a53f50b9Schristos	* extern for sleep(3) may be missing on older gcc systems
236a53f50b9Schristos	* updated nfs_args structure on aix4.
237a53f50b9Schristos	* possible running off end of exported_ap[] array.
238a53f50b9Schristos	* buffer overflow in pawd.
239a53f50b9Schristos	* aix4 clean build.
240a53f50b9Schristos	* use strlcat/snprintf in a few places for safety.
241a53f50b9Schristos	* recover from IP address change of a down NFS server
242a53f50b9Schristos	* don't discard restarted mntfs that was used.
243a53f50b9Schristos
244a53f50b9Schristos*** Notes specific to am-utils version 6.1
245a53f50b9Schristos
246a53f50b9Schristos- bugs fixed:
247a53f50b9Schristos	* set timeo/retrans for type:=nfs only if user asked
248a53f50b9Schristos
249a53f50b9SchristosAlso, if you want to know what's new in 6.1 compared to 6.0.x, it's
250a53f50b9SchristosEVERYTHING below this line, up to "6.0.4."  Yes, that's a lot of stuff.
251a53f50b9Schristos
252a53f50b9Schristos*** Notes specific to am-utils version 6.1-rc7
253a53f50b9Schristos
254a53f50b9SchristosRemove alloca from am-utils, and rewrite code that used it.
255a53f50b9Schristos
256a53f50b9SchristosAssorted minor code cleanups.
257a53f50b9Schristos
258a53f50b9Schristos- minor new ports:
259a53f50b9Schristos	alpha-unknown-linux-gentoo1.4.16
260a53f50b9Schristos	alphaev56-dec-osf4.0f (using both cc and gcc)
261a53f50b9Schristos	mips-sgi-irix6.5 (using both cc and gcc)
262a53f50b9Schristos	mips-unknown-linux-gentoo1.4.16
263a53f50b9Schristos	sparc64-unknown-linux-gentoo1.4.16
264a53f50b9Schristos
265a53f50b9Schristos- bugs fixed:
266a53f50b9Schristos	* getwire() detects networks correctly on OSF/1
267a53f50b9Schristos
268a53f50b9Schristos*** Notes specific to am-utils version 6.1-rc6
269a53f50b9Schristos
270a53f50b9Schristos- minor new ports:
271a53f50b9Schristos	i386-pc-linux-deb3.0
272a53f50b9Schristos	i386-pc-linux-gentoo1.4.16
273a53f50b9Schristos	i386-pc-linux-suse9.2
274a53f50b9Schristos	i386-unknown-freebsd5.4
275a53f50b9Schristos	i386-unknown-netbsdelf2.0.2
276a53f50b9Schristos	i386-unknown-openbsd3.7
277a53f50b9Schristos	powerpc-unknown-linux-yellowdog2.3
278a53f50b9Schristos
279a53f50b9Schristos- bugs fixed:
280a53f50b9Schristos	* minor compile error of nfs_subr.c on some systems.
281a53f50b9Schristos	* AIX 5.2/5.3 PPC compile fixes.
282a53f50b9Schristos
283a53f50b9Schristos*** Notes specific to am-utils version 6.1-rc5
284a53f50b9Schristos
285a53f50b9SchristosFor NetBSD systems, $os used to say "netbsdelf1" or "netbsdelf2."  Now it
286a53f50b9Schristosjust says "netbsd."
287a53f50b9Schristos
288a53f50b9Schristos- minor new ports:
289a53f50b9Schristos	powerpc-apple-darwin7.9.0
290a53f50b9Schristos
291a53f50b9Schristos- bugs fixed:
292a53f50b9Schristos	* silly (but nasty) null pointer dereferencing
293a53f50b9Schristos	* improved fix for '-opts' syntax for resetting map options
294a53f50b9Schristos
295a53f50b9Schristos*** Notes specific to am-utils version 6.1-rc4
296a53f50b9Schristos
297a53f50b9Schristos- bugs fixed:
298a53f50b9Schristos	* check for "macosx" in M4 macros properly
299a53f50b9Schristos	* minor memory leaks (thanks to Valgrind)
300a53f50b9Schristos
301a53f50b9Schristos*** Notes specific to am-utils version 6.1-rc3
302a53f50b9Schristos
303a53f50b9SchristosMinor fix to configure.in.  Reran bootstrap to get a working configure
304a53f50b9Schristosscript that indeed checks for certain Linux nfs/autofs headers.
305a53f50b9Schristos
306a53f50b9Schristos*** Notes specific to am-utils version 6.1-rc2
307a53f50b9Schristos
308a53f50b9SchristosNew amd.conf global parameter: normalize_slashes (default to "yes").  If set
309a53f50b9Schristosto "no," then Amd will not condense repeated slashes or remove trailing ones
310a53f50b9Schristosfrom strings representing pathnames.  This is sometimes useful with SMB
311a53f50b9Schristosmounts, which often require multiple slash characters in pathnames.
312a53f50b9Schristos
313a53f50b9SchristosUsing a custom version of strlcpy instead of strncpy (but only where it
314a53f50b9Schristosmakes sense), to minimize string overflow changes.  Audited all use of
315a53f50b9Schristosstrncpy/strlcpy to ensure safety.
316a53f50b9Schristos
317a53f50b9SchristosOn Apple machines, use "powerpc" for $arch, instead of "Power Macintosh".
318a53f50b9SchristosAlso, use sw_vers to find out more appropriate OS name (macosx) and OS
319a53f50b9Schristosversion (10.3.x) than uname(3) reports.
320a53f50b9Schristos
321a53f50b9Schristos- minor new ports:
322a53f50b9Schristos	powerpc64-unknown-linux-rhel4
323a53f50b9Schristos	powerpc64-unknown-linux-sles9
324a53f50b9Schristos
325a53f50b9Schristos- bugs fixed:
326a53f50b9Schristos	* pawd handles all file systems
327a53f50b9Schristos	* fix double-free in type:=nfsx
328a53f50b9Schristos	* timeo and retrans shouldn't be set for type:=toplvl
329a53f50b9Schristos	* fix inconsistency in handling filehandle generation number
330a53f50b9Schristos	* document proper use of hosts.allow (don't spawn)
331a53f50b9Schristos	* single dash '-' map entry now resets the defaults
332a53f50b9Schristos
333a53f50b9Schristos*** Notes specific to am-utils version 6.1-rc1
334a53f50b9Schristos
335a53f50b9Schristos- minor new ports:
336a53f50b9Schristos	i386-pc-linux-fc2 (Fedora Core 2).
337a53f50b9Schristos	i386-pc-linux-fc3 (Fedora Core 3).
338a53f50b9Schristos	i386-pc-linux-rhel3
339a53f50b9Schristos	i386-pc-linux-rhel4
340a53f50b9Schristos	i386-pc-linux-suse8.2
341a53f50b9Schristos	i386-pc-linux-suse9.1
342a53f50b9Schristos	i386-pc-solaris2.10
343a53f50b9Schristos	i386-unknown-freebsd4.8
344a53f50b9Schristos	i386-unknown-freebsd4.9
345a53f50b9Schristos	i386-unknown-freebsd4.10
346a53f50b9Schristos	i386-unknown-freebsd4.11
347a53f50b9Schristos	i386-unknown-freebsd5.1 (5.1-RELEASE)
348a53f50b9Schristos	i386-unknown-freebsd5.2 (5.2-RELEASE)
349a53f50b9Schristos	i386-unknown-freebsd5.2.1 (5.2.1-RELEASE)
350a53f50b9Schristos	i386-unknown-freebsd5.3 (5.3-RELEASE)
351a53f50b9Schristos	i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001)
352a53f50b9Schristos	i386-unknown-netbsdelf1.6.1
353a53f50b9Schristos	i386-unknown-netbsdelf2.0
354a53f50b9Schristos	i386-unknown-openbsd3.6
355a53f50b9Schristos	ia64-hp-hpux11.20
356a53f50b9Schristos	ia64-unknown-linux-rhel4
357a53f50b9Schristos	mipsel-unknown-linux-rhPS2 (Linux on Sony PlayStation 2)
358a53f50b9Schristos	powerpc-apple-darwin7.6.0
359a53f50b9Schristos	powerpc-apple-darwin7.7.0
360a53f50b9Schristos	powerpc-apple-darwin7.8.0
361a53f50b9Schristos	powerpc-ibm-aix5.2.0.0
362a53f50b9Schristos	powerpc-ibm-aix5.3.0.0
363a53f50b9Schristos	sparc-sun-solaris2.10
364a53f50b9Schristos	sparc64-unknown-linux-deb3.0
365a53f50b9Schristos	x86_64-unknown-linux-rh2.9.5AS
366a53f50b9Schristos
367a53f50b9Schristos- support for executable maps ala Sun automounter.  Set map_type=exec in
368a53f50b9Schristos  amd.conf, and map_name to a program/script that takes a key as argv[1],
369a53f50b9Schristos  and returns key-value pair on stdout.  See also exec_map_timeout [global]
370a53f50b9Schristos  parameter which defines how many seconds (default 10 sec) Amd will wait
371a53f50b9Schristos  for an executable map program to return output before timing out.  See
372a53f50b9Schristos  am-utils manual for full details.
373a53f50b9Schristos
374a53f50b9Schristos- new amd.conf parameter "nfs_allow_insecure_port".  Used to work around
375a53f50b9Schristos  bugs in certain kernels, which cause them to try and talk to amd from
376a53f50b9Schristos  unprivileged ports.
377a53f50b9Schristos
378a53f50b9Schristos- new amd.conf parameter: localhost_address.  Used to override the localhost
379a53f50b9Schristos  (often 127.0.0.1) address Amd uses to connect to for the local NFS server
380a53f50b9Schristos  and RPC server.
381a53f50b9Schristos
382a53f50b9Schristos- new amd.conf [global] parameter: domain_strip (default "yes").  If set to
383a53f50b9Schristos  "no," Amd won't strip domain names from host names, which is useful if
384a53f50b9Schristos  your Amd maps are served by multiple domains and you want to tell from the
385a53f50b9Schristos  logs which exact host did what.
386a53f50b9Schristos
387a53f50b9Schristos- new amd.conf [global] parameter: auto_attrcache (default to 0).  Sets
388a53f50b9Schristos  Amd's own NFS attribute-cache timeout in seconds.  A value of 0 turns off
389a53f50b9Schristos  attribute caching, meaning that Amd will be consulted via a kernel-RPC
390a53f50b9Schristos  each time someone stat's the mount point (which could be abused as a
391a53f50b9Schristos  denial-of-service attack).  If you're concerned, set this to something
392a53f50b9Schristos  greater than zero (a value of 1 second is currently recommended).
393a53f50b9Schristos  Warning: if you set this option to any non-zero value, especially a large
394a53f50b9Schristos  value, and you get ESTALE errors on your particular OS, then set this
395a53f50b9Schristos  value back to 0 seconds.
396a53f50b9Schristos
397a53f50b9Schristos- four new amd.conf [global] parameters, similar to nfs_retry_interval and
398a53f50b9Schristos  nfs_retransmit_counter, which allow you to set the "timeo" and "retrans"
399a53f50b9Schristos  NFS mount parameters, respectively.  Now you can set those parameters
400a53f50b9Schristos  globally and separately for UDP vs. TCP, using any of these:
401a53f50b9Schristos  nfs_retry_interval_udp, nfs_retransmit_counter_udp nfs_retry_interval_tcp,
402a53f50b9Schristos  and nfs_retransmit_counter_tcp.
403a53f50b9Schristos
404a53f50b9Schristos- new amd.conf [global] parameter: preferred_amq_port.  Allows you to select
405a53f50b9Schristos  the UDP+TCP port that Amd's amq service will use with the RPC portmapper.
406a53f50b9Schristos  Useful with firewalls and NAT'ed environments.
407a53f50b9Schristos
408a53f50b9Schristos- new amd.conf option "debug_mtab_file".  Allows user to define the mtab
409a53f50b9Schristos  file during debug-mtab mode.  The default path is "/tmp/mtab".
410a53f50b9Schristos
411a53f50b9Schristos- new function selector xhost(ARG) which will match ARG against the current
412a53f50b9Schristos  host name.  This works even if ARG is a CNAME (unlike the host==ARG
413a53f50b9Schristos  selector).
414a53f50b9Schristos
415a53f50b9Schristos- support restarting the automounter's own mount points (only over NFS,
416a53f50b9Schristos  for now).
417a53f50b9Schristos
418a53f50b9Schristos- fully support WebNFS as per RFC 2054.  It now tries v3/TCP first, falling
419a53f50b9Schristos  back to v2/UDP if this doesn't work.  The "webnfs" pseudo-mount options
420a53f50b9Schristos  has been renamed (again) to "public" to match Solaris 2.
421a53f50b9Schristos
422a53f50b9Schristos- restructured the restarting of already-mounted filesystems, in the process
423a53f50b9Schristos  also fixing a problem with restarting nfsx components.
424a53f50b9Schristos
425a53f50b9Schristos- support escaped slashes, needed for SMB mounts.  Use '\\\/\\\/' in a
426a53f50b9Schristos  string to get a double slash.
427a53f50b9Schristos
428a53f50b9Schristos- amd -v now prints domain, host, and hostd values: foo, example.com, and
429a53f50b9Schristos  foo.example.com, respectively.
430a53f50b9Schristos
431a53f50b9Schristos- On Linux, if umount(2) failed with EIO or ESTALE, try the new umount2(2)
432a53f50b9Schristos  system call with MNT_FORCE+MNT_DETACH.  This could be quite helpful to
433a53f50b9Schristos  unmounting hung mount points that otherwise cannot be fixed without a
434a53f50b9Schristos  reboot.
435a53f50b9Schristos
436a53f50b9Schristos- The ping=N mount option now works.  N defaults to 30 seconds for all NFS
437a53f50b9Schristos  servers.  It can now be set to any value for each server separately.
438a53f50b9Schristos  Setting it to a large value can reduce the amount of NFS_NULL chatter on
439a53f50b9Schristos  your network considerably, especially in large sites.  Setting this to -1
440a53f50b9Schristos  will turn off pings for that server (useful in NFS-HA setups).  Setting N
441a53f50b9Schristos  to 0 will pick the default ping value in Amd (currently 30 seconds).  Note
442a53f50b9Schristos  that if you have multiple Amd entries using the same file server, and each
443a53f50b9Schristos  entry sets a different value of N, then each time Amd mounts a new entry,
444a53f50b9Schristos  the ping value will be re-evaluated (and updated, turned off, or turned
445a53f50b9Schristos  back on as needed).  Note that NFS_NULL pings are sent for both UDP and
446a53f50b9Schristos  TCP mounts, because even a hung TCP mount can cause user processes to
447a53f50b9Schristos  hang.
448a53f50b9Schristos
449a53f50b9Schristos- file system inheritance code restructured, so it's no longer a pseudo file
450a53f50b9Schristos  system, but actually integrated into Amd (as it should have been).
451a53f50b9Schristos
452a53f50b9Schristos- for type:=program, the "umount" program doesn't have to be defined; it'll
453a53f50b9Schristos  default to "unmount ${fs}".
454a53f50b9Schristos
455a53f50b9Schristos- "amd -v" now prints the distribution name if it's known (e.g., rh9, fc3,
456a53f50b9Schristos  suse8, etc.).
457a53f50b9Schristos
458a53f50b9Schristos- bugs fixed:
459a53f50b9Schristos	* various memory management problems (leaks, etc)
460a53f50b9Schristos	* fixed nfsx support
461a53f50b9Schristos	* fixed a race involving late replies to network queries which
462a53f50b9Schristos	  arrive after the file system has already been mounted
463a53f50b9Schristos	* recognize pcfs_args_t fields in FreeBSD 5
464a53f50b9Schristos	* recognize other mount types in pawd: host, linkx, and nfsx
465a53f50b9Schristos	* allow exactly one of umount and unmount in type:=program
466a53f50b9Schristos	* race condition between calls to mntctl() on AIX
467a53f50b9Schristos	* plock/mlockall wasn't inherited by fork(); moved after
468a53f50b9Schristos	  daemonizing.
469a53f50b9Schristos	* fix inconsistency between Socket and TLI RPC timeouts.
470a53f50b9Schristos	* don't warn when couldn't rmdir a dir with a readonly ancestor.
471a53f50b9Schristos	* avoid hangs of amd in ctl-amd (must chdir to /)
472a53f50b9Schristos	* workaround occasional daemonizing problems (parent won't die)
473a53f50b9Schristos	* don't hang on exit if debug_options=mtab was used
474a53f50b9Schristos	* utimeout=N mount option works with non-nfs types (ufs, pcfs, etc.)
475a53f50b9Schristos	* SEGV (null pointer deref) in type:=program and type:=cachefs
476a53f50b9Schristos	* unmount_on_exit of type:=program caused amd to hang
477a53f50b9Schristos	* match amd2ldif output with ldap.schema
478a53f50b9Schristos
479a53f50b9Schristos*** Notes specific to am-utils version 6.1b4
480a53f50b9Schristos
481a53f50b9Schristos- minor new ports:
482a53f50b9Schristos	i686-apple-darwin6.6
483a53f50b9Schristos
484a53f50b9Schristos- speed up the recovery of inherited (restarted) filesystems by using the
485a53f50b9Schristos  proper waiting channels
486a53f50b9Schristos
487a53f50b9Schristos- added support for mounting webnfs filesystems, see entry below. It doesn't
488a53f50b9Schristos  do any probing currently, so it will default to v2/UDP unless another
489a53f50b9Schristos  version and/or protocol are explicitly specified.
490a53f50b9Schristos
491a53f50b9Schristos- pseudo-mount option "ignore_portmapper" renamed to "webnfs"
492a53f50b9Schristos
493a53f50b9Schristos- bugs fixed:
494a53f50b9Schristos	* properly time out autofs filesystems on Linux
495a53f50b9Schristos	* link mounts with relative targets weren't working on autofs
496a53f50b9Schristos	* the link side of the nfsl file system wasn't working on autofs
497a53f50b9Schristos	* umount code was accidentally turning all symlinks into directories
498a53f50b9Schristos	  during attempted umounts, causing stale filehandles
499a53f50b9Schristos	* various minor build fixes for "impossible" configurations
500a53f50b9Schristos	* prevent ldap code from dereferencing a null pointer
501a53f50b9Schristos
502a53f50b9Schristos*** Notes specific to am-utils version 6.1b3
503a53f50b9Schristos
504a53f50b9Schristos- new amd.conf option autofs_use_lofs, set by default to "yes".  "yes" means
505a53f50b9Schristos  using in-place mounts (lofs, bind mounts, etc.), thus utilizing one of
506a53f50b9Schristos  Autofs's main advantages.  "no" means using symlinks instead, which has
507a53f50b9Schristos  the "/bin/pwd" problem and certain efficiency issues on Solaris 2.6+ and
508a53f50b9Schristos  is also not supported on Solaris Autofs v1 and derivatives; however, the
509a53f50b9Schristos  autofs code that uses symlinks is simpler and more thoroughly tested.
510a53f50b9Schristos
511a53f50b9Schristos- new amd.conf option map_default (can be used in [global] and overwritten
512a53f50b9Schristos  in the per-map section).  This will overwrite the /defaults entry of the
513a53f50b9Schristos  map itself, to allow people to set defaults in amd.conf (useful when you
514a53f50b9Schristos  cannot control your amd maps, or you'd rather not modify them globally).
515a53f50b9Schristos
516a53f50b9Schristos- for type:=program, you can use either unmount:=XXX or umount:=XXX (but not
517a53f50b9Schristos  both).  This new 'unmount' name is an alias for convenience.
518a53f50b9Schristos
519a53f50b9Schristos- fixed the "multiple matching sub-entries in a map entry" semantics to try
520a53f50b9Schristos  mounting those sub-entries one by one, until either one succeeds or all
521a53f50b9Schristos  fail.  The old semantics of trying to mount everything in parallel and use
522a53f50b9Schristos  the one that mounted fastest hasn't worked in a long time; in fact, 6.0
523a53f50b9Schristos  currently simply ignores all but the first matching sub-entry.
524a53f50b9Schristos
525a53f50b9Schristos- made amd fail much faster (instantly, in fact) if the remote server
526a53f50b9Schristos  doesn't have a functional portmapper or NFS service.  Also reduced the
527a53f50b9Schristos  total timeout to 3 seconds for a completely downed server.
528a53f50b9Schristos
529a53f50b9Schristos- new pseudo-mount option "ignore_portmapper"; not very useful currently,
530a53f50b9Schristos  will make more sense when we also accept hard-coded ports for mountd and
531a53f50b9Schristos  nfsd.
532a53f50b9Schristos
533a53f50b9Schristos- amd will no longer query the portmapper for all possible NFS versions and
534a53f50b9Schristos  protocols if the user requested to use specific ones.
535a53f50b9Schristos
536a53f50b9Schristos- increased the major number for the library, so that 6.0 and 6.1 can't
537a53f50b9Schristos  share libraries anymore.
538a53f50b9Schristos
539a53f50b9Schristos- support tcpd/libwrap tcpwrappers.  If your system supports libwrap, then
540a53f50b9Schristos  you can use /etc/hosts.allow and /etc/hosts.deny to control remote Amq
541a53f50b9Schristos  access to Amd.  The new amd.conf parameter use_tcpwrappers is set to "yes"
542a53f50b9Schristos  by default.
543a53f50b9Schristos
544a53f50b9Schristos- support NULL entries in Hesiod maps, if they start with a ".".
545a53f50b9Schristos
546a53f50b9Schristos- code reorganization
547a53f50b9Schristos
548a53f50b9Schristos- documentation cleanup, corrections, and general updates.  Better
549a53f50b9Schristos  references to all man pages.  Support newer texi2html.  Proper building of
550a53f50b9Schristos  DVI and PSI files.  Allow building of am-utils manual in one long Web
551a53f50b9Schristos  page.
552a53f50b9Schristos
553a53f50b9Schristos- minor new ports:
554a53f50b9Schristos
555a53f50b9Schristos	ia64-unknown-linux-rh2.1AS (Red Hat Itanium Advanced Server)
556a53f50b9Schristos	i386-unknown-freebsd5.0 (5.0-RELEASE)
557a53f50b9Schristos	sparc64-unknown-linux-suse7.3
558a53f50b9Schristos	i386-unknown-netbsdelf1.6.1
559a53f50b9Schristos	i386-unknown-openbsd3.3
560a53f50b9Schristos	i386-pc-solaris2.9
561a53f50b9Schristos
562a53f50b9Schristos- bugs fixed:
563a53f50b9Schristos
564a53f50b9Schristos	* autofs mode on Linux was segfaulting on a silly error (and noone
565a53f50b9Schristos	  complained, which proves that I'm probably the only one testing
566a53f50b9Schristos	  these beta releases, tsk tsk).
567a53f50b9Schristos	* fixed handling of host entries over autofs.
568a53f50b9Schristos	* fixed handling of nfsl entries over autofs.
569a53f50b9Schristos	* the matching in find_mntfs() was causing problems for inherited
570a53f50b9Schristos	  filesystems, so make an exception for them. Tighten the
571a53f50b9Schristos	  matching even more, to take into account the f/s type as well.
572a53f50b9Schristos	* recognize xlatecookie mnttab option on netbsd
573a53f50b9Schristos	* document Solaris lex bug (use flex)
574a53f50b9Schristos	* document AIX 5.x NFS bug (need patch)
575a53f50b9Schristos	* document Solaris 8 autofs version change (need to fix system
576a53f50b9Schristos	  header file)
577a53f50b9Schristos	* ensure lex doesn't run out of output slots
578a53f50b9Schristos	* support GNU flex-2.5.31+
579a53f50b9Schristos	* force version.texi to be rebuilt unconditionally
580a53f50b9Schristos	* mk-amd-map open db file exclusively (security)
581a53f50b9Schristos	* turn off maintainer-only rules in distros
582a53f50b9Schristos	* don't core dump if log_file is NULL (Solaris)
583a53f50b9Schristos	* don't include malloc.h if stdlib.h exists
584a53f50b9Schristos	* recognize file system failures (EIO) upon reading file maps
585a53f50b9Schristos
586a53f50b9Schristos*** Notes specific to am-utils version 6.1b2
587a53f50b9Schristos
588a53f50b9Schristos- new mount flag "softlookup", which determines how amd will respond to
589a53f50b9Schristos  lookups of NFS shares already mounted (return a valid symlink or return
590a53f50b9Schristos  EIO). The default, if "softlookup" is not specified, depends on whether the
591a53f50b9Schristos  mount is "soft" or "hard".
592a53f50b9Schristos
593a53f50b9Schristos- return EIO instead of ENOENT if amd thinks the server is down; this allows
594a53f50b9Schristos  well-written applications to sleep and retry the operation.
595a53f50b9Schristos
596a53f50b9Schristos- minor new ports:
597a53f50b9Schristos
598a53f50b9Schristos	i386-apple-darwin6.0
599a53f50b9Schristos	i386-pc-linux-rh8.0
600a53f50b9Schristos	ia64-unknown-linux-rh2.1AW
601a53f50b9Schristos	sparc-sun-solaris2.9
602a53f50b9Schristos
603a53f50b9Schristos- automatic support for loop mounts on Linux (deprecates the "loop" mount
604a53f50b9Schristos  option)
605a53f50b9Schristos
606a53f50b9Schristos- new amd.conf parameter ldap_proto_version (default 2) for setting the LDAP
607a53f50b9Schristos  protocol version to use.
608a53f50b9Schristos
609a53f50b9Schristos- bugs fixed:
610a53f50b9Schristos
611a53f50b9Schristos	* redundancy mode (multiple servers for the same share) wasn't working
612a53f50b9Schristos	* non-autofs mode had some rather nasty hangs on downed file servers
613a53f50b9Schristos	* double-free'ing problem in assign_error_mntfs and free_continuation
614a53f50b9Schristos	* free'ing non-malloc'ed memory in amfs_auto_mount
615a53f50b9Schristos	* late server ping replies were not ignored
616a53f50b9Schristos	* amfs_auto_lookup_mntfs wasn't propagating errors up to callers
617a53f50b9Schristos	* autofs-v4 on Solaris 9 works
618a53f50b9Schristos	* handle std{in,out,err} correctly when releasing controlling tty
619a53f50b9Schristos	  (for real this time)
620a53f50b9Schristos	* don't cast pointers between enum_t and u_long, it doesn't work on
621a53f50b9Schristos	  64-bit big-endian platforms
622a53f50b9Schristos	* fix compile problem with mlockall() on Darwin
623a53f50b9Schristos
624a53f50b9Schristos*** Notes specific to am-utils version 6.1b1
625a53f50b9Schristos
626a53f50b9Schristos- Major Autofs work
627a53f50b9Schristos	Partial support for Sun Autofs v1
628a53f50b9Schristos	Documented known problems with Sun Autofs v1 (possible deadlocks)
629a53f50b9Schristos	Fixes for Sun Autofs v2/v3
630a53f50b9Schristos	Preliminary support for Sun Autofs v4 (Solaris 9)
631a53f50b9Schristos	Kernel-based expirations for Linux Autofs
632a53f50b9Schristos
633a53f50b9Schristos- Minor new ports:
634a53f50b9Schristos	powerpc-ibm-aix5.1.0.0
635a53f50b9Schristos	i386-unknown-netbsd1.6A
636a53f50b9Schristos
637a53f50b9Schristos- Work around IBM's NFSv3 ABI change in aix4.3
638a53f50b9Schristos
639a53f50b9Schristos- trivial regression test suite started: run "make check" on a built
640a53f50b9Schristos  am-utils to execute tests.  Currently only one test which checks to see if
641a53f50b9Schristos  "amd -v" executes correctly.
642a53f50b9Schristos
643a53f50b9Schristos- new command line option "amd -A arch" to overwrite the value of $arch.
644a53f50b9Schristos
645a53f50b9Schristos- bugs fixed:
646a53f50b9Schristos
647a53f50b9Schristos	* Linux loop mounts of ISO images
648a53f50b9Schristos	* assorted LDAP fixes
649a53f50b9Schristos	* strerror not found on some systems
650a53f50b9Schristos	* small fixes for hpux9 and aix43
651a53f50b9Schristos	* exclude ldap/hesiod support unless both libraries+headers exist
652a53f50b9Schristos	* fully support "xlatecookie" mount option
653a53f50b9Schristos	* security: if -D noamq option, don't listen on socket.
654a53f50b9Schristos
655a53f50b9Schristos*** Notes specific to am-utils version 6.1a5:
656a53f50b9Schristos
657a53f50b9Schristos- browsable_dirs support for Solaris autofs, *without* mount storms!
658a53f50b9Schristos
659a53f50b9Schristos- new amd.conf global parameter: map_reload_interval (default 1 hour).
660a53f50b9Schristos  Determines how often Amd checks to see if maps have changed at the source
661a53f50b9Schristos  (and then reloading only those that have changed).
662a53f50b9Schristos
663a53f50b9Schristos- "amd -v" now lists bug-reporting address.
664a53f50b9Schristos
665a53f50b9Schristos- assorted code cleanups and porting to use latest versions of GNU
666a53f50b9Schristos  Autotools.
667a53f50b9Schristos
668a53f50b9Schristos- opts:=loop works for type:=cdfs, for mounting ISO-9660 files on Linux.
669a53f50b9Schristos
670a53f50b9Schristos- bugs fixed:
671a53f50b9Schristos
672a53f50b9Schristos	* fixed sublink support in Linux autofs (broken in a4)
673a53f50b9Schristos	* hlfsd takes uid 0's home from root's passwd entry instead of
674a53f50b9Schristos	  defaulting to '/'
675a53f50b9Schristos	* (not really our bug) Linux ignores the microseconds field in
676a53f50b9Schristos	  mtime, so hlfsd and amd need to increment the seconds field all
677a53f50b9Schristos	  the time to prevent symlink caching
678a53f50b9Schristos	* generic map parsing bug which was rejecting a numerical mount
679a53f50b9Schristos	  option if it was the last option in the string.
680a53f50b9Schristos	* file descriptor leak in Linux autofs.
681a53f50b9Schristos	* "nolock" is an NFS mount option, not a generic one.
682a53f50b9Schristos	* use mlockall(2) on systems that have it, for plock=yes.  Now
683a53f50b9Schristos	  pinning Amd's pages in memory works on Linux.
684a53f50b9Schristos	* ctl-amd/ctl-hlfsd correctly refer to @sysconfdir@ for alternate
685a53f50b9Schristos	  location of configuration files.
686a53f50b9Schristos
687a53f50b9Schristos*** Notes specific to am-utils version 6.1a4:
688a53f50b9Schristos
689a53f50b9Schristos- full autofs support for Solaris 2.[67], including symlinks, sublinks and
690a53f50b9Schristos  direct mounts
691a53f50b9Schristos
692a53f50b9Schristos- fixed mount/umount deadlock in Linux autofs
693a53f50b9Schristos
694a53f50b9Schristos- fixed sublinks in Linux autofs
695a53f50b9Schristos
696a53f50b9Schristos- support for network/netmask pairs in the in_network() selector
697a53f50b9Schristos
698a53f50b9Schristos- support disabling LDAP and Hesiod support using configure
699a53f50b9Schristos
700a53f50b9Schristos- forward-ported all the fixes from the stable branch (MacOS X support,
701a53f50b9Schristos  minor Linux fixes)
702a53f50b9Schristos
703a53f50b9Schristos- bind-mount support for type==link and type==lofs with Linux 2.4+
704a53f50b9Schristos
705a53f50b9Schristos- FiST lofs support under Linux (also in 6.0.6s2)
706a53f50b9Schristos
707a53f50b9Schristos*** Notes specific to am-utils version 6.1a3:
708a53f50b9Schristos
709a53f50b9Schristos- various things from the 6.0 branch:
710a53f50b9Schristos	compile fixes for Linux 2.4-ac and 2.2.19pre+
711a53f50b9Schristos	Darwin/Rhapsody/OS X support
712a53f50b9Schristos	much reduced configure script (works around a bug in Darwin's cpp)
713a53f50b9Schristos
714a53f50b9Schristos*** Notes specific to am-utils version 6.1a2:
715a53f50b9Schristos
716a53f50b9Schristos- working autofs support for Solaris 2.[67], but incomplete
717a53f50b9Schristos
718a53f50b9Schristos- forward-ported all the changes up to 6.0.5s2
719a53f50b9Schristos
720a53f50b9Schristos- removed support for amq -M
721a53f50b9Schristos
722a53f50b9Schristos- known bugs
723a53f50b9Schristos	nfsx support is broken
724a53f50b9Schristos	linux NFS codes fixes
725a53f50b9Schristos	NFS cache aliasing fixes
726a53f50b9Schristos	lots of stuff ported from 6.0 branch
727a53f50b9Schristos
728a53f50b9Schristos*** Notes specific to am-utils version 6.1a1:
729a53f50b9Schristos
730a53f50b9Schristos- working autofs (v3 and v4) support for Linux!
731a53f50b9Schristos
732a53f50b9Schristos- forward-ported all the changes in 6.0.4s4
733a53f50b9Schristos
734a53f50b9Schristos- bugs fixed
735a53f50b9Schristos	client-side fail-over to NFSv2/UDP
736a53f50b9Schristos
737a53f50b9Schristos- known bugs
738a53f50b9Schristos	autofs v3 will probably break with host maps
739a53f50b9Schristos
740a53f50b9Schristos*** Notes specific to am-utils version 6.0.4:
741a53f50b9Schristos
742a53f50b9Schristos- NFSv3 support for Linux and HPUX-11
743a53f50b9Schristos
744a53f50b9Schristos- new amd.conf [global] options:
745a53f50b9Schristos	nfs_vers: force all NFS mounts to version 2 or 3
746a53f50b9Schristos	nfs_proto: force all NFS mounts to udp or tcp
747a53f50b9Schristos
748a53f50b9Schristos- new debug_options (amd -D):
749a53f50b9Schristos	hrtime: turns on high-resolution timer if available
750a53f50b9Schristos	readdir: traces browsable_dirs code
751a53f50b9Schristos	xdrtrace: traces XDR routines
752a53f50b9Schristos	(trace: only traces NFS and RPC)
753a53f50b9Schristos
754a53f50b9Schristos- new amq options:
755a53f50b9Schristos	-H: shows usage
756a53f50b9Schristos	-w: translate getpwd() into an Amd path
757a53f50b9Schristos
758a53f50b9Schristos- new map syntax:
759a53f50b9Schristos	${dollar}: to include a literal '$' in assignments
760a53f50b9Schristos
761a53f50b9Schristos- new "opts:=" options:
762a53f50b9Schristos	ver3: turns on NFS version 3 on some systems (linux)
763a53f50b9Schristos
764a53f50b9Schristos- updated or minor new ports:
765a53f50b9Schristos	alpha-dec-osf4.0f
766a53f50b9Schristos	alphaev6-dec-osf5.0
767a53f50b9Schristos	i386-pc-linux-rh6.2
768a53f50b9Schristos	i386-unknown-freebsd3.4
769a53f50b9Schristos
770a53f50b9Schristos- bugs fixed:
771a53f50b9Schristos	symlink mtime fixes to avoid u/mount race conditions
772a53f50b9Schristos	update amq -s failed umounts count correctly
773a53f50b9Schristos	linux compiles even if efs is available
774a53f50b9Schristos	linux works with mount(2) option "intr"
775a53f50b9Schristos	linux works with pcfs and cdfs
776a53f50b9Schristos	handle std{in,out,err} correctly when releasing controlling tty
777a53f50b9Schristos	browsable_readdir works on 64-bit kernel architectures
778a53f50b9Schristos	irs/wire routines compile for bsdi{2,3,4}
779a53f50b9Schristos
780a53f50b9Schristos*** Notes specific to am-utils version 6.0.3:
781a53f50b9Schristos
782a53f50b9Schristos- updated or minor new ports:
783a53f50b9Schristos	hppa1.0-hp-hpux11.00
784a53f50b9Schristos	i386-pc-bsdi4.1
785a53f50b9Schristos	i386-unknown-netbsd1.4.1
786a53f50b9Schristos	sparc-sun-solaris2.8
787a53f50b9Schristos	i*86-pc-linux-gnu-rh6.1
788a53f50b9Schristos	(some preparations for Compaq Tru64)
789a53f50b9Schristos
790a53f50b9Schristos- new variables ${uid} and ${gid}, return the numeric UID/GID of the user
791a53f50b9Schristos  (not root) who invokes an amd pathname.  Similar to what hlfsd does.
792a53f50b9Schristos
793a53f50b9Schristos- automake now uses automatic dependency tracking
794a53f50b9Schristos
795a53f50b9Schristos- new mount options: optionstr, noexec, nomnttab
796a53f50b9Schristos
797a53f50b9Schristos- maps of type:=auto are now browsable (using map option "browsable")
798a53f50b9Schristos
799a53f50b9Schristos- ctl-amd has "status" argument (same as RedHat)
800a53f50b9Schristos
801a53f50b9Schristos- bugs fixed:
802a53f50b9Schristos	document buggy AIX 4.3 plock() behavior
803a53f50b9Schristos	fixes to stale file handle on symlinks
804a53f50b9Schristos	reduce race conditions upon rapid umount/mount sequences
805a53f50b9Schristos	use vsnprintf, more secure than vsprintf
806a53f50b9Schristos	more assorted and smaller bugs
807a53f50b9Schristos
808a53f50b9Schristos*** Notes specific to am-utils version 6.0.2:
809a53f50b9Schristos
810a53f50b9Schristos- safe map reloads: when a map needs to be reloaded, it is reloaded into a
811a53f50b9Schristos  temporary copy first.  Only if the reload was completely successful, Amd
812a53f50b9Schristos  discards the old map and uses the new one.  Otherwise Amd continues to use
813a53f50b9Schristos  the old maps.  This should help a lot with transient NIS problems.
814a53f50b9Schristos
815a53f50b9Schristos- amq -f now also forces a (safe) map reload, but only if the timestamp on
816a53f50b9Schristos  the maps was updated.
817a53f50b9Schristos
818a53f50b9Schristos- two new selector variables: ${vendor} and ${full_os}, which are the same
819a53f50b9Schristos  as the output seen in "amd -v".
820a53f50b9Schristos
821a53f50b9Schristos- documentation fixes and updates
822a53f50b9Schristos
823a53f50b9Schristos- updated or minor new ports:
824a53f50b9Schristos	i386-unknown-freebsdelf3.3
825a53f50b9Schristos
826a53f50b9Schristos- support 'ignore' flags (automntfs) in bsdi-4.1
827a53f50b9Schristos
828a53f50b9Schristos- bugs fixed:
829a53f50b9Schristos	expn.pl uses correct sockaddr_in() not, pack()
830a53f50b9Schristos	make sure configure --enable-*args take an argument
831a53f50b9Schristos	don't busy-loop trying to rebind to ldap servers
832a53f50b9Schristos	use vsnprintf, not vsprintf (security)
833a53f50b9Schristos
834a53f50b9Schristos*** Notes specific to am-utils version 6.0.1:
835a53f50b9Schristos
836a53f50b9Schristos- updated or minor new ports:
837a53f50b9Schristos	i386-pc-bsdi4.0.1
838a53f50b9Schristos	i386-unknown-freebsdelf3.0
839a53f50b9Schristos	i386-unknown-freebsdelf3.1
840a53f50b9Schristos	i386-unknown-freebsdelf3.2
841a53f50b9Schristos	i386-unknown-freebsdelf4.0
842a53f50b9Schristos	i386-unknown-netbsd1.4
843a53f50b9Schristos	i386-unknown-openbsd2.5
844a53f50b9Schristos	powerpc-unknown-linux-gnu
845a53f50b9Schristos
846a53f50b9Schristos- automount2amd added, a new script to convert Sun automount maps to Amd maps
847a53f50b9Schristos
848a53f50b9Schristos- new map function netgrpd(ARG), same as netgrp() but matches FQHN
849a53f50b9Schristos
850a53f50b9Schristos- 'ignore' is a generic mount option
851a53f50b9Schristos
852a53f50b9Schristos- hesiod info service isup() function to check if service is up
853a53f50b9Schristos
854a53f50b9Schristos- more Y2K fixes (see README.y2k for the full story)
855a53f50b9Schristos
856a53f50b9Schristos- using alloca.c on systems that don't have it (hpux9 with /bin/cc)
857a53f50b9Schristos
858a53f50b9Schristos- configure script reduced in size by using M4/sh loops instead of repeated
859a53f50b9Schristos  entries
860a53f50b9Schristos
861a53f50b9Schristos- documentation updates
862a53f50b9Schristos
863a53f50b9Schristos- too many bugs fixed to list here:
864a53f50b9Schristos	'addopts' option works with 'remopts' as well as 'opts'
865a53f50b9Schristos	AIX can perform NFS V.3 mounts explicitly
866a53f50b9Schristos	NIS is_up fixed, especially for NIS+ running in compatibility mode
867a53f50b9Schristos	amd -v incorrectly listing file systems that don't really work
868a53f50b9Schristos	amd's own mounts use reserved ports if possible
869a53f50b9Schristos	browsable directories works for Linux 2.3 (NFS cookies)
870a53f50b9Schristos	bsd44 systems check for isofs flags
871a53f50b9Schristos	bsd44 systems check for new options: norrio, gens, and extatt
872a53f50b9Schristos	buildall works better on Ultrix's /bin/sh
873a53f50b9Schristos	compile and build on Linux kernels 2.2 and newer
874a53f50b9Schristos	compile and build on RedHat Linux 6.0 (glibc 2.1)
875a53f50b9Schristos	compile and build on Solaris 7 (with or without vendor LDAP)
876a53f50b9Schristos	completely eliminate all of amd's amq -M code, when not enabled
877a53f50b9Schristos	correctly interpret failure code of unmount of type:=program
878a53f50b9Schristos	don't create autofs listener service unless used
879a53f50b9Schristos	don't list or process amq's -M option unless feature was turned on
880a53f50b9Schristos	don't turn on/off noconn option if it was already in that state
881a53f50b9Schristos	ldap info service: don't strcmp null strings
882a53f50b9Schristos	lostaltmail correctly sets struct sockaddr_in
883a53f50b9Schristos	make sure Linux systems have configured kernel headers
884a53f50b9Schristos	test for bsize/namlen fields in nfs_args (linux mount versions 2/3)
885a53f50b9Schristos	turn off broken NFS V.3 support for HPUX
886a53f50b9Schristos	use getifaddrs() on bsd44 systems makes wire.c more reliable
887a53f50b9Schristos	use matching NFS rsize/wsize on Linux 2.0 and 2.[123] kernels.
888a53f50b9Schristos	verify that RPC requests come from reserved, privileged local ports
889a53f50b9Schristos	warn when Linux kernel headers mismatch with running kernel
890a53f50b9Schristos	pawd works for type:=nfsl too
891a53f50b9Schristos
892a53f50b9Schristos*** Notes specific to am-utils version 6.0:
893a53f50b9Schristos
894a53f50b9Schristos- updated or minor new ports:
895a53f50b9Schristos	hppa2.0w-hp-hpux11.00,
896a53f50b9Schristos	i386-pc-bsdi4.0
897a53f50b9Schristos	i386-unknown-freebsd2.2.8
898a53f50b9Schristos	i386-unknown-netbsd1.3.3
899a53f50b9Schristos	i386-unknown-openbsd2.4
900a53f50b9Schristos	mips-sgi-irix6.5
901a53f50b9Schristos	powerpc-ibm-aix4.3.1.0
902a53f50b9Schristos	i386-unknown-freebsd3.0 now supports nfs v.3
903a53f50b9Schristos
904a53f50b9Schristos- ctl-amd and ctl-hlfsd now compatible with RedHat's chkconfig utility
905a53f50b9Schristos
906a53f50b9Schristos- ctl-amd stop will now wait until amd is down
907a53f50b9Schristos
908a53f50b9Schristos- libamu.so completely self contained --- does not export any symbols which
909a53f50b9Schristos  must be defined by the process linking with it.  This is so shared
910a53f50b9Schristos  libraries could be supported on systems that have restrictive shared
911a53f50b9Schristos  libraries.
912a53f50b9Schristos
913a53f50b9Schristos- use latest autoconf, automake, and libtool (off of cygnus' CVS server) to
914a53f50b9Schristos  support shared libraries on many more platforms.
915a53f50b9Schristos
916a53f50b9Schristos- posix code cleanups
917a53f50b9Schristos
918a53f50b9Schristos- bugs fixed:
919a53f50b9Schristos	case insensitive host match in type:=nfsl
920a53f50b9Schristos	correct swapped args to kill(2)
921a53f50b9Schristos	try to avoid a race condition b/t mounting and unmounting
922a53f50b9Schristos	yp_all support is found in libnsl in RH-5.1 systems
923a53f50b9Schristos
924a53f50b9Schristos*** Notes specific to am-utils version 6.0b1:
925a53f50b9Schristos
926a53f50b9Schristos- updated or minor new ports:
927a53f50b9Schristos	- *-pc-linux-gnu (glibc2 systems such as RedHat 5.1)
928a53f50b9Schristos	- sparc-sun-solaris2.7
929a53f50b9Schristos	- i386-pc-solaris2.7
930a53f50b9Schristos	- i386-unknown-freebsd3.0 (official release, post 4.4lite port)
931a53f50b9Schristos	- sparc64-unknown-linux-gnu (RH 5.1 on Sun Sparc Ultra)
932a53f50b9Schristos
933a53f50b9Schristos- bugs fixed:
934a53f50b9Schristos	- major memory leak in processing of /defaults
935a53f50b9Schristos	- core dump if map_type given in amd.conf doesn't exist
936a53f50b9Schristos	- memory leak in replacement yp_all
937a53f50b9Schristos	- don't access uninitialized memory in DU 4.0
938a53f50b9Schristos	- other smaller bugs, see ChangeLog
939a53f50b9Schristos
940a53f50b9Schristos*** Notes specific to am-utils version 6.0a16:
941a53f50b9Schristos
942a53f50b9Schristos- new ports:
943a53f50b9Schristos	hppa1.0-hp-hpux11.00 (works, not NFS V.3 due to missing headers)
944a53f50b9Schristos	mips-dec-ultrix4.3 (working, unverified)
945a53f50b9Schristos
946a53f50b9Schristos- new minor ports:
947a53f50b9Schristos	i386-pc-bsdi3.1
948a53f50b9Schristos	i386-unknown-netbsd1.3.1
949a53f50b9Schristos	alpha-dec-osf2.1
950a53f50b9Schristos
951a53f50b9Schristos- new options addopt:=ARG will "smartly" add and override options specified
952a53f50b9Schristosin opts:=
953a53f50b9Schristos
954a53f50b9Schristos- new amd.conf options:
955a53f50b9Schristos	pid_file: specifies the file to store the PID
956a53f50b9Schristos	hesiod_base: specifies the base for the Hesiod service
957a53f50b9Schristos	unmount_on_exit: if 'yes' will attempt to unmount all file systems
958a53f50b9Schristos		when amd exits.
959a53f50b9Schristos
960a53f50b9Schristos- amd.conf file is parsed after all other command line options.  If no
961a53f50b9Schristosoptions specified at all, then use /etc/amd.conf by default.
962a53f50b9Schristos
963a53f50b9Schristos- some variables' values are now compared case-insensitive as per specs,
964a53f50b9Schristossuch as host names, domain names, and more.
965a53f50b9Schristos
966a53f50b9Schristos- NIS service uses a new isup() function to detect if the service is up
967a53f50b9Schristosbefore using it.  Used to ensure amd doesn't clear the existing maps before
968a53f50b9Schristosreloading them, unless the remote info service is working.
969a53f50b9Schristos
970a53f50b9Schristos- new cdfs mount options: rrip, noversion, defperm, nodefperm (OSF)
971a53f50b9Schristos
972a53f50b9Schristos- support efs/xfs separately on irix
973a53f50b9Schristos
974a53f50b9Schristos- new -D info trace option to turn on info specific debugging, such as
975a53f50b9SchristosRES_DEBUG for hesiod services.
976a53f50b9Schristos
977a53f50b9Schristos- document updates and fixes
978a53f50b9Schristos
979a53f50b9Schristos- new file MIRRORS lists official mirror sites (also in am-utils home page)
980a53f50b9Schristos
981a53f50b9Schristos- new file BUGS lists known amd/OS bugs
982a53f50b9Schristos
983a53f50b9Schristos- source restructuring: rename all Amd file-systems' sources to amfs_ARG.c
984a53f50b9Schristossuch that it matches the type:=ARG as well.  Free names afs/dfs for Andrew
985a53f50b9SchristosF/S and Distributed F/S.
986a53f50b9Schristos
987a53f50b9Schristos- checkpoint config.guess several times during the long configure, so that
988a53f50b9Schristosif it is aborted midway, the bulk of the features discovered will be re-read
989a53f50b9Schristosfrom the config.cache file.
990a53f50b9Schristos
991a53f50b9Schristos- more systems support shared libraries (libtool 1.2)
992a53f50b9Schristos
993a53f50b9Schristos- using automake 1.3 + more fixes
994a53f50b9Schristos
995a53f50b9Schristos- bugs fixed:
996a53f50b9Schristos	use dynamic buffer for list of interfaces, not fixed size
997a53f50b9Schristos	output of amd -H duplicated if >2 interfaces
998a53f50b9Schristos	-D mem for hlfsd not on by default (so it will daemonize)
999a53f50b9Schristos	linux looks for ext2fs before ufs
1000a53f50b9Schristos	CDFS looks for 'isofs' mount type as well
1001a53f50b9Schristos	compile on Solaris 2.6 with /opt/SUNWspro/bin/cc
1002a53f50b9Schristos	various additional fixes which gcc 2.8.x reported
1003a53f50b9Schristos	print syslog help string based on what's supported
1004a53f50b9Schristos	correctly ignore loopback interface on SunOS 3.x
1005a53f50b9Schristos	don't use -lucb for strcasecmp
1006a53f50b9Schristos	hlfsd's dump file securely written in /usr/tmp/hlfsd.dump.XXXXXX
1007a53f50b9Schristos	inherit NFS V.3 mounts correctly
1008a53f50b9Schristos	write pid file securely
1009a53f50b9Schristos
1010a53f50b9Schristos*** Notes specific to am-utils version 6.0a15:
1011a53f50b9Schristos
1012a53f50b9Schristos- new ports:
1013a53f50b9Schristos	alpha-unknown-linux-gnu: works
1014a53f50b9Schristos	i386-unknown-netbsd1.3: fully working
1015a53f50b9Schristos	*-sun-sunos3: compiles, not tested
1016a53f50b9Schristos
1017a53f50b9Schristos- updated ports:
1018a53f50b9Schristos	m68k-next-nextstep3: cleaner compile, works.
1019a53f50b9Schristos
1020a53f50b9Schristos- new file system type nfsl (NFS Link).  Uses nfs if file system is remote,
1021a53f50b9Schristosand link if it is local (based on if $rhost equals the host name).
1022a53f50b9Schristos
1023a53f50b9Schristos- support for Solaris cachefs.  Requires setting fs, rfs, and a new variable
1024a53f50b9Schristoscachedir.  See documentation for explanation, examples, and caveats.
1025a53f50b9Schristos
1026a53f50b9Schristos- support negated selector functions such as !exists(/foo/bar)
1027a53f50b9Schristos
1028a53f50b9Schristos- wire, network, netnumber, in_network() selectors now match against all
1029a53f50b9Schristoslocally attached networks (by either name or number), not just the first two
1030a53f50b9Schristosinterfaces.
1031a53f50b9Schristos
1032a53f50b9Schristos- new program pawd (and man page for it) --- Print Automounter Working
1033a53f50b9SchristosDirectory, to print the proper pathname of the cwd or any other pathname,
1034a53f50b9Schristosadjusted for automounter paths, while avoiding mount points.
1035a53f50b9Schristos
1036a53f50b9Schristos- two new switches to amq: -U will force using UDP only; -T will force using
1037a53f50b9Schristosonly TCP to communicate with amd.  If neither (or both) are specified, amq
1038a53f50b9Schristoswill try TCP first, and if that failed, will try UDP.
1039a53f50b9Schristos
1040a53f50b9Schristos- support syslog facilities, using "amd -l syslog:facility".  Old behavior
1041a53f50b9Schristoswhen using only -l syslog is to use the LOG_DAEMON facility.
1042a53f50b9Schristos
1043a53f50b9Schristos- you may specify browsable_dirs=full, to get a listing of all entries
1044a53f50b9Schristos(other than /default), including those with '*' wildcard and '/'
1045a53f50b9Schristoscharacters.
1046a53f50b9Schristos
1047a53f50b9Schristos- amd -D trace now also includes as much of struct nfs_args as can be
1048a53f50b9Schristosdisplayed.  Useful in figuring out what the kernel really gets during a
1049a53f50b9Schristosmount(2), as opposed to what the /etc/mnttab file says.  -D trace also
1050a53f50b9Schristostraces the xdr_* functions.
1051a53f50b9Schristos
1052a53f50b9Schristos- support for versions of shared libamu version.  upped version from 0.0.0
1053a53f50b9Schristosto 1.0.0.  each am-utils release that will change the library will also
1054a53f50b9Schristosupdate its version.
1055a53f50b9Schristos
1056a53f50b9Schristos- amd/ops_TEMPLATE.c: a new template file for those brave enough to try and
1057a53f50b9Schristosimplement a new amd file system.  Includes comments and other info useful
1058a53f50b9Schristosfor developers.
1059a53f50b9Schristos
1060a53f50b9Schristos- if localconfig.h exists in the current directory during the run of
1061a53f50b9Schristosconfigure, it is included in all am-utils sources.  This allows courageous
1062a53f50b9Schristosdevelopers to make certain modifications during compilations, and especially
1063a53f50b9Schristosturn off undesired features (not very recommended).
1064a53f50b9Schristos
1065a53f50b9Schristos- documentation types and updates for all new features, ports, etc.
1066a53f50b9Schristos
1067a53f50b9Schristos- bugs fixed:
1068a53f50b9Schristos	support NFS mount options grpid and maxgrps
1069a53f50b9Schristos	nextstep: set NFS success code to 0 (NFS_OK), not 1 (EPERM)
1070a53f50b9Schristos	bsdi2: set NFS success code to 0 (NFS_OK), not 1 (EPERM)
1071a53f50b9Schristos	set NFS V.3 mount table names to "nfs" if vers/proto exist
1072a53f50b9Schristos	use mkstemp() if possible (more secure)
1073a53f50b9Schristos	ctl-amd looks for amd.conf in ${prefix}/etc after /etc
1074a53f50b9Schristos	hpux: use "ignore" mount table type
1075a53f50b9Schristos	openbsd2.2: turn off "noconn" mount option, so only connected used
1076a53f50b9Schristos	fixed memory leak in hlfsd (don't setpwent after endpwent)
1077a53f50b9Schristos	all NFS3 systems should have proto/vers mount/amd options
1078a53f50b9Schristos	DEBUG_MEM compiles and prints something more useful
1079a53f50b9Schristos	uninit_mntfs(): free() mf_private *after* it is used
1080a53f50b9Schristos	browsable_readdir: fewer bytes sent back to kernel for each chunk
1081a53f50b9Schristos	mount_toplvl: don't free() an automatic variable!
1082a53f50b9Schristos	amd should chdir() to / before daemonzing (for core dumps etc)
1083a53f50b9Schristos	cdfs should be called 'cdfs' not whatever the mnttab type is
1084a53f50b9Schristos	amd -v: don't print "FS:" list twice when >=2 net interfaces
1085a53f50b9Schristos
1086a53f50b9Schristos*** Notes specific to am-utils version 6.0a14:
1087a53f50b9Schristos
1088a53f50b9Schristos- updated ports:
1089a53f50b9Schristos	powerpc-ibm-aix4.2.1.0: NFS V.3 works
1090a53f50b9Schristos
1091a53f50b9Schristos- minor new ports:
1092a53f50b9Schristos	sparc-sun-sunos4.1.3C
1093a53f50b9Schristos	m68k-sun-sunos4.1.1 (sun3)
1094a53f50b9Schristos	mips-sgi-irix5.2
1095a53f50b9Schristos
1096a53f50b9Schristos- new option to amd, -O ARG, will override the operating systems *name* with
1097a53f50b9SchristosARG.  Corrected documentation for amd -o ARG --- it overrides the operating
1098a53f50b9Schristossystem *version* and not the name as the docs incorrectly stated.
1099a53f50b9Schristos
1100a53f50b9Schristos- logging now behave more like syslog: will not print repeated strings, but
1101a53f50b9Schristosrather a count such as "last message repeated N times".  (N will not exceed
1102a53f50b9Schristos100.)
1103a53f50b9Schristos
1104a53f50b9Schristos- restructured the code which deals with the numerous possible fields and
1105a53f50b9Schristosflags that are set in struct nfs_args.  That code was moved to libamu as
1106a53f50b9Schristosthe functions compute_nfs_args() and compute_automounter_nfs_args().
1107a53f50b9Schristos
1108a53f50b9Schristos- bugs fixed:
1109a53f50b9Schristos	mnttab name ufs/cdfs/pcfs/etc filesystems corrected
1110a53f50b9Schristos	use pmap_ping for amq (a must for secure portmappers, bsdi2/3)
1111a53f50b9Schristos	test for xfs (irix) as a disk-based file system
1112a53f50b9Schristos	set correct nfs_prot headers for Solaris 2.5
1113a53f50b9Schristos	removed stale code from lostaltmail.in
1114a53f50b9Schristos	lostaltmail will look for conf file in multiple locations
1115a53f50b9Schristos	assorted documentation corrections
1116a53f50b9Schristos	amq does not print "get_secure_amd_client" if run as root
1117a53f50b9Schristos
1118a53f50b9Schristos*** Notes specific to am-utils version 6.0a13:
1119a53f50b9Schristos
1120a53f50b9Schristos- new in_network(ARG) nomadic selector, true if ARG is the name (or number)
1121a53f50b9Schristosof any of this host's network interfaces.
1122a53f50b9Schristos
1123a53f50b9Schristos- removed variables primnetname, primnetnum, subsnetname, and subsnetnum.
1124a53f50b9Schristos(Kept "wire" and its alias "network", and "netnumber".)
1125a53f50b9Schristos
1126a53f50b9Schristos- include am-utils.dvi and am-utils.ps in distribution.
1127a53f50b9Schristos
1128a53f50b9Schristos- hlfsd supports new option -P ARG, for reading password map off of file
1129a53f50b9SchristosARG.  Allows you to use the hlfs redirector using paths other than user's
1130a53f50b9Schristoshome directories.
1131a53f50b9Schristos
1132a53f50b9Schristos- use a replacement yp_all for some systems (irix) known to have a broken
1133a53f50b9Schristosone which leaks a file descriptor each time called.
1134a53f50b9Schristos
1135a53f50b9Schristos- if remote NFS server is down or does not support portmap, downgrade
1136a53f50b9Schristosmachine to NFS V.2 and retry again later.
1137a53f50b9Schristos
1138a53f50b9Schristos- bugs:
1139a53f50b9Schristos	don't redefine yywrap on systems using a modified flex
1140a53f50b9Schristos	use correct "ignore" mnttab/mount option on hpux for df(1)
1141a53f50b9Schristos	use nfs_args' fsname field (hpux) to avoid syncer/mount(1) problems
1142a53f50b9Schristos	don't add ops_ufs.o twice to Makefile's $(OBJS)
1143a53f50b9Schristos	don't fail if autofs listener fails to initialize
1144a53f50b9Schristos	hlfsd should test if run as root after usage() and getopt
1145a53f50b9Schristos
1146a53f50b9Schristos- minor code cleanups for netbsd
1147a53f50b9Schristos
1148a53f50b9Schristos- html docs now in http://www.am-utils.org
1149a53f50b9Schristos
1150a53f50b9Schristos- added README file in binaries ftp directory
1151a53f50b9Schristos
1152a53f50b9Schristos*** Notes specific to am-utils version 6.0a12:
1153a53f50b9Schristos
1154a53f50b9Schristos- minor or updated/broken ports fixed:
1155a53f50b9Schristos	hppa1.1-hp-hpux10.10:	compiles, untested (probably works).
1156a53f50b9Schristos	hppa1.1-hp-hpux9.05:	compiles, untested (probably works).
1157a53f50b9Schristos	hppa1.1-hp-hpux9.07:	compiles, untested (probably works).
1158a53f50b9Schristos	m68k-hp-hpux9.00:	compiles, untested (probably works).
1159a53f50b9Schristos	rs6000-ibm-aix4.1.4.0:	compiles, untested.
1160a53f50b9Schristos	sparc-sun-solaris2.6:	works w/ NFS V.3.
1161a53f50b9Schristos	sparc-sun-sunos4.1.4:	compiles, untested (probably works).
1162a53f50b9Schristos
1163a53f50b9Schristos- new ports:
1164a53f50b9Schristos	powerpc-ibm-aix4.2.1.0:	compiles w/ NFS V.3, untested.
1165a53f50b9Schristos
1166a53f50b9Schristos- wire-test also checks for combinations of NFS protocol/version from the
1167a53f50b9Schristosclient to a remote (or local) host.
1168a53f50b9Schristos
1169a53f50b9Schristos- conf/mtab/mtab_file.c: use flock() to lock the file, and fcntl() if
1170a53f50b9Schristosflock() is not available.  (Used to prefer fcntl() over flock().)
1171a53f50b9Schristos
1172a53f50b9Schristos- bug fixes:
1173a53f50b9Schristos	tli get_nfs_version() gets into an infinite loop
1174a53f50b9Schristos	tli get_nfs_version() should time out faster
1175a53f50b9Schristos	sockets get_nfs_version() should work w/ secure portmappers
1176a53f50b9Schristos	ESTALE returned for NFS mounts for SunOS 4.x fixed
1177a53f50b9Schristos	do not exceed HOSTNAMESZ for nfs_args.hostname (get ENAMETOOLONG)
1178a53f50b9Schristos	properly initialize some mntent_t fields (fsck, freq, mnt_time)
1179a53f50b9Schristos	properly initialize some pcfs_args fields (mask, uid, gid)
1180a53f50b9Schristos	properly initialize some cdfs_args fields (ssector)
1181a53f50b9Schristos
1182a53f50b9Schristos*** Notes specific to am-utils version 6.0a11:
1183a53f50b9Schristos
1184a53f50b9Schristos- bug fixes:
1185a53f50b9Schristos	amd could not NFS mount v.2 servers from v.3 clients
1186a53f50b9Schristos	hlfsd will only use first occurrence of home dir for same uid
1187a53f50b9Schristos
1188a53f50b9Schristos*** Notes specific to am-utils version 6.0a10:
1189a53f50b9Schristos
1190a53f50b9Schristos- MAJOR DOCUMENTATION UPDATE! (first time in 6 years)
1191a53f50b9Schristos
1192a53f50b9Schristos- new ports:
1193a53f50b9Schristos	m68k-next-nextstep3: configures, compiles, not tested.
1194a53f50b9Schristos
1195a53f50b9Schristos- preliminary autofs support.  See README.autofs for details.
1196a53f50b9Schristos
1197a53f50b9Schristos- new amd.conf [global] yes/no keywords:
1198a53f50b9Schristos	show_statfs_entries:	shows number of entries for df(1)
1199a53f50b9Schristos	fully_qualified_hosts:	use FQHN for NFS/RPC authentication
1200a53f50b9Schristos
1201a53f50b9Schristos- detect down remote hosts faster
1202a53f50b9Schristos
1203a53f50b9Schristos- log output of "amd -v" at startup
1204a53f50b9Schristos
1205a53f50b9Schristos- removed $osver override for solaris: now it is 2.5.1, not 5.5.1
1206a53f50b9Schristos
1207a53f50b9Schristos- buildall will use gmake first if available
1208a53f50b9Schristos
1209a53f50b9Schristos- bugs fixed:
1210a53f50b9Schristos	amd core dumped when remote host was down
1211a53f50b9Schristos	allow up to 1024 entries back from readdir()
1212a53f50b9Schristos	amd.conf works even if only [global] option defined
1213a53f50b9Schristos	avoid using bad memcmp() implementations
1214a53f50b9Schristos	fixed meaning of plock [global] option (was reversed)
1215a53f50b9Schristos	hlfsd infinite loop unless compiled with --enable-debug
1216a53f50b9Schristos	NIS code works with NIS+ servers in NIS compatibility mode
1217a53f50b9Schristos	reset tag fields in amd.conf so they don't carry to other entries
1218a53f50b9Schristos
1219a53f50b9Schristos*** Notes specific to am-utils version 6.0a9:
1220a53f50b9Schristos
1221a53f50b9Schristos- new ports:
1222a53f50b9Schristos	sparc-sun-solaris2.4:
1223a53f50b9Schristos		 configures/compiles, and runs (no NFS V3)
1224a53f50b9Schristos	i386-unknown-openbsd2.1:
1225a53f50b9Schristos		configures/compiles, runs (NFS V3)
1226a53f50b9Schristos
1227a53f50b9Schristos- updated ports:
1228a53f50b9Schristos	i486-ncr-sysv4.3.03: configures/compiles, not tested
1229a53f50b9Schristos
1230a53f50b9Schristos- Multiple amd support: new amd.conf [global] key "portmap_program" can be
1231a53f50b9Schristosused to specify an alternate RPC program number for amd to un/register.
1232a53f50b9SchristosAllowed numbers range from 300019 to 300029.  A matching new option for amq:
1233a53f50b9Schristos-P prognum, will use an alternate program number to contact.
1234a53f50b9Schristos
1235a53f50b9Schristos- man pages:
1236a53f50b9Schristos	amd.conf.5	new
1237a53f50b9Schristos	mk-amd-map.8	new
1238a53f50b9Schristos	amd.8		updated
1239a53f50b9Schristos	amq.8		updated
1240a53f50b9Schristos	(other man pages required minor updates)
1241a53f50b9Schristos
1242a53f50b9Schristos- shared libraries support expanded.  Using GNU libtool-1.0.  You can build
1243a53f50b9Schristosa shared version of libamu, and link with it accordingly, by specifying
1244a53f50b9Schristos--enable-shared to configure.  Default is --enable-static --disable-shared,
1245a53f50b9Schristosand you can mix and match.  See "INSTALL" file for listing of systems on
1246a53f50b9Schristoswhich shared libraries seem to build and work fine.
1247a53f50b9Schristos
1248a53f50b9Schristos- new option: amq -p, will return the PID of the running amd (local or
1249a53f50b9Schristosremote).  Uses a new RPC message.  Useful especially in "ctl-amd stop".
1250a53f50b9Schristos
1251a53f50b9Schristos- new configure script options --enable-ldflags, for specifying -L flags.
1252a53f50b9SchristosThe older --enable-libs is to be used only for -l options.
1253a53f50b9Schristos
1254a53f50b9Schristos- two new LDAP map options for amd.conf: ldap_cache_seconds and
1255a53f50b9Schristosldap_cache_maxmem.
1256a53f50b9Schristos
1257a53f50b9Schristos- new script, am-eject from Debian linux's version of amd-upl102.
1258a53f50b9Schristos
1259a53f50b9Schristos- additional passwd map support using var[0-3], from Debian folks.
1260a53f50b9Schristos
1261a53f50b9Schristos- hesiod code cleanup.  works for hesiod 1.3 as well as 3.0.
1262a53f50b9Schristos
1263a53f50b9Schristos- removed defunct -h option from amd.
1264a53f50b9Schristos
1265a53f50b9Schristos- started using automake-1.2.  This fixed several bugs that caused some
1266a53f50b9Schristosversions of yacc/lex and non-GNU make to fail.
1267a53f50b9Schristos
1268a53f50b9Schristos- bug fixes:
1269a53f50b9Schristos	amd/hlfsd mounts should be hidden from df(1)
1270a53f50b9Schristos	use "noconn" option for nfs mounts (multi-homed hosts)
1271a53f50b9Schristos	don't use connected sockets on linux before 1.3.10 (from Debian)
1272a53f50b9Schristos	better checks for [gn]dbm
1273a53f50b9Schristos	forbid excessive retries after timeouts (from Debian)
1274a53f50b9Schristos	readdir(): don't skip over map entries with prefix, and include it
1275a53f50b9Schristos	more assorted linux fixes from Debian folks
1276a53f50b9Schristos	lofs mount on svr4 was broken
1277a53f50b9Schristos	find default value of $karch from uname() not $arch
1278a53f50b9Schristos	hlfsd failed to mount itself on some little-endians
1279a53f50b9Schristos
1280a53f50b9Schristos
1281a53f50b9Schristos*** Notes specific to am-utils version 6.0a8:
1282a53f50b9Schristos
1283a53f50b9Schristos- new ports:
1284a53f50b9Schristos	i386-unknown-netbsd1.2.1: configures/compiles (with NFS V.3), works,
1285a53f50b9Schristos				  but some OS stability problems exist.
1286a53f50b9Schristos
1287a53f50b9Schristos- updated ports:
1288a53f50b9Schristos	hppa1.1-hp-hpux9.01:
1289a53f50b9Schristos			now tested and working
1290a53f50b9Schristos	rs6000-ibm-aix3.2 and rs6000-ibm-aix3.2.5:
1291a53f50b9Schristos			now tested and working
1292a53f50b9Schristos
1293a53f50b9Schristos- fixed browsable directories (readdir) code.
1294a53f50b9Schristos
1295a53f50b9Schristos- better methods to find amd/hlfsd pid to kill in ctl-{amd,hlfsd}
1296a53f50b9Schristos
1297a53f50b9Schristos- "ignore/auto" mount types fixed for irix, sunos, and others, so "df" does not
1298a53f50b9Schristosshow amd mounts by default (but GNU df -a does).
1299a53f50b9Schristos
1300a53f50b9Schristos- each time amd is built, a new "build" version is incremented.  See amd -v.
1301a53f50b9Schristos
1302a53f50b9Schristos- man page for fsinfo added
1303a53f50b9Schristos
1304a53f50b9Schristos- empty fillers for new file (bsd44) systems: nullfs, unionfs, umapfs.
1305a53f50b9Schristos
1306a53f50b9Schristos- when amd is not running, or portmapper is down, make amq timeout faster (5
1307a53f50b9Schristossec) than system default, usually 4-5 minutes.
1308a53f50b9Schristos
1309a53f50b9Schristos- bug fixes:
1310a53f50b9Schristos	hlfsd mount got "protocol not supported"
1311a53f50b9Schristos	first regular map in amd.conf didn't inherit global options
1312a53f50b9Schristos	make "bad" versions of lex still work with amd/conf_parse.l
1313a53f50b9Schristos	check for 'nodev' option, not 'nondev'
1314a53f50b9Schristos	typo in "ro" option, and fillers to ac{reg,dir}{min,max} and others
1315a53f50b9Schristos	amd.conf parsing done before switching default log/debug options
1316a53f50b9Schristos	allow doubly-quoted values in amd.conf
1317a53f50b9Schristos	hesiod-reload code cleanup
1318a53f50b9Schristos
1319a53f50b9Schristos- assorted code cleanup
1320a53f50b9Schristos
1321a53f50b9Schristos
1322a53f50b9Schristos*** Notes specific to am-utils version 6.0a7:
1323a53f50b9Schristos
1324a53f50b9Schristos- new ports:
1325a53f50b9Schristos	i386-unknown-freebsd3.0:
1326a53f50b9Schristos			fully functional with NFS V.3
1327a53f50b9Schristos	sparc-sun-solaris2.3:
1328a53f50b9Schristos			fully functional (should work for 2.4)
1329a53f50b9Schristos	sparc-unknown-netbsd1.2E:
1330a53f50b9Schristos			configures/compiles (with NFS V.3), untested
1331a53f50b9Schristos
1332a53f50b9Schristos- updated ports:
1333a53f50b9Schristos	i386-pc-bsdi3.0:
1334a53f50b9Schristos			NFS V.3 works
1335a53f50b9Schristos			look for hesiod in libc
1336a53f50b9Schristos	mips-sgi-irix5.3:
1337a53f50b9Schristos			fully functional with NFS V.3
1338a53f50b9Schristos
1339a53f50b9Schristos- LDAP support!  New [global] amd.conf options ldap_base and ldap_hostports.
1340a53f50b9SchristosAlso includes a new script amd2ldif to convert amd maps into plain text LDAP
1341a53f50b9Schristosobject files.
1342a53f50b9Schristos
1343a53f50b9Schristos- the following amd.conf variables: browsable_dirs, map_options, map_type,
1344a53f50b9Schristosmount_type, and search_path --- can now be specified in [global] as well as
1345a53f50b9Schristosthe map entry itself.  That way you can declare them only once in [global],
1346a53f50b9Schristosand override them as needed per map.
1347a53f50b9Schristos
1348a53f50b9Schristos- option "cluster" added to [global] (HPUX clusters ala "amd -C").
1349a53f50b9Schristos
1350a53f50b9Schristos- assorted info_hesiod map fixes and cleanup.  removed HESIOD_RELOAD code.
1351a53f50b9Schristos
1352a53f50b9Schristos- added netgrp(name) function to amd map syntax to see if current host is in
1353a53f50b9Schristosthe <name> netgroup.
1354a53f50b9Schristos
1355a53f50b9Schristos- removed unused option "amd -m".
1356a53f50b9Schristos
1357a53f50b9Schristos- filled in "tasks" file with todo items.
1358a53f50b9Schristos
1359a53f50b9Schristos- filled "COPYING" file with legal stuff.
1360a53f50b9Schristos
1361a53f50b9Schristos- cleanup: all global variables are now in one big structure (struct
1362a53f50b9Schristosamu_global_options) that's easy to identify and enhance.  Also migrated
1363a53f50b9Schristosseveral flags that used be an integer each into one unsigned integer that's
1364a53f50b9Schristosused as a bit-flag.
1365a53f50b9Schristos
1366a53f50b9Schristos- big fixes:
1367a53f50b9Schristos	xdr_mountres3 should compile only if has NFS V3
1368a53f50b9Schristos	lex/yacc macros show full pathname (to tell if correct one runs)
1369a53f50b9Schristos	misc fixes/cleanup
1370a53f50b9Schristos
1371a53f50b9Schristos
1372a53f50b9Schristos*** Notes specific to am-utils version 6.0a6:
1373a53f50b9Schristos
1374a53f50b9Schristos- amd configuration file!
1375a53f50b9Schristos
1376a53f50b9SchristosSee scripts/amd.conf-sample for help and some explanation.  This new conf
1377a53f50b9Schristosfile allows for the following new features:
1378a53f50b9Schristos
1379a53f50b9Schristos	default selectors can be turned on/off globally.
1380a53f50b9Schristos	browsable_dirs/readdir() support can be turned on per map.
1381a53f50b9Schristos	search paths for file type maps.
1382a53f50b9Schristos	can force the map type to file, nis, ndbm, etc. rather than default
1383a53f50b9Schristos		to looking at all of them.
1384a53f50b9Schristos	tag each map for "amd -T tag", useful for grouping maps.
1385a53f50b9Schristos	can override $os and others (so if you don't like "sunos5" default
1386a53f50b9Schristos		naming, set os=sos5 and it will work with your old maps).
1387a53f50b9Schristos	and more goodies...
1388a53f50b9Schristos
1389a53f50b9Schristos- enable-default-selectors: No longer turned on by the configure script or
1390a53f50b9Schristosoptionally compiled.  Code made dynamic and can be turned on or off from the
1391a53f50b9Schristosamd.conf file.  This code is off by default, and must be turned on by
1392a53f50b9Schristosamd.conf's [global] section.
1393a53f50b9Schristos
1394a53f50b9Schristos- new ports:
1395a53f50b9Schristos	mips-sgi-irix5.3:	configure/compile, not tested
1396a53f50b9Schristos	i486-ncr-sysv4.3.03:	configure/compile, not tested
1397a53f50b9Schristos
1398a53f50b9Schristos- updated ports:
1399a53f50b9Schristos	alpha-dec-osf4.0:	major code redone
1400a53f50b9Schristos	sparc-sun-sunos4.1.3:	fixed and working
1401a53f50b9Schristos	mips-sgi-irix6.2:	tested with gcc and "cc -32 -Wl,-woff,84"
1402a53f50b9Schristos	mips-sgi-irix6.4:	tested with gcc and "cc -32 -Wl,-woff,84"
1403a53f50b9Schristos
1404a53f50b9Schristos- better NFS3 port, including more support for proto= and vers=, and
1405a53f50b9Schristosautomatic determination of proto/vers combination.
1406a53f50b9Schristos
1407a53f50b9Schristos- conf/nfs_prot/nfs_prot_*.h: all of the NFS protocol header files had to be
1408a53f50b9Schristosredone, because of the osf4 port.  OSF used very different names for these,
1409a53f50b9Schristosand they conflicted with am-utils'.  The only solution was to more or less
1410a53f50b9Schristosconform to OSF4's naming, and change all the others.
1411a53f50b9Schristos
1412a53f50b9Schristos- ctl-amd script:
1413a53f50b9Schristos	improved to look for amd.conf in $prefix/etc and /etc
1414a53f50b9Schristos	better methods for finding the pid of amd to kill
1415a53f50b9Schristos
1416a53f50b9Schristos- autoconf support for LDAP.  amd/info_ldap.c needs to be written.
1417a53f50b9Schristos
1418a53f50b9Schristos- wire-test also reports the local IP address.  Some systems have multiple,
1419a53f50b9Schristosbuggy version of get_myaddress(), esp. SunOS and Irix.  Note that Solaris
1420a53f50b9Schristosx86 has a buggy htonl().
1421a53f50b9Schristos
1422a53f50b9Schristos- amd -H prints usage.
1423a53f50b9Schristos
1424a53f50b9Schristos- bugs fixed:
1425a53f50b9Schristos	minor TLI problem in fwd_socket
1426a53f50b9Schristos	mount options properly comma delimited
1427a53f50b9Schristos	LIBS is set only to the right set of libraries to include
1428a53f50b9Schristos	selectors-on-default code ignored last selector ent in /defaults
1429a53f50b9Schristos	assorted code cleanups
1430a53f50b9Schristos
1431a53f50b9Schristos
1432a53f50b9Schristos*** Notes specific to am-utils version 6.0a5:
1433a53f50b9Schristos
1434a53f50b9Schristos- NFS Version 3 support!!!
1435a53f50b9Schristos
1436a53f50b9Schristos	Works on Solaris 2.5.1.
1437a53f50b9Schristos	Minimal testing done on Irix 6.
1438a53f50b9Schristos	Compiles cleanly on DU-4.0 but no tests performed.
1439a53f50b9Schristos
1440a53f50b9SchristosWill fall back to V2 mounts when V3 is not available.  Will also use TCP if
1441a53f50b9Schristospossible, UDP otherwise.
1442a53f50b9Schristos
1443a53f50b9Schristos- Ports to new platforms:
1444a53f50b9Schristos
1445a53f50b9Schristos	alpha-dec-osf4.0		(not tested)
1446a53f50b9Schristos	i386-pc-bsdi3.0			(tested and working)
1447a53f50b9Schristos	i386-unknown-freebsd2.2.1	(tested and working)
1448a53f50b9Schristos	sparc-unknown-linux-gnu		(tested and working)
1449a53f50b9Schristos
1450a53f50b9Schristos- New scripts added:
1451a53f50b9Schristos
1452a53f50b9Schristos	amd2sun:	convert amd maps to Sun automount maps
1453a53f50b9Schristos	ctl-amd:	script to start/stop/restart amd
1454a53f50b9Schristos	ctl-hlfsd:	script to start/stop/restart hlfsd
1455a53f50b9Schristos	expn:		expand mail alias (used by hlfsd)
1456a53f50b9Schristos	lostaltmail:	redeliver "lost" mail redirected by hlfsd
1457a53f50b9Schristos	lostaltmail.conf-sample:	sample conf file for lostaltmail
1458a53f50b9Schristos	wait4amd:	run a command once amd is up on a host
1459a53f50b9Schristos	wait4amd2die:	wait for an amd process to die before returning
1460a53f50b9Schristos
1461a53f50b9Schristos- "amd -v" now includes more info and "amq -v" lists all of it.
1462a53f50b9Schristos
1463a53f50b9Schristos- new parser for linux specific mount options.
1464a53f50b9Schristos
1465a53f50b9Schristos- Main bugs fixed:
1466a53f50b9Schristos
1467a53f50b9Schristos	"new toplvl readdir" bug caused amd to dump core
1468a53f50b9Schristos	handler for SIGCHLD didn't check for all possible children
1469a53f50b9Schristos	hlfsd leaking file descriptors when home file system was full
1470a53f50b9Schristos	cdfs/pcfs mounts should not timeout by default
1471a53f50b9Schristos	hesiod domain names should be compared in case-insensitive manner
1472a53f50b9Schristos	several printfs in amq were missing \n
1473a53f50b9Schristos
1474a53f50b9Schristos
1475a53f50b9Schristos*** Notes specific to am-utils version 6.0a4:
1476a53f50b9Schristos
1477a53f50b9Schristos- amd services both TCP and UDP amq requests.  This will help because of the
1478a53f50b9Schristoslimited UDP message size.
1479a53f50b9Schristos
1480a53f50b9Schristos- "amq -M" code is disabled by default because it is insecure.  It is
1481a53f50b9Schristosrarely used.  Users who wish to use it should run
1482a53f50b9Schristos"configure --enable-amq-mount".
1483a53f50b9Schristos
1484a53f50b9Schristos
1485a53f50b9Schristos*** Notes specific to am-utils version 6.0a3:
1486a53f50b9Schristos
1487a53f50b9Schristos- New tested ports (configures, compiles, and runs):
1488a53f50b9Schristos
1489a53f50b9Schristos	i386-unknown-freebsd2.2
1490a53f50b9Schristos
1491a53f50b9Schristos- New ports (configures and compiles correctly, not tested):
1492a53f50b9Schristos
1493a53f50b9Schristos	rs6000-ibm-aix3.2.5
1494a53f50b9Schristos	rs6000-ibm-aix4.1.5.0
1495a53f50b9Schristos
1496a53f50b9Schristos- More am-utils programs ported to all existing platforms: hlfsd, fsinfo,
1497a53f50b9Schristosmk-amd-map, and fixmount.
1498a53f50b9Schristos
1499a53f50b9Schristos- Shared libraries: a new configure option --enable-shared will build a
1500a53f50b9Schristosshared libamu.so, link applications with it, and use it.  Reduces binary
1501a53f50b9Schristossizes by 20-30%.  This is the first step towards loadable modules, as many
1502a53f50b9Schristoschanges had to be done to be able to compile and use PIC code.  This is code
1503a53f50b9Schristosthat obviously needs to be generalized to be able to build shared libraries
1504a53f50b9Schristoson many other platforms.  It was only tested on Solaris 5.5.1.
1505a53f50b9Schristos
1506a53f50b9Schristos- the file INSTALL contains the latest compatibility table of which
1507a53f50b9Schristosplatforms am-utils configures, compiles and runs on.
1508a53f50b9Schristos
1509a53f50b9Schristos- Trimmed down the size of the configure script.  Some tests that are not
1510a53f50b9Schristosused anywhere were removed.
1511a53f50b9Schristos
1512a53f50b9Schristos
1513a53f50b9Schristos*** Notes specific to am-utils version 6.0a2:
1514a53f50b9Schristos
1515a53f50b9Schristos- New ports (configures and compiles correctly, not tested):
1516a53f50b9Schristos
1517a53f50b9Schristos	i386-pc-bsdi2.1
1518a53f50b9Schristos	hppa1.1-hp-hpux9.01
1519a53f50b9Schristos	hppa1.1-hp-hpux10.20
1520a53f50b9Schristos
1521a53f50b9Schristos- new configure options:
1522a53f50b9Schristos
1523a53f50b9Schristos	--enable-cppflags[=ARG]
1524a53f50b9Schristos		configure/compile with ARG (-I) preprocessor flags
1525a53f50b9Schristos	--enable-libs[=ARG]
1526a53f50b9Schristos		configure/compile with ARG (-L/-l) library flags
1527a53f50b9Schristos
1528a53f50b9Schristos- file system, mount table entries, and mount type tests can now look in
1529a53f50b9Schristos/lib/modules and /proc/filesystems for statically/dyadically loadable kernel
1530a53f50b9Schristosmodules (linux)
1531a53f50b9Schristos
1532a53f50b9Schristos- prefer vfat over msdos/pc/etc file system for PCFS.
1533a53f50b9Schristos
1534a53f50b9Schristos- moved all fixed headers to include/am_defs.  Left only #define/#undef
1535a53f50b9Schristosentries in aux/acconfig.h.
1536a53f50b9Schristos
1537a53f50b9Schristos- make more sense of systems that have full, partial, or no NFS protocol
1538a53f50b9Schristosheaders.
1539a53f50b9Schristos
1540a53f50b9Schristos- minor fixes for NetBSD (untested platform).
1541a53f50b9Schristos
1542a53f50b9Schristos- hesiod map fixed.
1543a53f50b9Schristos
1544a53f50b9Schristos- buildall -D: new option to run even stricter developer options.
1545a53f50b9Schristos
1546a53f50b9Schristos- lots of other bugs fixed (see ChangeLog).
1547a53f50b9Schristos
1548a53f50b9Schristos
1549a53f50b9Schristos*** Notes specific to am-utils version 6.0a1:
1550a53f50b9Schristos
1551a53f50b9SchristosI have it configure and build correctly for the following systems:
1552a53f50b9Schristos
1553a53f50b9Schristos	i386-pc-solaris2.5.1
1554a53f50b9Schristos	i386-unknown-freebsd2.1.0
1555a53f50b9Schristos	mips-sgi-irix6.2
1556a53f50b9Schristos	sparc-sun-solaris2.5.1
1557a53f50b9Schristos	sparc-sun-sunos4.1.3
1558a53f50b9Schristos
1559a53f50b9SchristosAmq, wire-test, and "amd -v" work on all of the above.  A real running amd
1560a53f50b9Schristoswas only tested and confirmed working on
1561a53f50b9Schristos
1562a53f50b9Schristos	i386-pc-solaris2.5.1
1563a53f50b9Schristos	sparc-sun-solaris2.5.1
1564a53f50b9Schristos
1565a53f50b9SchristosMany things are still missing: options, features, etc.  But for now, let's
1566a53f50b9Schristosconcentrate on getting the basic functionality working on the more popular
1567a53f50b9Schristossystems.
1568