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