1174294Sobrien*** Notes specific to am-utils version 6.1.5
251292Sobrien
3174294SobrienNew amd.conf global parameter: nfs_allow_any_interface.  By default it is
4174294Sobrienset to 'no' which means that Amd accepts local NFS packets only from
5174294Sobrien127.0.0.1.  If set to 'yes' then Amd will accept local NFS packets from any
6174294Sobrienlocal interface; this is useful on hosts that may have multiple interfaces
7174294Sobrienwhere the system is forced to send all outgoing packets (even those bound to
8174294Sobrienthe same host) via an address other than 127.0.0.1.
9174294Sobrien
10174294SobrienAdd support for specifying the host to match in the mount selectors netgrp
11174294Sobrienand netgrpd.  Now one can use either netgrp(<group-name>) or
12174294Sobriennetgrp(<group-name>,<host-name>).
13174294Sobrien
14174294Sobrien- Bugs fixed:
15174294Sobrien	* handle old-style filehandles correctly (for mount points longer
16174294Sobrien	  than 28 chars)
17174294Sobrien	* don't turn off attribute cache for regular NFS mounts (improves
18174294Sobrien	  performance)
19174294Sobrien	* detect G/DBM support via gdbm_compat library (Debian)
20174294Sobrien	* detect NDBM support in libc (FreeBSD 6)
21174294Sobrien
22119679Smbr- minor new ports:
23174294Sobrien	i386-unknown-freebsd6.1 (RELEASE)
24174294Sobrien	i386-unknown-openbsd3.9
25174294Sobrien	powerpc-apple-darwin8.6.0
26174294Sobrien
27174294Sobrien*** Notes specific to am-utils version 6.1.4
28174294Sobrien
29174294SobrienSupport new mount options for type:=pcfs mounts: longname, nowin95,
30174294Sobrienshortname, user=N, group=N, mask=N, and dirmask=N.
31174294Sobrien
32174294SobrienTwo new amd.conf [global] parameters: nfs_retry_interval_toplvl and
33174294Sobriennfs_retransmit_counter_toplvl.  They are similar to nfs_retry_interval and
34174294Sobriennfs_retransmit_counter, and allow you to set the "timeo" and "retrans" NFS
35174294Sobrienmount parameters, respectively, but ONLY for Amd's top-level mounts (which
36174294Sobrienare NFSv2/UDP currently).  This is useful because on some systems you may
37174294Sobrienwish to set these parameters differently than the OS default, so as to
38174294Sobrienbetter tune Amd's responsiveness under heavy scheduler loads.
39174294Sobrien
40174294Sobrien- minor new ports:
41174294Sobrien	i386-pc-linux-fc5 (Fedora Core 5)
42174294Sobrien	i386-pc-linux-suse10.1 (beta 8)
43174294Sobrien	i386-unknown-freebsd6.0 (RELEASE)
44174294Sobrien	i386-unknown-netbsdelf2.1
45174294Sobrien	i386-unknown-netbsdelf3.0 (RELEASE)
46174294Sobrien	i386-unknown-openbsd3.8
47174294Sobrien	powerpc-apple-darwin8.5.0
48174294Sobrien
49174294Sobrien- Bugs fixed:
50174294Sobrien	* one serious memory leak in amfs_generic (caught by Coverity)
51174294Sobrien	* assorted potential (but rare) NULL pointer dereferences (Coverity)
52174294Sobrien	* correctly print nfs_args->addr info (sin_family/port/addr)
53174294Sobrien	* pawd should resolve path repeatedly until no more to do
54174294Sobrien	* use-after-free bug in amfs_lookup_mntfs (Coverity)
55174294Sobrien
56174294Sobrien*** Notes specific to am-utils version 6.1.3
57174294Sobrien
58174294Sobrien- Bugs fixed:
59174294Sobrien	* amq should de-register properly on exit
60174294Sobrien	* convert all sprintf to safer xsnprintf
61174294Sobrien	* convert all strcat to safer xstrlcat
62174294Sobrien	* convert all strcpy to safer xstrlcpy
63174294Sobrien	* fix three buffer overruns in expand_op (amd/opts.c)
64174294Sobrien	* pawd was trying UDP only, now try TCP if UDP failed
65174294Sobrien
66174294SobrienMoved pawd's path-matching functionality into Amd, where it can be done a
67174294Sobrienlot more efficiently (we no longer need to construct and send the whole
68174294Sobrienmounted tree, only to match small parts of it).  This will lessen the CPU
69174294Sobrienand network load on systems that use pawd heavily, and also minimize the
70174294Sobrienchance that we exceed default or hard-coded UDP/TCP RPC packet sizes.
71174294Sobrien
72174294Sobrien*** Notes specific to am-utils version 6.1.2.1
73174294Sobrien
74174294Sobrien- Bugs fixed:
75174294Sobrien	* properly turn off the attrcache in freebsd and openbsd
76174294Sobrien	* can turn off attrcache on netbsd, but need kernel patch, see
77174294Sobrien	  README.attrcache
78174294Sobrien	* pawd goes into an infinite loop on type:=auto
79174294Sobrien	* consistent search for file system mnttab/mount names
80174294Sobrien
81174294Sobrien*** Notes specific to am-utils version 6.1.2
82174294Sobrien
83174294SobrienMAJOR BUG FIXES: Synchronize Amd's view of its file systems with the
84174294Sobrienkernel's NFS client-side DNLC/dcache.  Amd changes its view when it reloads
85174294Sobrienmaps (automatically or via "amq -f") because new map entries could be added,
86174294Sobrienold one removed, or existing ones changed.  Amd also changes its view when a
87174294Sobriensimple entry has expired and was flushed, or was forced out via "amq -u".
88174294SobrienAmd was not updating the mtime of its parent directory (often the amd
89174294Sobrienautomount point): this resulted in the kernel re-using cached entries, which
90174294Sobrienare now possibly stale.  Many users had seen this problem in the form of
91174294Sobrienoccasional ESTALE errors, or dangling/broken automounted symlinks,
92174294Sobrienespecially on systems under heavy use.  To tell the kernel to ignore (flush)
93174294Sobrienits old entries for an directory, the mtime of the directory must be updated
94174294Sobrien(monotonically incremented).  Amd was indeed doing so in several places, but
95174294Sobrienunfortunately it was using time(2) which only provides a one-second
96174294Sobrienresolution clock: this was fine a decade ago, but not good enough on today's
97174294Sobrienfast systems; using only a one-second resolution clock meant that on busy
98174294Sobriensystems that invoke Amd many times a second, some rapidly changing entries
99174294Sobriendo not get flushed from the kernel, and the kernel thus uses stale entries.
100174294SobrienThe solution to all of these was to rework the whole clock timer updates to
101174294Sobrienuse gettimeofday(), using a micro-second resolution timer, and to use that
102174294Sobrientime whenever Amd needs to update an mtime/atime/ctime of any node.
103174294SobrienFinally, we now update the mtime in places that were never updated before
104174294Sobrien(when a whole map is flushed or a single entry times out).
105174294Sobrien
106174294SobrienWarning: some OSs, we discovered, are incapable of turning off their
107174294SobrienNFS attribute cache entirely.  This means that Amd cannot work fully
108174294Sobrienreliability on these systems, not under heavy load.  This is documented in
109174294Sobriendetail in the README.attrcache file included with this distribution.
110174294Sobrien
111174294SobrienInclude test-attrcache script to test the NFS attribute cache behavior using
112174294SobrienAmd.
113174294Sobrien
114174294SobrienTell syslog not to log automatically to /dev/console; it's unfriendly.  If
115174294Sobrienuser really wants to, they can set it in /etc/syslog.conf.
116174294Sobrien
117174294Sobrien- minor new ports:
118174294Sobrien	i386-pc-linux-deb3.1
119174294Sobrien	i386-unknown-netbsdelf3.0
120174294Sobrien	powerpc-apple-darwin8.2.0
121174294Sobrien
122174294Sobrien- bugs fixed:
123174294Sobrien	* minor documentation corrections
124174294Sobrien
125174294Sobrien*** Notes specific to am-utils version 6.1.1
126174294Sobrien
127174294SobrienNew amd.conf global parameter: forced_unmounts (default to "no").  If set to
128174294Sobrien"yes," and the client OS supports forced or lazy unmounts, then Amd will
129174294Sobrienattempt to use them if it gets any of three serious error conditions when
130174294Sobrientrying to unmount an existing mount point or mount on top of one: EIO,
131174294SobrienESTALE, or EBUSY.  This could be useful to recover from serious conditions
132174294Sobriensuch as hardware failure of mounted disks, or NFS servers which are down
133174294Sobrienpermanently, were migrated, or changed their IP address.  Only
134174294Sobrien"type:=toplvl" mounts hung with EBUSY are forcibly unmounted using this
135174294Sobrienoption: this is useful to ensure that a new Amd can mount itself even if a
136174294Sobrienprevious Amd died and left its mount points hung, or to force Amd to
137174294Sobrienshutdown cleanly, even if some processes (i.e., user shells) have their CWD
138174294Sobrienon Amd's own mount point.  This functionality is available for Linux, BSD44
139174294Sobriensystems, Solaris, OSF/1, and partially for AIX.
140174294Sobrien
141174294SobrienNew amd.conf global parameter: truncate_log (default to "no").  If set to
142174294Sobrien"yes", then Amd will truncate the log file (if it's a regular file) on
143174294Sobrienstartup.  This could be useful when conducting extensive testing on Amd maps
144174294Sobrien(or Amd itself) and you don't want to see log data from a previous run in
145174294Sobrienthe same file.
146174294Sobrien
147174294Sobrien- minor new ports:
148174294Sobrien	i386-pc-linux-fc4
149174294Sobrien	i386-pc-linux-suse9.3
150174294Sobrien	i386-pc-linuxoldld-deb3.1
151174294Sobrien
152174294Sobrien- bugs fixed:
153174294Sobrien	* safer mtab handling for Linux (locks + handles /proc/mounts)
154174294Sobrien	* small compile problems on Solaris 6 (rpcvers_t)
155174294Sobrien	* small compile problems on HPUX 10 (h_errno)
156174294Sobrien	* possibly missing definition of INADDR_NONE in wire.c
157174294Sobrien	* extern for sleep(3) may be missing on older gcc systems
158174294Sobrien	* updated nfs_args structure on aix4.
159174294Sobrien	* possible running off end of exported_ap[] array.
160174294Sobrien	* buffer overflow in pawd.
161174294Sobrien	* aix4 clean build.
162174294Sobrien	* use strlcat/snprintf in a few places for safety.
163174294Sobrien	* recover from IP address change of a down NFS server
164174294Sobrien	* don't discard restarted mntfs that was used.
165174294Sobrien
166174294Sobrien*** Notes specific to am-utils version 6.1
167174294Sobrien
168174294Sobrien- bugs fixed:
169174294Sobrien	* set timeo/retrans for type:=nfs only if user asked
170174294Sobrien
171174294SobrienAlso, if you want to know what's new in 6.1 compared to 6.0.x, it's
172174294SobrienEVERYTHING below this line, up to "6.0.4."  Yes, that's a lot of stuff.
173174294Sobrien
174174294Sobrien*** Notes specific to am-utils version 6.1-rc7
175174294Sobrien
176174294SobrienRemove alloca from am-utils, and rewrite code that used it.
177174294Sobrien
178174294SobrienAssorted minor code cleanups.
179174294Sobrien
180174294Sobrien- minor new ports:
181174294Sobrien	alpha-unknown-linux-gentoo1.4.16
182174294Sobrien	alphaev56-dec-osf4.0f (using both cc and gcc)
183174294Sobrien	mips-sgi-irix6.5 (using both cc and gcc)
184174294Sobrien	mips-unknown-linux-gentoo1.4.16
185174294Sobrien	sparc64-unknown-linux-gentoo1.4.16
186174294Sobrien
187174294Sobrien- bugs fixed:
188174294Sobrien	* getwire() detects networks correctly on OSF/1
189174294Sobrien
190174294Sobrien*** Notes specific to am-utils version 6.1-rc6
191174294Sobrien
192174294Sobrien- minor new ports:
193174294Sobrien	i386-pc-linux-deb3.0
194174294Sobrien	i386-pc-linux-gentoo1.4.16
195174294Sobrien	i386-pc-linux-suse9.2
196174294Sobrien	i386-unknown-freebsd5.4
197174294Sobrien	i386-unknown-netbsdelf2.0.2
198174294Sobrien	i386-unknown-openbsd3.7
199174294Sobrien	powerpc-unknown-linux-yellowdog2.3
200174294Sobrien
201174294Sobrien- bugs fixed:
202174294Sobrien	* minor compile error of nfs_subr.c on some systems.
203174294Sobrien	* AIX 5.2/5.3 PPC compile fixes.
204174294Sobrien
205174294Sobrien*** Notes specific to am-utils version 6.1-rc5
206174294Sobrien
207174294SobrienFor NetBSD systems, $os used to say "netbsdelf1" or "netbsdelf2."  Now it
208174294Sobrienjust says "netbsd."
209174294Sobrien
210174294Sobrien- minor new ports:
211174294Sobrien	powerpc-apple-darwin7.9.0
212174294Sobrien
213174294Sobrien- bugs fixed:
214174294Sobrien	* silly (but nasty) null pointer dereferencing
215174294Sobrien	* improved fix for '-opts' syntax for resetting map options
216174294Sobrien
217174294Sobrien*** Notes specific to am-utils version 6.1-rc4
218174294Sobrien
219174294Sobrien- bugs fixed:
220174294Sobrien	* check for "macosx" in M4 macros properly
221174294Sobrien	* minor memory leaks (thanks to Valgrind)
222174294Sobrien
223174294Sobrien*** Notes specific to am-utils version 6.1-rc3
224174294Sobrien
225174294SobrienMinor fix to configure.in.  Reran bootstrap to get a working configure
226174294Sobrienscript that indeed checks for certain Linux nfs/autofs headers.
227174294Sobrien
228174294Sobrien*** Notes specific to am-utils version 6.1-rc2
229174294Sobrien
230174294SobrienNew amd.conf global parameter: normalize_slashes (default to "yes").  If set
231174294Sobriento "no," then Amd will not condense repeated slashes or remove trailing ones
232174294Sobrienfrom strings representing pathnames.  This is sometimes useful with SMB
233174294Sobrienmounts, which often require multiple slash characters in pathnames.
234174294Sobrien
235174294SobrienUsing a custom version of strlcpy instead of strncpy (but only where it
236174294Sobrienmakes sense), to minimize string overflow changes.  Audited all use of
237174294Sobrienstrncpy/strlcpy to ensure safety.
238174294Sobrien
239174294SobrienOn Apple machines, use "powerpc" for $arch, instead of "Power Macintosh".
240174294SobrienAlso, use sw_vers to find out more appropriate OS name (macosx) and OS
241174294Sobrienversion (10.3.x) than uname(3) reports.
242174294Sobrien
243174294Sobrien- minor new ports:
244174294Sobrien	powerpc64-unknown-linux-rhel4
245174294Sobrien	powerpc64-unknown-linux-sles9
246174294Sobrien
247174294Sobrien- bugs fixed:
248174294Sobrien	* pawd handles all file systems
249174294Sobrien	* fix double-free in type:=nfsx
250174294Sobrien	* timeo and retrans shouldn't be set for type:=toplvl
251174294Sobrien	* fix inconsistency in handling filehandle generation number
252174294Sobrien	* document proper use of hosts.allow (don't spawn)
253174294Sobrien	* single dash '-' map entry now resets the defaults
254174294Sobrien
255174294Sobrien*** Notes specific to am-utils version 6.1-rc1
256174294Sobrien
257174294Sobrien- minor new ports:
258174294Sobrien	i386-pc-linux-fc2 (Fedora Core 2).
259174294Sobrien	i386-pc-linux-fc3 (Fedora Core 3).
260174294Sobrien	i386-pc-linux-rhel3
261174294Sobrien	i386-pc-linux-rhel4
262174294Sobrien	i386-pc-linux-suse8.2
263174294Sobrien	i386-pc-linux-suse9.1
264174294Sobrien	i386-pc-solaris2.10
265174294Sobrien	i386-unknown-freebsd4.8
266131702Smbr	i386-unknown-freebsd4.9
267174294Sobrien	i386-unknown-freebsd4.10
268174294Sobrien	i386-unknown-freebsd4.11
269174294Sobrien	i386-unknown-freebsd5.1 (5.1-RELEASE)
270131702Smbr	i386-unknown-freebsd5.2 (5.2-RELEASE)
271174294Sobrien	i386-unknown-freebsd5.2.1 (5.2.1-RELEASE)
272174294Sobrien	i386-unknown-freebsd5.3 (5.3-RELEASE)
273174294Sobrien	i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001)
274174294Sobrien	i386-unknown-netbsdelf1.6.1
275174294Sobrien	i386-unknown-netbsdelf2.0
276174294Sobrien	i386-unknown-openbsd3.6
277174294Sobrien	ia64-hp-hpux11.20
278174294Sobrien	ia64-unknown-linux-rhel4
279174294Sobrien	mipsel-unknown-linux-rhPS2 (Linux on Sony PlayStation 2)
280174294Sobrien	powerpc-apple-darwin7.6.0
281174294Sobrien	powerpc-apple-darwin7.7.0
282174294Sobrien	powerpc-apple-darwin7.8.0
283174294Sobrien	powerpc-ibm-aix5.2.0.0
284174294Sobrien	powerpc-ibm-aix5.3.0.0
285174294Sobrien	sparc-sun-solaris2.10
286174294Sobrien	sparc64-unknown-linux-deb3.0
287174294Sobrien	x86_64-unknown-linux-rh2.9.5AS
288119679Smbr
289174294Sobrien- support for executable maps ala Sun automounter.  Set map_type=exec in
290174294Sobrien  amd.conf, and map_name to a program/script that takes a key as argv[1],
291174294Sobrien  and returns key-value pair on stdout.  See also exec_map_timeout [global]
292174294Sobrien  parameter which defines how many seconds (default 10 sec) Amd will wait
293174294Sobrien  for an executable map program to return output before timing out.  See
294174294Sobrien  am-utils manual for full details.
295174294Sobrien
296174294Sobrien- new amd.conf parameter "nfs_allow_insecure_port".  Used to work around
297131702Smbr  bugs in certain kernels, which cause them to try and talk to amd from
298131702Smbr  unprivileged ports.
299131702Smbr
300174294Sobrien- new amd.conf parameter: localhost_address.  Used to override the localhost
301174294Sobrien  (often 127.0.0.1) address Amd uses to connect to for the local NFS server
302174294Sobrien  and RPC server.
303119679Smbr
304174294Sobrien- new amd.conf [global] parameter: domain_strip (default "yes").  If set to
305174294Sobrien  "no," Amd won't strip domain names from host names, which is useful if
306174294Sobrien  your Amd maps are served by multiple domains and you want to tell from the
307174294Sobrien  logs which exact host did what.
308119679Smbr
309174294Sobrien- new amd.conf [global] parameter: auto_attrcache (default to 0).  Sets
310174294Sobrien  Amd's own NFS attribute-cache timeout in seconds.  A value of 0 turns off
311174294Sobrien  attribute caching, meaning that Amd will be consulted via a kernel-RPC
312174294Sobrien  each time someone stat's the mount point (which could be abused as a
313174294Sobrien  denial-of-service attack).  If you're concerned, set this to something
314174294Sobrien  greater than zero (a value of 1 second is currently recommended).
315174294Sobrien  Warning: if you set this option to any non-zero value, especially a large
316174294Sobrien  value, and you get ESTALE errors on your particular OS, then set this
317174294Sobrien  value back to 0 seconds.
318174294Sobrien
319174294Sobrien- four new amd.conf [global] parameters, similar to nfs_retry_interval and
320174294Sobrien  nfs_retransmit_counter, which allow you to set the "timeo" and "retrans"
321174294Sobrien  NFS mount parameters, respectively.  Now you can set those parameters
322174294Sobrien  globally and separately for UDP vs. TCP, using any of these:
323174294Sobrien  nfs_retry_interval_udp, nfs_retransmit_counter_udp nfs_retry_interval_tcp,
324174294Sobrien  and nfs_retransmit_counter_tcp.
325174294Sobrien
326174294Sobrien- new amd.conf [global] parameter: preferred_amq_port.  Allows you to select
327174294Sobrien  the UDP+TCP port that Amd's amq service will use with the RPC portmapper.
328174294Sobrien  Useful with firewalls and NAT'ed environments.
329174294Sobrien
330174294Sobrien- new amd.conf option "debug_mtab_file".  Allows user to define the mtab
331174294Sobrien  file during debug-mtab mode.  The default path is "/tmp/mnttab".
332174294Sobrien
333174294Sobrien- new function selector xhost(ARG) which will match ARG against the current
334174294Sobrien  host name.  This works even if ARG is a CNAME (unlike the host==ARG
335174294Sobrien  selector).
336174294Sobrien
337174294Sobrien- support restarting the automounter's own mount points (only over NFS,
338174294Sobrien  for now).
339174294Sobrien
340174294Sobrien- fully support WebNFS as per RFC 2054.  It now tries v3/TCP first, falling
341174294Sobrien  back to v2/UDP if this doesn't work.  The "webnfs" pseudo-mount options
342174294Sobrien  has been renamed (again) to "public" to match Solaris 2.
343174294Sobrien
344174294Sobrien- restructured the restarting of already-mounted filesystems, in the process
345174294Sobrien  also fixing a problem with restarting nfsx components.
346174294Sobrien
347174294Sobrien- support escaped slashes, needed for SMB mounts.  Use '\\\/\\\/' in a
348174294Sobrien  string to get a double slash.
349174294Sobrien
350174294Sobrien- amd -v now prints domain, host, and hostd values: foo, example.com, and
351174294Sobrien  foo.example.com, respectively.
352174294Sobrien
353174294Sobrien- On Linux, if umount(2) failed with EIO or ESTALE, try the new umount2(2)
354174294Sobrien  system call with MNT_FORCE+MNT_DETACH.  This could be quite helpful to
355174294Sobrien  unmounting hung mount points that otherwise cannot be fixed without a
356174294Sobrien  reboot.
357174294Sobrien
358174294Sobrien- The ping=N mount option now works.  N defaults to 30 seconds for all NFS
359174294Sobrien  servers.  It can now be set to any value for each server separately.
360174294Sobrien  Setting it to a large value can reduce the amount of NFS_NULL chatter on
361174294Sobrien  your network considerably, especially in large sites.  Setting this to -1
362174294Sobrien  will turn off pings for that server (useful in NFS-HA setups).  Setting N
363174294Sobrien  to 0 will pick the default ping value in Amd (currently 30 seconds).  Note
364174294Sobrien  that if you have multiple Amd entries using the same file server, and each
365174294Sobrien  entry sets a different value of N, then each time Amd mounts a new entry,
366174294Sobrien  the ping value will be re-evaluated (and updated, turned off, or turned
367174294Sobrien  back on as needed).  Note that NFS_NULL pings are sent for both UDP and
368174294Sobrien  TCP mounts, because even a hung TCP mount can cause user processes to
369174294Sobrien  hang.
370174294Sobrien
371174294Sobrien- file system inheritance code restructured, so it's no longer a pseudo file
372174294Sobrien  system, but actually integrated into Amd (as it should have been).
373174294Sobrien
374174294Sobrien- for type:=program, the "umount" program doesn't have to be defined; it'll
375174294Sobrien  default to "unmount ${fs}".
376174294Sobrien
377174294Sobrien- "amd -v" now prints the distribution name if it's known (e.g., rh9, fc3,
378174294Sobrien  suse8, etc.).
379174294Sobrien
380174294Sobrien- bugs fixed:
381174294Sobrien	* various memory management problems (leaks, etc)
382174294Sobrien	* fixed nfsx support
383174294Sobrien	* fixed a race involving late replies to network queries which
384174294Sobrien	  arrive after the file system has already been mounted
385174294Sobrien	* recognize pcfs_args_t fields in FreeBSD 5
386174294Sobrien	* recognize other mount types in pawd: host, linkx, and nfsx
387174294Sobrien	* allow exactly one of umount and unmount in type:=program
388174294Sobrien	* race condition between calls to mntctl() on AIX
389174294Sobrien	* plock/mlockall wasn't inherited by fork(); moved after
390174294Sobrien	  daemonizing.
391174294Sobrien	* fix inconsistency between Socket and TLI RPC timeouts.
392174294Sobrien	* don't warn when couldn't rmdir a dir with a readonly ancestor.
393174294Sobrien	* avoid hangs of amd in ctl-amd (must chdir to /)
394174294Sobrien	* workaround occasional daemonizing problems (parent won't die)
395174294Sobrien	* don't hang on exit if debug_options=mtab was used
396174294Sobrien	* utimeout=N mount option works with non-nfs types (ufs, pcfs, etc.)
397174294Sobrien	* SEGV (null pointer deref) in type:=program and type:=cachefs
398174294Sobrien	* unmount_on_exit of type:=program caused amd to hang
399174294Sobrien	* match amd2ldif output with ldap.schema
400174294Sobrien
401174294Sobrien*** Notes specific to am-utils version 6.1b4
402174294Sobrien
403174294Sobrien- minor new ports:
404174294Sobrien	i686-apple-darwin6.6
405174294Sobrien
406174294Sobrien- speed up the recovery of inherited (restarted) filesystems by using the
407174294Sobrien  proper waiting channels
408174294Sobrien
409174294Sobrien- added support for mounting webnfs filesystems, see entry below. It doesn't
410174294Sobrien  do any probing currently, so it will default to v2/UDP unless another
411174294Sobrien  version and/or protocol are explicitly specified.
412174294Sobrien
413174294Sobrien- pseudo-mount option "ignore_portmapper" renamed to "webnfs"
414174294Sobrien
415174294Sobrien- bugs fixed:
416174294Sobrien	* properly time out autofs filesystems on Linux
417174294Sobrien	* link mounts with relative targets weren't working on autofs
418174294Sobrien	* the link side of the nfsl file system wasn't working on autofs
419174294Sobrien	* umount code was accidentally turning all symlinks into directories
420174294Sobrien	  during attempted umounts, causing stale filehandles
421174294Sobrien	* various minor build fixes for "impossible" configurations
422174294Sobrien	* prevent ldap code from dereferencing a null pointer
423174294Sobrien
424174294Sobrien*** Notes specific to am-utils version 6.1b3
425174294Sobrien
426174294Sobrien- new amd.conf option autofs_use_lofs, set by default to "yes".  "yes" means
427174294Sobrien  using in-place mounts (lofs, bind mounts, etc.), thus utilizing one of
428174294Sobrien  Autofs's main advantages.  "no" means using symlinks instead, which has
429174294Sobrien  the "/bin/pwd" problem and certain efficiency issues on Solaris 2.6+ and
430174294Sobrien  is also not supported on Solaris Autofs v1 and derivatives; however, the
431174294Sobrien  autofs code that uses symlinks is simpler and more thoroughly tested.
432174294Sobrien
433174294Sobrien- new amd.conf option map_default (can be used in [global] and overwritten
434174294Sobrien  in the per-map section).  This will overwrite the /defaults entry of the
435174294Sobrien  map itself, to allow people to set defaults in amd.conf (useful when you
436174294Sobrien  cannot control your amd maps, or you'd rather not modify them globally).
437174294Sobrien
438174294Sobrien- for type:=program, you can use either unmount:=XXX or umount:=XXX (but not
439174294Sobrien  both).  This new 'unmount' name is an alias for convenience.
440174294Sobrien
441174294Sobrien- fixed the "multiple matching sub-entries in a map entry" semantics to try
442174294Sobrien  mounting those sub-entries one by one, until either one succeeds or all
443174294Sobrien  fail.  The old semantics of trying to mount everything in parallel and use
444174294Sobrien  the one that mounted fastest hasn't worked in a long time; in fact, 6.0
445174294Sobrien  currently simply ignores all but the first matching sub-entry.
446174294Sobrien
447174294Sobrien- made amd fail much faster (instantly, in fact) if the remote server
448174294Sobrien  doesn't have a functional portmapper or NFS service.  Also reduced the
449174294Sobrien  total timeout to 3 seconds for a completely downed server.
450174294Sobrien
451174294Sobrien- new pseudo-mount option "ignore_portmapper"; not very useful currently,
452174294Sobrien  will make more sense when we also accept hard-coded ports for mountd and
453174294Sobrien  nfsd.
454174294Sobrien
455174294Sobrien- amd will no longer query the portmapper for all possible NFS versions and
456174294Sobrien  protocols if the user requested to use specific ones.
457174294Sobrien
458174294Sobrien- increased the major number for the library, so that 6.0 and 6.1 can't
459174294Sobrien  share libraries anymore.
460174294Sobrien
461174294Sobrien- support tcpd/libwrap tcpwrappers.  If your system supports libwrap, then
462174294Sobrien  you can use /etc/hosts.allow and /etc/hosts.deny to control remote Amq
463174294Sobrien  access to Amd.  The new amd.conf parameter use_tcpwrappers is set to "yes"
464174294Sobrien  by default.
465174294Sobrien
466174294Sobrien- support NULL entries in Hesiod maps, if they start with a ".".
467174294Sobrien
468174294Sobrien- code reorganization
469174294Sobrien
470174294Sobrien- documentation cleanup, corrections, and general updates.  Better
471174294Sobrien  references to all man pages.  Support newer texi2html.  Proper building of
472174294Sobrien  DVI and PSI files.  Allow building of am-utils manual in one long Web
473174294Sobrien  page.
474174294Sobrien
475174294Sobrien- minor new ports:
476174294Sobrien
477174294Sobrien	ia64-unknown-linux-rh2.1AS (Red Hat Itanium Advanced Server)
478174294Sobrien	i386-unknown-freebsd5.0 (5.0-RELEASE)
479174294Sobrien	sparc64-unknown-linux-suse7.3
480174294Sobrien	i386-unknown-netbsdelf1.6.1
481174294Sobrien	i386-unknown-openbsd3.3
482174294Sobrien	i386-pc-solaris2.9
483174294Sobrien
484174294Sobrien- bugs fixed:
485174294Sobrien
486174294Sobrien	* autofs mode on Linux was segfaulting on a silly error (and noone
487174294Sobrien	  complained, which proves that I'm probably the only one testing
488174294Sobrien	  these beta releases, tsk tsk).
489174294Sobrien	* fixed handling of host entries over autofs.
490174294Sobrien	* fixed handling of nfsl entries over autofs.
491174294Sobrien	* the matching in find_mntfs() was causing problems for inherited
492174294Sobrien	  filesystems, so make an exception for them. Tighten the
493174294Sobrien	  matching even more, to take into account the f/s type as well.
494174294Sobrien	* recognize xlatecookie mnttab option on netbsd
495174294Sobrien	* document Solaris lex bug (use flex)
496174294Sobrien	* document AIX 5.x NFS bug (need patch)
497174294Sobrien	* document Solaris 8 autofs version change (need to fix system
498174294Sobrien	  header file)
499174294Sobrien	* ensure lex doesn't run out of output slots
500174294Sobrien	* support GNU flex-2.5.31+
501174294Sobrien	* force version.texi to be rebuilt unconditionally
502174294Sobrien	* mk-amd-map open db file exclusively (security)
503174294Sobrien	* turn off maintainer-only rules in distros
504174294Sobrien	* don't core dump if log_file is NULL (Solaris)
505174294Sobrien	* don't include malloc.h if stdlib.h exists
506174294Sobrien	* recognize file system failures (EIO) upon reading file maps
507174294Sobrien
508174294Sobrien*** Notes specific to am-utils version 6.1b2
509174294Sobrien
510174294Sobrien- new mount flag "softlookup", which determines how amd will respond to
511174294Sobrien  lookups of NFS shares already mounted (return a valid symlink or return
512174294Sobrien  EIO). The default, if "softlookup" is not specified, depends on whether the
513174294Sobrien  mount is "soft" or "hard".
514174294Sobrien
515174294Sobrien- return EIO instead of ENOENT if amd thinks the server is down; this allows
516174294Sobrien  well-written applications to sleep and retry the operation.
517174294Sobrien
518174294Sobrien- minor new ports:
519174294Sobrien
520119679Smbr	i386-apple-darwin6.0
521174294Sobrien	i386-pc-linux-rh8.0
522174294Sobrien	ia64-unknown-linux-rh2.1AW
523119679Smbr	sparc-sun-solaris2.9
524119679Smbr
525174294Sobrien- automatic support for loop mounts on Linux (deprecates the "loop" mount
526174294Sobrien  option)
527174294Sobrien
528174294Sobrien- new amd.conf parameter ldap_proto_version (default 2) for setting the LDAP
529174294Sobrien  protocol version to use.
530174294Sobrien
531119679Smbr- bugs fixed:
532119679Smbr
533174294Sobrien	* redundancy mode (multiple servers for the same share) wasn't working
534174294Sobrien	* non-autofs mode had some rather nasty hangs on downed file servers
535174294Sobrien	* double-free'ing problem in assign_error_mntfs and free_continuation
536174294Sobrien	* free'ing non-malloc'ed memory in amfs_auto_mount
537174294Sobrien	* late server ping replies were not ignored
538174294Sobrien	* amfs_auto_lookup_mntfs wasn't propagating errors up to callers
539174294Sobrien	* autofs-v4 on Solaris 9 works
540119679Smbr	* handle std{in,out,err} correctly when releasing controlling tty
541119679Smbr	  (for real this time)
542119679Smbr	* don't cast pointers between enum_t and u_long, it doesn't work on
543119679Smbr	  64-bit big-endian platforms
544174294Sobrien	* fix compile problem with mlockall() on Darwin
545119679Smbr
546174294Sobrien*** Notes specific to am-utils version 6.1b1
547119679Smbr
548174294Sobrien- Major Autofs work
549174294Sobrien	Partial support for Sun Autofs v1
550174294Sobrien	Documented known problems with Sun Autofs v1 (possible deadlocks)
551174294Sobrien	Fixes for Sun Autofs v2/v3
552174294Sobrien	Preliminary support for Sun Autofs v4 (Solaris 9)
553174294Sobrien	Kernel-based expirations for Linux Autofs
554174294Sobrien
555119679Smbr- Minor new ports:
556119679Smbr	powerpc-ibm-aix5.1.0.0
557174294Sobrien	i386-unknown-netbsd1.6A
558119679Smbr
559119679Smbr- Work around IBM's NFSv3 ABI change in aix4.3
560119679Smbr
561174294Sobrien- trivial regression test suite started: run "make check" on a built
562174294Sobrien  am-utils to execute tests.  Currently only one test which checks to see if
563174294Sobrien  "amd -v" executes correctly.
564119679Smbr
565174294Sobrien- new command line option "amd -A arch" to overwrite the value of $arch.
566119679Smbr
567174294Sobrien- bugs fixed:
568119679Smbr
569174294Sobrien	* Linux loop mounts of ISO images
570174294Sobrien	* assorted LDAP fixes
571174294Sobrien	* strerror not found on some systems
572174294Sobrien	* small fixes for hpux9 and aix43
573174294Sobrien	* exclude ldap/hesiod support unless both libraries+headers exist
574174294Sobrien	* fully support "xlatecookie" mount option
575174294Sobrien	* security: if -D noamq option, don't listen on socket.
576119679Smbr
577174294Sobrien*** Notes specific to am-utils version 6.1a5:
578119679Smbr
579174294Sobrien- browsable_dirs support for Solaris autofs, *without* mount storms!
580174294Sobrien
581174294Sobrien- new amd.conf global parameter: map_reload_interval (default 1 hour).
582174294Sobrien  Determines how often Amd checks to see if maps have changed at the source
583174294Sobrien  (and then reloading only those that have changed).
584174294Sobrien
585174294Sobrien- "amd -v" now lists bug-reporting address.
586174294Sobrien
587174294Sobrien- assorted code cleanups and porting to use latest versions of GNU
588174294Sobrien  Autotools.
589174294Sobrien
590174294Sobrien- opts:=loop works for type:=cdfs, for mounting ISO-9660 files on Linux.
591174294Sobrien
592119679Smbr- bugs fixed:
593119679Smbr
594174294Sobrien	* fixed sublink support in Linux autofs (broken in a4)
595119679Smbr	* hlfsd takes uid 0's home from root's passwd entry instead of
596119679Smbr	  defaulting to '/'
597119679Smbr	* (not really our bug) Linux ignores the microseconds field in
598119679Smbr	  mtime, so hlfsd and amd need to increment the seconds field all
599119679Smbr	  the time to prevent symlink caching
600174294Sobrien	* generic map parsing bug which was rejecting a numerical mount
601174294Sobrien	  option if it was the last option in the string.
602174294Sobrien	* file descriptor leak in Linux autofs.
603174294Sobrien	* "nolock" is an NFS mount option, not a generic one.
604174294Sobrien	* use mlockall(2) on systems that have it, for plock=yes.  Now
605174294Sobrien	  pinning Amd's pages in memory works on Linux.
606174294Sobrien	* ctl-amd/ctl-hlfsd correctly refer to @sysconfdir@ for alternate
607174294Sobrien	  location of configuration files.
608119679Smbr
609174294Sobrien*** Notes specific to am-utils version 6.1a4:
61082794Sobrien
611174294Sobrien- full autofs support for Solaris 2.[67], including symlinks, sublinks and
612174294Sobrien  direct mounts
61382794Sobrien
614174294Sobrien- fixed mount/umount deadlock in Linux autofs
61582794Sobrien
616174294Sobrien- fixed sublinks in Linux autofs
61782794Sobrien
618174294Sobrien- support for network/netmask pairs in the in_network() selector
61982794Sobrien
620174294Sobrien- support disabling LDAP and Hesiod support using configure
62182794Sobrien
622174294Sobrien- forward-ported all the fixes from the stable branch (MacOS X support,
623174294Sobrien  minor Linux fixes)
62482794Sobrien
625174294Sobrien- bind-mount support for type==link and type==lofs with Linux 2.4+
62682794Sobrien
627174294Sobrien- FiST lofs support under Linux (also in 6.0.6s2)
62882794Sobrien
629174294Sobrien*** Notes specific to am-utils version 6.1a3:
63082794Sobrien
631174294Sobrien- various things from the 6.0 branch:
632174294Sobrien	compile fixes for Linux 2.4-ac and 2.2.19pre+
633174294Sobrien	Darwin/Rhapsody/OS X support
634174294Sobrien	much reduced configure script (works around a bug in Darwin's cpp)
63582794Sobrien
636174294Sobrien*** Notes specific to am-utils version 6.1a2:
63782794Sobrien
638174294Sobrien- working autofs support for Solaris 2.[67], but incomplete
63982794Sobrien
640174294Sobrien- forward-ported all the changes up to 6.0.5s2
64182794Sobrien
642174294Sobrien- removed support for amq -M
64382794Sobrien
644174294Sobrien- known bugs
645174294Sobrien	nfsx support is broken
646174294Sobrien	linux NFS codes fixes
647174294Sobrien	NFS cache aliasing fixes
648174294Sobrien	lots of stuff ported from 6.0 branch
64982794Sobrien
650174294Sobrien*** Notes specific to am-utils version 6.1a1:
65182794Sobrien
652174294Sobrien- working autofs (v3 and v4) support for Linux!
65382794Sobrien
654174294Sobrien- forward-ported all the changes in 6.0.4s4
65582794Sobrien
656174294Sobrien- bugs fixed
657174294Sobrien	client-side fail-over to NFSv2/UDP
65882794Sobrien
659174294Sobrien- known bugs
660174294Sobrien	autofs v3 will probably break with host maps
661174294Sobrien
66282794Sobrien*** Notes specific to am-utils version 6.0.4:
66382794Sobrien
66482794Sobrien- NFSv3 support for Linux and HPUX-11
66582794Sobrien
66682794Sobrien- new amd.conf [global] options:
66782794Sobrien	nfs_vers: force all NFS mounts to version 2 or 3
66882794Sobrien	nfs_proto: force all NFS mounts to udp or tcp
66982794Sobrien
67082794Sobrien- new debug_options (amd -D):
67182794Sobrien	hrtime: turns on high-resolution timer if available
67282794Sobrien	readdir: traces browsable_dirs code
67382794Sobrien	xdrtrace: traces XDR routines
67482794Sobrien	(trace: only traces NFS and RPC)
67582794Sobrien
67682794Sobrien- new amq options:
67782794Sobrien	-H: shows usage
67882794Sobrien	-w: translate getpwd() into an Amd path
67982794Sobrien
68082794Sobrien- new map syntax:
68182794Sobrien	${dollar}: to include a literal '$' in assignments
68282794Sobrien
68382794Sobrien- new "opts:=" options:
68482794Sobrien	ver3: turns on NFS version 3 on some systems (linux)
68582794Sobrien
68682794Sobrien- updated or minor new ports:
68782794Sobrien	alpha-dec-osf4.0f
68882794Sobrien	alphaev6-dec-osf5.0
68982794Sobrien	i386-pc-linux-rh6.2
69082794Sobrien	i386-unknown-freebsd3.4
69182794Sobrien
69282794Sobrien- bugs fixed:
69382794Sobrien	symlink mtime fixes to avoid u/mount race conditions
69482794Sobrien	update amq -s failed umounts count correctly
69582794Sobrien	linux compiles even if efs is available
69682794Sobrien	linux works with mount(2) option "intr"
69782794Sobrien	linux works with pcfs and cdfs
69882794Sobrien	handle std{in,out,err} correctly when releasing controlling tty
69982794Sobrien	browsable_readdir works on 64-bit kernel architectures
70082794Sobrien	irs/wire routines compile for bsdi{2,3,4}
70182794Sobrien
70282794Sobrien*** Notes specific to am-utils version 6.0.3:
70382794Sobrien
70482794Sobrien- updated or minor new ports:
70582794Sobrien	hppa1.0-hp-hpux11.00
70682794Sobrien	i386-pc-bsdi4.1
70782794Sobrien	i386-unknown-netbsd1.4.1
70882794Sobrien	sparc-sun-solaris2.8
70982794Sobrien	i*86-pc-linux-gnu-rh6.1
71082794Sobrien	(some preparations for Compaq Tru64)
71182794Sobrien
71282794Sobrien- new variables ${uid} and ${gid}, return the numeric UID/GID of the user
71382794Sobrien  (not root) who invokes an amd pathname.  Similar to what hlfsd does.
71482794Sobrien
71582794Sobrien- automake now uses automatic dependency tracking
71682794Sobrien
71782794Sobrien- new mount options: optionstr, noexec, nomnttab
71882794Sobrien
71982794Sobrien- maps of type:=auto are now browsable (using map option "browsable")
72082794Sobrien
72182794Sobrien- ctl-amd has "status" argument (same as RedHat)
72282794Sobrien
72382794Sobrien- bugs fixed:
72482794Sobrien	document buggy AIX 4.3 plock() behavior
72582794Sobrien	fixes to stale file handle on symlinks
72682794Sobrien	reduce race conditions upon rapid umount/mount sequences
72782794Sobrien	use vsnprintf, more secure than vsprintf
72882794Sobrien	more assorted and smaller bugs
72982794Sobrien
73052894Sobrien*** Notes specific to am-utils version 6.0.2:
73152894Sobrien
73252894Sobrien- safe map reloads: when a map needs to be reloaded, it is reloaded into a
73352894Sobrien  temporary copy first.  Only if the reload was completely successful, Amd
73452894Sobrien  discards the old map and uses the new one.  Otherwise Amd continues to use
73552894Sobrien  the old maps.  This should help a lot with transient NIS problems.
73652894Sobrien
73752894Sobrien- amq -f now also forces a (safe) map reload, but only if the timestamp on
73852894Sobrien  the maps was updated.
73952894Sobrien
74052894Sobrien- two new selector variables: ${vendor} and ${full_os}, which are the same
74152894Sobrien  as the output seen in "amd -v".
74252894Sobrien
74352894Sobrien- documentation fixes and updates
74452894Sobrien
74552894Sobrien- updated or minor new ports:
74652894Sobrien	i386-unknown-freebsdelf3.3
74752894Sobrien
74852894Sobrien- support 'ignore' flags (automntfs) in bsdi-4.1
74952894Sobrien
75052894Sobrien- bugs fixed:
75152894Sobrien	expn.pl uses correct sockaddr_in() not, pack()
75252894Sobrien	make sure configure --enable-*args take an argument
75352894Sobrien	don't busy-loop trying to rebind to ldap servers
75452894Sobrien	use vsnprintf, not vsprintf (security)
75552894Sobrien
75651292Sobrien*** Notes specific to am-utils version 6.0.1:
75751292Sobrien
75851292Sobrien- updated or minor new ports:
75951292Sobrien	i386-pc-bsdi4.0.1
76051292Sobrien	i386-unknown-freebsdelf3.0
76151292Sobrien	i386-unknown-freebsdelf3.1
76251292Sobrien	i386-unknown-freebsdelf3.2
76351292Sobrien	i386-unknown-freebsdelf4.0
76451292Sobrien	i386-unknown-netbsd1.4
76551292Sobrien	i386-unknown-openbsd2.5
76651292Sobrien	powerpc-unknown-linux-gnu
76751292Sobrien
76851292Sobrien- automount2amd added, a new script to convert Sun automount maps to Amd maps
76951292Sobrien
77051292Sobrien- new map function netgrpd(ARG), same as netgrp() but matches FQHN
77151292Sobrien
77251292Sobrien- 'ignore' is a generic mount option
77351292Sobrien
77451292Sobrien- hesiod info service isup() function to check if service is up
77551292Sobrien
77651292Sobrien- more Y2K fixes (see README.y2k for the full story)
77751292Sobrien
77851292Sobrien- using alloca.c on systems that don't have it (hpux9 with /bin/cc)
77951292Sobrien
78051292Sobrien- configure script reduced in size by using M4/sh loops instead of repeated
78151292Sobrien  entries
78251292Sobrien
78351292Sobrien- documentation updates
78451292Sobrien
78551292Sobrien- too many bugs fixed to list here:
78651292Sobrien	'addopts' option works with 'remopts' as well as 'opts'
78751292Sobrien	AIX can perform NFS V.3 mounts explicitly
78851292Sobrien	NIS is_up fixed, especially for NIS+ running in compatibility mode
78951292Sobrien	amd -v incorrectly listing file systems that don't really work
79051292Sobrien	amd's own mounts use reserved ports if possible
79151292Sobrien	browsable directories works for Linux 2.3 (NFS cookies)
79251292Sobrien	bsd44 systems check for isofs flags
79351292Sobrien	bsd44 systems check for new options: norrio, gens, and extatt
79451292Sobrien	buildall works better on Ultrix's /bin/sh
79551292Sobrien	compile and build on Linux kernels 2.2 and newer
79651292Sobrien	compile and build on RedHat Linux 6.0 (glibc 2.1)
79751292Sobrien	compile and build on Solaris 7 (with or without vendor LDAP)
79851292Sobrien	completely eliminate all of amd's amq -M code, when not enabled
79951292Sobrien	correctly interpret failure code of unmount of type:=program
80051292Sobrien	don't create autofs listener service unless used
80151292Sobrien	don't list or process amq's -M option unless feature was turned on
80251292Sobrien	don't turn on/off noconn option if it was already in that state
80351292Sobrien	ldap info service: don't strcmp null strings
80451292Sobrien	lostaltmail correctly sets struct sockaddr_in
80551292Sobrien	make sure Linux systems have configured kernel headers
80651292Sobrien	test for bsize/namlen fields in nfs_args (linux mount versions 2/3)
80751292Sobrien	turn off broken NFS V.3 support for HPUX
80851292Sobrien	use getifaddrs() on bsd44 systems makes wire.c more reliable
80951292Sobrien	use matching NFS rsize/wsize on Linux 2.0 and 2.[123] kernels.
81051292Sobrien	verify that RPC requests come from reserved, privileged local ports
81151292Sobrien	warn when Linux kernel headers mismatch with running kernel
81251292Sobrien	pawd works for type:=nfsl too
81351292Sobrien
81442629Sobrien*** Notes specific to am-utils version 6.0:
81542629Sobrien
81642629Sobrien- updated or minor new ports:
81742629Sobrien	hppa2.0w-hp-hpux11.00,
81842629Sobrien	i386-pc-bsdi4.0
81942629Sobrien	i386-unknown-freebsd2.2.8
82042629Sobrien	i386-unknown-netbsd1.3.3
82142629Sobrien	i386-unknown-openbsd2.4
82242629Sobrien	mips-sgi-irix6.5
82342629Sobrien	powerpc-ibm-aix4.3.1.0
82442629Sobrien	i386-unknown-freebsd3.0 now supports nfs v.3
82542629Sobrien
82642629Sobrien- ctl-amd and ctl-hlfsd now compatible with RedHat's chkconfig utility
82742629Sobrien
82842629Sobrien- ctl-amd stop will now wait until amd is down
82942629Sobrien
83042629Sobrien- libamu.so completely self contained --- does not export any symbols which
83142629Sobrien  must be defined by the process linking with it.  This is so shared
83242629Sobrien  libraries could be supported on systems that have restrictive shared
83342629Sobrien  libraries.
83442629Sobrien
83542629Sobrien- use latest autoconf, automake, and libtool (off of cygnus' CVS server) to
83642629Sobrien  support shared libraries on many more platforms.
83742629Sobrien
83842629Sobrien- posix code cleanups
83942629Sobrien
84042629Sobrien- bugs fixed:
84142629Sobrien	case insensitive host match in type:=nfsl
84242629Sobrien	correct swapped args to kill(2)
84342629Sobrien	try to avoid a race condition b/t mounting and unmounting
84442629Sobrien	yp_all support is found in libnsl in RH-5.1 systems
84542629Sobrien
84641142Sobrien*** Notes specific to am-utils version 6.0b1:
84741142Sobrien
84841142Sobrien- updated or minor new ports:
84941142Sobrien	- *-pc-linux-gnu (glibc2 systems such as RedHat 5.1)
85041142Sobrien	- sparc-sun-solaris2.7
85141142Sobrien	- i386-pc-solaris2.7
85241142Sobrien	- i386-unknown-freebsd3.0 (official release, post 4.4lite port)
85341142Sobrien	- sparc64-unknown-linux-gnu (RH 5.1 on Sun Sparc Ultra)
85441142Sobrien
85541142Sobrien- bugs fixed:
85641142Sobrien	- major memory leak in processing of /defaults
85741142Sobrien	- core dump if map_type given in amd.conf doesn't exist
85841142Sobrien	- memory leak in replacement yp_all
85941142Sobrien	- don't access uninitialized memory in DU 4.0
86041142Sobrien	- other smaller bugs, see ChangeLog
86141142Sobrien
86238494Sobrien*** Notes specific to am-utils version 6.0a16:
86338494Sobrien
86438494Sobrien- new ports:
86538494Sobrien	hppa1.0-hp-hpux11.00 (works, not NFS V.3 due to missing headers)
86638494Sobrien	mips-dec-ultrix4.3 (working, unverified)
86738494Sobrien
86838494Sobrien- new minor ports:
86938494Sobrien	i386-pc-bsdi3.1
87038494Sobrien	i386-unknown-netbsd1.3.1
87138494Sobrien	alpha-dec-osf2.1
87238494Sobrien
87338494Sobrien- new options addopt:=ARG will "smartly" add and override options specified
87438494Sobrienin opts:=
87538494Sobrien
87638494Sobrien- new amd.conf options:
87738494Sobrien	pid_file: specifies the file to store the PID
87838494Sobrien	hesiod_base: specifies the base for the Hesiod service
87938494Sobrien	unmount_on_exit: if 'yes' will attempt to unmount all file systems
88038494Sobrien		when amd exits.
88138494Sobrien
88238494Sobrien- amd.conf file is parsed after all other command line options.  If no
88338494Sobrienoptions specified at all, then use /etc/amd.conf by default.
88438494Sobrien
88538494Sobrien- some variables' values are now compared case-insensitive as per specs,
88638494Sobriensuch as host names, domain names, and more.
88738494Sobrien
88838494Sobrien- NIS service uses a new isup() function to detect if the service is up
88938494Sobrienbefore using it.  Used to ensure amd doesn't clear the existing maps before
89038494Sobrienreloading them, unless the remote info service is working.
89138494Sobrien
89238494Sobrien- new cdfs mount options: rrip, noversion, defperm, nodefperm (OSF)
89338494Sobrien
89438494Sobrien- support efs/xfs separately on irix
89538494Sobrien
89638494Sobrien- new -D info trace option to turn on info specific debugging, such as
89738494SobrienRES_DEBUG for hesiod services.
89838494Sobrien
89938494Sobrien- document updates and fixes
90038494Sobrien
90138494Sobrien- new file MIRRORS lists official mirror sites (also in am-utils home page)
90238494Sobrien
90338494Sobrien- new file BUGS lists known amd/OS bugs
90438494Sobrien
90538494Sobrien- source restructuring: rename all Amd file-systems' sources to amfs_ARG.c
90638494Sobriensuch that it matches the type:=ARG as well.  Free names afs/dfs for Andrew
90738494SobrienF/S and Distributed F/S.
90838494Sobrien
90938494Sobrien- checkpoint config.guess several times during the long configure, so that
91038494Sobrienif it is aborted midway, the bulk of the features discovered will be re-read
91138494Sobrienfrom the config.cache file.
91238494Sobrien
91338494Sobrien- more systems support shared libraries (libtool 1.2)
91438494Sobrien
91538494Sobrien- using automake 1.3 + more fixes
91638494Sobrien
91738494Sobrien- bugs fixed:
91838494Sobrien	use dynamic buffer for list of interfaces, not fixed size
91938494Sobrien	output of amd -H duplicated if >2 interfaces
92038494Sobrien	-D mem for hlfsd not on by default (so it will daemonize)
92138494Sobrien	linux looks for ext2fs before ufs
92238494Sobrien	CDFS looks for 'isofs' mount type as well
92338494Sobrien	compile on Solaris 2.6 with /opt/SUNWspro/bin/cc
92438494Sobrien	various additional fixes which gcc 2.8.x reported
92538494Sobrien	print syslog help string based on what's supported
92638494Sobrien	correctly ignore loopback interface on SunOS 3.x
92738494Sobrien	don't use -lucb for strcasecmp
92838494Sobrien	hlfsd's dump file securely written in /usr/tmp/hlfsd.dump.XXXXXX
92938494Sobrien	inherit NFS V.3 mounts correctly
93038494Sobrien	write pid file securely
93138494Sobrien
93238494Sobrien*** Notes specific to am-utils version 6.0a15:
93338494Sobrien
93438494Sobrien- new ports:
93538494Sobrien	alpha-unknown-linux-gnu: works
93638494Sobrien	i386-unknown-netbsd1.3: fully working
93738494Sobrien	*-sun-sunos3: compiles, not tested
93838494Sobrien
93938494Sobrien- updated ports:
94038494Sobrien	m68k-next-nextstep3: cleaner compile, works.
94138494Sobrien
94238494Sobrien- new file system type nfsl (NFS Link).  Uses nfs if file system is remote,
94338494Sobrienand link if it is local (based on if $rhost equals the host name).
94438494Sobrien
94538494Sobrien- support for Solaris cachefs.  Requires setting fs, rfs, and a new variable
94638494Sobriencachedir.  See documentation for explanation, examples, and caveats.
94738494Sobrien
94838494Sobrien- support negated selector functions such as !exists(/foo/bar)
94938494Sobrien
95038494Sobrien- wire, network, netnumber, in_network() selectors now match against all
95138494Sobrienlocally attached networks (by either name or number), not just the first two
95238494Sobrieninterfaces.
95338494Sobrien
95438494Sobrien- new program pawd (and man page for it) --- Print Automounter Working
95538494SobrienDirectory, to print the proper pathname of the cwd or any other pathname,
95638494Sobrienadjusted for automounter paths, while avoiding mount points.
95738494Sobrien
95838494Sobrien- two new switches to amq: -U will force using UDP only; -T will force using
95938494Sobrienonly TCP to communicate with amd.  If neither (or both) are specified, amq
96038494Sobrienwill try TCP first, and if that failed, will try UDP.
96138494Sobrien
96238494Sobrien- support syslog facilities, using "amd -l syslog:facility".  Old behavior
96338494Sobrienwhen using only -l syslog is to use the LOG_DAEMON facility.
96438494Sobrien
96538494Sobrien- you may specify browsable_dirs=full, to get a listing of all entries
96638494Sobrien(other than /default), including those with '*' wildcard and '/'
96738494Sobriencharacters.
96838494Sobrien
96938494Sobrien- amd -D trace now also includes as much of struct nfs_args as can be
97038494Sobriendisplayed.  Useful in figuring out what the kernel really gets during a
97138494Sobrienmount(2), as opposed to what the /etc/mnttab file says.  -D trace also
97238494Sobrientraces the xdr_* functions.
97338494Sobrien
97438494Sobrien- support for versions of shared libamu version.  upped version from 0.0.0
97538494Sobriento 1.0.0.  each am-utils release that will change the library will also
97638494Sobrienupdate its version.
97738494Sobrien
97838494Sobrien- amd/ops_TEMPLATE.c: a new template file for those brave enough to try and
97938494Sobrienimplement a new amd file system.  Includes comments and other info useful
98038494Sobrienfor developers.
98138494Sobrien
98238494Sobrien- if localconfig.h exists in the current directory during the run of
98338494Sobrienconfigure, it is included in all am-utils sources.  This allows courageous
98438494Sobriendevelopers to make certain modifications during compilations, and especially
98538494Sobrienturn off undesired features (not very recommended).
98638494Sobrien
98738494Sobrien- documentation types and updates for all new features, ports, etc.
98838494Sobrien
98938494Sobrien- bugs fixed:
99038494Sobrien	support NFS mount options grpid and maxgrps
99138494Sobrien	nextstep: set NFS success code to 0 (NFS_OK), not 1 (EPERM)
99238494Sobrien	bsdi2: set NFS success code to 0 (NFS_OK), not 1 (EPERM)
99338494Sobrien	set NFS V.3 mount table names to "nfs" if vers/proto exist
99438494Sobrien	use mkstemp() if possible (more secure)
99538494Sobrien	ctl-amd looks for amd.conf in ${prefix}/etc after /etc
99638494Sobrien	hpux: use "ignore" mount table type
99738494Sobrien	openbsd2.2: turn off "noconn" mount option, so only connected used
99838494Sobrien	fixed memory leak in hlfsd (don't setpwent after endpwent)
99938494Sobrien	all NFS3 systems should have proto/vers mount/amd options
100038494Sobrien	DEBUG_MEM compiles and prints something more useful
100138494Sobrien	uninit_mntfs(): free() mf_private *after* it is used
100238494Sobrien	browsable_readdir: fewer bytes sent back to kernel for each chunk
100338494Sobrien	mount_toplvl: don't free() an automatic variable!
100438494Sobrien	amd should chdir() to / before daemonzing (for core dumps etc)
100538494Sobrien	cdfs should be called 'cdfs' not whatever the mnttab type is
100638494Sobrien	amd -v: don't print "FS:" list twice when >=2 net interfaces
100738494Sobrien
100838494Sobrien*** Notes specific to am-utils version 6.0a14:
100938494Sobrien
101038494Sobrien- updated ports:
101138494Sobrien	powerpc-ibm-aix4.2.1.0: NFS V.3 works
101238494Sobrien
101338494Sobrien- minor new ports:
101438494Sobrien	sparc-sun-sunos4.1.3C
101538494Sobrien	m68k-sun-sunos4.1.1 (sun3)
101638494Sobrien	mips-sgi-irix5.2
101738494Sobrien
101838494Sobrien- new option to amd, -O ARG, will override the operating systems *name* with
101938494SobrienARG.  Corrected documentation for amd -o ARG --- it overrides the operating
102038494Sobriensystem *version* and not the name as the docs incorrectly stated.
102138494Sobrien
102238494Sobrien- logging now behave more like syslog: will not print repeated strings, but
102338494Sobrienrather a count such as "last message repeated N times".  (N will not exceed
102438494Sobrien100.)
102538494Sobrien
102638494Sobrien- restructured the code which deals with the numerous possible fields and
102738494Sobrienflags that are set in struct nfs_args.  That code was moved to libamu as
102838494Sobrienthe functions compute_nfs_args() and compute_automounter_nfs_args().
102938494Sobrien
103038494Sobrien- bugs fixed:
103138494Sobrien	mnttab name ufs/cdfs/pcfs/etc filesystems corrected
103238494Sobrien	use pmap_ping for amq (a must for secure portmappers, bsdi2/3)
1033174294Sobrien	test for xfs (irix) as a disk-based file system
103438494Sobrien	set correct nfs_prot headers for Solaris 2.5
103538494Sobrien	removed stale code from lostaltmail.in
103638494Sobrien	lostaltmail will look for conf file in multiple locations
103738494Sobrien	assorted documentation corrections
103838494Sobrien	amq does not print "get_secure_amd_client" if run as root
103938494Sobrien
104038494Sobrien*** Notes specific to am-utils version 6.0a13:
104138494Sobrien
104238494Sobrien- new in_network(ARG) nomadic selector, true if ARG is the name (or number)
104338494Sobrienof any of this host's network interfaces.
104438494Sobrien
104538494Sobrien- removed variables primnetname, primnetnum, subsnetname, and subsnetnum.
104638494Sobrien(Kept "wire" and its alias "network", and "netnumber".)
104738494Sobrien
104838494Sobrien- include am-utils.dvi and am-utils.ps in distribution.
104938494Sobrien
105038494Sobrien- hlfsd supports new option -P ARG, for reading password map off of file
105138494SobrienARG.  Allows you to use the hlfs redirector using paths other than user's
105238494Sobrienhome directories.
105338494Sobrien
105438494Sobrien- use a replacement yp_all for some systems (irix) known to have a broken
105538494Sobrienone which leaks a file descriptor each time called.
105638494Sobrien
105738494Sobrien- if remote NFS server is down or does not support portmap, downgrade
105838494Sobrienmachine to NFS V.2 and retry again later.
105938494Sobrien
106038494Sobrien- bugs:
106138494Sobrien	don't redefine yywrap on systems using a modified flex
106238494Sobrien	use correct "ignore" mnttab/mount option on hpux for df(1)
106338494Sobrien	use nfs_args' fsname field (hpux) to avoid syncer/mount(1) problems
106438494Sobrien	don't add ops_ufs.o twice to Makefile's $(OBJS)
106538494Sobrien	don't fail if autofs listener fails to initialize
106638494Sobrien	hlfsd should test if run as root after usage() and getopt
106738494Sobrien
106838494Sobrien- minor code cleanups for netbsd
106938494Sobrien
107082794Sobrien- html docs now in http://www.am-utils.org
107138494Sobrien
107238494Sobrien- added README file in binaries ftp directory
107338494Sobrien
107438494Sobrien*** Notes specific to am-utils version 6.0a12:
107538494Sobrien
107638494Sobrien- minor or updated/broken ports fixed:
107738494Sobrien	hppa1.1-hp-hpux10.10:	compiles, untested (probably works).
107838494Sobrien	hppa1.1-hp-hpux9.05:	compiles, untested (probably works).
107938494Sobrien	hppa1.1-hp-hpux9.07:	compiles, untested (probably works).
108038494Sobrien	m68k-hp-hpux9.00:	compiles, untested (probably works).
108138494Sobrien	rs6000-ibm-aix4.1.4.0:	compiles, untested.
108238494Sobrien	sparc-sun-solaris2.6:	works w/ NFS V.3.
108338494Sobrien	sparc-sun-sunos4.1.4:	compiles, untested (probably works).
108438494Sobrien
108538494Sobrien- new ports:
108638494Sobrien	powerpc-ibm-aix4.2.1.0:	compiles w/ NFS V.3, untested.
108738494Sobrien
108838494Sobrien- wire-test also checks for combinations of NFS protocol/version from the
108938494Sobrienclient to a remote (or local) host.
109038494Sobrien
109138494Sobrien- conf/mtab/mtab_file.c: use flock() to lock the file, and fcntl() if
109238494Sobrienflock() is not available.  (Used to prefer fcntl() over flock().)
109338494Sobrien
109438494Sobrien- bug fixes:
109538494Sobrien	tli get_nfs_version() gets into an infinite loop
109638494Sobrien	tli get_nfs_version() should time out faster
109738494Sobrien	sockets get_nfs_version() should work w/ secure portmappers
109838494Sobrien	ESTALE returned for NFS mounts for SunOS 4.x fixed
109938494Sobrien	do not exceed HOSTNAMESZ for nfs_args.hostname (get ENAMETOOLONG)
110038494Sobrien	properly initialize some mntent_t fields (fsck, freq, mnt_time)
110138494Sobrien	properly initialize some pcfs_args fields (mask, uid, gid)
110238494Sobrien	properly initialize some cdfs_args fields (ssector)
110338494Sobrien
110438494Sobrien*** Notes specific to am-utils version 6.0a11:
110538494Sobrien
110638494Sobrien- bug fixes:
110738494Sobrien	amd could not NFS mount v.2 servers from v.3 clients
110838494Sobrien	hlfsd will only use first occurrence of home dir for same uid
110938494Sobrien
111038494Sobrien*** Notes specific to am-utils version 6.0a10:
111138494Sobrien
111238494Sobrien- MAJOR DOCUMENTATION UPDATE! (first time in 6 years)
111338494Sobrien
111438494Sobrien- new ports:
111538494Sobrien	m68k-next-nextstep3: configures, compiles, not tested.
111638494Sobrien
111738494Sobrien- preliminary autofs support.  See README.autofs for details.
111838494Sobrien
111938494Sobrien- new amd.conf [global] yes/no keywords:
112038494Sobrien	show_statfs_entries:	shows number of entries for df(1)
112138494Sobrien	fully_qualified_hosts:	use FQHN for NFS/RPC authentication
112238494Sobrien
112338494Sobrien- detect down remote hosts faster
112438494Sobrien
112538494Sobrien- log output of "amd -v" at startup
112638494Sobrien
112738494Sobrien- removed $osver override for solaris: now it is 2.5.1, not 5.5.1
112838494Sobrien
112938494Sobrien- buildall will use gmake first if available
113038494Sobrien
113138494Sobrien- bugs fixed:
113238494Sobrien	amd core dumped when remote host was down
113338494Sobrien	allow up to 1024 entries back from readdir()
113438494Sobrien	amd.conf works even if only [global] option defined
113538494Sobrien	avoid using bad memcmp() implementations
113638494Sobrien	fixed meaning of plock [global] option (was reversed)
113738494Sobrien	hlfsd infinite loop unless compiled with --enable-debug
113838494Sobrien	NIS code works with NIS+ servers in NIS compatibility mode
113938494Sobrien	reset tag fields in amd.conf so they don't carry to other entries
114038494Sobrien
114138494Sobrien*** Notes specific to am-utils version 6.0a9:
114238494Sobrien
114338494Sobrien- new ports:
114438494Sobrien	sparc-sun-solaris2.4:
114538494Sobrien		 configures/compiles, and runs (no NFS V3)
114638494Sobrien	i386-unknown-openbsd2.1:
114738494Sobrien		configures/compiles, runs (NFS V3)
114838494Sobrien
114938494Sobrien- updated ports:
115038494Sobrien	i486-ncr-sysv4.3.03: configures/compiles, not tested
115138494Sobrien
115238494Sobrien- Multiple amd support: new amd.conf [global] key "portmap_program" can be
115338494Sobrienused to specify an alternate RPC program number for amd to un/register.
115438494SobrienAllowed numbers range from 300019 to 300029.  A matching new option for amq:
115538494Sobrien-P prognum, will use an alternate program number to contact.
115638494Sobrien
115738494Sobrien- man pages:
115838494Sobrien	amd.conf.5	new
115938494Sobrien	mk-amd-map.8	new
116038494Sobrien	amd.8		updated
116138494Sobrien	amq.8		updated
116238494Sobrien	(other man pages required minor updates)
116338494Sobrien
116438494Sobrien- shared libraries support expanded.  Using GNU libtool-1.0.  You can build
116538494Sobriena shared version of libamu, and link with it accordingly, by specifying
116638494Sobrien--enable-shared to configure.  Default is --enable-static --disable-shared,
116738494Sobrienand you can mix and match.  See "INSTALL" file for listing of systems on
116838494Sobrienwhich shared libraries seem to build and work fine.
116938494Sobrien
117038494Sobrien- new option: amq -p, will return the PID of the running amd (local or
117138494Sobrienremote).  Uses a new RPC message.  Useful especially in "ctl-amd stop".
117238494Sobrien
117338494Sobrien- new configure script options --enable-ldflags, for specifying -L flags.
117438494SobrienThe older --enable-libs is to be used only for -l options.
117538494Sobrien
117638494Sobrien- two new LDAP map options for amd.conf: ldap_cache_seconds and
117738494Sobrienldap_cache_maxmem.
117838494Sobrien
117938494Sobrien- new script, am-eject from Debian linux's version of amd-upl102.
118038494Sobrien
118138494Sobrien- additional passwd map support using var[0-3], from Debian folks.
118238494Sobrien
118338494Sobrien- hesiod code cleanup.  works for hesiod 1.3 as well as 3.0.
118438494Sobrien
118538494Sobrien- removed defunct -h option from amd.
118638494Sobrien
118738494Sobrien- started using automake-1.2.  This fixed several bugs that caused some
118838494Sobrienversions of yacc/lex and non-GNU make to fail.
118938494Sobrien
119038494Sobrien- bug fixes:
119138494Sobrien	amd/hlfsd mounts should be hidden from df(1)
119238494Sobrien	use "noconn" option for nfs mounts (multi-homed hosts)
119338494Sobrien	don't use connected sockets on linux before 1.3.10 (from Debian)
119438494Sobrien	better checks for [gn]dbm
119538494Sobrien	forbid excessive retries after timeouts (from Debian)
119638494Sobrien	readdir(): don't skip over map entries with prefix, and include it
119738494Sobrien	more assorted linux fixes from Debian folks
119838494Sobrien	lofs mount on svr4 was broken
119938494Sobrien	find default value of $karch from uname() not $arch
120038494Sobrien	hlfsd failed to mount itself on some little-endians
120138494Sobrien
120238494Sobrien
120338494Sobrien*** Notes specific to am-utils version 6.0a8:
120438494Sobrien
120538494Sobrien- new ports:
120638494Sobrien	i386-unknown-netbsd1.2.1: configures/compiles (with NFS V.3), works,
120738494Sobrien				  but some OS stability problems exist.
120838494Sobrien
120938494Sobrien- updated ports:
121038494Sobrien	hppa1.1-hp-hpux9.01:
121138494Sobrien			now tested and working
121238494Sobrien	rs6000-ibm-aix3.2 and rs6000-ibm-aix3.2.5:
121338494Sobrien			now tested and working
121438494Sobrien
121538494Sobrien- fixed browsable directories (readdir) code.
121638494Sobrien
121738494Sobrien- better methods to find amd/hlfsd pid to kill in ctl-{amd,hlfsd}
121838494Sobrien
121938494Sobrien- "ignore/auto" mount types fixed for irix, sunos, and others, so "df" does not
122038494Sobrienshow amd mounts by default (but GNU df -a does).
122138494Sobrien
122238494Sobrien- each time amd is built, a new "build" version is incremented.  See amd -v.
122338494Sobrien
122438494Sobrien- man page for fsinfo added
122538494Sobrien
122638494Sobrien- empty fillers for new file (bsd44) systems: nullfs, unionfs, umapfs.
122738494Sobrien
122838494Sobrien- when amd is not running, or portmapper is down, make amq timeout faster (5
122938494Sobriensec) than system default, usually 4-5 minutes.
123038494Sobrien
123138494Sobrien- bug fixes:
123238494Sobrien	hlfsd mount got "protocol not supported"
123338494Sobrien	first regular map in amd.conf didn't inherit global options
123438494Sobrien	make "bad" versions of lex still work with amd/conf_parse.l
123538494Sobrien	check for 'nodev' option, not 'nondev'
123638494Sobrien	typo in "ro" option, and fillers to ac{reg,dir}{min,max} and others
123738494Sobrien	amd.conf parsing done before switching default log/debug options
123838494Sobrien	allow doubly-quoted values in amd.conf
123938494Sobrien	hesiod-reload code cleanup
124038494Sobrien
124138494Sobrien- assorted code cleanup
124238494Sobrien
124338494Sobrien
124438494Sobrien*** Notes specific to am-utils version 6.0a7:
124538494Sobrien
124638494Sobrien- new ports:
124738494Sobrien	i386-unknown-freebsd3.0:
124838494Sobrien			fully functional with NFS V.3
124938494Sobrien	sparc-sun-solaris2.3:
125038494Sobrien			fully functional (should work for 2.4)
125138494Sobrien	sparc-unknown-netbsd1.2E:
125238494Sobrien			configures/compiles (with NFS V.3), untested
125338494Sobrien
125438494Sobrien- updated ports:
125538494Sobrien	i386-pc-bsdi3.0:
125638494Sobrien			NFS V.3 works
125738494Sobrien			look for hesiod in libc
125838494Sobrien	mips-sgi-irix5.3:
125938494Sobrien			fully functional with NFS V.3
126038494Sobrien
126138494Sobrien- LDAP support!  New [global] amd.conf options ldap_base and ldap_hostports.
126238494SobrienAlso includes a new script amd2ldif to convert amd maps into plain text LDAP
126338494Sobrienobject files.
126438494Sobrien
126538494Sobrien- the following amd.conf variables: browsable_dirs, map_options, map_type,
126638494Sobrienmount_type, and search_path --- can now be specified in [global] as well as
126738494Sobrienthe map entry itself.  That way you can declare them only once in [global],
126838494Sobrienand override them as needed per map.
126938494Sobrien
127038494Sobrien- option "cluster" added to [global] (HPUX clusters ala "amd -C").
127138494Sobrien
127238494Sobrien- assorted info_hesiod map fixes and cleanup.  removed HESIOD_RELOAD code.
127338494Sobrien
127438494Sobrien- added netgrp(name) function to amd map syntax to see if current host is in
127538494Sobrienthe <name> netgroup.
127638494Sobrien
127738494Sobrien- removed unused option "amd -m".
127838494Sobrien
127938494Sobrien- filled in "tasks" file with todo items.
128038494Sobrien
128138494Sobrien- filled "COPYING" file with legal stuff.
128238494Sobrien
128338494Sobrien- cleanup: all global variables are now in one big structure (struct
128438494Sobrienamu_global_options) that's easy to identify and enhance.  Also migrated
128538494Sobrienseveral flags that used be an integer each into one unsigned integer that's
128638494Sobrienused as a bit-flag.
128738494Sobrien
128838494Sobrien- big fixes:
128938494Sobrien	xdr_mountres3 should compile only if has NFS V3
129038494Sobrien	lex/yacc macros show full pathname (to tell if correct one runs)
129138494Sobrien	misc fixes/cleanup
129238494Sobrien
129338494Sobrien
129438494Sobrien*** Notes specific to am-utils version 6.0a6:
129538494Sobrien
129638494Sobrien- amd configuration file!
129738494Sobrien
129838494SobrienSee scripts/amd.conf-sample for help and some explanation.  This new conf
129938494Sobrienfile allows for the following new features:
130038494Sobrien
130138494Sobrien	default selectors can be turned on/off globally.
130238494Sobrien	browsable_dirs/readdir() support can be turned on per map.
130338494Sobrien	search paths for file type maps.
130438494Sobrien	can force the map type to file, nis, ndbm, etc. rather than default
130538494Sobrien		to looking at all of them.
130638494Sobrien	tag each map for "amd -T tag", useful for grouping maps.
130738494Sobrien	can override $os and others (so if you don't like "sunos5" default
130838494Sobrien		naming, set os=sos5 and it will work with your old maps).
130938494Sobrien	and more goodies...
131038494Sobrien
131138494Sobrien- enable-default-selectors: No longer turned on by the configure script or
131238494Sobrienoptionally compiled.  Code made dynamic and can be turned on or off from the
131338494Sobrienamd.conf file.  This code is off by default, and must be turned on by
131438494Sobrienamd.conf's [global] section.
131538494Sobrien
131638494Sobrien- new ports:
131738494Sobrien	mips-sgi-irix5.3:	configure/compile, not tested
131838494Sobrien	i486-ncr-sysv4.3.03:	configure/compile, not tested
131938494Sobrien
132038494Sobrien- updated ports:
132138494Sobrien	alpha-dec-osf4.0:	major code redone
132238494Sobrien	sparc-sun-sunos4.1.3:	fixed and working
132338494Sobrien	mips-sgi-irix6.2:	tested with gcc and "cc -32 -Wl,-woff,84"
132438494Sobrien	mips-sgi-irix6.4:	tested with gcc and "cc -32 -Wl,-woff,84"
132538494Sobrien
132638494Sobrien- better NFS3 port, including more support for proto= and vers=, and
132738494Sobrienautomatic determination of proto/vers combination.
132838494Sobrien
132938494Sobrien- conf/nfs_prot/nfs_prot_*.h: all of the NFS protocol header files had to be
133038494Sobrienredone, because of the osf4 port.  OSF used very different names for these,
133138494Sobrienand they conflicted with am-utils'.  The only solution was to more or less
133238494Sobrienconform to OSF4's naming, and change all the others.
133338494Sobrien
133438494Sobrien- ctl-amd script:
133538494Sobrien	improved to look for amd.conf in $prefix/etc and /etc
133638494Sobrien	better methods for finding the pid of amd to kill
133738494Sobrien
133838494Sobrien- autoconf support for LDAP.  amd/info_ldap.c needs to be written.
133938494Sobrien
134038494Sobrien- wire-test also reports the local IP address.  Some systems have multiple,
134138494Sobrienbuggy version of get_myaddress(), esp. SunOS and Irix.  Note that Solaris
134238494Sobrienx86 has a buggy htonl().
134338494Sobrien
134438494Sobrien- amd -H prints usage.
134538494Sobrien
134638494Sobrien- bugs fixed:
134738494Sobrien	minor TLI problem in fwd_socket
134838494Sobrien	mount options properly comma delimited
134938494Sobrien	LIBS is set only to the right set of libraries to include
135038494Sobrien	selectors-on-default code ignored last selector ent in /defaults
135138494Sobrien	assorted code cleanups
135238494Sobrien
135338494Sobrien
135438494Sobrien*** Notes specific to am-utils version 6.0a5:
135538494Sobrien
135638494Sobrien- NFS Version 3 support!!!
135738494Sobrien
135838494Sobrien	Works on Solaris 2.5.1.
135938494Sobrien	Minimal testing done on Irix 6.
136038494Sobrien	Compiles cleanly on DU-4.0 but no tests performed.
136138494Sobrien
136238494SobrienWill fall back to V2 mounts when V3 is not available.  Will also use TCP if
136338494Sobrienpossible, UDP otherwise.
136438494Sobrien
136538494Sobrien- Ports to new platforms:
136638494Sobrien
136738494Sobrien	alpha-dec-osf4.0		(not tested)
136838494Sobrien	i386-pc-bsdi3.0			(tested and working)
136938494Sobrien	i386-unknown-freebsd2.2.1	(tested and working)
137038494Sobrien	sparc-unknown-linux-gnu		(tested and working)
137138494Sobrien
137238494Sobrien- New scripts added:
137338494Sobrien
137438494Sobrien	amd2sun:	convert amd maps to Sun automount maps
137538494Sobrien	ctl-amd:	script to start/stop/restart amd
137638494Sobrien	ctl-hlfsd:	script to start/stop/restart hlfsd
137738494Sobrien	expn:		expand mail alias (used by hlfsd)
137838494Sobrien	lostaltmail:	redeliver "lost" mail redirected by hlfsd
137938494Sobrien	lostaltmail.conf-sample:	sample conf file for lostaltmail
138038494Sobrien	wait4amd:	run a command once amd is up on a host
138138494Sobrien	wait4amd2die:	wait for an amd process to die before returning
138238494Sobrien
138338494Sobrien- "amd -v" now includes more info and "amq -v" lists all of it.
138438494Sobrien
138538494Sobrien- new parser for linux specific mount options.
138638494Sobrien
138738494Sobrien- Main bugs fixed:
138838494Sobrien
138938494Sobrien	"new toplvl readdir" bug caused amd to dump core
139038494Sobrien	handler for SIGCHLD didn't check for all possible children
139138494Sobrien	hlfsd leaking file descriptors when home file system was full
139238494Sobrien	cdfs/pcfs mounts should not timeout by default
139338494Sobrien	hesiod domain names should be compared in case-insensitive manner
139438494Sobrien	several printfs in amq were missing \n
139538494Sobrien
139638494Sobrien
139738494Sobrien*** Notes specific to am-utils version 6.0a4:
139838494Sobrien
139938494Sobrien- amd services both TCP and UDP amq requests.  This will help because of the
140038494Sobrienlimited UDP message size.
140138494Sobrien
140238494Sobrien- "amq -M" code is disabled by default because it is insecure.  It is
140338494Sobrienrarely used.  Users who wish to use it should run
140438494Sobrien"configure --enable-amq-mount".
140538494Sobrien
140638494Sobrien
140738494Sobrien*** Notes specific to am-utils version 6.0a3:
140838494Sobrien
140938494Sobrien- New tested ports (configures, compiles, and runs):
141038494Sobrien
141138494Sobrien	i386-unknown-freebsd2.2
141238494Sobrien
141338494Sobrien- New ports (configures and compiles correctly, not tested):
141438494Sobrien
141538494Sobrien	rs6000-ibm-aix3.2.5
141638494Sobrien	rs6000-ibm-aix4.1.5.0
141738494Sobrien
141838494Sobrien- More am-utils programs ported to all existing platforms: hlfsd, fsinfo,
141938494Sobrienmk-amd-map, and fixmount.
142038494Sobrien
142138494Sobrien- Shared libraries: a new configure option --enable-shared will build a
142238494Sobrienshared libamu.so, link applications with it, and use it.  Reduces binary
142338494Sobriensizes by 20-30%.  This is the first step towards loadable modules, as many
142438494Sobrienchanges had to be done to be able to compile and use PIC code.  This is code
142538494Sobrienthat obviously needs to be generalized to be able to build shared libraries
142638494Sobrienon many other platforms.  It was only tested on Solaris 5.5.1.
142738494Sobrien
142838494Sobrien- the file INSTALL contains the latest compatibility table of which
142938494Sobrienplatforms am-utils configures, compiles and runs on.
143038494Sobrien
143138494Sobrien- Trimmed down the size of the configure script.  Some tests that are not
143238494Sobrienused anywhere were removed.
143338494Sobrien
143438494Sobrien
143538494Sobrien*** Notes specific to am-utils version 6.0a2:
143638494Sobrien
143738494Sobrien- New ports (configures and compiles correctly, not tested):
143838494Sobrien
143938494Sobrien	i386-pc-bsdi2.1
144038494Sobrien	hppa1.1-hp-hpux9.01
144138494Sobrien	hppa1.1-hp-hpux10.20
144238494Sobrien
144338494Sobrien- new configure options:
144438494Sobrien
144538494Sobrien	--enable-cppflags[=ARG]
144638494Sobrien		configure/compile with ARG (-I) preprocessor flags
144738494Sobrien	--enable-libs[=ARG]
144838494Sobrien		configure/compile with ARG (-L/-l) library flags
144938494Sobrien
1450174294Sobrien- file system, mount table entries, and mount type tests can now look in
145138494Sobrien/lib/modules and /proc/filesystems for statically/dyadically loadable kernel
145238494Sobrienmodules (linux)
145338494Sobrien
1454174294Sobrien- prefer vfat over msdos/pc/etc file system for PCFS.
145538494Sobrien
145638494Sobrien- moved all fixed headers to include/am_defs.  Left only #define/#undef
145738494Sobrienentries in aux/acconfig.h.
145838494Sobrien
145938494Sobrien- make more sense of systems that have full, partial, or no NFS protocol
146038494Sobrienheaders.
146138494Sobrien
146238494Sobrien- minor fixes for NetBSD (untested platform).
146338494Sobrien
146438494Sobrien- hesiod map fixed.
146538494Sobrien
146638494Sobrien- buildall -D: new option to run even stricter developer options.
146738494Sobrien
146838494Sobrien- lots of other bugs fixed (see ChangeLog).
146938494Sobrien
147038494Sobrien
147138494Sobrien*** Notes specific to am-utils version 6.0a1:
147238494Sobrien
147338494SobrienI have it configure and build correctly for the following systems:
147438494Sobrien
147538494Sobrien	i386-pc-solaris2.5.1
147638494Sobrien	i386-unknown-freebsd2.1.0
147738494Sobrien	mips-sgi-irix6.2
147838494Sobrien	sparc-sun-solaris2.5.1
147938494Sobrien	sparc-sun-sunos4.1.3
148038494Sobrien
148138494SobrienAmq, wire-test, and "amd -v" work on all of the above.  A real running amd
148238494Sobrienwas only tested and confirmed working on
148338494Sobrien
148438494Sobrien	i386-pc-solaris2.5.1
148538494Sobrien	sparc-sun-solaris2.5.1
148638494Sobrien
148738494SobrienMany things are still missing: options, features, etc.  But for now, let's
148838494Sobrienconcentrate on getting the basic functionality working on the more popular
148938494Sobriensystems.
1490