1310490Scy*** Notes specific to am-utils version 6.2
251292Sobrien
3310490Scy    - Removed license advertising clause
4310490Scy    - Removed expn program
5310490Scy
6310490Scy*** Notes specific to am-utils version 6.2-rc1
7310490Scy
8310490ScyFilesystem Support:
9310490Scy    - Add support for NFSv4
10310490Scy    - Add support for Lustre
11310490Scy    - Add support for ext{2,3,4}
12310490Scy    - Add support for linux autofs version 5
13310490Scy    - Add support for TMPFS and UDF
14310490ScyNew features:
15310490Scy    - Add amq -i (prints information about maps)
16310490Scy    - Add synchronous unmount code for amq -uu
17310490Scy    - Allow a comma-separated list of LDAP servers for failover
18310490ScyChanges in behavior:
19310490Scy    - Empty variable assignments, now unset the variable value.
20310490Scy    - Share LDAP connections between different maps to save resources
21310490ScyPortability fixes:
22310490Scy    - Changes to work with Linux-2.6.x, Linux-3.x and NetBSD-5.x, NetBSD-6.x,
23310490Scy      FreeBSD 7.x, Solaris
24310490ScyBug fixes:
25310490Scy    - Many bug fixes, see ChangeLog
26310490Scy
27310490Scy*** Notes specific to am-utils version 6.2a3
28310490Scy
29310490Scy- minor new ports:
30310490Scy	i386-apple-darwin8.8.1
31310490Scy	i386-pc-linux-centos4.4 (RHEL4 clone)
32310490Scy	i386-pc-linux-fc6 (Fedora Core 6)
33310490Scy	i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris)
34310490Scy	ia64-hp-hpux11.23 (gcc and cc)
35310490Scy	powerpc-apple-darwin8.7.0
36310490Scy
37310490Scy- Bugs fixed:
38310490Scy	* reduce annoying warnings from xstrlcpy when expanding options.
39310490Scy	* translate '*' Sun maps correctly with "${key}"
40310490Scy
41310490Scy*** Notes specific to am-utils version 6.2a2
42310490Scy
43174294SobrienNew amd.conf global parameter: nfs_allow_any_interface.  By default it is
44174294Sobrienset to 'no' which means that Amd accepts local NFS packets only from
45174294Sobrien127.0.0.1.  If set to 'yes' then Amd will accept local NFS packets from any
46174294Sobrienlocal interface; this is useful on hosts that may have multiple interfaces
47174294Sobrienwhere the system is forced to send all outgoing packets (even those bound to
48174294Sobrienthe same host) via an address other than 127.0.0.1.
49174294Sobrien
50174294SobrienAdd support for specifying the host to match in the mount selectors netgrp
51174294Sobrienand netgrpd.  Now one can use either netgrp(<group-name>) or
52174294Sobriennetgrp(<group-name>,<host-name>).
53174294Sobrien
54174294SobrienSupport new mount options for type:=pcfs mounts: longname, nowin95,
55174294Sobrienshortname, user=N, group=N, mask=N, and dirmask=N.
56174294Sobrien
57174294SobrienTwo new amd.conf [global] parameters: nfs_retry_interval_toplvl and
58174294Sobriennfs_retransmit_counter_toplvl.  They are similar to nfs_retry_interval and
59174294Sobriennfs_retransmit_counter, and allow you to set the "timeo" and "retrans" NFS
60174294Sobrienmount parameters, respectively, but ONLY for Amd's top-level mounts (which
61174294Sobrienare NFSv2/UDP currently).  This is useful because on some systems you may
62174294Sobrienwish to set these parameters differently than the OS default, so as to
63174294Sobrienbetter tune Amd's responsiveness under heavy scheduler loads.
64174294Sobrien
65174294Sobrien- minor new ports:
66174294Sobrien	i386-pc-linux-fc5 (Fedora Core 5)
67174294Sobrien	i386-pc-linux-suse10.1 (beta 8)
68174294Sobrien	i386-unknown-freebsd6.0 (RELEASE)
69310490Scy	i386-unknown-freebsd6.1 (RELEASE)
70174294Sobrien	i386-unknown-netbsdelf2.1
71174294Sobrien	i386-unknown-netbsdelf3.0 (RELEASE)
72174294Sobrien	i386-unknown-openbsd3.8
73310490Scy	i386-unknown-openbsd3.9
74174294Sobrien	powerpc-apple-darwin8.5.0
75310490Scy	powerpc-apple-darwin8.6.0
76174294Sobrien
77174294Sobrien- Bugs fixed:
78174294Sobrien	* one serious memory leak in amfs_generic (caught by Coverity)
79174294Sobrien	* assorted potential (but rare) NULL pointer dereferences (Coverity)
80174294Sobrien	* correctly print nfs_args->addr info (sin_family/port/addr)
81174294Sobrien	* pawd should resolve path repeatedly until no more to do
82310490Scy	* handle old-style filehandles correctly (for mount points longer
83310490Scy	  than 28 chars)
84174294Sobrien	* use-after-free bug in amfs_lookup_mntfs (Coverity)
85310490Scy	* don't turn off attribute cache for regular NFS mounts (improves
86310490Scy	  performance)
87310490Scy	* detect G/DBM support via gdbm_compat library (Debian)
88310490Scy	* detect NDBM support in libc (FreeBSD 6)
89174294Sobrien
90310490Scy*** Notes specific to am-utils version 6.2a1
91174294Sobrien
92174294SobrienMAJOR BUG FIXES: Synchronize Amd's view of its file systems with the
93174294Sobrienkernel's NFS client-side DNLC/dcache.  Amd changes its view when it reloads
94174294Sobrienmaps (automatically or via "amq -f") because new map entries could be added,
95174294Sobrienold one removed, or existing ones changed.  Amd also changes its view when a
96174294Sobriensimple entry has expired and was flushed, or was forced out via "amq -u".
97174294SobrienAmd was not updating the mtime of its parent directory (often the amd
98174294Sobrienautomount point): this resulted in the kernel re-using cached entries, which
99174294Sobrienare now possibly stale.  Many users had seen this problem in the form of
100174294Sobrienoccasional ESTALE errors, or dangling/broken automounted symlinks,
101174294Sobrienespecially on systems under heavy use.  To tell the kernel to ignore (flush)
102174294Sobrienits old entries for an directory, the mtime of the directory must be updated
103174294Sobrien(monotonically incremented).  Amd was indeed doing so in several places, but
104174294Sobrienunfortunately it was using time(2) which only provides a one-second
105174294Sobrienresolution clock: this was fine a decade ago, but not good enough on today's
106174294Sobrienfast systems; using only a one-second resolution clock meant that on busy
107174294Sobriensystems that invoke Amd many times a second, some rapidly changing entries
108174294Sobriendo not get flushed from the kernel, and the kernel thus uses stale entries.
109174294SobrienThe solution to all of these was to rework the whole clock timer updates to
110174294Sobrienuse gettimeofday(), using a micro-second resolution timer, and to use that
111174294Sobrientime whenever Amd needs to update an mtime/atime/ctime of any node.
112174294SobrienFinally, we now update the mtime in places that were never updated before
113174294Sobrien(when a whole map is flushed or a single entry times out).
114174294Sobrien
115174294SobrienWarning: some OSs, we discovered, are incapable of turning off their
116174294SobrienNFS attribute cache entirely.  This means that Amd cannot work fully
117174294Sobrienreliability on these systems, not under heavy load.  This is documented in
118174294Sobriendetail in the README.attrcache file included with this distribution.
119174294Sobrien
120174294SobrienInclude test-attrcache script to test the NFS attribute cache behavior using
121174294SobrienAmd.
122174294Sobrien
123174294SobrienTell syslog not to log automatically to /dev/console; it's unfriendly.  If
124174294Sobrienuser really wants to, they can set it in /etc/syslog.conf.
125174294Sobrien
126310490ScyMoved pawd's path-matching functionality into Amd, where it can be done a
127310490Scylot more efficiently (we no longer need to construct and send the whole
128310490Scymounted tree, only to match small parts of it).  This will lessen the CPU
129310490Scyand network load on systems that use pawd heavily, and also minimize the
130310490Scychance that we exceed default or hard-coded UDP/TCP RPC packet sizes.
131310490Scy
132310490ScyChanged slightly how Amd behaves when you try to change log_options after
133310490ScyAmd started (options can be turned on/off via "amq -x ARG").  It used to be
134310490Scythat Amd won't let you turn off options which were on when Amd started.
135310490ScyThat limited users' ability to reduce Amd's logging levels to a minimum.
136310490ScyNow, Amd will allow you to turn on/off any option, other than the two
137310490Scyoptions "fatal" and "error."  Both are on by default and considered
138310490Scymandatory.  These two don't produce a lot of log messages, so your logs will
139310490Scyremain small, but they are important to keep on, so Amd can report serious
140310490Scyproblems (including errors relating to incorrectly setting other log
141310490Scyoptions).
142310490Scy
143310490ScyAmd now understands a new log_option called "defaults" which is synonymous
144310490Scywith "fatal,error,user,warning,info" (and is also what logging happens by
145310490Scydefault).
146310490Scy
147310490ScyAmd now understands a new debug_option called "defaults" which is synonymous
148310490Scywith "all,nohrtime,nomtab,noxdrtrace".
149310490Scy
150310490ScyChanged the misleading inverted logic of certain debug_options:
151310490Scy
152310490Scy1. "xdrtrace" is included in "all" because "all" (as the name implies),
153310490Scy   should be *all* options, not just a subset.  If you want the old behavior
154310490Scy   of "all" then use "defaults" (all only adds "xdrtrace" which can be
155310490Scy   chatty on some systems).
156310490Scy
157310490Scy2. Certain debug options are hereby declared immutable: they may not be
158310490Scy   changed by "amq -D" after Amd starts, because it doesn't make much sense
159310490Scy   to change them after Amd starts, and it could really mess up Amd.  These
160310490Scy   immutable flags are currently "daemon," "fork," "amq," and "mtab."
161310490Scy
162310490Scy3. the debug option "daemon" *will* cause Amd to daemonize.  Before, it was
163310490Scy   causing Amd NOT to daemonize.  This was greatly confusing, especially
164310490Scy   since the code, documentation, and comments often conflicted with each
165310490Scy   other.  If you don't want Amd to daemonize, which is useful for debugging
166310490Scy   it, then use the debug option "nodaemon" -- it makes a lot more sense.
167310490Scy
168310490Scy4. Similarly, the "fork" option *will* cause Hlfsd to fork.  Use "nofork" if
169310490Scy   you don't want Hlfsd to fork.  This option is only applicable to Hlfsd.
170310490Scy
171310490Scy5. Similarly, the "amq" option, which is now on by default, will cause Amd
172310490Scy   to register itself with the RPC portmapper (for Amq), as is done
173310490Scy   normally.  If you don't want Amd to register with the portmapper, use
174310490Scy   "noamq" -- this naming convention makes more sense.  This was also
175310490Scy   confusingly documented and coded in places.
176310490Scy
177310490Scy   Note: unfortunately, these changes to the "daemon," "fork," and "amq"
178310490Scy   debug options may be incompatible with people's previous use of Amd.
179310490Scy   Some of you may have to update your amd.conf slightly or your startup
180310490Scy   options (if they're hard-coded in your amd startup script).  Sorry, but
181310490Scy   we have to fix those old problems sooner or later.  However, if you never
182310490Scy   set any debug_options, or you used to "all," then you won't be affected
183310490Scy   by the change in meaning of these three flags.
184310490Scy
185174294Sobrien- minor new ports:
186174294Sobrien	i386-pc-linux-deb3.1
187310490Scy	i386-unknown-netbsdelf3.0 (BETA)
188174294Sobrien	powerpc-apple-darwin8.2.0
189174294Sobrien
190310490Scy- Bugs fixed:
191310490Scy	* abort with an error if yacc/lex programs not found
192310490Scy	* properly turn off the attrcache in freebsd and openbsd
193310490Scy	* can turn off attrcache on netbsd, but need kernel patch, see
194310490Scy	  README.attrcache
195310490Scy	* pawd goes into an infinite loop on type:=auto
196310490Scy	* consistent search for file system mnttab/mount names
197310490Scy	* convert all sprintf to safer xsnprintf
198310490Scy	* convert all strcat to safer xstrlcat
199310490Scy	* convert all strcpy to safer xstrlcpy
200310490Scy	* fix three buffer overruns in expand_op (amd/opts.c)
201310490Scy	* pawd was trying UDP only, now try TCP if UDP failed
202174294Sobrien
203174294Sobrien*** Notes specific to am-utils version 6.1.1
204174294Sobrien
205174294SobrienNew amd.conf global parameter: forced_unmounts (default to "no").  If set to
206174294Sobrien"yes," and the client OS supports forced or lazy unmounts, then Amd will
207174294Sobrienattempt to use them if it gets any of three serious error conditions when
208174294Sobrientrying to unmount an existing mount point or mount on top of one: EIO,
209174294SobrienESTALE, or EBUSY.  This could be useful to recover from serious conditions
210174294Sobriensuch as hardware failure of mounted disks, or NFS servers which are down
211174294Sobrienpermanently, were migrated, or changed their IP address.  Only
212174294Sobrien"type:=toplvl" mounts hung with EBUSY are forcibly unmounted using this
213174294Sobrienoption: this is useful to ensure that a new Amd can mount itself even if a
214174294Sobrienprevious Amd died and left its mount points hung, or to force Amd to
215174294Sobrienshutdown cleanly, even if some processes (i.e., user shells) have their CWD
216174294Sobrienon Amd's own mount point.  This functionality is available for Linux, BSD44
217174294Sobriensystems, Solaris, OSF/1, and partially for AIX.
218174294Sobrien
219174294SobrienNew amd.conf global parameter: truncate_log (default to "no").  If set to
220174294Sobrien"yes", then Amd will truncate the log file (if it's a regular file) on
221174294Sobrienstartup.  This could be useful when conducting extensive testing on Amd maps
222174294Sobrien(or Amd itself) and you don't want to see log data from a previous run in
223174294Sobrienthe same file.
224174294Sobrien
225174294Sobrien- minor new ports:
226174294Sobrien	i386-pc-linux-fc4
227174294Sobrien	i386-pc-linux-suse9.3
228174294Sobrien	i386-pc-linuxoldld-deb3.1
229174294Sobrien
230174294Sobrien- bugs fixed:
231174294Sobrien	* safer mtab handling for Linux (locks + handles /proc/mounts)
232174294Sobrien	* small compile problems on Solaris 6 (rpcvers_t)
233174294Sobrien	* small compile problems on HPUX 10 (h_errno)
234174294Sobrien	* possibly missing definition of INADDR_NONE in wire.c
235174294Sobrien	* extern for sleep(3) may be missing on older gcc systems
236174294Sobrien	* updated nfs_args structure on aix4.
237174294Sobrien	* possible running off end of exported_ap[] array.
238174294Sobrien	* buffer overflow in pawd.
239174294Sobrien	* aix4 clean build.
240174294Sobrien	* use strlcat/snprintf in a few places for safety.
241174294Sobrien	* recover from IP address change of a down NFS server
242174294Sobrien	* don't discard restarted mntfs that was used.
243174294Sobrien
244174294Sobrien*** Notes specific to am-utils version 6.1
245174294Sobrien
246174294Sobrien- bugs fixed:
247174294Sobrien	* set timeo/retrans for type:=nfs only if user asked
248174294Sobrien
249174294SobrienAlso, if you want to know what's new in 6.1 compared to 6.0.x, it's
250174294SobrienEVERYTHING below this line, up to "6.0.4."  Yes, that's a lot of stuff.
251174294Sobrien
252174294Sobrien*** Notes specific to am-utils version 6.1-rc7
253174294Sobrien
254174294SobrienRemove alloca from am-utils, and rewrite code that used it.
255174294Sobrien
256174294SobrienAssorted minor code cleanups.
257174294Sobrien
258174294Sobrien- minor new ports:
259174294Sobrien	alpha-unknown-linux-gentoo1.4.16
260174294Sobrien	alphaev56-dec-osf4.0f (using both cc and gcc)
261174294Sobrien	mips-sgi-irix6.5 (using both cc and gcc)
262174294Sobrien	mips-unknown-linux-gentoo1.4.16
263174294Sobrien	sparc64-unknown-linux-gentoo1.4.16
264174294Sobrien
265174294Sobrien- bugs fixed:
266174294Sobrien	* getwire() detects networks correctly on OSF/1
267174294Sobrien
268174294Sobrien*** Notes specific to am-utils version 6.1-rc6
269174294Sobrien
270174294Sobrien- minor new ports:
271174294Sobrien	i386-pc-linux-deb3.0
272174294Sobrien	i386-pc-linux-gentoo1.4.16
273174294Sobrien	i386-pc-linux-suse9.2
274174294Sobrien	i386-unknown-freebsd5.4
275174294Sobrien	i386-unknown-netbsdelf2.0.2
276174294Sobrien	i386-unknown-openbsd3.7
277174294Sobrien	powerpc-unknown-linux-yellowdog2.3
278174294Sobrien
279174294Sobrien- bugs fixed:
280174294Sobrien	* minor compile error of nfs_subr.c on some systems.
281174294Sobrien	* AIX 5.2/5.3 PPC compile fixes.
282174294Sobrien
283174294Sobrien*** Notes specific to am-utils version 6.1-rc5
284174294Sobrien
285174294SobrienFor NetBSD systems, $os used to say "netbsdelf1" or "netbsdelf2."  Now it
286174294Sobrienjust says "netbsd."
287174294Sobrien
288174294Sobrien- minor new ports:
289174294Sobrien	powerpc-apple-darwin7.9.0
290174294Sobrien
291174294Sobrien- bugs fixed:
292174294Sobrien	* silly (but nasty) null pointer dereferencing
293174294Sobrien	* improved fix for '-opts' syntax for resetting map options
294174294Sobrien
295174294Sobrien*** Notes specific to am-utils version 6.1-rc4
296174294Sobrien
297174294Sobrien- bugs fixed:
298174294Sobrien	* check for "macosx" in M4 macros properly
299174294Sobrien	* minor memory leaks (thanks to Valgrind)
300174294Sobrien
301174294Sobrien*** Notes specific to am-utils version 6.1-rc3
302174294Sobrien
303174294SobrienMinor fix to configure.in.  Reran bootstrap to get a working configure
304174294Sobrienscript that indeed checks for certain Linux nfs/autofs headers.
305174294Sobrien
306174294Sobrien*** Notes specific to am-utils version 6.1-rc2
307174294Sobrien
308174294SobrienNew amd.conf global parameter: normalize_slashes (default to "yes").  If set
309174294Sobriento "no," then Amd will not condense repeated slashes or remove trailing ones
310174294Sobrienfrom strings representing pathnames.  This is sometimes useful with SMB
311174294Sobrienmounts, which often require multiple slash characters in pathnames.
312174294Sobrien
313174294SobrienUsing a custom version of strlcpy instead of strncpy (but only where it
314174294Sobrienmakes sense), to minimize string overflow changes.  Audited all use of
315174294Sobrienstrncpy/strlcpy to ensure safety.
316174294Sobrien
317174294SobrienOn Apple machines, use "powerpc" for $arch, instead of "Power Macintosh".
318174294SobrienAlso, use sw_vers to find out more appropriate OS name (macosx) and OS
319174294Sobrienversion (10.3.x) than uname(3) reports.
320174294Sobrien
321174294Sobrien- minor new ports:
322174294Sobrien	powerpc64-unknown-linux-rhel4
323174294Sobrien	powerpc64-unknown-linux-sles9
324174294Sobrien
325174294Sobrien- bugs fixed:
326174294Sobrien	* pawd handles all file systems
327174294Sobrien	* fix double-free in type:=nfsx
328174294Sobrien	* timeo and retrans shouldn't be set for type:=toplvl
329174294Sobrien	* fix inconsistency in handling filehandle generation number
330174294Sobrien	* document proper use of hosts.allow (don't spawn)
331174294Sobrien	* single dash '-' map entry now resets the defaults
332174294Sobrien
333174294Sobrien*** Notes specific to am-utils version 6.1-rc1
334174294Sobrien
335174294Sobrien- minor new ports:
336174294Sobrien	i386-pc-linux-fc2 (Fedora Core 2).
337174294Sobrien	i386-pc-linux-fc3 (Fedora Core 3).
338174294Sobrien	i386-pc-linux-rhel3
339174294Sobrien	i386-pc-linux-rhel4
340174294Sobrien	i386-pc-linux-suse8.2
341174294Sobrien	i386-pc-linux-suse9.1
342174294Sobrien	i386-pc-solaris2.10
343174294Sobrien	i386-unknown-freebsd4.8
344131702Smbr	i386-unknown-freebsd4.9
345174294Sobrien	i386-unknown-freebsd4.10
346174294Sobrien	i386-unknown-freebsd4.11
347174294Sobrien	i386-unknown-freebsd5.1 (5.1-RELEASE)
348131702Smbr	i386-unknown-freebsd5.2 (5.2-RELEASE)
349174294Sobrien	i386-unknown-freebsd5.2.1 (5.2.1-RELEASE)
350174294Sobrien	i386-unknown-freebsd5.3 (5.3-RELEASE)
351174294Sobrien	i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001)
352174294Sobrien	i386-unknown-netbsdelf1.6.1
353174294Sobrien	i386-unknown-netbsdelf2.0
354174294Sobrien	i386-unknown-openbsd3.6
355174294Sobrien	ia64-hp-hpux11.20
356174294Sobrien	ia64-unknown-linux-rhel4
357174294Sobrien	mipsel-unknown-linux-rhPS2 (Linux on Sony PlayStation 2)
358174294Sobrien	powerpc-apple-darwin7.6.0
359174294Sobrien	powerpc-apple-darwin7.7.0
360174294Sobrien	powerpc-apple-darwin7.8.0
361174294Sobrien	powerpc-ibm-aix5.2.0.0
362174294Sobrien	powerpc-ibm-aix5.3.0.0
363174294Sobrien	sparc-sun-solaris2.10
364174294Sobrien	sparc64-unknown-linux-deb3.0
365174294Sobrien	x86_64-unknown-linux-rh2.9.5AS
366119679Smbr
367174294Sobrien- support for executable maps ala Sun automounter.  Set map_type=exec in
368174294Sobrien  amd.conf, and map_name to a program/script that takes a key as argv[1],
369174294Sobrien  and returns key-value pair on stdout.  See also exec_map_timeout [global]
370174294Sobrien  parameter which defines how many seconds (default 10 sec) Amd will wait
371174294Sobrien  for an executable map program to return output before timing out.  See
372174294Sobrien  am-utils manual for full details.
373174294Sobrien
374174294Sobrien- new amd.conf parameter "nfs_allow_insecure_port".  Used to work around
375131702Smbr  bugs in certain kernels, which cause them to try and talk to amd from
376131702Smbr  unprivileged ports.
377131702Smbr
378174294Sobrien- new amd.conf parameter: localhost_address.  Used to override the localhost
379174294Sobrien  (often 127.0.0.1) address Amd uses to connect to for the local NFS server
380174294Sobrien  and RPC server.
381119679Smbr
382174294Sobrien- new amd.conf [global] parameter: domain_strip (default "yes").  If set to
383174294Sobrien  "no," Amd won't strip domain names from host names, which is useful if
384174294Sobrien  your Amd maps are served by multiple domains and you want to tell from the
385174294Sobrien  logs which exact host did what.
386119679Smbr
387174294Sobrien- new amd.conf [global] parameter: auto_attrcache (default to 0).  Sets
388174294Sobrien  Amd's own NFS attribute-cache timeout in seconds.  A value of 0 turns off
389174294Sobrien  attribute caching, meaning that Amd will be consulted via a kernel-RPC
390174294Sobrien  each time someone stat's the mount point (which could be abused as a
391174294Sobrien  denial-of-service attack).  If you're concerned, set this to something
392174294Sobrien  greater than zero (a value of 1 second is currently recommended).
393174294Sobrien  Warning: if you set this option to any non-zero value, especially a large
394174294Sobrien  value, and you get ESTALE errors on your particular OS, then set this
395174294Sobrien  value back to 0 seconds.
396174294Sobrien
397174294Sobrien- four new amd.conf [global] parameters, similar to nfs_retry_interval and
398174294Sobrien  nfs_retransmit_counter, which allow you to set the "timeo" and "retrans"
399174294Sobrien  NFS mount parameters, respectively.  Now you can set those parameters
400174294Sobrien  globally and separately for UDP vs. TCP, using any of these:
401174294Sobrien  nfs_retry_interval_udp, nfs_retransmit_counter_udp nfs_retry_interval_tcp,
402174294Sobrien  and nfs_retransmit_counter_tcp.
403174294Sobrien
404174294Sobrien- new amd.conf [global] parameter: preferred_amq_port.  Allows you to select
405174294Sobrien  the UDP+TCP port that Amd's amq service will use with the RPC portmapper.
406174294Sobrien  Useful with firewalls and NAT'ed environments.
407174294Sobrien
408174294Sobrien- new amd.conf option "debug_mtab_file".  Allows user to define the mtab
409310490Scy  file during debug-mtab mode.  The default path is "/tmp/mtab".
410174294Sobrien
411174294Sobrien- new function selector xhost(ARG) which will match ARG against the current
412174294Sobrien  host name.  This works even if ARG is a CNAME (unlike the host==ARG
413174294Sobrien  selector).
414174294Sobrien
415174294Sobrien- support restarting the automounter's own mount points (only over NFS,
416174294Sobrien  for now).
417174294Sobrien
418174294Sobrien- fully support WebNFS as per RFC 2054.  It now tries v3/TCP first, falling
419174294Sobrien  back to v2/UDP if this doesn't work.  The "webnfs" pseudo-mount options
420174294Sobrien  has been renamed (again) to "public" to match Solaris 2.
421174294Sobrien
422174294Sobrien- restructured the restarting of already-mounted filesystems, in the process
423174294Sobrien  also fixing a problem with restarting nfsx components.
424174294Sobrien
425174294Sobrien- support escaped slashes, needed for SMB mounts.  Use '\\\/\\\/' in a
426174294Sobrien  string to get a double slash.
427174294Sobrien
428174294Sobrien- amd -v now prints domain, host, and hostd values: foo, example.com, and
429174294Sobrien  foo.example.com, respectively.
430174294Sobrien
431174294Sobrien- On Linux, if umount(2) failed with EIO or ESTALE, try the new umount2(2)
432174294Sobrien  system call with MNT_FORCE+MNT_DETACH.  This could be quite helpful to
433174294Sobrien  unmounting hung mount points that otherwise cannot be fixed without a
434174294Sobrien  reboot.
435174294Sobrien
436174294Sobrien- The ping=N mount option now works.  N defaults to 30 seconds for all NFS
437174294Sobrien  servers.  It can now be set to any value for each server separately.
438174294Sobrien  Setting it to a large value can reduce the amount of NFS_NULL chatter on
439174294Sobrien  your network considerably, especially in large sites.  Setting this to -1
440174294Sobrien  will turn off pings for that server (useful in NFS-HA setups).  Setting N
441174294Sobrien  to 0 will pick the default ping value in Amd (currently 30 seconds).  Note
442174294Sobrien  that if you have multiple Amd entries using the same file server, and each
443174294Sobrien  entry sets a different value of N, then each time Amd mounts a new entry,
444174294Sobrien  the ping value will be re-evaluated (and updated, turned off, or turned
445174294Sobrien  back on as needed).  Note that NFS_NULL pings are sent for both UDP and
446174294Sobrien  TCP mounts, because even a hung TCP mount can cause user processes to
447174294Sobrien  hang.
448174294Sobrien
449174294Sobrien- file system inheritance code restructured, so it's no longer a pseudo file
450174294Sobrien  system, but actually integrated into Amd (as it should have been).
451174294Sobrien
452174294Sobrien- for type:=program, the "umount" program doesn't have to be defined; it'll
453174294Sobrien  default to "unmount ${fs}".
454174294Sobrien
455174294Sobrien- "amd -v" now prints the distribution name if it's known (e.g., rh9, fc3,
456174294Sobrien  suse8, etc.).
457174294Sobrien
458174294Sobrien- bugs fixed:
459174294Sobrien	* various memory management problems (leaks, etc)
460174294Sobrien	* fixed nfsx support
461174294Sobrien	* fixed a race involving late replies to network queries which
462174294Sobrien	  arrive after the file system has already been mounted
463174294Sobrien	* recognize pcfs_args_t fields in FreeBSD 5
464174294Sobrien	* recognize other mount types in pawd: host, linkx, and nfsx
465174294Sobrien	* allow exactly one of umount and unmount in type:=program
466174294Sobrien	* race condition between calls to mntctl() on AIX
467174294Sobrien	* plock/mlockall wasn't inherited by fork(); moved after
468174294Sobrien	  daemonizing.
469174294Sobrien	* fix inconsistency between Socket and TLI RPC timeouts.
470174294Sobrien	* don't warn when couldn't rmdir a dir with a readonly ancestor.
471174294Sobrien	* avoid hangs of amd in ctl-amd (must chdir to /)
472174294Sobrien	* workaround occasional daemonizing problems (parent won't die)
473174294Sobrien	* don't hang on exit if debug_options=mtab was used
474174294Sobrien	* utimeout=N mount option works with non-nfs types (ufs, pcfs, etc.)
475174294Sobrien	* SEGV (null pointer deref) in type:=program and type:=cachefs
476174294Sobrien	* unmount_on_exit of type:=program caused amd to hang
477174294Sobrien	* match amd2ldif output with ldap.schema
478174294Sobrien
479174294Sobrien*** Notes specific to am-utils version 6.1b4
480174294Sobrien
481174294Sobrien- minor new ports:
482174294Sobrien	i686-apple-darwin6.6
483174294Sobrien
484174294Sobrien- speed up the recovery of inherited (restarted) filesystems by using the
485174294Sobrien  proper waiting channels
486174294Sobrien
487174294Sobrien- added support for mounting webnfs filesystems, see entry below. It doesn't
488174294Sobrien  do any probing currently, so it will default to v2/UDP unless another
489174294Sobrien  version and/or protocol are explicitly specified.
490174294Sobrien
491174294Sobrien- pseudo-mount option "ignore_portmapper" renamed to "webnfs"
492174294Sobrien
493174294Sobrien- bugs fixed:
494174294Sobrien	* properly time out autofs filesystems on Linux
495174294Sobrien	* link mounts with relative targets weren't working on autofs
496174294Sobrien	* the link side of the nfsl file system wasn't working on autofs
497174294Sobrien	* umount code was accidentally turning all symlinks into directories
498174294Sobrien	  during attempted umounts, causing stale filehandles
499174294Sobrien	* various minor build fixes for "impossible" configurations
500174294Sobrien	* prevent ldap code from dereferencing a null pointer
501174294Sobrien
502174294Sobrien*** Notes specific to am-utils version 6.1b3
503174294Sobrien
504174294Sobrien- new amd.conf option autofs_use_lofs, set by default to "yes".  "yes" means
505174294Sobrien  using in-place mounts (lofs, bind mounts, etc.), thus utilizing one of
506174294Sobrien  Autofs's main advantages.  "no" means using symlinks instead, which has
507174294Sobrien  the "/bin/pwd" problem and certain efficiency issues on Solaris 2.6+ and
508174294Sobrien  is also not supported on Solaris Autofs v1 and derivatives; however, the
509174294Sobrien  autofs code that uses symlinks is simpler and more thoroughly tested.
510174294Sobrien
511174294Sobrien- new amd.conf option map_default (can be used in [global] and overwritten
512174294Sobrien  in the per-map section).  This will overwrite the /defaults entry of the
513174294Sobrien  map itself, to allow people to set defaults in amd.conf (useful when you
514174294Sobrien  cannot control your amd maps, or you'd rather not modify them globally).
515174294Sobrien
516174294Sobrien- for type:=program, you can use either unmount:=XXX or umount:=XXX (but not
517174294Sobrien  both).  This new 'unmount' name is an alias for convenience.
518174294Sobrien
519174294Sobrien- fixed the "multiple matching sub-entries in a map entry" semantics to try
520174294Sobrien  mounting those sub-entries one by one, until either one succeeds or all
521174294Sobrien  fail.  The old semantics of trying to mount everything in parallel and use
522174294Sobrien  the one that mounted fastest hasn't worked in a long time; in fact, 6.0
523174294Sobrien  currently simply ignores all but the first matching sub-entry.
524174294Sobrien
525174294Sobrien- made amd fail much faster (instantly, in fact) if the remote server
526174294Sobrien  doesn't have a functional portmapper or NFS service.  Also reduced the
527174294Sobrien  total timeout to 3 seconds for a completely downed server.
528174294Sobrien
529174294Sobrien- new pseudo-mount option "ignore_portmapper"; not very useful currently,
530174294Sobrien  will make more sense when we also accept hard-coded ports for mountd and
531174294Sobrien  nfsd.
532174294Sobrien
533174294Sobrien- amd will no longer query the portmapper for all possible NFS versions and
534174294Sobrien  protocols if the user requested to use specific ones.
535174294Sobrien
536174294Sobrien- increased the major number for the library, so that 6.0 and 6.1 can't
537174294Sobrien  share libraries anymore.
538174294Sobrien
539174294Sobrien- support tcpd/libwrap tcpwrappers.  If your system supports libwrap, then
540174294Sobrien  you can use /etc/hosts.allow and /etc/hosts.deny to control remote Amq
541174294Sobrien  access to Amd.  The new amd.conf parameter use_tcpwrappers is set to "yes"
542174294Sobrien  by default.
543174294Sobrien
544174294Sobrien- support NULL entries in Hesiod maps, if they start with a ".".
545174294Sobrien
546174294Sobrien- code reorganization
547174294Sobrien
548174294Sobrien- documentation cleanup, corrections, and general updates.  Better
549174294Sobrien  references to all man pages.  Support newer texi2html.  Proper building of
550174294Sobrien  DVI and PSI files.  Allow building of am-utils manual in one long Web
551174294Sobrien  page.
552174294Sobrien
553174294Sobrien- minor new ports:
554174294Sobrien
555174294Sobrien	ia64-unknown-linux-rh2.1AS (Red Hat Itanium Advanced Server)
556174294Sobrien	i386-unknown-freebsd5.0 (5.0-RELEASE)
557174294Sobrien	sparc64-unknown-linux-suse7.3
558174294Sobrien	i386-unknown-netbsdelf1.6.1
559174294Sobrien	i386-unknown-openbsd3.3
560174294Sobrien	i386-pc-solaris2.9
561174294Sobrien
562174294Sobrien- bugs fixed:
563174294Sobrien
564174294Sobrien	* autofs mode on Linux was segfaulting on a silly error (and noone
565174294Sobrien	  complained, which proves that I'm probably the only one testing
566174294Sobrien	  these beta releases, tsk tsk).
567174294Sobrien	* fixed handling of host entries over autofs.
568174294Sobrien	* fixed handling of nfsl entries over autofs.
569174294Sobrien	* the matching in find_mntfs() was causing problems for inherited
570174294Sobrien	  filesystems, so make an exception for them. Tighten the
571174294Sobrien	  matching even more, to take into account the f/s type as well.
572174294Sobrien	* recognize xlatecookie mnttab option on netbsd
573174294Sobrien	* document Solaris lex bug (use flex)
574174294Sobrien	* document AIX 5.x NFS bug (need patch)
575174294Sobrien	* document Solaris 8 autofs version change (need to fix system
576174294Sobrien	  header file)
577174294Sobrien	* ensure lex doesn't run out of output slots
578174294Sobrien	* support GNU flex-2.5.31+
579174294Sobrien	* force version.texi to be rebuilt unconditionally
580174294Sobrien	* mk-amd-map open db file exclusively (security)
581174294Sobrien	* turn off maintainer-only rules in distros
582174294Sobrien	* don't core dump if log_file is NULL (Solaris)
583174294Sobrien	* don't include malloc.h if stdlib.h exists
584174294Sobrien	* recognize file system failures (EIO) upon reading file maps
585174294Sobrien
586174294Sobrien*** Notes specific to am-utils version 6.1b2
587174294Sobrien
588174294Sobrien- new mount flag "softlookup", which determines how amd will respond to
589174294Sobrien  lookups of NFS shares already mounted (return a valid symlink or return
590174294Sobrien  EIO). The default, if "softlookup" is not specified, depends on whether the
591174294Sobrien  mount is "soft" or "hard".
592174294Sobrien
593174294Sobrien- return EIO instead of ENOENT if amd thinks the server is down; this allows
594174294Sobrien  well-written applications to sleep and retry the operation.
595174294Sobrien
596174294Sobrien- minor new ports:
597174294Sobrien
598119679Smbr	i386-apple-darwin6.0
599174294Sobrien	i386-pc-linux-rh8.0
600174294Sobrien	ia64-unknown-linux-rh2.1AW
601119679Smbr	sparc-sun-solaris2.9
602119679Smbr
603174294Sobrien- automatic support for loop mounts on Linux (deprecates the "loop" mount
604174294Sobrien  option)
605174294Sobrien
606174294Sobrien- new amd.conf parameter ldap_proto_version (default 2) for setting the LDAP
607174294Sobrien  protocol version to use.
608174294Sobrien
609119679Smbr- bugs fixed:
610119679Smbr
611174294Sobrien	* redundancy mode (multiple servers for the same share) wasn't working
612174294Sobrien	* non-autofs mode had some rather nasty hangs on downed file servers
613174294Sobrien	* double-free'ing problem in assign_error_mntfs and free_continuation
614174294Sobrien	* free'ing non-malloc'ed memory in amfs_auto_mount
615174294Sobrien	* late server ping replies were not ignored
616174294Sobrien	* amfs_auto_lookup_mntfs wasn't propagating errors up to callers
617174294Sobrien	* autofs-v4 on Solaris 9 works
618119679Smbr	* handle std{in,out,err} correctly when releasing controlling tty
619119679Smbr	  (for real this time)
620119679Smbr	* don't cast pointers between enum_t and u_long, it doesn't work on
621119679Smbr	  64-bit big-endian platforms
622174294Sobrien	* fix compile problem with mlockall() on Darwin
623119679Smbr
624174294Sobrien*** Notes specific to am-utils version 6.1b1
625119679Smbr
626174294Sobrien- Major Autofs work
627174294Sobrien	Partial support for Sun Autofs v1
628174294Sobrien	Documented known problems with Sun Autofs v1 (possible deadlocks)
629174294Sobrien	Fixes for Sun Autofs v2/v3
630174294Sobrien	Preliminary support for Sun Autofs v4 (Solaris 9)
631174294Sobrien	Kernel-based expirations for Linux Autofs
632174294Sobrien
633119679Smbr- Minor new ports:
634119679Smbr	powerpc-ibm-aix5.1.0.0
635174294Sobrien	i386-unknown-netbsd1.6A
636119679Smbr
637119679Smbr- Work around IBM's NFSv3 ABI change in aix4.3
638119679Smbr
639174294Sobrien- trivial regression test suite started: run "make check" on a built
640174294Sobrien  am-utils to execute tests.  Currently only one test which checks to see if
641174294Sobrien  "amd -v" executes correctly.
642119679Smbr
643174294Sobrien- new command line option "amd -A arch" to overwrite the value of $arch.
644119679Smbr
645174294Sobrien- bugs fixed:
646119679Smbr
647174294Sobrien	* Linux loop mounts of ISO images
648174294Sobrien	* assorted LDAP fixes
649174294Sobrien	* strerror not found on some systems
650174294Sobrien	* small fixes for hpux9 and aix43
651174294Sobrien	* exclude ldap/hesiod support unless both libraries+headers exist
652174294Sobrien	* fully support "xlatecookie" mount option
653174294Sobrien	* security: if -D noamq option, don't listen on socket.
654119679Smbr
655174294Sobrien*** Notes specific to am-utils version 6.1a5:
656119679Smbr
657174294Sobrien- browsable_dirs support for Solaris autofs, *without* mount storms!
658174294Sobrien
659174294Sobrien- new amd.conf global parameter: map_reload_interval (default 1 hour).
660174294Sobrien  Determines how often Amd checks to see if maps have changed at the source
661174294Sobrien  (and then reloading only those that have changed).
662174294Sobrien
663174294Sobrien- "amd -v" now lists bug-reporting address.
664174294Sobrien
665174294Sobrien- assorted code cleanups and porting to use latest versions of GNU
666174294Sobrien  Autotools.
667174294Sobrien
668174294Sobrien- opts:=loop works for type:=cdfs, for mounting ISO-9660 files on Linux.
669174294Sobrien
670119679Smbr- bugs fixed:
671119679Smbr
672174294Sobrien	* fixed sublink support in Linux autofs (broken in a4)
673119679Smbr	* hlfsd takes uid 0's home from root's passwd entry instead of
674119679Smbr	  defaulting to '/'
675119679Smbr	* (not really our bug) Linux ignores the microseconds field in
676119679Smbr	  mtime, so hlfsd and amd need to increment the seconds field all
677119679Smbr	  the time to prevent symlink caching
678174294Sobrien	* generic map parsing bug which was rejecting a numerical mount
679174294Sobrien	  option if it was the last option in the string.
680174294Sobrien	* file descriptor leak in Linux autofs.
681174294Sobrien	* "nolock" is an NFS mount option, not a generic one.
682174294Sobrien	* use mlockall(2) on systems that have it, for plock=yes.  Now
683174294Sobrien	  pinning Amd's pages in memory works on Linux.
684174294Sobrien	* ctl-amd/ctl-hlfsd correctly refer to @sysconfdir@ for alternate
685174294Sobrien	  location of configuration files.
686119679Smbr
687174294Sobrien*** Notes specific to am-utils version 6.1a4:
68882794Sobrien
689174294Sobrien- full autofs support for Solaris 2.[67], including symlinks, sublinks and
690174294Sobrien  direct mounts
69182794Sobrien
692174294Sobrien- fixed mount/umount deadlock in Linux autofs
69382794Sobrien
694174294Sobrien- fixed sublinks in Linux autofs
69582794Sobrien
696174294Sobrien- support for network/netmask pairs in the in_network() selector
69782794Sobrien
698174294Sobrien- support disabling LDAP and Hesiod support using configure
69982794Sobrien
700174294Sobrien- forward-ported all the fixes from the stable branch (MacOS X support,
701174294Sobrien  minor Linux fixes)
70282794Sobrien
703174294Sobrien- bind-mount support for type==link and type==lofs with Linux 2.4+
70482794Sobrien
705174294Sobrien- FiST lofs support under Linux (also in 6.0.6s2)
70682794Sobrien
707174294Sobrien*** Notes specific to am-utils version 6.1a3:
70882794Sobrien
709174294Sobrien- various things from the 6.0 branch:
710174294Sobrien	compile fixes for Linux 2.4-ac and 2.2.19pre+
711174294Sobrien	Darwin/Rhapsody/OS X support
712174294Sobrien	much reduced configure script (works around a bug in Darwin's cpp)
71382794Sobrien
714174294Sobrien*** Notes specific to am-utils version 6.1a2:
71582794Sobrien
716174294Sobrien- working autofs support for Solaris 2.[67], but incomplete
71782794Sobrien
718174294Sobrien- forward-ported all the changes up to 6.0.5s2
71982794Sobrien
720174294Sobrien- removed support for amq -M
72182794Sobrien
722174294Sobrien- known bugs
723174294Sobrien	nfsx support is broken
724174294Sobrien	linux NFS codes fixes
725174294Sobrien	NFS cache aliasing fixes
726174294Sobrien	lots of stuff ported from 6.0 branch
72782794Sobrien
728174294Sobrien*** Notes specific to am-utils version 6.1a1:
72982794Sobrien
730174294Sobrien- working autofs (v3 and v4) support for Linux!
73182794Sobrien
732174294Sobrien- forward-ported all the changes in 6.0.4s4
73382794Sobrien
734174294Sobrien- bugs fixed
735174294Sobrien	client-side fail-over to NFSv2/UDP
73682794Sobrien
737174294Sobrien- known bugs
738174294Sobrien	autofs v3 will probably break with host maps
739174294Sobrien
74082794Sobrien*** Notes specific to am-utils version 6.0.4:
74182794Sobrien
74282794Sobrien- NFSv3 support for Linux and HPUX-11
74382794Sobrien
74482794Sobrien- new amd.conf [global] options:
74582794Sobrien	nfs_vers: force all NFS mounts to version 2 or 3
74682794Sobrien	nfs_proto: force all NFS mounts to udp or tcp
74782794Sobrien
74882794Sobrien- new debug_options (amd -D):
74982794Sobrien	hrtime: turns on high-resolution timer if available
75082794Sobrien	readdir: traces browsable_dirs code
75182794Sobrien	xdrtrace: traces XDR routines
75282794Sobrien	(trace: only traces NFS and RPC)
75382794Sobrien
75482794Sobrien- new amq options:
75582794Sobrien	-H: shows usage
75682794Sobrien	-w: translate getpwd() into an Amd path
75782794Sobrien
75882794Sobrien- new map syntax:
75982794Sobrien	${dollar}: to include a literal '$' in assignments
76082794Sobrien
76182794Sobrien- new "opts:=" options:
76282794Sobrien	ver3: turns on NFS version 3 on some systems (linux)
76382794Sobrien
76482794Sobrien- updated or minor new ports:
76582794Sobrien	alpha-dec-osf4.0f
76682794Sobrien	alphaev6-dec-osf5.0
76782794Sobrien	i386-pc-linux-rh6.2
76882794Sobrien	i386-unknown-freebsd3.4
76982794Sobrien
77082794Sobrien- bugs fixed:
77182794Sobrien	symlink mtime fixes to avoid u/mount race conditions
77282794Sobrien	update amq -s failed umounts count correctly
77382794Sobrien	linux compiles even if efs is available
77482794Sobrien	linux works with mount(2) option "intr"
77582794Sobrien	linux works with pcfs and cdfs
77682794Sobrien	handle std{in,out,err} correctly when releasing controlling tty
77782794Sobrien	browsable_readdir works on 64-bit kernel architectures
77882794Sobrien	irs/wire routines compile for bsdi{2,3,4}
77982794Sobrien
78082794Sobrien*** Notes specific to am-utils version 6.0.3:
78182794Sobrien
78282794Sobrien- updated or minor new ports:
78382794Sobrien	hppa1.0-hp-hpux11.00
78482794Sobrien	i386-pc-bsdi4.1
78582794Sobrien	i386-unknown-netbsd1.4.1
78682794Sobrien	sparc-sun-solaris2.8
78782794Sobrien	i*86-pc-linux-gnu-rh6.1
78882794Sobrien	(some preparations for Compaq Tru64)
78982794Sobrien
79082794Sobrien- new variables ${uid} and ${gid}, return the numeric UID/GID of the user
79182794Sobrien  (not root) who invokes an amd pathname.  Similar to what hlfsd does.
79282794Sobrien
79382794Sobrien- automake now uses automatic dependency tracking
79482794Sobrien
79582794Sobrien- new mount options: optionstr, noexec, nomnttab
79682794Sobrien
79782794Sobrien- maps of type:=auto are now browsable (using map option "browsable")
79882794Sobrien
79982794Sobrien- ctl-amd has "status" argument (same as RedHat)
80082794Sobrien
80182794Sobrien- bugs fixed:
80282794Sobrien	document buggy AIX 4.3 plock() behavior
80382794Sobrien	fixes to stale file handle on symlinks
80482794Sobrien	reduce race conditions upon rapid umount/mount sequences
80582794Sobrien	use vsnprintf, more secure than vsprintf
80682794Sobrien	more assorted and smaller bugs
80782794Sobrien
80852894Sobrien*** Notes specific to am-utils version 6.0.2:
80952894Sobrien
81052894Sobrien- safe map reloads: when a map needs to be reloaded, it is reloaded into a
81152894Sobrien  temporary copy first.  Only if the reload was completely successful, Amd
81252894Sobrien  discards the old map and uses the new one.  Otherwise Amd continues to use
81352894Sobrien  the old maps.  This should help a lot with transient NIS problems.
81452894Sobrien
81552894Sobrien- amq -f now also forces a (safe) map reload, but only if the timestamp on
81652894Sobrien  the maps was updated.
81752894Sobrien
81852894Sobrien- two new selector variables: ${vendor} and ${full_os}, which are the same
81952894Sobrien  as the output seen in "amd -v".
82052894Sobrien
82152894Sobrien- documentation fixes and updates
82252894Sobrien
82352894Sobrien- updated or minor new ports:
82452894Sobrien	i386-unknown-freebsdelf3.3
82552894Sobrien
82652894Sobrien- support 'ignore' flags (automntfs) in bsdi-4.1
82752894Sobrien
82852894Sobrien- bugs fixed:
82952894Sobrien	expn.pl uses correct sockaddr_in() not, pack()
83052894Sobrien	make sure configure --enable-*args take an argument
83152894Sobrien	don't busy-loop trying to rebind to ldap servers
83252894Sobrien	use vsnprintf, not vsprintf (security)
83352894Sobrien
83451292Sobrien*** Notes specific to am-utils version 6.0.1:
83551292Sobrien
83651292Sobrien- updated or minor new ports:
83751292Sobrien	i386-pc-bsdi4.0.1
83851292Sobrien	i386-unknown-freebsdelf3.0
83951292Sobrien	i386-unknown-freebsdelf3.1
84051292Sobrien	i386-unknown-freebsdelf3.2
84151292Sobrien	i386-unknown-freebsdelf4.0
84251292Sobrien	i386-unknown-netbsd1.4
84351292Sobrien	i386-unknown-openbsd2.5
84451292Sobrien	powerpc-unknown-linux-gnu
84551292Sobrien
84651292Sobrien- automount2amd added, a new script to convert Sun automount maps to Amd maps
84751292Sobrien
84851292Sobrien- new map function netgrpd(ARG), same as netgrp() but matches FQHN
84951292Sobrien
85051292Sobrien- 'ignore' is a generic mount option
85151292Sobrien
85251292Sobrien- hesiod info service isup() function to check if service is up
85351292Sobrien
85451292Sobrien- more Y2K fixes (see README.y2k for the full story)
85551292Sobrien
85651292Sobrien- using alloca.c on systems that don't have it (hpux9 with /bin/cc)
85751292Sobrien
85851292Sobrien- configure script reduced in size by using M4/sh loops instead of repeated
85951292Sobrien  entries
86051292Sobrien
86151292Sobrien- documentation updates
86251292Sobrien
86351292Sobrien- too many bugs fixed to list here:
86451292Sobrien	'addopts' option works with 'remopts' as well as 'opts'
86551292Sobrien	AIX can perform NFS V.3 mounts explicitly
86651292Sobrien	NIS is_up fixed, especially for NIS+ running in compatibility mode
86751292Sobrien	amd -v incorrectly listing file systems that don't really work
86851292Sobrien	amd's own mounts use reserved ports if possible
86951292Sobrien	browsable directories works for Linux 2.3 (NFS cookies)
87051292Sobrien	bsd44 systems check for isofs flags
87151292Sobrien	bsd44 systems check for new options: norrio, gens, and extatt
87251292Sobrien	buildall works better on Ultrix's /bin/sh
87351292Sobrien	compile and build on Linux kernels 2.2 and newer
87451292Sobrien	compile and build on RedHat Linux 6.0 (glibc 2.1)
87551292Sobrien	compile and build on Solaris 7 (with or without vendor LDAP)
87651292Sobrien	completely eliminate all of amd's amq -M code, when not enabled
87751292Sobrien	correctly interpret failure code of unmount of type:=program
87851292Sobrien	don't create autofs listener service unless used
87951292Sobrien	don't list or process amq's -M option unless feature was turned on
88051292Sobrien	don't turn on/off noconn option if it was already in that state
88151292Sobrien	ldap info service: don't strcmp null strings
88251292Sobrien	lostaltmail correctly sets struct sockaddr_in
88351292Sobrien	make sure Linux systems have configured kernel headers
88451292Sobrien	test for bsize/namlen fields in nfs_args (linux mount versions 2/3)
88551292Sobrien	turn off broken NFS V.3 support for HPUX
88651292Sobrien	use getifaddrs() on bsd44 systems makes wire.c more reliable
88751292Sobrien	use matching NFS rsize/wsize on Linux 2.0 and 2.[123] kernels.
88851292Sobrien	verify that RPC requests come from reserved, privileged local ports
88951292Sobrien	warn when Linux kernel headers mismatch with running kernel
89051292Sobrien	pawd works for type:=nfsl too
89151292Sobrien
89242629Sobrien*** Notes specific to am-utils version 6.0:
89342629Sobrien
89442629Sobrien- updated or minor new ports:
89542629Sobrien	hppa2.0w-hp-hpux11.00,
89642629Sobrien	i386-pc-bsdi4.0
89742629Sobrien	i386-unknown-freebsd2.2.8
89842629Sobrien	i386-unknown-netbsd1.3.3
89942629Sobrien	i386-unknown-openbsd2.4
90042629Sobrien	mips-sgi-irix6.5
90142629Sobrien	powerpc-ibm-aix4.3.1.0
90242629Sobrien	i386-unknown-freebsd3.0 now supports nfs v.3
90342629Sobrien
90442629Sobrien- ctl-amd and ctl-hlfsd now compatible with RedHat's chkconfig utility
90542629Sobrien
90642629Sobrien- ctl-amd stop will now wait until amd is down
90742629Sobrien
90842629Sobrien- libamu.so completely self contained --- does not export any symbols which
90942629Sobrien  must be defined by the process linking with it.  This is so shared
91042629Sobrien  libraries could be supported on systems that have restrictive shared
91142629Sobrien  libraries.
91242629Sobrien
91342629Sobrien- use latest autoconf, automake, and libtool (off of cygnus' CVS server) to
91442629Sobrien  support shared libraries on many more platforms.
91542629Sobrien
91642629Sobrien- posix code cleanups
91742629Sobrien
91842629Sobrien- bugs fixed:
91942629Sobrien	case insensitive host match in type:=nfsl
92042629Sobrien	correct swapped args to kill(2)
92142629Sobrien	try to avoid a race condition b/t mounting and unmounting
92242629Sobrien	yp_all support is found in libnsl in RH-5.1 systems
92342629Sobrien
92441142Sobrien*** Notes specific to am-utils version 6.0b1:
92541142Sobrien
92641142Sobrien- updated or minor new ports:
92741142Sobrien	- *-pc-linux-gnu (glibc2 systems such as RedHat 5.1)
92841142Sobrien	- sparc-sun-solaris2.7
92941142Sobrien	- i386-pc-solaris2.7
93041142Sobrien	- i386-unknown-freebsd3.0 (official release, post 4.4lite port)
93141142Sobrien	- sparc64-unknown-linux-gnu (RH 5.1 on Sun Sparc Ultra)
93241142Sobrien
93341142Sobrien- bugs fixed:
93441142Sobrien	- major memory leak in processing of /defaults
93541142Sobrien	- core dump if map_type given in amd.conf doesn't exist
93641142Sobrien	- memory leak in replacement yp_all
93741142Sobrien	- don't access uninitialized memory in DU 4.0
93841142Sobrien	- other smaller bugs, see ChangeLog
93941142Sobrien
94038494Sobrien*** Notes specific to am-utils version 6.0a16:
94138494Sobrien
94238494Sobrien- new ports:
94338494Sobrien	hppa1.0-hp-hpux11.00 (works, not NFS V.3 due to missing headers)
94438494Sobrien	mips-dec-ultrix4.3 (working, unverified)
94538494Sobrien
94638494Sobrien- new minor ports:
94738494Sobrien	i386-pc-bsdi3.1
94838494Sobrien	i386-unknown-netbsd1.3.1
94938494Sobrien	alpha-dec-osf2.1
95038494Sobrien
95138494Sobrien- new options addopt:=ARG will "smartly" add and override options specified
95238494Sobrienin opts:=
95338494Sobrien
95438494Sobrien- new amd.conf options:
95538494Sobrien	pid_file: specifies the file to store the PID
95638494Sobrien	hesiod_base: specifies the base for the Hesiod service
95738494Sobrien	unmount_on_exit: if 'yes' will attempt to unmount all file systems
95838494Sobrien		when amd exits.
95938494Sobrien
96038494Sobrien- amd.conf file is parsed after all other command line options.  If no
96138494Sobrienoptions specified at all, then use /etc/amd.conf by default.
96238494Sobrien
96338494Sobrien- some variables' values are now compared case-insensitive as per specs,
96438494Sobriensuch as host names, domain names, and more.
96538494Sobrien
96638494Sobrien- NIS service uses a new isup() function to detect if the service is up
96738494Sobrienbefore using it.  Used to ensure amd doesn't clear the existing maps before
96838494Sobrienreloading them, unless the remote info service is working.
96938494Sobrien
97038494Sobrien- new cdfs mount options: rrip, noversion, defperm, nodefperm (OSF)
97138494Sobrien
97238494Sobrien- support efs/xfs separately on irix
97338494Sobrien
97438494Sobrien- new -D info trace option to turn on info specific debugging, such as
97538494SobrienRES_DEBUG for hesiod services.
97638494Sobrien
97738494Sobrien- document updates and fixes
97838494Sobrien
97938494Sobrien- new file MIRRORS lists official mirror sites (also in am-utils home page)
98038494Sobrien
98138494Sobrien- new file BUGS lists known amd/OS bugs
98238494Sobrien
98338494Sobrien- source restructuring: rename all Amd file-systems' sources to amfs_ARG.c
98438494Sobriensuch that it matches the type:=ARG as well.  Free names afs/dfs for Andrew
98538494SobrienF/S and Distributed F/S.
98638494Sobrien
98738494Sobrien- checkpoint config.guess several times during the long configure, so that
98838494Sobrienif it is aborted midway, the bulk of the features discovered will be re-read
98938494Sobrienfrom the config.cache file.
99038494Sobrien
99138494Sobrien- more systems support shared libraries (libtool 1.2)
99238494Sobrien
99338494Sobrien- using automake 1.3 + more fixes
99438494Sobrien
99538494Sobrien- bugs fixed:
99638494Sobrien	use dynamic buffer for list of interfaces, not fixed size
99738494Sobrien	output of amd -H duplicated if >2 interfaces
99838494Sobrien	-D mem for hlfsd not on by default (so it will daemonize)
99938494Sobrien	linux looks for ext2fs before ufs
100038494Sobrien	CDFS looks for 'isofs' mount type as well
100138494Sobrien	compile on Solaris 2.6 with /opt/SUNWspro/bin/cc
100238494Sobrien	various additional fixes which gcc 2.8.x reported
100338494Sobrien	print syslog help string based on what's supported
100438494Sobrien	correctly ignore loopback interface on SunOS 3.x
100538494Sobrien	don't use -lucb for strcasecmp
100638494Sobrien	hlfsd's dump file securely written in /usr/tmp/hlfsd.dump.XXXXXX
100738494Sobrien	inherit NFS V.3 mounts correctly
100838494Sobrien	write pid file securely
100938494Sobrien
101038494Sobrien*** Notes specific to am-utils version 6.0a15:
101138494Sobrien
101238494Sobrien- new ports:
101338494Sobrien	alpha-unknown-linux-gnu: works
101438494Sobrien	i386-unknown-netbsd1.3: fully working
101538494Sobrien	*-sun-sunos3: compiles, not tested
101638494Sobrien
101738494Sobrien- updated ports:
101838494Sobrien	m68k-next-nextstep3: cleaner compile, works.
101938494Sobrien
102038494Sobrien- new file system type nfsl (NFS Link).  Uses nfs if file system is remote,
102138494Sobrienand link if it is local (based on if $rhost equals the host name).
102238494Sobrien
102338494Sobrien- support for Solaris cachefs.  Requires setting fs, rfs, and a new variable
102438494Sobriencachedir.  See documentation for explanation, examples, and caveats.
102538494Sobrien
102638494Sobrien- support negated selector functions such as !exists(/foo/bar)
102738494Sobrien
102838494Sobrien- wire, network, netnumber, in_network() selectors now match against all
102938494Sobrienlocally attached networks (by either name or number), not just the first two
103038494Sobrieninterfaces.
103138494Sobrien
103238494Sobrien- new program pawd (and man page for it) --- Print Automounter Working
103338494SobrienDirectory, to print the proper pathname of the cwd or any other pathname,
103438494Sobrienadjusted for automounter paths, while avoiding mount points.
103538494Sobrien
103638494Sobrien- two new switches to amq: -U will force using UDP only; -T will force using
103738494Sobrienonly TCP to communicate with amd.  If neither (or both) are specified, amq
103838494Sobrienwill try TCP first, and if that failed, will try UDP.
103938494Sobrien
104038494Sobrien- support syslog facilities, using "amd -l syslog:facility".  Old behavior
104138494Sobrienwhen using only -l syslog is to use the LOG_DAEMON facility.
104238494Sobrien
104338494Sobrien- you may specify browsable_dirs=full, to get a listing of all entries
104438494Sobrien(other than /default), including those with '*' wildcard and '/'
104538494Sobriencharacters.
104638494Sobrien
104738494Sobrien- amd -D trace now also includes as much of struct nfs_args as can be
104838494Sobriendisplayed.  Useful in figuring out what the kernel really gets during a
104938494Sobrienmount(2), as opposed to what the /etc/mnttab file says.  -D trace also
105038494Sobrientraces the xdr_* functions.
105138494Sobrien
105238494Sobrien- support for versions of shared libamu version.  upped version from 0.0.0
105338494Sobriento 1.0.0.  each am-utils release that will change the library will also
105438494Sobrienupdate its version.
105538494Sobrien
105638494Sobrien- amd/ops_TEMPLATE.c: a new template file for those brave enough to try and
105738494Sobrienimplement a new amd file system.  Includes comments and other info useful
105838494Sobrienfor developers.
105938494Sobrien
106038494Sobrien- if localconfig.h exists in the current directory during the run of
106138494Sobrienconfigure, it is included in all am-utils sources.  This allows courageous
106238494Sobriendevelopers to make certain modifications during compilations, and especially
106338494Sobrienturn off undesired features (not very recommended).
106438494Sobrien
106538494Sobrien- documentation types and updates for all new features, ports, etc.
106638494Sobrien
106738494Sobrien- bugs fixed:
106838494Sobrien	support NFS mount options grpid and maxgrps
106938494Sobrien	nextstep: set NFS success code to 0 (NFS_OK), not 1 (EPERM)
107038494Sobrien	bsdi2: set NFS success code to 0 (NFS_OK), not 1 (EPERM)
107138494Sobrien	set NFS V.3 mount table names to "nfs" if vers/proto exist
107238494Sobrien	use mkstemp() if possible (more secure)
107338494Sobrien	ctl-amd looks for amd.conf in ${prefix}/etc after /etc
107438494Sobrien	hpux: use "ignore" mount table type
107538494Sobrien	openbsd2.2: turn off "noconn" mount option, so only connected used
107638494Sobrien	fixed memory leak in hlfsd (don't setpwent after endpwent)
107738494Sobrien	all NFS3 systems should have proto/vers mount/amd options
107838494Sobrien	DEBUG_MEM compiles and prints something more useful
107938494Sobrien	uninit_mntfs(): free() mf_private *after* it is used
108038494Sobrien	browsable_readdir: fewer bytes sent back to kernel for each chunk
108138494Sobrien	mount_toplvl: don't free() an automatic variable!
108238494Sobrien	amd should chdir() to / before daemonzing (for core dumps etc)
108338494Sobrien	cdfs should be called 'cdfs' not whatever the mnttab type is
108438494Sobrien	amd -v: don't print "FS:" list twice when >=2 net interfaces
108538494Sobrien
108638494Sobrien*** Notes specific to am-utils version 6.0a14:
108738494Sobrien
108838494Sobrien- updated ports:
108938494Sobrien	powerpc-ibm-aix4.2.1.0: NFS V.3 works
109038494Sobrien
109138494Sobrien- minor new ports:
109238494Sobrien	sparc-sun-sunos4.1.3C
109338494Sobrien	m68k-sun-sunos4.1.1 (sun3)
109438494Sobrien	mips-sgi-irix5.2
109538494Sobrien
109638494Sobrien- new option to amd, -O ARG, will override the operating systems *name* with
109738494SobrienARG.  Corrected documentation for amd -o ARG --- it overrides the operating
109838494Sobriensystem *version* and not the name as the docs incorrectly stated.
109938494Sobrien
110038494Sobrien- logging now behave more like syslog: will not print repeated strings, but
110138494Sobrienrather a count such as "last message repeated N times".  (N will not exceed
110238494Sobrien100.)
110338494Sobrien
110438494Sobrien- restructured the code which deals with the numerous possible fields and
110538494Sobrienflags that are set in struct nfs_args.  That code was moved to libamu as
110638494Sobrienthe functions compute_nfs_args() and compute_automounter_nfs_args().
110738494Sobrien
110838494Sobrien- bugs fixed:
110938494Sobrien	mnttab name ufs/cdfs/pcfs/etc filesystems corrected
111038494Sobrien	use pmap_ping for amq (a must for secure portmappers, bsdi2/3)
1111174294Sobrien	test for xfs (irix) as a disk-based file system
111238494Sobrien	set correct nfs_prot headers for Solaris 2.5
111338494Sobrien	removed stale code from lostaltmail.in
111438494Sobrien	lostaltmail will look for conf file in multiple locations
111538494Sobrien	assorted documentation corrections
111638494Sobrien	amq does not print "get_secure_amd_client" if run as root
111738494Sobrien
111838494Sobrien*** Notes specific to am-utils version 6.0a13:
111938494Sobrien
112038494Sobrien- new in_network(ARG) nomadic selector, true if ARG is the name (or number)
112138494Sobrienof any of this host's network interfaces.
112238494Sobrien
112338494Sobrien- removed variables primnetname, primnetnum, subsnetname, and subsnetnum.
112438494Sobrien(Kept "wire" and its alias "network", and "netnumber".)
112538494Sobrien
112638494Sobrien- include am-utils.dvi and am-utils.ps in distribution.
112738494Sobrien
112838494Sobrien- hlfsd supports new option -P ARG, for reading password map off of file
112938494SobrienARG.  Allows you to use the hlfs redirector using paths other than user's
113038494Sobrienhome directories.
113138494Sobrien
113238494Sobrien- use a replacement yp_all for some systems (irix) known to have a broken
113338494Sobrienone which leaks a file descriptor each time called.
113438494Sobrien
113538494Sobrien- if remote NFS server is down or does not support portmap, downgrade
113638494Sobrienmachine to NFS V.2 and retry again later.
113738494Sobrien
113838494Sobrien- bugs:
113938494Sobrien	don't redefine yywrap on systems using a modified flex
114038494Sobrien	use correct "ignore" mnttab/mount option on hpux for df(1)
114138494Sobrien	use nfs_args' fsname field (hpux) to avoid syncer/mount(1) problems
114238494Sobrien	don't add ops_ufs.o twice to Makefile's $(OBJS)
114338494Sobrien	don't fail if autofs listener fails to initialize
114438494Sobrien	hlfsd should test if run as root after usage() and getopt
114538494Sobrien
114638494Sobrien- minor code cleanups for netbsd
114738494Sobrien
114882794Sobrien- html docs now in http://www.am-utils.org
114938494Sobrien
115038494Sobrien- added README file in binaries ftp directory
115138494Sobrien
115238494Sobrien*** Notes specific to am-utils version 6.0a12:
115338494Sobrien
115438494Sobrien- minor or updated/broken ports fixed:
115538494Sobrien	hppa1.1-hp-hpux10.10:	compiles, untested (probably works).
115638494Sobrien	hppa1.1-hp-hpux9.05:	compiles, untested (probably works).
115738494Sobrien	hppa1.1-hp-hpux9.07:	compiles, untested (probably works).
115838494Sobrien	m68k-hp-hpux9.00:	compiles, untested (probably works).
115938494Sobrien	rs6000-ibm-aix4.1.4.0:	compiles, untested.
116038494Sobrien	sparc-sun-solaris2.6:	works w/ NFS V.3.
116138494Sobrien	sparc-sun-sunos4.1.4:	compiles, untested (probably works).
116238494Sobrien
116338494Sobrien- new ports:
116438494Sobrien	powerpc-ibm-aix4.2.1.0:	compiles w/ NFS V.3, untested.
116538494Sobrien
116638494Sobrien- wire-test also checks for combinations of NFS protocol/version from the
116738494Sobrienclient to a remote (or local) host.
116838494Sobrien
116938494Sobrien- conf/mtab/mtab_file.c: use flock() to lock the file, and fcntl() if
117038494Sobrienflock() is not available.  (Used to prefer fcntl() over flock().)
117138494Sobrien
117238494Sobrien- bug fixes:
117338494Sobrien	tli get_nfs_version() gets into an infinite loop
117438494Sobrien	tli get_nfs_version() should time out faster
117538494Sobrien	sockets get_nfs_version() should work w/ secure portmappers
117638494Sobrien	ESTALE returned for NFS mounts for SunOS 4.x fixed
117738494Sobrien	do not exceed HOSTNAMESZ for nfs_args.hostname (get ENAMETOOLONG)
117838494Sobrien	properly initialize some mntent_t fields (fsck, freq, mnt_time)
117938494Sobrien	properly initialize some pcfs_args fields (mask, uid, gid)
118038494Sobrien	properly initialize some cdfs_args fields (ssector)
118138494Sobrien
118238494Sobrien*** Notes specific to am-utils version 6.0a11:
118338494Sobrien
118438494Sobrien- bug fixes:
118538494Sobrien	amd could not NFS mount v.2 servers from v.3 clients
118638494Sobrien	hlfsd will only use first occurrence of home dir for same uid
118738494Sobrien
118838494Sobrien*** Notes specific to am-utils version 6.0a10:
118938494Sobrien
119038494Sobrien- MAJOR DOCUMENTATION UPDATE! (first time in 6 years)
119138494Sobrien
119238494Sobrien- new ports:
119338494Sobrien	m68k-next-nextstep3: configures, compiles, not tested.
119438494Sobrien
119538494Sobrien- preliminary autofs support.  See README.autofs for details.
119638494Sobrien
119738494Sobrien- new amd.conf [global] yes/no keywords:
119838494Sobrien	show_statfs_entries:	shows number of entries for df(1)
119938494Sobrien	fully_qualified_hosts:	use FQHN for NFS/RPC authentication
120038494Sobrien
120138494Sobrien- detect down remote hosts faster
120238494Sobrien
120338494Sobrien- log output of "amd -v" at startup
120438494Sobrien
120538494Sobrien- removed $osver override for solaris: now it is 2.5.1, not 5.5.1
120638494Sobrien
120738494Sobrien- buildall will use gmake first if available
120838494Sobrien
120938494Sobrien- bugs fixed:
121038494Sobrien	amd core dumped when remote host was down
121138494Sobrien	allow up to 1024 entries back from readdir()
121238494Sobrien	amd.conf works even if only [global] option defined
121338494Sobrien	avoid using bad memcmp() implementations
121438494Sobrien	fixed meaning of plock [global] option (was reversed)
121538494Sobrien	hlfsd infinite loop unless compiled with --enable-debug
121638494Sobrien	NIS code works with NIS+ servers in NIS compatibility mode
121738494Sobrien	reset tag fields in amd.conf so they don't carry to other entries
121838494Sobrien
121938494Sobrien*** Notes specific to am-utils version 6.0a9:
122038494Sobrien
122138494Sobrien- new ports:
122238494Sobrien	sparc-sun-solaris2.4:
122338494Sobrien		 configures/compiles, and runs (no NFS V3)
122438494Sobrien	i386-unknown-openbsd2.1:
122538494Sobrien		configures/compiles, runs (NFS V3)
122638494Sobrien
122738494Sobrien- updated ports:
122838494Sobrien	i486-ncr-sysv4.3.03: configures/compiles, not tested
122938494Sobrien
123038494Sobrien- Multiple amd support: new amd.conf [global] key "portmap_program" can be
123138494Sobrienused to specify an alternate RPC program number for amd to un/register.
123238494SobrienAllowed numbers range from 300019 to 300029.  A matching new option for amq:
123338494Sobrien-P prognum, will use an alternate program number to contact.
123438494Sobrien
123538494Sobrien- man pages:
123638494Sobrien	amd.conf.5	new
123738494Sobrien	mk-amd-map.8	new
123838494Sobrien	amd.8		updated
123938494Sobrien	amq.8		updated
124038494Sobrien	(other man pages required minor updates)
124138494Sobrien
124238494Sobrien- shared libraries support expanded.  Using GNU libtool-1.0.  You can build
124338494Sobriena shared version of libamu, and link with it accordingly, by specifying
124438494Sobrien--enable-shared to configure.  Default is --enable-static --disable-shared,
124538494Sobrienand you can mix and match.  See "INSTALL" file for listing of systems on
124638494Sobrienwhich shared libraries seem to build and work fine.
124738494Sobrien
124838494Sobrien- new option: amq -p, will return the PID of the running amd (local or
124938494Sobrienremote).  Uses a new RPC message.  Useful especially in "ctl-amd stop".
125038494Sobrien
125138494Sobrien- new configure script options --enable-ldflags, for specifying -L flags.
125238494SobrienThe older --enable-libs is to be used only for -l options.
125338494Sobrien
125438494Sobrien- two new LDAP map options for amd.conf: ldap_cache_seconds and
125538494Sobrienldap_cache_maxmem.
125638494Sobrien
125738494Sobrien- new script, am-eject from Debian linux's version of amd-upl102.
125838494Sobrien
125938494Sobrien- additional passwd map support using var[0-3], from Debian folks.
126038494Sobrien
126138494Sobrien- hesiod code cleanup.  works for hesiod 1.3 as well as 3.0.
126238494Sobrien
126338494Sobrien- removed defunct -h option from amd.
126438494Sobrien
126538494Sobrien- started using automake-1.2.  This fixed several bugs that caused some
126638494Sobrienversions of yacc/lex and non-GNU make to fail.
126738494Sobrien
126838494Sobrien- bug fixes:
126938494Sobrien	amd/hlfsd mounts should be hidden from df(1)
127038494Sobrien	use "noconn" option for nfs mounts (multi-homed hosts)
127138494Sobrien	don't use connected sockets on linux before 1.3.10 (from Debian)
127238494Sobrien	better checks for [gn]dbm
127338494Sobrien	forbid excessive retries after timeouts (from Debian)
127438494Sobrien	readdir(): don't skip over map entries with prefix, and include it
127538494Sobrien	more assorted linux fixes from Debian folks
127638494Sobrien	lofs mount on svr4 was broken
127738494Sobrien	find default value of $karch from uname() not $arch
127838494Sobrien	hlfsd failed to mount itself on some little-endians
127938494Sobrien
128038494Sobrien
128138494Sobrien*** Notes specific to am-utils version 6.0a8:
128238494Sobrien
128338494Sobrien- new ports:
128438494Sobrien	i386-unknown-netbsd1.2.1: configures/compiles (with NFS V.3), works,
128538494Sobrien				  but some OS stability problems exist.
128638494Sobrien
128738494Sobrien- updated ports:
128838494Sobrien	hppa1.1-hp-hpux9.01:
128938494Sobrien			now tested and working
129038494Sobrien	rs6000-ibm-aix3.2 and rs6000-ibm-aix3.2.5:
129138494Sobrien			now tested and working
129238494Sobrien
129338494Sobrien- fixed browsable directories (readdir) code.
129438494Sobrien
129538494Sobrien- better methods to find amd/hlfsd pid to kill in ctl-{amd,hlfsd}
129638494Sobrien
129738494Sobrien- "ignore/auto" mount types fixed for irix, sunos, and others, so "df" does not
129838494Sobrienshow amd mounts by default (but GNU df -a does).
129938494Sobrien
130038494Sobrien- each time amd is built, a new "build" version is incremented.  See amd -v.
130138494Sobrien
130238494Sobrien- man page for fsinfo added
130338494Sobrien
130438494Sobrien- empty fillers for new file (bsd44) systems: nullfs, unionfs, umapfs.
130538494Sobrien
130638494Sobrien- when amd is not running, or portmapper is down, make amq timeout faster (5
130738494Sobriensec) than system default, usually 4-5 minutes.
130838494Sobrien
130938494Sobrien- bug fixes:
131038494Sobrien	hlfsd mount got "protocol not supported"
131138494Sobrien	first regular map in amd.conf didn't inherit global options
131238494Sobrien	make "bad" versions of lex still work with amd/conf_parse.l
131338494Sobrien	check for 'nodev' option, not 'nondev'
131438494Sobrien	typo in "ro" option, and fillers to ac{reg,dir}{min,max} and others
131538494Sobrien	amd.conf parsing done before switching default log/debug options
131638494Sobrien	allow doubly-quoted values in amd.conf
131738494Sobrien	hesiod-reload code cleanup
131838494Sobrien
131938494Sobrien- assorted code cleanup
132038494Sobrien
132138494Sobrien
132238494Sobrien*** Notes specific to am-utils version 6.0a7:
132338494Sobrien
132438494Sobrien- new ports:
132538494Sobrien	i386-unknown-freebsd3.0:
132638494Sobrien			fully functional with NFS V.3
132738494Sobrien	sparc-sun-solaris2.3:
132838494Sobrien			fully functional (should work for 2.4)
132938494Sobrien	sparc-unknown-netbsd1.2E:
133038494Sobrien			configures/compiles (with NFS V.3), untested
133138494Sobrien
133238494Sobrien- updated ports:
133338494Sobrien	i386-pc-bsdi3.0:
133438494Sobrien			NFS V.3 works
133538494Sobrien			look for hesiod in libc
133638494Sobrien	mips-sgi-irix5.3:
133738494Sobrien			fully functional with NFS V.3
133838494Sobrien
133938494Sobrien- LDAP support!  New [global] amd.conf options ldap_base and ldap_hostports.
134038494SobrienAlso includes a new script amd2ldif to convert amd maps into plain text LDAP
134138494Sobrienobject files.
134238494Sobrien
134338494Sobrien- the following amd.conf variables: browsable_dirs, map_options, map_type,
134438494Sobrienmount_type, and search_path --- can now be specified in [global] as well as
134538494Sobrienthe map entry itself.  That way you can declare them only once in [global],
134638494Sobrienand override them as needed per map.
134738494Sobrien
134838494Sobrien- option "cluster" added to [global] (HPUX clusters ala "amd -C").
134938494Sobrien
135038494Sobrien- assorted info_hesiod map fixes and cleanup.  removed HESIOD_RELOAD code.
135138494Sobrien
135238494Sobrien- added netgrp(name) function to amd map syntax to see if current host is in
135338494Sobrienthe <name> netgroup.
135438494Sobrien
135538494Sobrien- removed unused option "amd -m".
135638494Sobrien
135738494Sobrien- filled in "tasks" file with todo items.
135838494Sobrien
135938494Sobrien- filled "COPYING" file with legal stuff.
136038494Sobrien
136138494Sobrien- cleanup: all global variables are now in one big structure (struct
136238494Sobrienamu_global_options) that's easy to identify and enhance.  Also migrated
136338494Sobrienseveral flags that used be an integer each into one unsigned integer that's
136438494Sobrienused as a bit-flag.
136538494Sobrien
136638494Sobrien- big fixes:
136738494Sobrien	xdr_mountres3 should compile only if has NFS V3
136838494Sobrien	lex/yacc macros show full pathname (to tell if correct one runs)
136938494Sobrien	misc fixes/cleanup
137038494Sobrien
137138494Sobrien
137238494Sobrien*** Notes specific to am-utils version 6.0a6:
137338494Sobrien
137438494Sobrien- amd configuration file!
137538494Sobrien
137638494SobrienSee scripts/amd.conf-sample for help and some explanation.  This new conf
137738494Sobrienfile allows for the following new features:
137838494Sobrien
137938494Sobrien	default selectors can be turned on/off globally.
138038494Sobrien	browsable_dirs/readdir() support can be turned on per map.
138138494Sobrien	search paths for file type maps.
138238494Sobrien	can force the map type to file, nis, ndbm, etc. rather than default
138338494Sobrien		to looking at all of them.
138438494Sobrien	tag each map for "amd -T tag", useful for grouping maps.
138538494Sobrien	can override $os and others (so if you don't like "sunos5" default
138638494Sobrien		naming, set os=sos5 and it will work with your old maps).
138738494Sobrien	and more goodies...
138838494Sobrien
138938494Sobrien- enable-default-selectors: No longer turned on by the configure script or
139038494Sobrienoptionally compiled.  Code made dynamic and can be turned on or off from the
139138494Sobrienamd.conf file.  This code is off by default, and must be turned on by
139238494Sobrienamd.conf's [global] section.
139338494Sobrien
139438494Sobrien- new ports:
139538494Sobrien	mips-sgi-irix5.3:	configure/compile, not tested
139638494Sobrien	i486-ncr-sysv4.3.03:	configure/compile, not tested
139738494Sobrien
139838494Sobrien- updated ports:
139938494Sobrien	alpha-dec-osf4.0:	major code redone
140038494Sobrien	sparc-sun-sunos4.1.3:	fixed and working
140138494Sobrien	mips-sgi-irix6.2:	tested with gcc and "cc -32 -Wl,-woff,84"
140238494Sobrien	mips-sgi-irix6.4:	tested with gcc and "cc -32 -Wl,-woff,84"
140338494Sobrien
140438494Sobrien- better NFS3 port, including more support for proto= and vers=, and
140538494Sobrienautomatic determination of proto/vers combination.
140638494Sobrien
140738494Sobrien- conf/nfs_prot/nfs_prot_*.h: all of the NFS protocol header files had to be
140838494Sobrienredone, because of the osf4 port.  OSF used very different names for these,
140938494Sobrienand they conflicted with am-utils'.  The only solution was to more or less
141038494Sobrienconform to OSF4's naming, and change all the others.
141138494Sobrien
141238494Sobrien- ctl-amd script:
141338494Sobrien	improved to look for amd.conf in $prefix/etc and /etc
141438494Sobrien	better methods for finding the pid of amd to kill
141538494Sobrien
141638494Sobrien- autoconf support for LDAP.  amd/info_ldap.c needs to be written.
141738494Sobrien
141838494Sobrien- wire-test also reports the local IP address.  Some systems have multiple,
141938494Sobrienbuggy version of get_myaddress(), esp. SunOS and Irix.  Note that Solaris
142038494Sobrienx86 has a buggy htonl().
142138494Sobrien
142238494Sobrien- amd -H prints usage.
142338494Sobrien
142438494Sobrien- bugs fixed:
142538494Sobrien	minor TLI problem in fwd_socket
142638494Sobrien	mount options properly comma delimited
142738494Sobrien	LIBS is set only to the right set of libraries to include
142838494Sobrien	selectors-on-default code ignored last selector ent in /defaults
142938494Sobrien	assorted code cleanups
143038494Sobrien
143138494Sobrien
143238494Sobrien*** Notes specific to am-utils version 6.0a5:
143338494Sobrien
143438494Sobrien- NFS Version 3 support!!!
143538494Sobrien
143638494Sobrien	Works on Solaris 2.5.1.
143738494Sobrien	Minimal testing done on Irix 6.
143838494Sobrien	Compiles cleanly on DU-4.0 but no tests performed.
143938494Sobrien
144038494SobrienWill fall back to V2 mounts when V3 is not available.  Will also use TCP if
144138494Sobrienpossible, UDP otherwise.
144238494Sobrien
144338494Sobrien- Ports to new platforms:
144438494Sobrien
144538494Sobrien	alpha-dec-osf4.0		(not tested)
144638494Sobrien	i386-pc-bsdi3.0			(tested and working)
144738494Sobrien	i386-unknown-freebsd2.2.1	(tested and working)
144838494Sobrien	sparc-unknown-linux-gnu		(tested and working)
144938494Sobrien
145038494Sobrien- New scripts added:
145138494Sobrien
145238494Sobrien	amd2sun:	convert amd maps to Sun automount maps
145338494Sobrien	ctl-amd:	script to start/stop/restart amd
145438494Sobrien	ctl-hlfsd:	script to start/stop/restart hlfsd
145538494Sobrien	expn:		expand mail alias (used by hlfsd)
145638494Sobrien	lostaltmail:	redeliver "lost" mail redirected by hlfsd
145738494Sobrien	lostaltmail.conf-sample:	sample conf file for lostaltmail
145838494Sobrien	wait4amd:	run a command once amd is up on a host
145938494Sobrien	wait4amd2die:	wait for an amd process to die before returning
146038494Sobrien
146138494Sobrien- "amd -v" now includes more info and "amq -v" lists all of it.
146238494Sobrien
146338494Sobrien- new parser for linux specific mount options.
146438494Sobrien
146538494Sobrien- Main bugs fixed:
146638494Sobrien
146738494Sobrien	"new toplvl readdir" bug caused amd to dump core
146838494Sobrien	handler for SIGCHLD didn't check for all possible children
146938494Sobrien	hlfsd leaking file descriptors when home file system was full
147038494Sobrien	cdfs/pcfs mounts should not timeout by default
147138494Sobrien	hesiod domain names should be compared in case-insensitive manner
147238494Sobrien	several printfs in amq were missing \n
147338494Sobrien
147438494Sobrien
147538494Sobrien*** Notes specific to am-utils version 6.0a4:
147638494Sobrien
147738494Sobrien- amd services both TCP and UDP amq requests.  This will help because of the
147838494Sobrienlimited UDP message size.
147938494Sobrien
148038494Sobrien- "amq -M" code is disabled by default because it is insecure.  It is
148138494Sobrienrarely used.  Users who wish to use it should run
148238494Sobrien"configure --enable-amq-mount".
148338494Sobrien
148438494Sobrien
148538494Sobrien*** Notes specific to am-utils version 6.0a3:
148638494Sobrien
148738494Sobrien- New tested ports (configures, compiles, and runs):
148838494Sobrien
148938494Sobrien	i386-unknown-freebsd2.2
149038494Sobrien
149138494Sobrien- New ports (configures and compiles correctly, not tested):
149238494Sobrien
149338494Sobrien	rs6000-ibm-aix3.2.5
149438494Sobrien	rs6000-ibm-aix4.1.5.0
149538494Sobrien
149638494Sobrien- More am-utils programs ported to all existing platforms: hlfsd, fsinfo,
149738494Sobrienmk-amd-map, and fixmount.
149838494Sobrien
149938494Sobrien- Shared libraries: a new configure option --enable-shared will build a
150038494Sobrienshared libamu.so, link applications with it, and use it.  Reduces binary
150138494Sobriensizes by 20-30%.  This is the first step towards loadable modules, as many
150238494Sobrienchanges had to be done to be able to compile and use PIC code.  This is code
150338494Sobrienthat obviously needs to be generalized to be able to build shared libraries
150438494Sobrienon many other platforms.  It was only tested on Solaris 5.5.1.
150538494Sobrien
150638494Sobrien- the file INSTALL contains the latest compatibility table of which
150738494Sobrienplatforms am-utils configures, compiles and runs on.
150838494Sobrien
150938494Sobrien- Trimmed down the size of the configure script.  Some tests that are not
151038494Sobrienused anywhere were removed.
151138494Sobrien
151238494Sobrien
151338494Sobrien*** Notes specific to am-utils version 6.0a2:
151438494Sobrien
151538494Sobrien- New ports (configures and compiles correctly, not tested):
151638494Sobrien
151738494Sobrien	i386-pc-bsdi2.1
151838494Sobrien	hppa1.1-hp-hpux9.01
151938494Sobrien	hppa1.1-hp-hpux10.20
152038494Sobrien
152138494Sobrien- new configure options:
152238494Sobrien
152338494Sobrien	--enable-cppflags[=ARG]
152438494Sobrien		configure/compile with ARG (-I) preprocessor flags
152538494Sobrien	--enable-libs[=ARG]
152638494Sobrien		configure/compile with ARG (-L/-l) library flags
152738494Sobrien
1528174294Sobrien- file system, mount table entries, and mount type tests can now look in
152938494Sobrien/lib/modules and /proc/filesystems for statically/dyadically loadable kernel
153038494Sobrienmodules (linux)
153138494Sobrien
1532174294Sobrien- prefer vfat over msdos/pc/etc file system for PCFS.
153338494Sobrien
153438494Sobrien- moved all fixed headers to include/am_defs.  Left only #define/#undef
153538494Sobrienentries in aux/acconfig.h.
153638494Sobrien
153738494Sobrien- make more sense of systems that have full, partial, or no NFS protocol
153838494Sobrienheaders.
153938494Sobrien
154038494Sobrien- minor fixes for NetBSD (untested platform).
154138494Sobrien
154238494Sobrien- hesiod map fixed.
154338494Sobrien
154438494Sobrien- buildall -D: new option to run even stricter developer options.
154538494Sobrien
154638494Sobrien- lots of other bugs fixed (see ChangeLog).
154738494Sobrien
154838494Sobrien
154938494Sobrien*** Notes specific to am-utils version 6.0a1:
155038494Sobrien
155138494SobrienI have it configure and build correctly for the following systems:
155238494Sobrien
155338494Sobrien	i386-pc-solaris2.5.1
155438494Sobrien	i386-unknown-freebsd2.1.0
155538494Sobrien	mips-sgi-irix6.2
155638494Sobrien	sparc-sun-solaris2.5.1
155738494Sobrien	sparc-sun-sunos4.1.3
155838494Sobrien
155938494SobrienAmq, wire-test, and "amd -v" work on all of the above.  A real running amd
156038494Sobrienwas only tested and confirmed working on
156138494Sobrien
156238494Sobrien	i386-pc-solaris2.5.1
156338494Sobrien	sparc-sun-solaris2.5.1
156438494Sobrien
156538494SobrienMany things are still missing: options, features, etc.  But for now, let's
156638494Sobrienconcentrate on getting the basic functionality working on the more popular
156738494Sobriensystems.
1568