NEWS revision 119679
1*** Notes specific to am-utils version 6.0.10-pre:
2
3- minor new ports:
4	ia64-unknown-linux-rh2.1AS (Red Hat Itanium Advanced Server)
5	i386-unknown-freebsd5.0 (5.0-RELEASE)
6	sparc64-unknown-linux-suse7.3
7
8- bug fixes:
9	rename log() in fsinfo to avoid glibc/gcc-3.3 conflict
10	am_pref free NULL pointer
11
12*** Notes specific to am-utils version 6.0.9:
13
14- Minor new ports:
15	i386-apple-darwin6.0
16	sparc-sun-solaris2.9
17
18- bugs fixed:
19
20	* handle std{in,out,err} correctly when releasing controlling tty
21	  (for real this time)
22	* don't cast pointers between enum_t and u_long, it doesn't work on
23	  64-bit big-endian platforms
24
25*** Notes specific to am-utils version 6.0.8:
26
27- Minor new ports:
28	i386-pc-linux-rh7.2
29	i386-pc-linux-rh7.3
30	i386-unknown-freebsd4.4
31	i386-unknown-freebsd5.0
32	ia64-hp-hpux11.20
33	ia64-unknown-linux-rh7.1
34	powerpc-ibm-aix5.1.0.0
35
36- Work around IBM's NFSv3 ABI change in aix4.3
37
38- Support network/netmask and network/masklen syntax in in_network()
39
40- Support disabling LDAP and Hesiod support using configure
41
42- Support xfs on Linux
43
44- Red Hat specific Amd startup script included
45
46- Remove (non-functional) autofs code and detection support.  If you want
47  autofs support, use am-utils-6.1.
48
49- bugs fixed:
50
51	* hlfsd takes uid 0's home from root's passwd entry instead of
52	  defaulting to '/'
53	* (not really our bug) Linux ignores the microseconds field in
54	  mtime, so hlfsd and amd need to increment the seconds field all
55	  the time to prevent symlink caching
56	* generic map parsing bug which was rejecting a numerical mount option
57	  if it was the last option in the string
58	* MacOS X compile bug
59	* minor fix for GNU getopt
60	* Linux has no "dev" mtab option
61	* "nolock" is an NFS mount option, not a generic one
62	* Irix N32 ABI fixes with cc
63	* security: use mkstemp instead of mktemp
64	* correct timeo values for Linux tcp/udp NFS mounts
65	* hlfsd use of setuid() not seteuid()
66	* AIX ABI changes to nfs_args fixes
67
68*** Notes specific to am-utils version 6.0.7:
69
70- minor new ports: i386-unknown-freebsd5.0
71
72- bug fixes:
73	type:=host, don't fail mount if one share is already mounted
74	don't report NFS NE_IO error as success (Linux)
75
76*** Notes specific to am-utils version 6.0.6:
77
78- new ports:
79	Mac OS X support (Darwin, Rhapsody)
80
81- reworked autoconf scripts so that newer versions of known OSs will default
82  their configuration to the last known version (better chance that it will
83  pass autoconf and work).
84
85- linux support for lofs and "bind" mounts, so type:=lofs can work (whether
86  you're using autofs or not)
87
88- renamed amd.conf option "selectors_on_default" to "selectors_in_defaults"
89  (on -> in, and added "s").  Old name remains in place for compatibility.
90
91- lots of cleanups of debugging and logging messages
92
93- Bugs fixed:
94	lots of Linux-related ones, so it compiles for recent kernels
95	better checking on various mount options of the form foo=N or foo=STR
96	fixed NFS errno mapping bug which mapped ENOENT to success on Linux
97
98*** Notes specific to am-utils version 6.0.5:
99
100- Minor ports:
101	alphaev6-dec-osf5.1
102	i386-unknown-freebsd4.2
103	support for Linux 2.4 kernels and newer GLIBC versions
104	cleanup of AIX and IRIX6 ports
105
106- Support new mount options:
107	proplist (ACLs over NFS, DU-4.0)
108	kerb, rdirplus, readdirsize, and xlatecookie (NetBSD-1.5K+)
109	nonlm, lock, nolock (Linux)
110
111- Don't force rsize/wsize on Linux 2.2.18+ and 2.4.x.  Improves performance
112  a lot.
113
114- Lots of documentation updates: texinfo, man pages, scripts, and more.
115
116- LDAP: included proposed Schema and Internet Draft for LDAP Schema.  See
117  README.ldap for more information.
118
119- Removed all remains of the dangerous amq -M code.
120
121- Major bug fix: initialize NFS fileid field correctly, to avoid cache
122  aliasing problems, esp. on Linux.
123
124- Major Linux bug fix: map errnos to NFS errors (mistakenly turned off a
125  while back).  Also support unused errno 41.
126
127- Other bugs fixes:
128	default MAXHOSTNAMELEN (if undefined) is 256, not 64
129	truncate hostnames to MAXHOSTNAMELEN (security fix)
130	alignment problem in getwire() on ALPHA
131	other buf overflow problems (security fixes)
132	ctl-amd supports "condrestart" (Red Hat)
133	bell char is \g not \a
134	lostaltmail verify MAILDIR is defined
135	am-eject accepts "floppy" and "cdrom" as args
136	other assorted small bug fixes
137
138*** Notes specific to am-utils version 6.0.4:
139
140- NFSv3 support for Linux and HPUX-11
141
142- new amd.conf [global] options:
143	nfs_vers: force all NFS mounts to version 2 or 3
144	nfs_proto: force all NFS mounts to udp or tcp
145
146- new debug_options (amd -D):
147	hrtime: turns on high-resolution timer if available
148	readdir: traces browsable_dirs code
149	xdrtrace: traces XDR routines
150	(trace: only traces NFS and RPC)
151
152- new amq options:
153	-H: shows usage
154	-w: translate getpwd() into an Amd path
155
156- new map syntax:
157	${dollar}: to include a literal '$' in assignments
158
159- new "opts:=" options:
160	ver3: turns on NFS version 3 on some systems (linux)
161
162- updated or minor new ports:
163	alpha-dec-osf4.0f
164	alphaev6-dec-osf5.0
165	i386-pc-linux-rh6.2
166	i386-unknown-freebsd3.4
167
168- bugs fixed:
169	symlink mtime fixes to avoid u/mount race conditions
170	update amq -s failed umounts count correctly
171	linux compiles even if efs is available
172	linux works with mount(2) option "intr"
173	linux works with pcfs and cdfs
174	handle std{in,out,err} correctly when releasing controlling tty
175	browsable_readdir works on 64-bit kernel architectures
176	irs/wire routines compile for bsdi{2,3,4}
177
178*** Notes specific to am-utils version 6.0.3:
179
180- updated or minor new ports:
181	hppa1.0-hp-hpux11.00
182	i386-pc-bsdi4.1
183	i386-unknown-netbsd1.4.1
184	sparc-sun-solaris2.8
185	i*86-pc-linux-gnu-rh6.1
186	(some preparations for Compaq Tru64)
187
188- new variables ${uid} and ${gid}, return the numeric UID/GID of the user
189  (not root) who invokes an amd pathname.  Similar to what hlfsd does.
190
191- automake now uses automatic dependency tracking
192
193- new mount options: optionstr, noexec, nomnttab
194
195- maps of type:=auto are now browsable (using map option "browsable")
196
197- ctl-amd has "status" argument (same as RedHat)
198
199- bugs fixed:
200	document buggy AIX 4.3 plock() behavior
201	fixes to stale file handle on symlinks
202	reduce race conditions upon rapid umount/mount sequences
203	use vsnprintf, more secure than vsprintf
204	more assorted and smaller bugs
205
206*** Notes specific to am-utils version 6.0.2:
207
208- safe map reloads: when a map needs to be reloaded, it is reloaded into a
209  temporary copy first.  Only if the reload was completely successful, Amd
210  discards the old map and uses the new one.  Otherwise Amd continues to use
211  the old maps.  This should help a lot with transient NIS problems.
212
213- amq -f now also forces a (safe) map reload, but only if the timestamp on
214  the maps was updated.
215
216- two new selector variables: ${vendor} and ${full_os}, which are the same
217  as the output seen in "amd -v".
218
219- documentation fixes and updates
220
221- updated or minor new ports:
222	i386-unknown-freebsdelf3.3
223
224- support 'ignore' flags (automntfs) in bsdi-4.1
225
226- bugs fixed:
227	expn.pl uses correct sockaddr_in() not, pack()
228	make sure configure --enable-*args take an argument
229	don't busy-loop trying to rebind to ldap servers
230	use vsnprintf, not vsprintf (security)
231
232*** Notes specific to am-utils version 6.0.1:
233
234- updated or minor new ports:
235	i386-pc-bsdi4.0.1
236	i386-unknown-freebsdelf3.0
237	i386-unknown-freebsdelf3.1
238	i386-unknown-freebsdelf3.2
239	i386-unknown-freebsdelf4.0
240	i386-unknown-netbsd1.4
241	i386-unknown-openbsd2.5
242	powerpc-unknown-linux-gnu
243
244- automount2amd added, a new script to convert Sun automount maps to Amd maps
245
246- new map function netgrpd(ARG), same as netgrp() but matches FQHN
247
248- 'ignore' is a generic mount option
249
250- hesiod info service isup() function to check if service is up
251
252- more Y2K fixes (see README.y2k for the full story)
253
254- using alloca.c on systems that don't have it (hpux9 with /bin/cc)
255
256- configure script reduced in size by using M4/sh loops instead of repeated
257  entries
258
259- documentation updates
260
261- too many bugs fixed to list here:
262	'addopts' option works with 'remopts' as well as 'opts'
263	AIX can perform NFS V.3 mounts explicitly
264	NIS is_up fixed, especially for NIS+ running in compatibility mode
265	amd -v incorrectly listing file systems that don't really work
266	amd's own mounts use reserved ports if possible
267	browsable directories works for Linux 2.3 (NFS cookies)
268	bsd44 systems check for isofs flags
269	bsd44 systems check for new options: norrio, gens, and extatt
270	buildall works better on Ultrix's /bin/sh
271	compile and build on Linux kernels 2.2 and newer
272	compile and build on RedHat Linux 6.0 (glibc 2.1)
273	compile and build on Solaris 7 (with or without vendor LDAP)
274	completely eliminate all of amd's amq -M code, when not enabled
275	correctly interpret failure code of unmount of type:=program
276	don't create autofs listener service unless used
277	don't list or process amq's -M option unless feature was turned on
278	don't turn on/off noconn option if it was already in that state
279	ldap info service: don't strcmp null strings
280	lostaltmail correctly sets struct sockaddr_in
281	make sure Linux systems have configured kernel headers
282	test for bsize/namlen fields in nfs_args (linux mount versions 2/3)
283	turn off broken NFS V.3 support for HPUX
284	use getifaddrs() on bsd44 systems makes wire.c more reliable
285	use matching NFS rsize/wsize on Linux 2.0 and 2.[123] kernels.
286	verify that RPC requests come from reserved, privileged local ports
287	warn when Linux kernel headers mismatch with running kernel
288	pawd works for type:=nfsl too
289
290*** Notes specific to am-utils version 6.0:
291
292- updated or minor new ports:
293	hppa2.0w-hp-hpux11.00,
294	i386-pc-bsdi4.0
295	i386-unknown-freebsd2.2.8
296	i386-unknown-netbsd1.3.3
297	i386-unknown-openbsd2.4
298	mips-sgi-irix6.5
299	powerpc-ibm-aix4.3.1.0
300	i386-unknown-freebsd3.0 now supports nfs v.3
301
302- ctl-amd and ctl-hlfsd now compatible with RedHat's chkconfig utility
303
304- ctl-amd stop will now wait until amd is down
305
306- libamu.so completely self contained --- does not export any symbols which
307  must be defined by the process linking with it.  This is so shared
308  libraries could be supported on systems that have restrictive shared
309  libraries.
310
311- use latest autoconf, automake, and libtool (off of cygnus' CVS server) to
312  support shared libraries on many more platforms.
313
314- posix code cleanups
315
316- bugs fixed:
317	case insensitive host match in type:=nfsl
318	correct swapped args to kill(2)
319	try to avoid a race condition b/t mounting and unmounting
320	yp_all support is found in libnsl in RH-5.1 systems
321
322*** Notes specific to am-utils version 6.0b1:
323
324- updated or minor new ports:
325	- *-pc-linux-gnu (glibc2 systems such as RedHat 5.1)
326	- sparc-sun-solaris2.7
327	- i386-pc-solaris2.7
328	- i386-unknown-freebsd3.0 (official release, post 4.4lite port)
329	- sparc64-unknown-linux-gnu (RH 5.1 on Sun Sparc Ultra)
330
331- bugs fixed:
332	- major memory leak in processing of /defaults
333	- core dump if map_type given in amd.conf doesn't exist
334	- memory leak in replacement yp_all
335	- don't access uninitialized memory in DU 4.0
336	- other smaller bugs, see ChangeLog
337
338*** Notes specific to am-utils version 6.0a16:
339
340- new ports:
341	hppa1.0-hp-hpux11.00 (works, not NFS V.3 due to missing headers)
342	mips-dec-ultrix4.3 (working, unverified)
343
344- new minor ports:
345	i386-pc-bsdi3.1
346	i386-unknown-netbsd1.3.1
347	alpha-dec-osf2.1
348
349- new options addopt:=ARG will "smartly" add and override options specified
350in opts:=
351
352- new amd.conf options:
353	pid_file: specifies the file to store the PID
354	hesiod_base: specifies the base for the Hesiod service
355	unmount_on_exit: if 'yes' will attempt to unmount all file systems
356		when amd exits.
357
358- amd.conf file is parsed after all other command line options.  If no
359options specified at all, then use /etc/amd.conf by default.
360
361- some variables' values are now compared case-insensitive as per specs,
362such as host names, domain names, and more.
363
364- NIS service uses a new isup() function to detect if the service is up
365before using it.  Used to ensure amd doesn't clear the existing maps before
366reloading them, unless the remote info service is working.
367
368- new cdfs mount options: rrip, noversion, defperm, nodefperm (OSF)
369
370- support efs/xfs separately on irix
371
372- new -D info trace option to turn on info specific debugging, such as
373RES_DEBUG for hesiod services.
374
375- document updates and fixes
376
377- new file MIRRORS lists official mirror sites (also in am-utils home page)
378
379- new file BUGS lists known amd/OS bugs
380
381- source restructuring: rename all Amd file-systems' sources to amfs_ARG.c
382such that it matches the type:=ARG as well.  Free names afs/dfs for Andrew
383F/S and Distributed F/S.
384
385- checkpoint config.guess several times during the long configure, so that
386if it is aborted midway, the bulk of the features discovered will be re-read
387from the config.cache file.
388
389- more systems support shared libraries (libtool 1.2)
390
391- using automake 1.3 + more fixes
392
393- bugs fixed:
394	use dynamic buffer for list of interfaces, not fixed size
395	output of amd -H duplicated if >2 interfaces
396	-D mem for hlfsd not on by default (so it will daemonize)
397	linux looks for ext2fs before ufs
398	CDFS looks for 'isofs' mount type as well
399	compile on Solaris 2.6 with /opt/SUNWspro/bin/cc
400	various additional fixes which gcc 2.8.x reported
401	print syslog help string based on what's supported
402	correctly ignore loopback interface on SunOS 3.x
403	don't use -lucb for strcasecmp
404	hlfsd's dump file securely written in /usr/tmp/hlfsd.dump.XXXXXX
405	inherit NFS V.3 mounts correctly
406	write pid file securely
407
408*** Notes specific to am-utils version 6.0a15:
409
410- new ports:
411	alpha-unknown-linux-gnu: works
412	i386-unknown-netbsd1.3: fully working
413	*-sun-sunos3: compiles, not tested
414
415- updated ports:
416	m68k-next-nextstep3: cleaner compile, works.
417
418- new file system type nfsl (NFS Link).  Uses nfs if file system is remote,
419and link if it is local (based on if $rhost equals the host name).
420
421- support for Solaris cachefs.  Requires setting fs, rfs, and a new variable
422cachedir.  See documentation for explanation, examples, and caveats.
423
424- support negated selector functions such as !exists(/foo/bar)
425
426- wire, network, netnumber, in_network() selectors now match against all
427locally attached networks (by either name or number), not just the first two
428interfaces.
429
430- new program pawd (and man page for it) --- Print Automounter Working
431Directory, to print the proper pathname of the cwd or any other pathname,
432adjusted for automounter paths, while avoiding mount points.
433
434- two new switches to amq: -U will force using UDP only; -T will force using
435only TCP to communicate with amd.  If neither (or both) are specified, amq
436will try TCP first, and if that failed, will try UDP.
437
438- support syslog facilities, using "amd -l syslog:facility".  Old behavior
439when using only -l syslog is to use the LOG_DAEMON facility.
440
441- you may specify browsable_dirs=full, to get a listing of all entries
442(other than /default), including those with '*' wildcard and '/'
443characters.
444
445- amd -D trace now also includes as much of struct nfs_args as can be
446displayed.  Useful in figuring out what the kernel really gets during a
447mount(2), as opposed to what the /etc/mnttab file says.  -D trace also
448traces the xdr_* functions.
449
450- support for versions of shared libamu version.  upped version from 0.0.0
451to 1.0.0.  each am-utils release that will change the library will also
452update its version.
453
454- amd/ops_TEMPLATE.c: a new template file for those brave enough to try and
455implement a new amd file system.  Includes comments and other info useful
456for developers.
457
458- if localconfig.h exists in the current directory during the run of
459configure, it is included in all am-utils sources.  This allows courageous
460developers to make certain modifications during compilations, and especially
461turn off undesired features (not very recommended).
462
463- documentation types and updates for all new features, ports, etc.
464
465- bugs fixed:
466	support NFS mount options grpid and maxgrps
467	nextstep: set NFS success code to 0 (NFS_OK), not 1 (EPERM)
468	bsdi2: set NFS success code to 0 (NFS_OK), not 1 (EPERM)
469	set NFS V.3 mount table names to "nfs" if vers/proto exist
470	use mkstemp() if possible (more secure)
471	ctl-amd looks for amd.conf in ${prefix}/etc after /etc
472	hpux: use "ignore" mount table type
473	openbsd2.2: turn off "noconn" mount option, so only connected used
474	fixed memory leak in hlfsd (don't setpwent after endpwent)
475	all NFS3 systems should have proto/vers mount/amd options
476	DEBUG_MEM compiles and prints something more useful
477	uninit_mntfs(): free() mf_private *after* it is used
478	browsable_readdir: fewer bytes sent back to kernel for each chunk
479	mount_toplvl: don't free() an automatic variable!
480	amd should chdir() to / before daemonzing (for core dumps etc)
481	cdfs should be called 'cdfs' not whatever the mnttab type is
482	amd -v: don't print "FS:" list twice when >=2 net interfaces
483
484*** Notes specific to am-utils version 6.0a14:
485
486- updated ports:
487	powerpc-ibm-aix4.2.1.0: NFS V.3 works
488
489- minor new ports:
490	sparc-sun-sunos4.1.3C
491	m68k-sun-sunos4.1.1 (sun3)
492	mips-sgi-irix5.2
493
494- new option to amd, -O ARG, will override the operating systems *name* with
495ARG.  Corrected documentation for amd -o ARG --- it overrides the operating
496system *version* and not the name as the docs incorrectly stated.
497
498- logging now behave more like syslog: will not print repeated strings, but
499rather a count such as "last message repeated N times".  (N will not exceed
500100.)
501
502- restructured the code which deals with the numerous possible fields and
503flags that are set in struct nfs_args.  That code was moved to libamu as
504the functions compute_nfs_args() and compute_automounter_nfs_args().
505
506- bugs fixed:
507	mnttab name ufs/cdfs/pcfs/etc filesystems corrected
508	use pmap_ping for amq (a must for secure portmappers, bsdi2/3)
509	test for xfs (irix) as a disk-based filesystem
510	set correct nfs_prot headers for Solaris 2.5
511	removed stale code from lostaltmail.in
512	lostaltmail will look for conf file in multiple locations
513	assorted documentation corrections
514	amq does not print "get_secure_amd_client" if run as root
515
516*** Notes specific to am-utils version 6.0a13:
517
518- new in_network(ARG) nomadic selector, true if ARG is the name (or number)
519of any of this host's network interfaces.
520
521- removed variables primnetname, primnetnum, subsnetname, and subsnetnum.
522(Kept "wire" and its alias "network", and "netnumber".)
523
524- include am-utils.dvi and am-utils.ps in distribution.
525
526- hlfsd supports new option -P ARG, for reading password map off of file
527ARG.  Allows you to use the hlfs redirector using paths other than user's
528home directories.
529
530- use a replacement yp_all for some systems (irix) known to have a broken
531one which leaks a file descriptor each time called.
532
533- if remote NFS server is down or does not support portmap, downgrade
534machine to NFS V.2 and retry again later.
535
536- bugs:
537	don't redefine yywrap on systems using a modified flex
538	use correct "ignore" mnttab/mount option on hpux for df(1)
539	use nfs_args' fsname field (hpux) to avoid syncer/mount(1) problems
540	don't add ops_ufs.o twice to Makefile's $(OBJS)
541	don't fail if autofs listener fails to initialize
542	hlfsd should test if run as root after usage() and getopt
543
544- minor code cleanups for netbsd
545
546- html docs now in http://www.am-utils.org
547
548- added README file in binaries ftp directory
549
550*** Notes specific to am-utils version 6.0a12:
551
552- minor or updated/broken ports fixed:
553	hppa1.1-hp-hpux10.10:	compiles, untested (probably works).
554	hppa1.1-hp-hpux9.05:	compiles, untested (probably works).
555	hppa1.1-hp-hpux9.07:	compiles, untested (probably works).
556	m68k-hp-hpux9.00:	compiles, untested (probably works).
557	rs6000-ibm-aix4.1.4.0:	compiles, untested.
558	sparc-sun-solaris2.6:	works w/ NFS V.3.
559	sparc-sun-sunos4.1.4:	compiles, untested (probably works).
560
561- new ports:
562	powerpc-ibm-aix4.2.1.0:	compiles w/ NFS V.3, untested.
563
564- wire-test also checks for combinations of NFS protocol/version from the
565client to a remote (or local) host.
566
567- conf/mtab/mtab_file.c: use flock() to lock the file, and fcntl() if
568flock() is not available.  (Used to prefer fcntl() over flock().)
569
570- bug fixes:
571	tli get_nfs_version() gets into an infinite loop
572	tli get_nfs_version() should time out faster
573	sockets get_nfs_version() should work w/ secure portmappers
574	ESTALE returned for NFS mounts for SunOS 4.x fixed
575	do not exceed HOSTNAMESZ for nfs_args.hostname (get ENAMETOOLONG)
576	properly initialize some mntent_t fields (fsck, freq, mnt_time)
577	properly initialize some pcfs_args fields (mask, uid, gid)
578	properly initialize some cdfs_args fields (ssector)
579
580*** Notes specific to am-utils version 6.0a11:
581
582- bug fixes:
583	amd could not NFS mount v.2 servers from v.3 clients
584	hlfsd will only use first occurrence of home dir for same uid
585
586*** Notes specific to am-utils version 6.0a10:
587
588- MAJOR DOCUMENTATION UPDATE! (first time in 6 years)
589
590- new ports:
591	m68k-next-nextstep3: configures, compiles, not tested.
592
593- preliminary autofs support.  See README.autofs for details.
594
595- new amd.conf [global] yes/no keywords:
596	show_statfs_entries:	shows number of entries for df(1)
597	fully_qualified_hosts:	use FQHN for NFS/RPC authentication
598
599- detect down remote hosts faster
600
601- log output of "amd -v" at startup
602
603- removed $osver override for solaris: now it is 2.5.1, not 5.5.1
604
605- buildall will use gmake first if available
606
607- bugs fixed:
608	amd core dumped when remote host was down
609	allow up to 1024 entries back from readdir()
610	amd.conf works even if only [global] option defined
611	avoid using bad memcmp() implementations
612	fixed meaning of plock [global] option (was reversed)
613	hlfsd infinite loop unless compiled with --enable-debug
614	NIS code works with NIS+ servers in NIS compatibility mode
615	reset tag fields in amd.conf so they don't carry to other entries
616
617*** Notes specific to am-utils version 6.0a9:
618
619- new ports:
620	sparc-sun-solaris2.4:
621		 configures/compiles, and runs (no NFS V3)
622	i386-unknown-openbsd2.1:
623		configures/compiles, runs (NFS V3)
624
625- updated ports:
626	i486-ncr-sysv4.3.03: configures/compiles, not tested
627
628- Multiple amd support: new amd.conf [global] key "portmap_program" can be
629used to specify an alternate RPC program number for amd to un/register.
630Allowed numbers range from 300019 to 300029.  A matching new option for amq:
631-P prognum, will use an alternate program number to contact.
632
633- man pages:
634	amd.conf.5	new
635	mk-amd-map.8	new
636	amd.8		updated
637	amq.8		updated
638	(other man pages required minor updates)
639
640- shared libraries support expanded.  Using GNU libtool-1.0.  You can build
641a shared version of libamu, and link with it accordingly, by specifying
642--enable-shared to configure.  Default is --enable-static --disable-shared,
643and you can mix and match.  See "INSTALL" file for listing of systems on
644which shared libraries seem to build and work fine.
645
646- new option: amq -p, will return the PID of the running amd (local or
647remote).  Uses a new RPC message.  Useful especially in "ctl-amd stop".
648
649- new configure script options --enable-ldflags, for specifying -L flags.
650The older --enable-libs is to be used only for -l options.
651
652- two new LDAP map options for amd.conf: ldap_cache_seconds and
653ldap_cache_maxmem.
654
655- new script, am-eject from Debian linux's version of amd-upl102.
656
657- additional passwd map support using var[0-3], from Debian folks.
658
659- hesiod code cleanup.  works for hesiod 1.3 as well as 3.0.
660
661- removed defunct -h option from amd.
662
663- started using automake-1.2.  This fixed several bugs that caused some
664versions of yacc/lex and non-GNU make to fail.
665
666- bug fixes:
667	amd/hlfsd mounts should be hidden from df(1)
668	use "noconn" option for nfs mounts (multi-homed hosts)
669	don't use connected sockets on linux before 1.3.10 (from Debian)
670	better checks for [gn]dbm
671	forbid excessive retries after timeouts (from Debian)
672	readdir(): don't skip over map entries with prefix, and include it
673	more assorted linux fixes from Debian folks
674	lofs mount on svr4 was broken
675	find default value of $karch from uname() not $arch
676	hlfsd failed to mount itself on some little-endians
677
678
679*** Notes specific to am-utils version 6.0a8:
680
681- new ports:
682	i386-unknown-netbsd1.2.1: configures/compiles (with NFS V.3), works,
683				  but some OS stability problems exist.
684
685- updated ports:
686	hppa1.1-hp-hpux9.01:
687			now tested and working
688	rs6000-ibm-aix3.2 and rs6000-ibm-aix3.2.5:
689			now tested and working
690
691- fixed browsable directories (readdir) code.
692
693- better methods to find amd/hlfsd pid to kill in ctl-{amd,hlfsd}
694
695- "ignore/auto" mount types fixed for irix, sunos, and others, so "df" does not
696show amd mounts by default (but GNU df -a does).
697
698- each time amd is built, a new "build" version is incremented.  See amd -v.
699
700- man page for fsinfo added
701
702- empty fillers for new file (bsd44) systems: nullfs, unionfs, umapfs.
703
704- when amd is not running, or portmapper is down, make amq timeout faster (5
705sec) than system default, usually 4-5 minutes.
706
707- bug fixes:
708	hlfsd mount got "protocol not supported"
709	first regular map in amd.conf didn't inherit global options
710	make "bad" versions of lex still work with amd/conf_parse.l
711	check for 'nodev' option, not 'nondev'
712	typo in "ro" option, and fillers to ac{reg,dir}{min,max} and others
713	amd.conf parsing done before switching default log/debug options
714	allow doubly-quoted values in amd.conf
715	hesiod-reload code cleanup
716
717- assorted code cleanup
718
719
720*** Notes specific to am-utils version 6.0a7:
721
722- new ports:
723	i386-unknown-freebsd3.0:
724			fully functional with NFS V.3
725	sparc-sun-solaris2.3:
726			fully functional (should work for 2.4)
727	sparc-unknown-netbsd1.2E:
728			configures/compiles (with NFS V.3), untested
729
730- updated ports:
731	i386-pc-bsdi3.0:
732			NFS V.3 works
733			look for hesiod in libc
734	mips-sgi-irix5.3:
735			fully functional with NFS V.3
736
737- LDAP support!  New [global] amd.conf options ldap_base and ldap_hostports.
738Also includes a new script amd2ldif to convert amd maps into plain text LDAP
739object files.
740
741- the following amd.conf variables: browsable_dirs, map_options, map_type,
742mount_type, and search_path --- can now be specified in [global] as well as
743the map entry itself.  That way you can declare them only once in [global],
744and override them as needed per map.
745
746- option "cluster" added to [global] (HPUX clusters ala "amd -C").
747
748- assorted info_hesiod map fixes and cleanup.  removed HESIOD_RELOAD code.
749
750- added netgrp(name) function to amd map syntax to see if current host is in
751the <name> netgroup.
752
753- removed unused option "amd -m".
754
755- filled in "tasks" file with todo items.
756
757- filled "COPYING" file with legal stuff.
758
759- cleanup: all global variables are now in one big structure (struct
760amu_global_options) that's easy to identify and enhance.  Also migrated
761several flags that used be an integer each into one unsigned integer that's
762used as a bit-flag.
763
764- big fixes:
765	xdr_mountres3 should compile only if has NFS V3
766	lex/yacc macros show full pathname (to tell if correct one runs)
767	misc fixes/cleanup
768
769
770*** Notes specific to am-utils version 6.0a6:
771
772- amd configuration file!
773
774See scripts/amd.conf-sample for help and some explanation.  This new conf
775file allows for the following new features:
776
777	default selectors can be turned on/off globally.
778	browsable_dirs/readdir() support can be turned on per map.
779	search paths for file type maps.
780	can force the map type to file, nis, ndbm, etc. rather than default
781		to looking at all of them.
782	tag each map for "amd -T tag", useful for grouping maps.
783	can override $os and others (so if you don't like "sunos5" default
784		naming, set os=sos5 and it will work with your old maps).
785	and more goodies...
786
787- enable-default-selectors: No longer turned on by the configure script or
788optionally compiled.  Code made dynamic and can be turned on or off from the
789amd.conf file.  This code is off by default, and must be turned on by
790amd.conf's [global] section.
791
792- new ports:
793	mips-sgi-irix5.3:	configure/compile, not tested
794	i486-ncr-sysv4.3.03:	configure/compile, not tested
795
796- updated ports:
797	alpha-dec-osf4.0:	major code redone
798	sparc-sun-sunos4.1.3:	fixed and working
799	mips-sgi-irix6.2:	tested with gcc and "cc -32 -Wl,-woff,84"
800	mips-sgi-irix6.4:	tested with gcc and "cc -32 -Wl,-woff,84"
801
802- better NFS3 port, including more support for proto= and vers=, and
803automatic determination of proto/vers combination.
804
805- conf/nfs_prot/nfs_prot_*.h: all of the NFS protocol header files had to be
806redone, because of the osf4 port.  OSF used very different names for these,
807and they conflicted with am-utils'.  The only solution was to more or less
808conform to OSF4's naming, and change all the others.
809
810- ctl-amd script:
811	improved to look for amd.conf in $prefix/etc and /etc
812	better methods for finding the pid of amd to kill
813
814- autoconf support for LDAP.  amd/info_ldap.c needs to be written.
815
816- wire-test also reports the local IP address.  Some systems have multiple,
817buggy version of get_myaddress(), esp. SunOS and Irix.  Note that Solaris
818x86 has a buggy htonl().
819
820- amd -H prints usage.
821
822- bugs fixed:
823	minor TLI problem in fwd_socket
824	mount options properly comma delimited
825	LIBS is set only to the right set of libraries to include
826	selectors-on-default code ignored last selector ent in /defaults
827	assorted code cleanups
828
829
830*** Notes specific to am-utils version 6.0a5:
831
832- NFS Version 3 support!!!
833
834	Works on Solaris 2.5.1.
835	Minimal testing done on Irix 6.
836	Compiles cleanly on DU-4.0 but no tests performed.
837
838Will fall back to V2 mounts when V3 is not available.  Will also use TCP if
839possible, UDP otherwise.
840
841- Ports to new platforms:
842
843	alpha-dec-osf4.0		(not tested)
844	i386-pc-bsdi3.0			(tested and working)
845	i386-unknown-freebsd2.2.1	(tested and working)
846	sparc-unknown-linux-gnu		(tested and working)
847
848- New scripts added:
849
850	amd2sun:	convert amd maps to Sun automount maps
851	ctl-amd:	script to start/stop/restart amd
852	ctl-hlfsd:	script to start/stop/restart hlfsd
853	expn:		expand mail alias (used by hlfsd)
854	lostaltmail:	redeliver "lost" mail redirected by hlfsd
855	lostaltmail.conf-sample:	sample conf file for lostaltmail
856	wait4amd:	run a command once amd is up on a host
857	wait4amd2die:	wait for an amd process to die before returning
858
859- "amd -v" now includes more info and "amq -v" lists all of it.
860
861- new parser for linux specific mount options.
862
863- Main bugs fixed:
864
865	"new toplvl readdir" bug caused amd to dump core
866	handler for SIGCHLD didn't check for all possible children
867	hlfsd leaking file descriptors when home file system was full
868	cdfs/pcfs mounts should not timeout by default
869	hesiod domain names should be compared in case-insensitive manner
870	several printfs in amq were missing \n
871
872
873*** Notes specific to am-utils version 6.0a4:
874
875- amd services both TCP and UDP amq requests.  This will help because of the
876limited UDP message size.
877
878- "amq -M" code is disabled by default because it is insecure.  It is
879rarely used.  Users who wish to use it should run
880"configure --enable-amq-mount".
881
882
883*** Notes specific to am-utils version 6.0a3:
884
885- New tested ports (configures, compiles, and runs):
886
887	i386-unknown-freebsd2.2
888
889- New ports (configures and compiles correctly, not tested):
890
891	rs6000-ibm-aix3.2.5
892	rs6000-ibm-aix4.1.5.0
893
894- More am-utils programs ported to all existing platforms: hlfsd, fsinfo,
895mk-amd-map, and fixmount.
896
897- Shared libraries: a new configure option --enable-shared will build a
898shared libamu.so, link applications with it, and use it.  Reduces binary
899sizes by 20-30%.  This is the first step towards loadable modules, as many
900changes had to be done to be able to compile and use PIC code.  This is code
901that obviously needs to be generalized to be able to build shared libraries
902on many other platforms.  It was only tested on Solaris 5.5.1.
903
904- the file INSTALL contains the latest compatibility table of which
905platforms am-utils configures, compiles and runs on.
906
907- Trimmed down the size of the configure script.  Some tests that are not
908used anywhere were removed.
909
910
911*** Notes specific to am-utils version 6.0a2:
912
913- New ports (configures and compiles correctly, not tested):
914
915	i386-pc-bsdi2.1
916	hppa1.1-hp-hpux9.01
917	hppa1.1-hp-hpux10.20
918
919- new configure options:
920
921	--enable-cppflags[=ARG]
922		configure/compile with ARG (-I) preprocessor flags
923	--enable-libs[=ARG]
924		configure/compile with ARG (-L/-l) library flags
925
926- filesystem, mount table entries, and mount type tests can now look in
927/lib/modules and /proc/filesystems for statically/dyadically loadable kernel
928modules (linux)
929
930- prefer vfat over msdos/pc/etc filesystem for PCFS.
931
932- moved all fixed headers to include/am_defs.  Left only #define/#undef
933entries in aux/acconfig.h.
934
935- make more sense of systems that have full, partial, or no NFS protocol
936headers.
937
938- minor fixes for NetBSD (untested platform).
939
940- hesiod map fixed.
941
942- buildall -D: new option to run even stricter developer options.
943
944- lots of other bugs fixed (see ChangeLog).
945
946
947*** Notes specific to am-utils version 6.0a1:
948
949I have it configure and build correctly for the following systems:
950
951	i386-pc-solaris2.5.1
952	i386-unknown-freebsd2.1.0
953	mips-sgi-irix6.2
954	sparc-sun-solaris2.5.1
955	sparc-sun-sunos4.1.3
956
957Amq, wire-test, and "amd -v" work on all of the above.  A real running amd
958was only tested and confirmed working on
959
960	i386-pc-solaris2.5.1
961	sparc-sun-solaris2.5.1
962
963Many things are still missing: options, features, etc.  But for now, let's
964concentrate on getting the basic functionality working on the more popular
965systems.
966