12006-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
2
3	*******************************************************************
4	*** Released am-utils-6.1.5					***
5	*******************************************************************
6
72006-05-10  Erez Zadok  <ezk@cs.sunysb.edu>
8
9	* Minor new ports: i386-unknown-freebsd6.1 (RELEASE)
10	powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
11
12	* libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
13	problems on IRIX-6.5.
14
15	* conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
16	signedness problems on IRIX-6.5.
17
182006-05-01  Erez Zadok  <ezk@cs.sunysb.edu>
19
20	* configure.in: check if libc already includes dbm functionality
21	(as in FreeBSD 6), then don't bother to check specific libraries
22	such as libdbm, gdbm, etc.
23
242006-04-21  Erez Zadok  <ezk@cs.sunysb.edu>
25
26	* configure.in: detect G/DBM support via gdbm_compat library
27	(Debian 3.1).
28
29	* minor new port: powerpc-apple-darwin8.5.0
30
312006-04-20  Erez Zadok  <ezk@cs.sunysb.edu>
32
33	* scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
34	NEWS: document new nfs_allow_any_interface parameter.
35
36	* include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
37	not defined, since some systems don't have it.
38
392006-04-20  Nick Williams <Nick.Williams@morganstanley.com>
40
41	* libamu/wire.c (is_interface_local): new boolena function to
42	determine if address represents any of the local interfaces.
43	(getwire): more properly check if address equals INADDR_LOOPBACK,
44	not if IFF_LOOPBACK is not (the latter isn't as correct).
45
46	* include/am_utils.h: extern for new is_interface_local() function.
47
48	* conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
49	here but in am_compat.h
50
51	* amd/nfs_prot_svc.c (nfs_program_2): if
52	nfs_allow_any_interface=yes, then allow NFS packets from any local
53	interface (not just 127.0.0.1).
54
55	* amd/conf.c (gopt_nfs_allow_any_interface): implement the new
56	amd.conf parameter nfs_allow_any_interface.
57
58	* amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
59	al interfaces are acceptable for local NFS packets.
60
612006-04-18  Christos Zoulas  <christos@zoulas.com>
62
63	* amd/opts.c: Add support for optionally specifying the hostname
64	to match against the netgroup in the netgrp and netgrpd selectors.
65
662006-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
67
68	* libamu/mtab.c (hasmntval): fix inverted meaning of error from
69	hasmntvalerr().
70
712006-04-14  Erez Zadok  <ezk@cs.sunysb.edu>
72
73	* libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
74	hasmntvalerr() function to set attribute cache values only if they
75	were set (regardless whether they were set to zero or a non-zero
76	value).  Before, we were unable to distinguish between an error to
77	parse an option, and a user who actually wanted to set an
78	attribute-cache value to 0.  This now fixes an important
79	performance bug that Amd was turning off the attribute caches even
80	for regular (non-automounter) NFS mounts.
81
82	* libamu/mtab.c (hasmntvalerr): new function to set the value of
83	an option into an integer, but ONLY if that options was set and
84	parsed correctly.  This function returns 1 on error, 0 on success
85	(instead of always setting the option value to 0).
86	(hasmntval): wrapper function around hasmntvalerr, which maintains
87	backwards compatibility (always sets option value to 0, even on
88	error to parse the option).
89
90	* amd/nfs_subr.c (fh_to_mp3): use long int printf format for
91	fhh_pid.
92
932006-04-05  Christos Zoulas  <christos@zoulas.com>
94
95	* amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
96	(Coverity).
97
982006-03-27  Erez Zadok  <ezk@cs.sunysb.edu>
99
100	* doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
101	document new nfs_retransmit_counter_toplvl and
102	nfs_retry_interval_toplvl global amd.conf parameters.
103
104	* amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
105	(gopt_nfs_retry_interval_toplvl): parse amd.conf
106	nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
107	parameters.
108
109	* amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
110	timeo/retrans parameters for Amd's toplvl mounts, separately from
111	all other UDP or NFS mounts.
112
113	* amd/amd.h: define a new timeo/retrans parameter for toplvl
114	mounts.
115
1162006-03-22  Erez Zadok  <ezk@cs.sunysb.edu>
117
118	* minor new port: i386-pc-linux-suse10.1 (beta 8).
119
1202006-03-21  Christos Zoulas  <christos@zoulas.com>
121
122	* amd/am_ops.c (merge_opts): Remove useless check found by
123	Coverity; xmalloc never returns NULL.
124
1252006-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
126
127	* minor new ports: i386-pc-linux-fc5.
128
129	* amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
130	openldap-2.3.9), the ldap.h headers deprecate several functions
131	used in this file, such as ldap_unbind.  You get compile errors
132	about missing extern definitions.  Those externs are still in
133	<ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED.  I am
134	turning on that ifdef at the top of info_ldap.c, under the
135	assumption that the functions may be deprecated, but they still
136	work for this (older?) version of the LDAP API.  It gets am-utils
137	to compile, but it is not clear if it will work perfectly.
138
139	* libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
140	(xdr_amq_mount_tree, xdr_amq_mount_tree_p,
141	xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
142	(show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
143	xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
144	libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
145	GCC-4.1 from complaining about "dereferencing type-punned pointer
146	will break strict-aliasing rules" here (but not elsewhere).
147
1482006-03-20  Christos Zoulas  <christos@zoulas.com>
149
150	* libamu/wire.c: avoid potential dereferencing of a NULL pointer
151	(Coverity).
152
153	* hlfsd/homedir.c (delay): remove unnecessary check for NULL
154	pointer (Coverity).
155
156	* fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
157	analyze_mounts): avoid potential dereferencing of a NULL pointer
158	(Coverity).
159
160	* conf/transp/transp_sockets.c (create_amq_service): avoid
161	potential dereferencing of a NULL pointer (Coverity).
162
163	* amd/sched.c (sigchld): properly check for the end of the waiting
164	process list (Coverity).
165
166	* amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
167
168	* amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
169	dereferencing of a NULL pointer (Coverity).
170
171	* amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
172	reusing it (memory leak bug detected by Coverity).
173	(amfs_bgmount): avoid potential dereferencing of a NULL pointer
174	(Coverity).
175
176	* amd/am_ops.c (merge_opts): no need to check if newstr is NULL
177	(bug detected by Coverity).
178
1792006-03-08  Ion Badulescu  <ionut@moisil.badula.org>
180
181	* amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
182	comparison was failing.
183
1842006-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
185
186	* configure.in: properly test for either <gdbm/ndbm.h> or
187	<gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
188	same $ac_cv_* variable name).  Some systems support one header or
189	another.  Patch inspired by work Debian did.
190
1912006-02-10  Erez Zadok  <ezk@cs.sunysb.edu>
192
193	*******************************************************************
194	*** Released am-utils-6.1.4					***
195	*******************************************************************
196
1972006-01-04  Erez Zadok  <ezk@cs.sunysb.edu>
198
199	* doc/am-utils.texi (auto_attrcache Parameter): revise discussion
200	to mention pros and cons of turning on/off this parameter,
201	including impact on Amd's performance, and ways to improve
202	performance while minimizing the window of vulnerability in which
203	kernel may return the wrong (cached) attributes.
204
2052006-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
206
207	* updated copyright year to 2006 on all files.
208
2092005-12-20  Erez Zadok  <ezk@cs.sunysb.edu>
210
211	* include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
212	register_autofs_service): use a consistent prototype for the
213	dispatch function of the autofs service de/registration functions.
214
2152005-12-03  Erez Zadok  <ezk@cs.sunysb.edu>
216
217	* minor new ports: i386-unknown-netbsdelf2.1,
218	i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
219
2202005-12-02  Erez Zadok  <ezk@cs.sunysb.edu>
221
222	* m4/macros/check_field.m4: remove double inclusion of msdosfs
223	headers, which are included in mount_header1.h (netbsd 2.1 doesn't
224	protect <msdosfs/msdosfsmount.h> which causes compile errors).
225
2262005-11-08  Erez Zadok  <ezk@cs.sunysb.edu>
227
228	* minor new port: i386-unknown-freebsd6.0 (RELEASE)
229
2302005-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
231
232	* amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
233	Amd, not in pawd (to avoid repeated network RPCs).
234
235	* amq/pawd.c (transform_dir): move repeated path resolution into Amd.
236
2372005-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
238
239	* amq/pawd.c (transform_dir): resolve path repeatedly until
240	finished.  Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
241	Added safety check to prevent infinite loops.
242
2432005-10-19  Erez Zadok  <ezk@cs.sunysb.edu>
244
245	* doc/am-utils.texi (opts Option): document new pcfs options
246	longname, nowin95, shortname, user=N, group=N, mask=N, and
247	dirmask=N.
248
249	* amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
250	nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
251
252	* include/am_compat.h: provide compatibility mnttab string names,
253	if needed, for pcfs mount options longname, nowin95, shortname,
254	user=N, group=N, mask=N, and dirmask=N.
255
256	* include/am_utils.h: extern for hasmntstr().
257
258	* libamu/mtab.c (hasmntstr): new function to return the string
259	value following a mount option, up to the next comma-delimited
260	options.
261
262	* configure.in: check for mnttab and pcfs options longname,
263	nowin95, and shortname.
264
265	* Makefile.am (EXTRA_DIST_M4): distribute new macro
266	check_mnt2_pcfs_opt.m4.
267
268	* m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
269	mnttab and mount options.
270
2712005-10-18  Erez Zadok  <ezk@cs.sunysb.edu>
272
273	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
274	correctly, depending if it's a pointer or not.
275
276	* conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
277	#define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
278	or an embedded structure, so we can tell how to print it.
279
280	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
281	field, if it exists.
282
283	* configure.in: check for nfs_args->addrlen field.
284
285	* wire-test/wire-test.c (main), libamu/mount_fs.c
286	(print_nfs_args), fixmount/fixmount.c (inetresport,
287	clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
288	(main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
289	(amfs_mount): document that as per POSIX, we don't need to set the
290	sa_len/sin_len fields in struct sockaddr/sockaddr_in.  The field
291	is used only internally in the kernel.  See
292	www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
293
294	* fixmount/fixmount.c (inetresport): initialize sockaddr_in
295	structure before filling in some fields.
296
2972005-10-11  Erez Zadok  <ezk@cs.sunysb.edu>
298
299	* doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
300	correct mistaken description of nfs_proto.
301
3022005-10-10  Erez Zadok  <ezk@cs.sunysb.edu>
303
304	*******************************************************************
305	*** Released am-utils-6.1.3					***
306	*******************************************************************
307
3082005-10-07  Erez Zadok  <ezk@cs.sunysb.edu>
309
310	* m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
311	very end, after the test using getvfsbyname().
312
313	* m4/macros/expand_run_string.m4: if the string value returned is
314	empty, consider it invalid.
315
316	* m4/macros/check_varargs_macros.m4: rewrite macro so it'll
317	try and compile the varargs test, not just cpp it.  Some systems
318	pass the old cpp test, but not when you actually try to compile
319	the code (Tru64's cc).
320
321	* conf/autofs/autofs_solaris_v1.h: redefine
322	autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
323	This works everywhere and we avoid linking problems, inline
324	functions, etc.
325
326	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
327	autofs_strdup_space_hack() function altogether.
328
329	* m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
330
331	* configure.in: test for <sys/immu.h> header.
332	Test for pte_t, but only on IRIX6 systems.
333
334	* Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
335
336	* m4/macros/type_pte_t.m4: new test for existence of pte_t
337	typedef, needed on some IRIX-6.5/gcc systems.
338
339	* m4/macros/header_templates.m4: add missing templates for
340	HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
341	HAVE_EXTERN_UALARM.
342
343	* amd/info_exec.c (exec_map_open): break assignment from inside
344	conditional, to work around an IRIX-6.5 cc bug.
345
346	* fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
347	libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
348	comparison between signed and unsigned integers.
349
350	* conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
351	(autofs_strdup_space_hack): move "space_hack" function from static
352	inline in header, into the only source file that needs it.  This
353	is cleaner and also prevents linking problem with some compilers
354	that won't apply CPP macros inside static inline functions (for
355	the strl* functions).
356
357	* amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
358	code.
359	(transform_dir): call the new, efficient amqproc_pawd_1() routine.
360
361	* amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
362
363	* amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
364	wrapper routine.
365
366	* amd/amq_svc.c (amq_program_1): dispatch point for
367	amqproc_pawd_1_svc.
368
369	* amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
370	functionality into Amd, where it can be done a lot more
371	efficiently.  We don't have to construct and ship a whole export
372	tree from Amd to pawd.  We just get a variable-length
373	xdr_wrapstring for the user's path, iterate over the entire export
374	list inside Amd, and return only a matched string if found
375	(otherwise we return "" to indicate that there was no match, and
376	let pawd printf the same string it sent over).
377
378	* amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
379	the AMQPROC_PAWD RPC.
380
3812005-10-06  Erez Zadok  <ezk@cs.sunysb.edu>
382
383	* ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
384	Fixes Tru64 bugs when using ksh.
385
386	* amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
387	into two sections, to workaround a C99 varargs-macro bug in
388	gcc-3.2.2 (RH9).
389
390	* libamu/wire.c (print_wires): convert argument-less xsnprintf to
391	xstrlcpy.
392
393	* include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
394	HAVE_GCC_VARARGS_MACROS to pass file name and line number to
395	xsnprintf/xvsnprintf.
396
397	* libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
398	then also print the source file name and line number that called
399	xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
400	likely an am-utils bug).
401
402	* Makefile.am (EXTRA_DIST_M4): distribute new
403	check_varargs_macros.m4 file.
404
405	* configure.in: execute new AMU_VARARGS_MACROS test.
406
407	* m4/macros/check_varargs_macros.m4: new test to check what style
408	of variable-length argument macros, if any, does the
409	compiler/pre-processor supports.
410
411	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
412	conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
413	amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
414	(mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
415	amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
416	use sizeof() instead of fixed SIZEOF_* macros.
417
418	* libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
419	(DEBUG): if debugging is on, then also print the source file name
420	and line number that called xstrl* with a buffer that wasn't large
421	enough (most likely an am-utils bug)
422
423	* include/am_compat.h (INADDR_NONE): define in a common location,
424	if OS doesn't have it, use 0xffffffffU which should work with any
425	ANSI compiler.
426
427	* fixmount/fixmount.c, libamu/wire.c: remove local definition of
428	INADDR_NONE.
429
430	* amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
431	(amfs_auto_mount): use common SIZEOF_OPTS in definition and call
432	to autofs_get_opts.
433
434	* amd/amd.h (SIZEOF_OPTS): moved #define to common header.
435
4362005-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
437
438	* amd/opts.c (expand_op): Need to check BUFSPACE for env for
439	vlen+1.  Likewise for cp and strlen(cp)+1.
440
441	* amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
442	size argument to autofs_get_opts.
443
4442005-10-05  Erez Zadok  <ezk@cs.sunysb.edu>
445
446	* amq/pawd.c (transform_dir): was using UDP only.  Now will also
447	try TCP if UDP failed.  Destroy client after use to avoid leftover
448	TCP sockets in the kernel.
449
450	* libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
451	from 128 to to 256, because some users have really long option
452	strings.  Suggestion from jon+amd-at-spock.org.
453
454	* amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
455	just vlen.  Bug discovered when started using xstrlcpy().
456
457	* ALL: convert from using strcat to the safer xstrlcat, and from
458	strcpy to safer xstrlcpy.
459
4602005-10-04  Erez Zadok  <ezk@cs.sunysb.edu>
461
462	* hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
463
464	* hlfsd/hlfsd.c (fatalerror): new function instead of macro.
465	Easier to use xstrlcat in this new function.
466
467	* amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
468	from am_utils.h to amd.h, and define its size as a macro that
469	could be passed to xstrl*().
470
471	* ALL: convert from using sprintf to the safer xsnprintf.
472
473	* mk-amd-map/Makefile.am (LDADD): link with libamu to get
474	xsnprintf().
475
476	* amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
477	extern from am_utils.h to amd.h, and define its size as a macro
478	that could be passed to xsnprintf().
479
4802005-10-02  Erez Zadok  <ezk@cs.sunysb.edu>
481
482	* include/am_utils.h: extern for xvsnprintf().
483
484	* amd/autil.c: move strsplit() to libamu/strutil.c.
485
486	* libamu/Makefile.am: use strutil.c, not util.c.
487
488	* libamu/strutil.c: rename from util.c to explain better purpose
489	of file.  Move xvsnprintf and xsnprintf from xutil.c to this
490	file.  Sync up with 6.2 version of file.
491
492	* libamu/xutil.c: explain purpose of file.  Move mkdirs/rmdirs
493	code from old util.c.
494
4952005-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
496
497	* m4/macros/header_templates.m4: templates for FFS.
498
499	* m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
500	system mount table name via the MOUNT_* mount(2) macros (because
501	BSD44 keeps the mount table in the kernel).
502
503	* configure.in: synchronise order of searching for mnttab entries
504	and mount names.  The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
505	efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
506	ufs, and ext3 instead of ext2 on Linux).
507
508	* include/am_defs.h: include <sys/statvfs.h> if it exists.
509
510	* conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
511	and statvfs(), but the latter is preferred, so #define to use
512	statvfs.
513
514	* configure.in: check for statfs(), statvfs(), and
515	<sys/statvfs.h>.
516
517	* config.guess.long: strip trailing '.' on "netbsdelf3.0."
518	(Beta).  Workaround for bug in config.guess.
519
520	* config.{guess,sub}: update to latest versions.
521
5222005-09-30  Christos Zoulas  <christos@zoulas.com>
523
524	* fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
525	hard-coded value of -1.
526
527	* include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
528	to 16KB.  We can afford it these days.
529
530	* libamu/strcasecmp.c (strcasecmp): use unsigned chars in
531	tolower() to avoid sign/size promotion bugs.
532
533	* libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
534	default (it's unfriendly).  If user really wants to, they can set
535	it in /etc/syslog.conf.
536
5372005-09-29  Erez Zadok  <ezk@cs.sunysb.edu>
538
539	* amq/pawd.c (find_mt): if the auto mount type is used, pawd could
540	go into an infinite loop since the mt_directory and mt_mountpoint
541	fields are the same for auto mounts.  Solution: ignore type auto
542	mounts, similar to toplvl.  Bug fix from Jonathan Chen
543	<jon+amd@spock.org>.
544
545	* README.attrcache: document test-attrcache script.
546
547	* scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
548	script.
549
550	* configure.in: build scripts/test-attrcache script and chmod it
551	so it can be executed in place.
552
553	* scripts/test-attrcache.in: script to test the NFS attribute
554	cache using Amd.
555
5562005-09-26  Erez Zadok  <ezk@cs.sunysb.edu>
557
558	* libamu/xutil.c (unregister_amq): repair broken meaning of D_AMQ,
559	which was reversed in am-utils-6.2.  Bug fix from Steve Plite
560	<splite-amutils at sigint.cs.purdue.edu>.
561
562	* hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
563	nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
564	(hlfsd_init): use new clocktime() function.
565
5662005-09-18  Erez Zadok  <ezk@cs.sunysb.edu>
567
568	*******************************************************************
569	*** Released am-utils-6.1.2.1					***
570	*******************************************************************
571
572	* README.attrcache: Update status of freebsd and openbsd.
573	Document netbsd's patchs to support noac.
574
575	* libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
576	code that sets the ac{reg,dir}{min,max} fields so it also sets the
577	appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
578
579	* configure.in: check for nfs_args fields acregmax and acdirmax.
580
581	*******************************************************************
582	*** Released am-utils-6.1.2					***
583	*******************************************************************
584
585	* README.attrcache: new file documenting in detail OS bugs
586	relating to attribute caching, which can affect Amd's reliability
587	under heavy load.
588
589	* doc/Makefile.am: install README.attrcache file as attrache.txt
590	file on am-utils Web site.
591
592	* Makefile.am (EXTRA_DIST): include README.attrcache in distro.
593
594	* BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
595	scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
596	cache bugs on some OSs.
597
5982005-09-17  Erez Zadok  <ezk@cs.sunysb.edu>
599
600	* libamu/xutil.c (clocktime): newly implemented routine.  Uses
601	gettimeofday() each time to return a high-resolution clock time,
602	and does not "cache" the last time.  Returns time in seconds, just
603	like the old implementation.  If passed a non-null argument, will
604	fill it in with the current time in seconds+microseconds.
605
606	* libamu/xutil.c: remove actual declaration of clock_valid, and
607	another never-used declaration for xclock_valid.
608
609	* include/am_utils.h: remove defunct definition of clocktime()
610	macro and clock_valid variable.  Add extern for new definition.
611
612	* libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
613	hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
614	hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
615	conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
616	(open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
617	amd/autil.c (host_normalize): remove defunct clock_valid.
618
619	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
620	node's mtime.
621	(fh_to_mp3): use new clocktime() to update mtime and get a better
622	time resolution.
623
624	* amd/mapc.c (mapc_reload_map): change prototype from returning
625	void to returning an int.  If reloading was needed and succeeded,
626	return 1; else return 0.
627	(mapc_sync): update mtime of parent node if needed.  This is a
628	CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
629	when we run "amq -f" manually or when a map is reloaded.
630
631	* amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
632	(init_map): use new clocktime().
633	(unmount_mp): if the OS doesn't support a "symttl" option, then
634	update the mtime of the parent node using the clocktime(); but if
635	the time hasn't gotten changed because of rapid Amd accesses on
636	systems that don't have a micro-second NFS-client resolution, then
637	increment mtime by one arbitrarily (this could, on some systems
638	and under pathological cases, result in mtime's that are in the
639	future).
640
641	* amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
642	update of parent dir, to prevent DNLC/dcache from caching the old
643	entry, which could result in ESTALE errors, bad symlinks, and
644	more.
645	(am_mounted): record mount time, and update am_stats at the same
646	time, using the double-action redone clocktime() routine.
647	(am_mounted): update parent's mtime from that of the child.
648	(am_unmounted): when unmounting an entry, update mtime of parent
649	node.
650
651	* amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
652	remember it's last non-zero value, save it in a temporary variable
653	to avoid a TOCTOU problem (between an "if" and a "dlog").
654
655	* libamu/xutil.c (show_time_host_and_name),
656	conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
657	amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
658	(find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
659	(nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
660	amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
661	amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
662	amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
663	exec_search), amd/clock.c (timeout, softclock), amd/autil.c
664	(forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
665	amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
666	NULL to clocktime().
667
6682005-09-07  Erez Zadok  <ezk@cs.sunysb.edu>
669
670	* minor new port: powerpc-apple-darwin8.2.0.
671
672	* m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
673	but all newer ones (10.4+) use int.
674
675	* m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
676	6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
677
678	* minor new port: i386-pc-linux-deb3.1.
679
6802005-09-02  Erez Zadok  <ezk@cs.sunysb.edu>
681
682	* conf/mount/mount_linux.c: If autoconf didn't find any disk-based
683	file system on this system (probably because /proc isn't mounted),
684	then provide some default definition for this file to compile.
685
6862005-08-27  Erez Zadok  <ezk@cs.sunysb.edu>
687
688	* Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
689	config.cache.old, and dbgcf.h on "make distclean".
690	(CLEANFILES): remove dbgcf on plain "make clean".
691
692	* amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
693	"make distclean".
694
6952005-08-24  Erez Zadok  <ezk@cs.sunysb.edu>
696
697	* configure.in: wrap all LDAP and HESIOD tests in test whether
698	--with-OPT was used.
699
7002005-08-16  Erez Zadok  <ezk@cs.sunysb.edu>
701
702	* configure.in: sinclude([vers.m4]) version number file.
703
704	* vers.m4: new file to separate version number out of
705	configure.in, useful for nightly snapshot script to generate
706	nightly version string.
707
708	* Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
709
7102005-08-11  Erez Zadok  <ezk@cs.sunysb.edu>
711
712	* configure.in: keep AC_INIT on same line, for nightly snapshot
713	build script.
714
7152005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
716
717	* scripts/amd.conf.5: selectors_in_defaults is a common parameter,
718	not just [global].  Use consistent capitalization of Amd/Amq.
719
720	* scripts/amd.conf-sample: properly list all of the parameters
721	which are common to both the [global] and the per-map sections.
722
723	* doc/am-utils.texi (Common Parameters): selectors_in_defaults is
724	a common parameter, not just [global].
725
726	* scripts/amd.conf-sample (sun_map_syntax): example of new flag.
727
728	* cvs-server.txt: update instructions after branching 6.1-stable.
729
7302005-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
731
732	*******************************************************************
733	*** Released am-utils-6.1.1					***
734	*******************************************************************
735
736	* libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
737	vsprintf, not sprintf.
738
739	* conf/umount/umount_osf.c (umount_fs): refer to proper formal
740	parameter name.
741	(umount2_fs): pass second arg to umount().
742
743	* ALL: remove CVS ID and put actual file name in source.
744
745	* conf/autofs/*.[hc]: proper copyright headers.
746
747	* whitespace reformatting.  Remove remaining '%W%' SCCS IDs.
748
749	* amd/mntfs.c (free_mntfs): don't discard the last reference to an
750	mntfs that had been mounted already.  It won't have the
751	MFF_RESTARTED flag on, as it gets turned off after the entry is
752	mounted, but it will have the MFF_RSTKEEP flag on.
753
754	* amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
755	show the mntfs's flags.
756
7572005-08-01  Erez Zadok  <ezk@cs.sunysb.edu>
758
759	* conf/mtab/mtab_linux.c: removed unused code.  Cleanup.
760	(handler): removed this bad signal handler.
761	(lock_mtab): Redhat's original code set a signal handler called
762	"handler()" for all non-ALRM signals.  The handler called
763	unlock_mntlist(), plog'ed the signal name, and then exit(1)!
764	Never, ever, exit() from inside a utility function.  This messed
765	up Amd's careful signal-handling code, and caused Amd to abort
766	uncleanly only any other "innocent" signal
767	(even simple SIGUSR1), leaving behind a hung Amd mnt point.  That
768	code should have at least restored the signal handlers' states
769	upon a successful mtab unlocking.  Anyway, that handler was
770	unnecessary, because will call unlock_mntlist() properly anyway on
771	exit.
772
773	* conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
774	message that we're inside the unlock_mntlist function.
775
776	* amd/amd.c (main): use new setup_sighandler() for Amd's four main
777	signals (INT, TERM, HUP, and CHLD).
778	(main) Add SIGINT and SIGTERM to masked_sigs, used in
779	nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
780	to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
781	HAVE_SIGACTION.  So this change makes Amd behave consistently.
782
783	* include/am_utils.h: extern for new setup_sighandler().
784
785	* libamu/xutil.c (setup_sighandler): new utility function to setup
786	a single signal-handler regardless of what method is supported by
787	this OS.
788	(going_down): call unlock_mntlist() when exiting, to ensure that
789	Amd will remove any leftover mtab lock files, if any.
790
791	* amd/restart.c (restart_automounter_nodes): cleanup function.
792
793	* minor new port: i386-pc-linuxoldld-deb3.1.
794
795	* configure.in: include <sys/types.h> before <linux/socket.h> to
796	get the definition of size_t on Debian-3.1r0a.
797
7982005-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
799
800	* amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
801	IP address.  First check if it differs from the existing one of
802	the fserver, and copy only if it changed.  If it did change, flush
803	the fhandle cache to avoid a stale fhandle being reused.  This
804	allows Amd to detect IP address changes even for an fserver that
805	lost one or more NFS pings, but not enough to be declared totally
806	down.  We handle the "totally down" fserver case in
807	check_fs_addr_change().
808
809	* amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
810	amd/nfs_subr.c (nfs_quick_reply): code clarity.
811
812	* conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
813	errnos to NFS errors.
814
815	* conf/umount/umount_linux.c (umount2_fs): cleanup code.  Trying
816	stat() seems doomed to hang at times, so don't try stat at all,
817	because umount2() appears to be clever enough to never hang.
818
8192005-07-25  Erez Zadok  <ezk@cs.sunysb.edu>
820
821	* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
822	particular fserver may need forced/lazy unmounts when it's mntfs's
823	are unmounted.
824
825	* amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
826	the user specified forced_unmounts=yes in amd.conf, and this
827	fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
828	forced/lazy unmounts, then try forced/lazy unmounts.  This should
829	allow a hung mount point to be removed.
830
831	* amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
832	detection code to its own function.
833	(check_fs_addr_change): new function to detect if the IP address
834	of a downed host has changed, and do various cleanups and fixups
835	to try and recover as best from that situation (e.g., flushing
836	various caches).  Also set the FSF_FORCE_UNMOUNT flag for the
837	fserver in question.
838	(flush_srvr_nfs_cache): pass fserver as argument, so we can
839	selectively flush the NFS cache for a single fserver (or all of
840	them, if you pass NULL).
841
842	* libamu/xutil.c (switch_to_logfile): truncate a regular-file log
843	file if user passed non-zero "truncate_log" flag.
844
845	* include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
846
847	* amd/get_args.c (get_args): pass "truncate_log" flag as per
848	amd.conf global settings.
849
850	* amd/conf.c (gopt_truncate_log): store global value of
851	truncate_log flag.
852
853	* amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
854	reload): don't truncate log file when calling switch_to_logfile().
855
856	* amd/amd.h (CFM_TRUNCATE_LOG): new flag.  Fix comment typo.
857
858	* NEWS, doc/am-utils.texi (truncate_log Parameter),
859	scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
860	new truncate_log amd.conf parameter.
861
862	* amd/conf.c (gopt_forced_unmounts): check Linux kernel version
863	and alert if your version may be too old for MNT_FORCE to work
864	(before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
865	Otherwise it may be impossible to pin down the exact kernel
866	version in which we should enable this feature.
867
868	* conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
869	EBUSY, then don't try to stat(2) before MNT_DETACH because it
870	could hang.
871
8722005-07-21  Erez Zadok  <ezk@cs.sunysb.edu>
873
874	* conf/umount/umount_linux.c (umount_fs): cleanup this function,
875	breaking long "if" statements using "goto out".
876
877	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
878	call new utility function umount2_fs() as needed (EBUSY, EIO, or
879	ESTALE).
880
881	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
882	define a new utility function to invoke forcible/lazy unmounts
883	without touching any mtab files.  This separate utility function
884	is useful because it can be called from elsewhere.
885
886	* amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
887	before Amd mounts toplvl mounts, which gives us a hook for cleanup
888	of a previously dead Amd.  In our case, if the user asked for
889	forced_unmounts, and the OS supports it, then we try forced/lazy
890	unmounts on any previous toplvl mounts.  This is useful if a
891	previous Amd died and left behind toplvl mount points (this Amd
892	will clean them up!).  WARNING: Don't use forced/lazy unmounts if
893	you have another valid Amd running, because this code WILL force
894	those valid toplvl mount points to be detached as well!
895
896	* amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
897	try forced/lazy unmounts because it will prevent a normal Amd from
898	terminating and cleaning up properly (self-deadlocking: detached
899	mounts hang the parent Amd on a stat).  Since we already do
900	unmounts in the background, then try a safer policy: after trying
901	the normal unmounts a few times (5 sec), escalate and try forced
902	unmounts a few times (5 more seconds), and if even that failed,
903	then try the ultimate -- detached unmounts (which always succeed).
904	This allows Amd to first try and shutdown cleanly, and gradually
905	try more forcible ways to shutdown.  On Linux, this procedure will
906	cleanly shutdown Amd even if there are processes with their CWD on
907	Amd's mount points (which normally result in EBUSY).
908
9092005-07-20  Erez Zadok  <ezk@cs.sunysb.edu>
910
911	* Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
912
913	* conf/umount/umount_aix.c: easier if AIX has its own unmount
914	helper file.
915
916	* m4/macros/check_umount_style.m4: AIX needs its own unmount style
917	file.
918
919	* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
920
9212005-07-19  Erez Zadok  <ezk@cs.sunysb.edu>
922
923	* conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
924	forced-unmount flag.
925
926	* conf/umount/umount_default.c (umount_fs): if regular umount got
927	EBUSY, EIO, or ESTALE, then try forced unmount, if supported.  Try
928	umount2 (Solaris) or uvmount (AIX).
929
930	* conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
931	umount() failed with EIO or ESTALE, also try forced unmount.
932
9332005-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
934
935	* amd/autil.c (amfs_mount), amd/amfs_toplvl.c
936	(amfs_toplvl_umount): enable forced/lazy unmounts only if user
937	asked for it (and dlog it).
938
939	* scripts/amd.conf.5: document new force_unmount global parameter.
940
941	* doc/am-utils.texi (forced_unmounts Parameter): document new
942	global parameter.
943
944	* amd/conf.c (gopt_forced_unmounts): process forced_unmounts
945	option (default "no").  Exit with an error if user specified the
946	option as "yes" but configure couldn't find support for either the
947	MNT_FORCE or MNT_DETACH flags.
948
949	* scripts/amd.conf-sample (forced_unmounts): example usage of new
950	option.
951
952	* amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
953	option.
954
955	* m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
956
957	* configure.in: check for generic u/mount options "detach" and
958	"force".
959
960	* include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
961	Define AMU_UMOUNT flags for force, detach, and autofs.
962
963	* amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
964	unmount flags unconditionally.  Pass them to UMOUNT_FS().
965
966	* conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
967	if needed, because some Linux systems don't define them
968	(presumably because it would be too dangerous to expose these
969	flags to users).
970
971	* amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
972	then assume that we're in trouble, possibly because a previous
973	mount is hung.  So, first try to force a lazy unmount of the old
974	mount.  If the forced unmount worked, then try again to mount the
975	desired file system.  If the forced unmount failed, then don't
976	retry: just return an error.
977
978	* amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
979	(amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
980	amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
981	amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
982	amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
983	amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
984	(umount_fs), conf/umount/umount_default.c (umount_fs),
985	conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
986	(umount_fs): compute and use unmount specific flags.
987
9882005-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
989
990	* configure.in: better help for users, if nfs_args can't be found.
991
9922005-07-15  Erez Zadok  <ezk@cs.sunysb.edu>
993
994	* BUGS: more details on AIX's need to install bos.net.nfs.adt
995	before configuring am-utils (else configure cannot find struct
996	nfs_args on AIX).
997
9982005-07-10  Erez Zadok  <ezk@cs.sunysb.edu>
999
1000	* amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
1001	address of a down server had changed.
1002
1003	* amd/info_union.c (union_reload): use safer xsnprintf() routine.
1004
1005	* amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
1006	of a named but down fserver changed (i.e., the previous IP address
1007	is no longer responding).  If so, then reset the fserver to the
1008	new IP address, and set the fserver's flags such that the function
1009	will fall through to doing the usual NFS version/proto checks and
1010	pinging.  (This should fix one case of bug #308.)
1011
1012	* conf/umount/umount_linux.c (umount_fs): warn if plain umount()
1013	failed, before we try to ignore any errors or try optional
1014	umount2(), possibly with forced/lazy unmount.
1015	(umount_fs): dlog when unmount succeeded.
1016
10172005-07-08  Erez Zadok  <ezk@cs.sunysb.edu>
1018
1019	* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
1020	that are compatible with NFSv3.
1021
10222005-07-07  Erez Zadok  <ezk@cs.sunysb.edu>
1023
1024	* m4/macros/header_templates.m4: extern template for strlcat().
1025
1026	* amd/get_args.c (get_version_string): use safer strlcat (or
1027	replacement strlcat).  Use new wrapper xsnprintf() function, which
1028	will use the safer vsnprintf() if available, else default to plain
1029	sprintf.
1030
1031	* configure.in: check for existence of strlcat() and its extern,
1032	replacing with libamu/strlcat.c as needed.
1033
1034	* libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
1035
1036	* include/am_defs.h: optional strlcat() extern.
1037
1038	* include/am_utils.h: extern for new xvsnprintf().
1039
1040	* configure.in: overdue new major libtool shlib version.
1041	Check for snprintf function and extern.
1042
10432005-07-06  Erez Zadok  <ezk@cs.sunysb.edu>
1044
1045	* conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
1046	aix4_nfs_args_bis.
1047
1048	* Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
1049	distribution.
1050
1051	* conf/mount/mount_aix.c: mount style for aix 5.x and newer.
1052
1053	* conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
1054
1055	* m4/macros/check_mount_style.m4: split mount styles for
1056	aix3.x/4.x and the newer (and better) aix 5.x code.
1057
10582005-07-05  Erez Zadok  <ezk@cs.sunysb.edu>
1059
1060	* amq/pawd.c (getawd): avoid buffer overflow.  Bug fix from Graeme
1061	Wilford <G.Wilford@surrey.ac.uk>.
1062
10632005-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
1064
1065	* amd/map.c (get_next_exported_ap): Avoid running off the end of
1066	the exported_ap[] array.  Patch from jon+amd-at-spock.org.  Fixed
1067	bug #301.
1068
10692005-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
1070
1071	* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
1072
1073	* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
1074	must come before C code.
1075
1076	* conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
1077	that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
1078	Patch from Red Hat, which they adapted from mtab_file.c.  Minor
1079	fixes to this file.
1080
1081	* m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
1082	handling.
1083
10842005-06-24  Erez Zadok  <ezk@cs.sunysb.edu>
1085
1086	* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
1087	copying code.
1088
10892005-06-23  Erez Zadok  <ezk@cs.sunysb.edu>
1090
1091	* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
1092	be missing from older hpux10 systems.
1093
1094	* configure.in: update bug-reporting address to list
1095	https://bugzilla.am-utils.org/ as well as the mailing list.
1096
1097	* Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
1098	macro.
1099
1100	* conf/transp/transp_tli.c (get_nfs_version): always use
1101	rpcvers_t, now that it'll be automatically discovered.
1102
1103	* configure.in: check for rpcvers_t type.
1104
1105	* m4/macros/type_rpcvers_t.m4: new macro to check for type of
1106	rpcvers_t (Some Solaris versions need it).
1107
1108	* conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
1109	here, but in the actual source files that may need it.
1110
1111	* libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
1112	already.
1113
1114	* include/am_defs.h: define extern for sleep(3) if needed.
1115
1116	* m4/macros/header_templates.m4: template for sleep(3) extern.
1117
1118	* configure.in: check for extern for sleep(3), which is missing
1119	from some old (and buggy) versions of gcc's fixinc'ed headers.
1120
1121	* conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
1122	nfs_args from actual system headers.
1123
1124	* conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
1125	structure.
1126
11272005-06-22  Erez Zadok  <ezk@cs.sunysb.edu>
1128
1129	* BUGS: update Solaris information about use of f/lex and
1130	yacc/bison.
1131
11322005-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
1133
1134	* minor new port: i386-pc-linux-suse9.3.
1135
11362005-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1137
1138	* configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
1139	so u32 is available for <linux/sunrpc/msg_prot.h>.
1140
11412005-06-16  Erez Zadok  <ezk@cs.sunysb.edu>
1142
1143	* amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
1144	exec maps will always match when users use amd with command line
1145	args (not amd.conf).  Using that legacy way, unfortunately, means
1146	that Amd will use it's hard-coded info-service search path, which
1147	doesn't work for everyone.  It's much better to use amd.conf and
1148	specify what you want exactly.
1149
11502005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1151
1152	* minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
1153
1154	* m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
1155	int as the type of recvfrom()'s 6th argument.
1156
1157	* m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
1158	int as the type of yp_order()'s 3rd argument.
1159
11602005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1161
1162	* scripts/amd.conf-sample (map_type): typo, said mount_type
1163	instead of map_type for the 'exec' example.
1164
11652005-06-11  Erez Zadok  <ezk@cs.sunysb.edu>
1166
1167	*******************************************************************
1168	*** Released am-utils-6.1					***
1169	*******************************************************************
1170
11712005-06-04  Erez Zadok  <ezk@cs.sunysb.edu>
1172
1173	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
1174	only if the user specified them in amd.conf or elsewhere.  If they
1175	were not specified, don't do anything, which would let the OS use
1176	its own defaults.
1177
1178	* amd/get_args.c (get_args): negative timeo/retrans are "good" in
1179	that they represent uninitialized values (meaning to let the OS
1180	use it's default values).  So only check if user specified a value
1181	equal to zero (invalid).
1182
1183	* amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
1184	specify timeo/retrans at all.
1185
11862005-06-03  Erez Zadok  <ezk@cs.sunysb.edu>
1187
1188	*******************************************************************
1189	*** Released am-utils-6.1-rc7					***
1190	*******************************************************************
1191
1192	* m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
1193	configuring, not just for building.  That way the two phases
1194	(configure and compile) are in sync.  This fixes getwire() on
1195	OSF/1 systems.
1196
1197	* conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
1198	defined in system headers.
1199
12002005-06-01  Erez Zadok  <ezk@cs.sunysb.edu>
1201
1202	* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
1203	longer needed.
1204
12052005-05-28  Erez Zadok  <ezk@cs.sunysb.edu>
1206
1207	* completed set of fixes for irix6.5.
1208
1209	* Minor new ports alpha-unknown-linux-gentoo1.4.16
1210	alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
1211	sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5.  Test
1212	those systems with both cc and gcc, where possible.
1213
1214	* include/am_xdr_func.h: remove trailing comma at end of enum
1215	list.
1216
1217	* m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
1218	undefined.  So give it a dummy value.
1219
1220	* libamu/alloca.c: remove file from distro.
1221
1222	* configure.in: don't call AC_FUNC_ALLOCA any more.
1223
1224	* include/am_defs.h: remove header fixups for <alloca.h>, now that
1225	we don't need it.
1226
1227	* amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
1228	avoid only use of alloca() in am-utils, and to use strdup
1229	explicitly.  This way we can avoid using alloca, a feature that's
1230	not portable on various systems.
1231
1232	* amq/amq.c: remove unused lint/rcsid cruft.
1233
12342005-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
1235
1236	* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
1237	extra parentheses around assignments in "if" expressions (gcc
1238	complains).
1239
1240	* conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
1241	for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
1242	xdr_groups.
1243
1244	* configure.in: check for <linux/socket.h>, which, if found,
1245	appears to be preferable to <sys/socket.h>.  Use it to find
1246	<linux/nfs_mount.h>.  On some Linux systems
1247	(Gentoo), both exist but only one must be included, or else you
1248	get redefined structure errors.
1249
1250	* libamu/wire.c (is_network_member): check if masknum is
1251	INADDR_NONE, not "< 0" because it's an unsigned quantity.
1252
1253	* libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
1254	because it's an unsigned quantity.
1255
12562005-05-26  Erez Zadok  <ezk@cs.sunysb.edu>
1257
1258	*******************************************************************
1259	*** Released am-utils-6.1-rc6					***
1260	*******************************************************************
1261
12622005-05-25  Erez Zadok  <ezk@cs.sunysb.edu>
1263
1264	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
1265	missing definition of struct thread_credentials in <sys/vfs.h>
1266	but trying to bring that definition in drags a whole lot of other
1267	messy stuff.  So just provide a dummy definition for this
1268	structure.
1269
12702005-05-24  Erez Zadok  <ezk@cs.sunysb.edu>
1271
1272	* Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
1273
1274	* m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
1275
1276	* m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
1277	systems, so we can find extern definition for mntctl().
1278
1279	* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
1280	define an extern for mntctl() if needed.
1281
1282	* amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
1283	style comments in C code.  Some C compilers don't accept it.
1284
1285	* amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
1286	of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
1287	xlC.
1288
1289	* amd/get_args.c: rename symbol conf_file to amu_conf_file to
1290	avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
1291	Oh, when will people who develop libraries learn to always prefix
1292	their exported symbols with a library-specific name?
1293
1294	* configure.in: check for mntctl() extern on AIX systems.
1295
1296	* ltmain.sh: update from latest libtool-1.5.18, so we can properly
1297	build on AIX 5.2/5.3 with cc and with gcc.
1298
1299	* m4/macros/libtool.m4: update from latest libtool-1.5.18.  This
1300	time, and from now on, we must include libtool.m4 from the libtool
1301	distribution itself.  That way we ensure that we use an ltmain.sh
1302	that matches the appropriate libtool M4 macros.  This makes
1303	am-utils no longer dependent on having libtool installed on a
1304	given system on which you run bootstrap.
1305
13062005-05-23  Erez Zadok  <ezk@cs.sunysb.edu>
1307
1308	* minor new port: i386-pc-linux-deb3.0.
1309
13102005-05-22  Erez Zadok  <ezk@cs.sunysb.edu>
1311
1312	* minor new ports: i386-unknown-netbsdelf2.0.2 and
1313	i386-unknown-openbsd3.7.
1314
13152005-05-20  Erez Zadok  <ezk@cs.sunysb.edu>
1316
1317	* minor new ports: i386-pc-linux-gentoo1.4.16 and
1318	powerpc-unknown-linux-yellowdog2.3.
1319
1320	* include/{mount_headers2.h, am_defs.h}: safer setup before
1321	inclusion of <linux/nfs_mount.h>, which is broken on several
1322	systems.
1323
1324	* configure.in: test for <linux/nfs2.h>.  Separate special test
1325	for <linux/nfs_mount.h> because we need to define __KERNEL__ for
1326	that test, as well as optionally define struct nfs2_fh for some
1327	systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
1328
1329	* config.guess.long: support Gentoo and Yellow Dog Linux distros.
1330
13312005-05-18  Erez Zadok  <ezk@cs.sunysb.edu>
1332
1333	* minor new ports: i386-pc-linux-suse9.2 and
1334	i386-unknown-freebsd5.4.
1335
1336	* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
1337
13382005-05-17  Erez Zadok  <ezk@cs.sunysb.edu>
1339
1340	*******************************************************************
1341	*** Released am-utils-6.1-rc5					***
1342	*******************************************************************
1343
1344	* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
1345	sending annoying warning for a minor issue.
1346
13472005-05-17  Ion Badulescu <ionut@moisil.badula.org>
1348
1349	* amd/nfs_subr.c: check for NULL pointer before dereferencing it.
1350
13512005-05-16  Erez Zadok  <ezk@cs.sunysb.edu>
1352
1353	* minor new ports: powerpc-apple-darwin7.9.0.
1354
1355	* m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
1356	from OS name because it's no longer relevant.  Also, don't include
1357	the major OS version number in the OS name because that's also
1358	unnecessary (and users can always use $osver in maps).
1359
1360	* amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
1361	struct am_fh, because it's the most portable method.  Bug fix
1362	suggestion from Dan Riley <dsr at mail.lns.cornell.edu>.  Better
1363	fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
1364	actual size we use.
1365
1366	* amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
1367	def_opts to options given in -opts, appended with the /default
1368	options.  Bug fix suggestion from Dan Riley <dsr at
1369	mail.lns.cornell.edu>.
1370
13712005-05-13  Erez Zadok  <ezk@cs.sunysb.edu>
1372
1373	*******************************************************************
1374	*** Released am-utils-6.1-rc4					***
1375	*******************************************************************
1376
13772005-05-11  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1378
1379	* amd/amd.c (main) : fixed memory leak detected by valgrind
1380
1381	* amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
1382	valgrind
1383
13842005-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
1385
1386	* m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
1387	check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
1388	check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
1389	for "macosx" as valid OS string, so we compile properly on Darwin
1390	systems.
1391
1392	*******************************************************************
1393	*** Released am-utils-6.1-rc3					***
1394	*******************************************************************
1395
1396	* rerun bootstrap to get a working configure script that actually
1397	checks for limits.h and dependent linux autofs/nfs headers.
1398
1399	* configure.in: remove redundant check for limits.h.
1400
14012005-05-09  Erez Zadok  <ezk@cs.sunysb.edu>
1402
1403	*******************************************************************
1404	*** Released am-utils-6.1-rc2					***
1405	*******************************************************************
1406
14072005-05-08  Erez Zadok  <ezk@cs.sunysb.edu>
1408
1409	* amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
1410	old_def_opts variable.
1411
14122005-05-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1413
1414	* amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
1415	entry has a single dash '-', that the default options are reset.
1416	This functionality was somehow lost from earlier releases and
1417	reported by Dan Riley <dsr@mail.lns.cornell.edu>.
1418
14192005-05-05  Erez Zadok  <ezk@cs.sunysb.edu>
1420
1421	* config.guess.long: detect SuSE Enterprise Server and call it
1422	"sles" not "suse".
1423
14242005-05-02  Erez Zadok  <ezk@cs.sunysb.edu>
1425
1426	* doc/am-utils.texi (amd): document proper use of
1427	/etc/hosts.allow.  Don't spawn a new Amd process because Amd will
1428	get confused if someone else waitpid's on its children (which
1429	often do important un/mount work).  Issue reported by Francis
1430	Montagnac <Francis.Montagnac at sophia.inria.fr>.
1431
1432	* minor new ports: powerpc64-unknown-linux-rhel4, and
1433	powerpc64-unknown-linux-sles9.
1434
14352005-05-01  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1436
1437	* amd/amfs_host.c (amfs_host_umount): We do not want to pass
1438	ENOENT as an error because if the directory does not exists our
1439	work is done anyway.
1440
1441	* conf/umount/umount_linux.c (umount_fs): If we are successful or
1442	there was an ENOENT, remove the mount entry from the mtab file.
1443
14442005-05-01  Ion Badulescu  <ionut@moisil.badula.org>
1445
1446	* amd/nfs_subr.c: am_fh definition moved here from amd.h;
1447	restructured to better reflect its duality (old/new filehandles)
1448	(fh_to_mp3): fhh_gen is always used, even for new style f/h
1449	(mp_to_fh): ditto
1450
1451	* amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
1452	only place where it's used)
1453
14542005-04-30  Erez Zadok  <ezk@cs.sunysb.edu>
1455
1456	* m4/macros/host_macros.m4: use sw_vers on Apple machines to find
1457	out more appropriate OS name (macosx) and OS version (10.3.x) than
1458	uname(3) reports.
1459
14602005-04-29  Erez Zadok  <ezk@cs.sunysb.edu>
1461
1462	* config.guess, config.sub, doc/texinfo.tex: updates from latest
1463	official GNU distributions.
1464
1465	* m4/macros/host_macros.m4: for macosx, change architecture value
1466	from "Power Macintosh" to "powerpc".
1467
1468	* libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
1469	int (it's a size_t).
1470
14712005-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
1472
1473	* scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
1474	Parameter), scripts/amd.conf-sample: document new
1475	normalize_slashes global configuration parameter.
1476
1477	* amd/opts.c (deslashify, normalize_slash): don't touch trailing
1478	slashes, even if multiples of them, if user said
1479	normalize_slashes=no in amd.conf.
1480
1481	* amd/conf.c (gopt_normalize_slashes): new function to record if
1482	to normalize slashes or not.
1483
1484	* amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
1485	normalize double-slashes or not ("yes" by default).
1486
1487	* amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
1488	This is the parent mntfs which does the mf->mf_fo
1489	(am_opts type), and we're passing TRUE here to tell mf_mounted to
1490	actually free the am_opts.
1491
1492	* amd/autil.c (mf_mounted): Be careful when calling free_ops and
1493	XFREE here.  Some pseudo file systems like nfsx call this
1494	function, even though it would be called by the lower-level amd
1495	file system functions.  nfsx needs to call this function because
1496	of the other actions it takes.  So we pass a boolean from the
1497	caller (yes, not so clean workaround) to determine if we should
1498	free or not.  If we're not freeing (often because we're called
1499	from a callback function), then just to be sure, we'll zero out
1500	the am_opts structure and set the pointer to NULL.  The parent
1501	mntfs node owns this memory and is going to free it with a call to
1502	mf_mounted(mntfs,TRUE).
1503
1504	* amd/amd.h: pass flag to mf_mounted, to free or not to free the
1505	am_opts.
1506
1507	* amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
1508	tell it not to free the am_opts, to avoid double free.
1509
1510	* include/am_defs.h: include limits.h if found.
1511
1512	* configure.in: check for limits.h.  Check for certain Linux
1513	headers such as auto_fs.h after checking for limits.h, and include
1514	the latter if it exists, because some Linux headers depend on
1515	limits.h.  This prevents warnings during configure time.
1516
15172005-04-12  Erez Zadok  <ezk@cs.sunysb.edu>
1518
1519	* amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
1520	values from default global UDP settings, because it can cause
1521	unexpected timeouts in Amd on slow systems.  The default that each
1522	OS provides for these toplvl NFS mounts should be OK, or else you
1523	can use the map_options entry.
1524
15252005-04-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1526
1527	* amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
1528	source buffer is treated more as a filehandle than a string.
1529
1530	* amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
1531	source buffer is treated more as a filehandle than a string.
1532
1533	* amd/opts.c (free_op): No longer need to assign pointer to NULL
1534	after XFREE.
1535
1536	* amd/opts.c (expand_op): Revert back to using strncpy() instead
1537	of xstrlcpy.  The code is correct and relies on the semantics of
1538	strncpy.
1539
1540	* libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
1541	of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
1542	truncate our concocted "hostname:/path" string prematurely if the
1543	nap->hostname field is ever less than 64 bytes long
1544	(MAXHOSTNAMELEN).
1545
1546	* libamu/util.c (xstrlcpy): Return immediately if len is 0 to
1547	avoid unnecessary work.  Log an error and return if len is less
1548	than 0.
1549
15502005-04-07  Erez Zadok  <ezk@cs.sunysb.edu>
1551
1552	* include/am_utils.h (XFREE): XFREE() should nullify the pointer
1553	even when compiling without debugging.  It's safer this way.
1554
1555	* libamu/xutil.c (am_set_hostname),
1556	hlfsd/stubs.c (nfsproc_lookup_2_svc),
1557	fsinfo/fsinfo.c (fsi_get_args),
1558	fixmount/fixmount.c (is_same_host, remove_mount, main),
1559	conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
1560	conf/mount/mount_svr4.c (mount_svr4),
1561	conf/mount/mount_linux.c (setup_loop_device),
1562	conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
1563	conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
1564	amd/opts.c (expand_op),
1565	amd/ops_nfs.c (mount_nfs_fh),
1566	amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
1567	amd/amfs_host.c (amfs_host_mount),
1568	amd/am_ops.c (merge_opts):
1569	use the new xstrlcpy instead of strncpy.
1570
1571	* conf/checkmount/checkmount_{default,svr4}.c
1572	(fixmount_check_mount): document why NOT to use xstrlcpy.
1573
1574	* libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
1575	more, just MAXHOSTNAMELEN.
1576
1577	* libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
1578	recursion, since xstrlcpy may use plog).
1579
1580	* libamu/util.c (xstrlcpy): truncating a string is serious.  Use
1581	XLOG_ERROR not XLOG_WARNING.
1582
15832005-04-06  Erez Zadok  <ezk@cs.sunysb.edu>
1584
1585	* include/am_utils.h: external definition for new xstrlcpy
1586	function.
1587
1588	* libamu/util.c (xstrlcpy): new function.  Similar to strncpy, but
1589	uses strlcpy to guarantee that the resulting string is null
1590	terminated, and also warn if the resulting string was truncated.
1591
1592	* libamu/xutil.c (get_server_pid): move this function from util.c
1593	which is for general-purpose utilities.
1594
1595	* m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
1596
1597	* include/am_defs.h: provide extern definition for strlcpy, if
1598	needed.
1599
1600	* libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
1601
1602	* configure.in: search for strlcpy and its extern.
1603
1604	* amq/pawd.c (find_mt): It only handles *some* filesystem types,
1605	so it breaks on direct xfs mounts for example.  The fix (from
1606	Christos Zoulas) is simple: We need to exclude toplvl to avoid
1607	infinite recursion, but all other fs's are game.
1608
16092005-03-31  Erez Zadok  <ezk@cs.sunysb.edu>
1610
1611	* amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
1612	copying exactly len bytes, so add null just to be safe.
1613
16142005-03-30  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1615
1616	* amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
1617	to make sure it null terminates.
1618
16192005-03-29  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1620
1621	* amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
1622	the memset can be removed because strncpy() should padd the
1623	buffer with NULLs anyway.
1624
16252005-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1626
1627	* include/am_defs.h: Clarify comment.
1628
16292005-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
1630
1631	* include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
1632	won't complain about a conflict for this definition between
1633	<rpcsvc/nis.h> and <sys/acl.h>.
1634
16352005-03-20  Erez Zadok  <ezk@cs.sunysb.edu>
1636
1637	* amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
1638
1639	* libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
1640	%lx.
1641
16422005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
1643
1644	*******************************************************************
1645	*** Released am-utils-6.1-rc1					***
1646	*******************************************************************
1647
16482005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
1649
1650	* conf/transp/transp_tli.c (get_nfs_version): use proper type for
1651	versout on Solaris (rpcvcers_t).
1652
1653	* amd/mapc.c (mapc_showtypes): if last map type to print, don't
1654	append newline or comma to it.
1655
1656	* libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
1657	to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
1658	casting it to an int (size is different).
1659
1660	* configure.in, NEWS: prepare for 6.1-rc1 release.
1661
16622005-03-17  Erez Zadok  <ezk@cs.sunysb.edu>
1663
1664	* scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
1665	<adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
1666	the ldap.schema expects.
1667
1668	* amd/map.c (exported_ap_free): We're using a free-list data
1669	structure and re-using malloc'ed objects.  So, to be safe, memset
1670	entire structure when it's freed, not just the pointer.
1671	(umount_exported): bug fix to on-exit code.  Don't run
1672	am_unmounted() unless unmount_mp() didn't run, since the latter
1673	already calls am_unmounted().  This way we avoid a double-free
1674	bug.
1675
16762005-03-15  Erez Zadok  <ezk@cs.sunysb.edu>
1677
1678	* tasks: updates.  Executable maps is supported.  NFSv4 and
1679	FreeBSD autofs isn't.
1680
1681	* Makefile.am (EXTRA_DIST): include FAQ in distro.
1682
1683	* doc/Makefile.am (alldocs): install README.lda and README.osx.
1684
1685	* FAQ: new file, better late than never.
1686
16872005-03-14  Erez Zadok  <ezk@cs.sunysb.edu>
1688
1689	* scripts/amd2ldif.in: patch to add the amdMapName attribute to
1690	the amdMapTimestamp object when amd2ldif converts it.  This is
1691	necessary if you are using type:=auto mounts and want those
1692	mountmaps looked up through LDAP.  Patch from Jim Zajkowski
1693	<jim.zajkowski@gmail.com>.
1694
16952005-03-12  Erez Zadok  <ezk@cs.sunysb.edu>
1696
1697	* minor new ports: i386-pc-linux-rhel4.
1698
1699	* minor new ports: powerpc-apple-darwin7.8.0.
1700
17012005-03-10  Erez Zadok  <ezk@cs.sunysb.edu>
1702
1703	* amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
1704	cleaner.
1705
1706	* ltmain.sh: upgrade from libtool-1.5.6.
1707
1708	* m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
1709	Linux 2.6 kernel modules, which have a .ko extension, not .o.  Now
1710	we can properly detect which file systems exist on Linux 2.6 based
1711	systems (SLES9, RHEL4, Fedora, etc.).
1712
17132005-03-09  Erez Zadok  <ezk@cs.sunysb.edu>
1714
1715	* m4/macros/host_macros.m4: find out what's the OS software
1716	distribution name, if any.
1717
1718	* m4/macros/header_templates.m4: template for DISTRO_NAME.
1719
1720	* amd/get_args.c (get_version_string): print again full_os, os,
1721	osver, and vendor (bug fix).
1722	(get_version_string): print distribution name, if known (e.g.,
1723	rh9, suse8, etc.).
1724
1725	* amd/mapc.c (mapc_showtypes): wrap around list of supported map.
1726
17272005-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
1728
1729	* amd/map.c (umount_exported): when unmounting file systems on
1730	exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
1731	instead of unmount_node() because the latter always unmounts in
1732	the foreground, whereas the former unmounts in the bg/fg as
1733	needed.  Unmounting always in the foreground has two problems: (1)
1734	if the unmount hangs, amd hangs, and (2) for type:=program, the
1735	unmount script is execve'd(!) thus replacing the main amd process,
1736	which never gets to finish up, leaving the amd mount points hung.
1737
1738	* NEWS: mention new feature of executable maps.
1739
1740	* AUTHORS: Acknowledge Erik Kline.
1741
1742	* scripts/amd.conf.5: document executable maps and
1743	exec_map_timeout parameter.
1744
1745	* scripts/amd.conf-sample: examples of an executable map and
1746	exec_map_timeout.
1747
1748	* m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
1749
1750	* doc/am-utils.texi: document Executable maps and exec_map_timeout
1751	parameter.
1752
1753	* amd/conf.c (gopt_exec_map_timeout): function to parse
1754	exec_map_timeout [global] parameter.
1755
1756	* amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
1757	timeout to 10 seconds, and a global placeholder for the
1758	configurable value.
1759
1760	* amd/amd.c (init_global_options): initialize default executable
1761	map timeout.
1762
1763	* amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
1764	tarball.
1765
1766	* configure.in: enable executable maps.
1767
1768	* amd/mapc.c: define executable map functions and behavior.
1769
1770	* amd/info_exec.c: executable map implementation from Erik Kline
1771	<ekline at ekline dot com>, modified, cleaned-up, and fixed.
1772
17732005-03-07  Erez Zadok  <ezk@cs.sunysb.edu>
1774
1775	* amd/info_file.c (file_init_or_mtime): consolidate identical
1776	file_init and file_mtime into one function.
1777
17782005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
1779
1780	* doc/am-utils.texi (Program Filesystem): if umount/unmount are
1781	not specified, Amd uses "umount ${fs}" by default.
1782
1783	* amd/amfs_program.c (amfs_program_match): if neither unmount nor
1784	umount parameters are specified, use the default userland umount
1785	program with "umount ${fs}".  This way type:=program doesn't have
1786	to specify the umount program for basic unmounting actions.
1787	(amfs_program_init): save unmount program string in mf_private
1788	only if it's NULL, not based on mf_refc.
1789
1790	* configure.in: auto-detect name of userland unmount program.
1791
1792	* aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
1793	unmount program.
1794
1795	* amd/ops_cachefs.c (cachefs_init): save unmount program string in
1796	mf_private only if it's NULL, not based on mf_refc.
1797
1798	* configure.in: don't "discover" inheritance file system any more,
1799	since we don't have the .c file for it.
1800
1801	* amd/get_args.c (get_version_string): hack to still show that we
1802	support the inherit file system in output of amd -v.
1803
18042005-03-05  Ion Badulescu  <ionut@moisil.badula.org>
1805
1806	* amd/amfs_inherit.c: removed, dead code
1807
1808	* amd/Makefile.am,
1809	amd/am_ops.c,
1810	amd/amd.h,
1811	conf/autofs/autofs_linux.h,
1812	conf/autofs/autofs_solaris_v1.h,
1813	conf/autofs/autofs_solaris_v2_v3.h,
1814	m4/macros/header_templates.m4: removed references to amfs_inherit.c
1815
18162005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
1817
1818	* amd/autil.c (am_mounted): completely rewrite the unmount
1819	no/timeout code to (1) make more sense for odd conditions, and (2)
1820	allow utimeout=N mount options to override FS_NOTIMEOUT default
1821	flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
1822
1823	* libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
1824
1825	* conf/umount/umount_linux.c (umount_fs): strtok is destructive,
1826	so use strdup'ed string.
1827
1828	* conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
1829	use strdup'ed string.
1830
18312005-03-04  Erez Zadok  <ezk@cs.sunysb.edu>
1832
1833	* scripts/amd.conf.5, doc/am-utils.texi (cache_duration
1834	Parameter): clarify actual behavior: this Parameter affects
1835	initial mount timeout as well as the linear backoff what happens
1836	the initial failed EBUSY unmount.
1837
1838	* doc/am-utils.texi (opts Option): better explanation of
1839	utimeout=N mount pseudo-option.
1840
1841	* amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
1842
18432005-03-02  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1844
1845	* AUTHORS: add Dan Ottavio.
1846
1847	* scripts/amd.conf.5: document new debug_mtab_file option.
1848
1849	* scripts/amd.conf-sample (debug_mtab_file): show example.
1850
1851	* doc/am-utils.texi (debug_mtab_file Parameter): document new
1852	option.
1853
1854	* conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
1855	doesn't exist by the time Amd tries to exist, return a 0 rather
1856	than hang indefinitely.
1857
1858	* amd/conf.c (gopt_debug_mtab_file): new function to parse
1859	debug_mtab_file option.
1860
1861	* amd/amd.h: placeholder for debug_mtab_file string.
1862	Define default debug_mtab_file to "/tmp/mtab".
1863
1864	* NEWS: document new debug_mtab_file option.
1865
18662005-03-02  Erez Zadok  <ezk@cs.sunysb.edu>
1867
1868	* conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
1869	users want Amd's NFS service to bind to some arbitrary "localhost"
1870	address, show which address was actually resolved and bound to.
1871
18722005-03-01  Erez Zadok  <ezk@cs.sunysb.edu>
1873
1874	* amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
1875	(update_nfs_pingval) that initializes the pinger, as well as turns
1876	it on/off as needed, and handles changing its value.  This is to
1877	avoid races and other infinite-loop conditions that could result
1878	in ping storms.
1879
1880	* amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
1881	new file server structure, default the ping value to AM_PINGER
1882	(30sec) and set the FSF_PING_UNINIT flag.
1883
1884	* amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
1885	pinger had been initialized for a given file server.
1886
1887	* scripts/ctl-amd.in (stop): no need to check if
1888	/var/lock/subsys/amd file exists if you do an rm -f afterward.
1889	Ensure that proper return value is returned from script.
1890
1891	* NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
1892	so that if N=-1, pings are off; if N=0, pings are set to the
1893	default value (currently 30 seconds).
1894
18952005-02-28  Erez Zadok  <ezk@cs.sunysb.edu>
1896
1897	* amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
1898	__rpc_get_local_uid to verify if the RPC call through the
1899	local host interface came from UID 0.
1900
1901	* configure.in: look for internal libnsl function
1902	__rpc_get_local_uid (seems to be available on all known TLI
1903	systems, Solaris and HP-UX 11).
1904
1905	* conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
1906	function for TLI systems (and it violated a array's bounds,
1907	discovered with libumem.so).
1908	(bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
1909	just to be on the safe side, set struct t_bind's qlen field to non
1910	zero (64 by default).  This value cannot be zero for TCP
1911	connections, and it's unclear if it's good to have it zero for UDP
1912	connections, so setting it to 64 is safer.
1913
19142005-02-27  Erez Zadok  <ezk@cs.sunysb.edu>
1915
1916	* doc/am-utils.texi (opts Option, Keep-alives): update text on
1917	ping option.
1918
1919	* amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
1920	server ping values, turn them off, or re-enable them.
1921	(find_nfs_srvr): call update_nfs_pingval() as needed.
1922
1923	* hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
1924	handler, but use _exit(2) instead.
1925
1926	* amd/amd.c (parent_exit): This signal handler is called during
1927	Amd initialization.  The parent forks a child to do all the hard
1928	automounting work, and waits for a SIGQUIT signal from the child.
1929	When the parent gets the signal it's supposed to call this handler
1930	and exit(3), thus completing the daemonizing process.  Alas, on
1931	some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
1932	always terminate the parent process.  Worse, the parent process
1933	now refuses to accept any more SIGQUIT signals -- they are
1934	blocked.  What's really annoying is that this doesn't happen all
1935	the time, suggesting a race condition somewhere.
1936	(This happens even if I change the logic to use another signal.)
1937	I traced this to something which exit(3) does in addition to
1938	exiting the process, probably some atexit() stuff or other
1939	side-effects related to signal handling.  Either way, since at
1940	this stage the parent process just needs to terminate, I'm simply
1941	calling _exit(2).  Note also that the OpenGroup doesn't list
1942	exit(3) as a recommended "Base Interface" but they do list
1943	_exit(2) as one.  This fix seems to work reliably all the time.
1944
1945	* scripts/wait4amd2die.in: change default to recognize that amd is
1946	down more quickly (check every 3 seconds instead of 5).
1947
19482005-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
1949
1950	* libamu/xutil.c (amu_release_controlling_tty): warn if closing
1951	stdin/stdout/stderr failed.  No need for tempfd.
1952
1953	* scripts/ctl-{amd,hlfsd}.in: before running any real program in
1954	these shell scripts, chdir to "/" to avoid possible hangs with
1955	existing NFS mounts.  This was causing ctl-amd's forked
1956	grand-child amd process to hang if restartable_mounts=no.  Go
1957	figure.
1958
19592005-02-25  Erez Zadok  <ezk@cs.sunysb.edu>
1960
1961	* minor new port ia64-unknown-linux-rhel4
1962
1963	* fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
1964	(RHEL4 gcc 3.4.3 ia64 compiler complains).
1965
19662005-02-24  Erez Zadok  <ezk@cs.sunysb.edu>
1967
1968	* minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
1969
19702005-02-23  Erez Zadok  <ezk@cs.sunysb.edu>
1971
1972	* minor new port: i386-pc-linux-rhel3.
1973
1974	* INSTALL: major update of the compatibility list.
1975
1976	* m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
1977
19782005-02-22  Erez Zadok  <ezk@cs.sunysb.edu>
1979
1980	* scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
1981	document new preferred_amq_port [global] option.
1982
1983	* scripts/amd.conf-sample (preferred_amq_port): example.
1984
1985	* include/am_utils.h: add preferred_amq_port to prototype.
1986
1987	* conf/transp/transp_tli.c (bind_preferred_amq_port): new function
1988	to bind the Amq RPC service for UDP and TCP to a preferred port
1989	(or to any port if preferred_amq_port==0).
1990	(create_amq_service): decide if to bind to RPC_ANYFD, or to a
1991	requested port.
1992
1993	* conf/transp/transp_sockets.c (create_amq_service): if
1994	preferred_amq_port is greater than 0, then bind to that port for
1995	both UDP and TCP.  If preferred_amq_port==0, then bind to any
1996	port.
1997
1998	* amd/nfs_start.c (mount_automounter): pass global
1999	preferred_amq_port value to create_amq_service().
2000
2001	* amd/conf.c (gopt_preferred_amq_port): new function to parse
2002	amd.conf value for preferred_amq_port.
2003
2004	* amd/amd.h: placeholder for preferred_amq_port.
2005
20062005-02-21  Erez Zadok  <ezk@cs.sunysb.edu>
2007
2008	* conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
2009	bindnfs_port to a more proper name.  This function binds the NFS
2010	service to a specified port, and only for UDP.
2011
2012	* conf/transp/transp_tli.c: cleanup some code, rename some
2013	functions, in preparation for RPC amq port specification code.
2014
20152005-02-19  Erez Zadok  <ezk@cs.sunysb.edu>
2016
2017	* */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
2018	reserved for users to pass them on the command line.  Instead, use
2019	autoconf's internal AM_CFLAGS and AM_LDFLAGS.
2020
2021	* depcomp, install-sh, missing, mkinstalldirs: update from latest
2022	versions of Automake 1.9.2.
2023
2024	* m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
2025	regexp/patsubst M4 commands.  Newer versions of autoconf (e.g.,
2026	v2.59) complain about those.
2027
20282005-02-17  Erez Zadok  <ezk@cs.sunysb.edu>
2029
2030	* amd/opts.c (f_xhost): if we don't have hstrerror, just print the
2031	value of h_errno.
2032
2033	* configure.in: include -lresolv if it defines the hstrerror()
2034	function and not already available in existing libraries.
2035
2036	* minor new port: powerpc-apple-darwin7.7.0.
2037
2038	* amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
2039	later compared against an unsigned quantity (complaint from gcc
2040	3.3 on SuSE 8.2)
2041
2042	* include/am_utils.h: remove unnecessary (and conflicting) extern
2043	for bind_resv_port2(), which is declared as static in
2044	transp_tli.c.
2045
2046	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
2047	NEWS: document four new amd.conf options: nfs_retry_interval_udp,
2048	nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
2049	nfs_retransmit_counter_tcp.
2050
2051	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
2052	wether nfs_proto was "udp" or "tcp".
2053
2054	* amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
2055	from default UDP settings (because toplvl mounts are UDP for now).
2056
2057	* amd/get_args.c (get_args): use parameters to -t option to set
2058	both UDP and TCP timeo/retrans values.
2059
2060	* amd/conf.c: (gopt_nfs_retransmit_counter_udp,
2061	(gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
2062	(gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
2063	retrans/timeo parameters separately.
2064	(gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
2065	specified, use it to set defaults for both UDP and TCP.
2066
2067	* amd/amd.c (init_global_options): initialize default values of
2068	both UDP and TCP retrans/timeo values to -1.
2069
2070	* amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
2071	timeo values, one for udp mounts and another for tcp mounts.
2072
20732005-02-16  Erez Zadok  <ezk@cs.sunysb.edu>
2074
2075	* README.osx: new file with some instructions for Mac OS-X users,
2076	courtesy Kevin Layer.
2077
2078	* amd/get_args.c (get_args): move call to switch_to_logfile()
2079	after processing -v, so we don't print "no logfile defined; using
2080	stderr" when we're about to print version info and exit anyway.
2081
2082	* minor new port: powerpc-ibm-aix5.3.0.0.
2083
2084	* hlfsd/hlfsd.c (main): rewrite code to avoid negative array
2085	references.
2086
2087	* conf/checkmount/checkmount_aix.c: remove extern definition for
2088	mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
2089
2090	* amd/info_union.c (union_reload): rewrite code to avoid negative
2091	array references.
2092
2093	* amd/opts.c (split_opts, expand_op): rewrite code to avoid
2094	negative array references.
2095
2096	* conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
2097	since AIX 5.3 has it in <sys/vmount.h>.
2098
2099	* libamu/xutil.c (real_plog): rewrite code to avoid negative array
2100	references.
2101
2102	* libamu/wire.c (is_network_member): rearrange code slightly to
2103	avoid negative array references (AIX 5.3 xlC 7.0 compiler
2104	complains about it).
2105
21062005-01-26  Erez Zadok  <ezk@cs.sunysb.edu>
2107
2108	* doc/am-utils.texi (xhost Selector Function): document new
2109	selector function.
2110
2111	* amd/opts.c (f_xhost): new function for use when matching the
2112	"host" selector for the current host's name.  This function will
2113	now match the primary host name as well as all known aliases
2114	(CNAMES) that gethostbyname() returns.  This function now supports
2115	a new function selector called xhost(ARG); the old host==ARG
2116	selector is unharmed.
2117
21182005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2119
2120	* NEWS: document the ability to restart old mount points
2121
2122	* amd/map.c (mount_auto_node): force the fileid of the
2123	root to be 1, so that it won't change between restarts; use the
2124	root filesystem's own methods instead of hard-coding the use of
2125	the default methods
2126
2127	* conf/transp/transp_tli.c (create_nfs_service): better cleanup on
2128	error conditions.
2129	(bind_resv_port2): allow the caller to request a certain port.
2130
2131	* conf/transp/transp_sockets.c (bind_resv_port): allow the caller
2132	to request a certain port.
2133	(create_nfs_service): better cleanup on error conditions.
2134
2135	* amd/restart.c (restart_automounter_nodes): new function, takes
2136	care of restarting automounter NFS mount points (autofs will come
2137	later).
2138	(restart): skip all automounter mount points.
2139
2140	* amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
2141	implementation: if the path to the node is shorter than sizeof(fh)
2142	chars (currently 32 chars for a NFSv2 fh), simply store it inside
2143	the fh. For longer paths, keep the old implementation.
2144
2145	* amd/nfs_start.c (mount_automounter): reorder things so that
2146	restarting the toplvl filesystems occurs before anything else (so
2147	that we can grab all the ports we need before we accidentally use
2148	them for something else).
2149
2150	* amd/mntfs.c (locate_mntfs): remove dead code; add special
2151	handling of restarted toplvl filesystems.
2152
2153	* amd/mapc.c (root_keyiter): fix up a comment.
2154
2155	* amd/map.c (path_to_exported_ap): new function, searches for and
2156	returns a node by the path to it.
2157	(get_root_nfs_fh): remove unnecessary fiddling with the root fh.
2158
2159	* config.guess.long: support Red Hat Enterprise Linux
2160
21612005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2162
2163	* libamu/util.c (rmdirs): prevent amd from logging 'Read-only
2164	filesystem' errors when the mount point has an ancestor (i.e. '/')
2165	that is mounted read-only.  Patch from David Rage <rage@ucl.ac.uk>.
2166
21672005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2168
2169	* conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
2170	autofs space hack
2171
2172	* conf/umount/umount_default.c (umount_fs): there is no need for
2173	HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
2174
21752005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2176
2177	* doc/am-utils.texi (Automatic Unmounting): document new umount2()
2178	behavior on Linux.
2179
2180	* conf/umount/umount_linux.c (umount_fs): new file.  On Linux, if
2181	umount(2) failed with EIO or ESTALE, try umount2(2) with
2182	MNT_FORCE+MNT_DETACH.  Based on patch from Christos Zoulas
2183	<christos@zoulas.com>.
2184
2185	* m4/macros/check_umount_style.m4: pick new linux umount style.
2186
2187	* Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
2188	file.
2189
21902005-01-16  Erez Zadok  <ezk@cs.sunysb.edu>
2191
2192	* conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
2193	m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
2194	of "nfs_args" test.
2195
21962005-01-13  Erez Zadok  <ezk@cs.sunysb.edu>
2197
2198	* amd/get_args.c (show_usage): separate function to print usage
2199	string.
2200	(get_args) Call show_usage() from get_args when needed, then exit.
2201
2202	* amd/get_args.c (get_version_string): print also domain, host,
2203	and hostd.
2204	(get_args): print version string at the very end, after all other
2205	values had been initialized.  Patch from Christos Zoulas
2206	<christos@zoulas.com>.
2207
2208	* conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
2209	conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
2210	in timeouts in the RPC code between socket and TLI
2211	implementations.  The clntudp_create timeout has a different
2212	meaning than the clnt_call timeout.  Set the timeout of the create
2213	to 2 seconds which means retry if no answer in two seconds, and
2214	the timeout call to 6 seconds, which will give us consistently 2
2215	to 3 pings.  This is useful on occasional network UDP loss where a
2216	single packet loss would wrongfully mark a server down.  (The TLI
2217	code is the one that had the problem occurs.)  Patch from Christos
2218	Zoulas <christos@zoulas.com>.
2219
2220	* libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
2221	compiles even for systems that don't have the nfs_args
2222	ac{reg,dir}{min,max} fields.
2223
2224	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
2225	add "noac" if amd.conf option auto_attrcache was set to 0.  This
2226	should hopefully make the compute_nfs_attrcache_flags patch even
2227	safer.
2228
2229	* libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
2230	function to compute attribute-cache values.  This function now
2231	computes attribute-cache flags for BOTH Amd's automount points
2232	(NFS) as well as any normal NFS mount that Amd performs.
2233	(compute_nfs_args, compute_automounter_nfs_args): call
2234	compute_nfs_attrcache_flags to figure out attribute-cache related
2235	flags.  Patch from Christos Zoulas <christos@zoulas.com>.
2236
2237	* scripts/amd.conf-sample: show examples of new global options
2238	domain_strip and auto_attrcache.
2239
2240	* scripts/amd.conf.5: document new global options domain_strip and
2241	auto_attrcache.  Add warning to auto_attrcache use in case of
2242	ESTALE.
2243
2244	* doc/am-utils.texi: minor cleanups and document new global
2245	options domain_strip and auto_attrcache.  Add warning to
2246	auto_attrcache use in case of ESTALE.
2247
2248	* amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
2249	option auto_attrcache.
2250	(gopt_domain_strip): parse new global amd.conf option
2251	domain_strip.  Part of a patch from Christos Zoulas
2252	<christos@zoulas.com>.
2253
2254	* amd/autil.c (host_normalize): don't call domain_strip()
2255	unconditionally, but depend on the new global amd.conf flag
2256	domain_strip.
2257
2258	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
2259	set attribute cache timeout value given other configured global
2260	defaults.
2261	(amfs_toplvl_mount): set automount point attribute cache option
2262	value to "noac" if attrcache=0, else set it to whatever
2263	set_auto_attrcache_timeout() returns.
2264
2265	* amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
2266	if to strip the domain from the host name or not, default options
2267	set to strip the domain.
2268	Store global value of automount attribute cache timeout value.
2269
2270	* amd/amd.c (init_global_options): add flag to record automount
2271	point attribute cache value.
2272
2273	* amd/amd.c (do_memory_locking): new function to encapsulate all
2274	of the memory-locking functionality, which was in main() before.
2275	Also added a call to madvise(), just in case.
2276	(main): call do_memory_locking() to pin process memory if amd.conf
2277	asked for it, but do so after the main Amd process daemonizes,
2278	because mlock/mlockall is not inherited by fork() by default.
2279	Slightly restructured patch from Jonathan Chen
2280	<jon+amd@spock.org>.
2281
2282	* configure.in: check for madvise(2).
2283
2284	* config.guess, config.sub: updates for latest official GNU
2285	versions.
2286
2287	* m4/GNUmakefile: update paths to "make update"
2288
22892005-01-12  Erez Zadok  <ezk@cs.sunysb.edu>
2290
2291	* conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
2292	that's compatible for HPUX11 as well as NFSv3.
2293
2294	* include/am_defs.h: On AIX 5.2, both <resolv.h> and
2295	<arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
2296	-D_USE_IRS (so that we get extern definitions for hstrerror() and
2297	others).  So undef MAXDNAME before it gets redefined.
2298
2299	* include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
2300	<sys/acl.h>, which is included in many other header files.
2301	<rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes.  So if you're
2302	unlucky enough to include both headers, you get a compile error
2303	because the two symbols conflict.  Temp hack: undefine acl.h's
2304	GROUP_OBJ before including nis.h, because we don't need acl.h for
2305	am-utils.
2306
2307	* m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
2308	certain extern definitions of resolver functions become available.
2309
2310	* amd/opts.c (expand_op): use #define for expand_error string
2311	because some compilers complain about the use of static const
2312	char[] inside a varargs function.
2313
2314	* minor new port i386-unknown-netbsdelf1.6.2.
2315
2316	* new port i386-unknown-netbsdelf2.0.
2317
2318	* minor port i386-unknown-freebsd5.3.
2319
2320	* libamu/mount_fs.c (compute_nfs_args): don't compare
2321	nap->maxgrouplist against NULL but against 0 directly, because on
2322	FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
2323	about a type mismatch.
2324
2325	* minor port i386-pc-linux-fc3 (Fedora Core 3).
2326
23272005-01-11  Erez Zadok  <ezk@cs.sunysb.edu>
2328
2329	* hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
2330	FC3 doesn't have proper extern definition for the defunct
2331	sigpause().
2332
2333	* configure.in: look for sigsuspend().
2334
23352005-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
2336
2337	* updated copyright year to 2005 on all files.
2338
23392004-11-29  Erez Zadok  <ezk@cs.sunysb.edu>
2340
2341	* scripts/amd.conf.5: Small fixes to typos in man page, from
2342	Thomas Klausner <tk@giga.or.at>.
2343
23442004-10-22  Erez Zadok  <ezk@cs.sunysb.edu>
2345
2346	* ldap.schema: add this file to distribution.
2347
23482004-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
2349
2350	* doc/am-utils.texi: fix old URLs.
2351
23522004-09-01  Erez Zadok  <ezk@cs.sunysb.edu>
2353
2354	* conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
2355	multiple calls to mntctl().  Patch suggested by Michael van Elst
2356	<M.van.Elst@science-computing.de>.
2357
23582004-08-07  Erez Zadok  <ezk@cs.sunysb.edu>
2359
2360	* doc/am-utils.texi (Program Filesystem): document how to get
2361	double slashes in Amd maps.
2362
2363	* amd/opts.c (normalize_slash): support escaped slashes, needed
2364	for SMB mounts.  Use '\\\/\\\/' in a string to get a double slash.
2365
23662004-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
2367
2368	* amd/amfs_program.c (amfs_program_match): bug fix.  Complain if
2369	both opt_unmount and opt_umount are missing, not when just one of
2370	them is missing.
2371
23722004-08-03  Erez Zadok  <ezk@cs.sunysb.edu>
2373
2374	* amq/pawd.c (find_mt): recognize "linkx" type mounts.  Patch from
2375	Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>.  Support "nfsx" while
2376	we're at it.
2377
2378	* doc/am-utils.texi: mention bugzilla.  Fix broken URL HREF's.
2379
23802004-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
2381
2382	* amq/pawd.c (find_mt): recognize "host" type mounts.  Patch from
2383	Dan Nelson <dnelson@allantgroup.com>.
2384
23852004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
2386
2387	* doc/am-utils.texi, NEWS: minor typos fixed.
2388
23892004-07-30  Erez Zadok  <ezk@play.cs.columbia.edu>
2390
2391	* include/am_xdr_func.h: cannot have field-less structure; put a
2392	dummy field in.
2393
2394	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
2395	2nd arg of xdr_u_int to a u_int*, not int*.
2396	(autofs_mount_2_req): don't use C++ // comments.
2397
23982004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
2399
2400	* m4/macros/{try_compile_anyfs,check_field}.m4: include
2401	<fs/msdosfs/msdosfsmount.h> if it exists.  Part of a set of
2402	FreeBSD 5 patches from Martin Blapp <mb@imp.ch>.
2403
2404	* include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
2405	exists.
2406
2407	* amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
2408	0777 by default.
2409
2410	* configure.in: check for pcfs_args_t.dirmask field.  Check for
2411	existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
2412
24132004-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
2414
2415	* minor new port: i386-pc-linux-fc2 (Fedora Core 2).
2416
2417	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
2418	unless the function exists in libldap and the extern is in
2419	<ldap.h>.  Recently, openldap removed the extern from ldap.h, but
2420	left the function in libldap, for binary compatibility; however
2421	ldap_enable_cache and related functions have been deprecated (and
2422	no longer listed in the header files), and therefore should be
2423	avoided.
2424
2425	* m4/macros/check_extern_ldap.m4: new macro to check for
2426	LDAP-specific externs.  This is separate from check_extern.m4 so
2427	as to avoid breaking the general-purpose macro with LDAP-specific
2428	headers.
2429
2430	* m4/macros/header_templates.m4: extern template for new
2431	HAVE_EXTERN_LDAP_ENABLE_CACHE.
2432
2433	* configure.in: call new check_extern_ldap.m4 macro.
2434
2435	* Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
2436	macro.
2437
2438	* config.guess.long: distinguish between redhat and fedora-core
2439	releases.
2440
24412004-07-23  Erez Zadok  <ezk@cs.sunysb.edu>
2442
2443	* Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
2444	8.2.  This systems' latest GCC (gcc version 3.3 20030226
2445	prerelease) correctly caught a lot of possibly bad comparisons
2446	between signed and unsigned quantities.
2447
2448	* hlfsd/homedir.c (table_add, plt_search): changed first arg of
2449	both functions to u_int.
2450
2451	* hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
2452	Changed proto for plt_search arg to u_int.
2453
2454	* amq/amq.c (show_mi, main): change 'i' to u_int.
2455
2456	* amq/pawd.c (find_mlp): change 'i' to u_int.
2457
2458	* amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
2459	u_int.
2460
2461	* amd/amd.h: change prototype of vreaddir and amfs_error_readdir
2462	to use u_int count parameter.
2463
2464	* amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
2465	(amfs_error_readdir): change 'count' parameter in proto to u_int.
2466
2467	* amd/amd.h: change proto of amfs_generic_readdir() to use u_int
2468	count parameter.
2469
2470	* amd/readdir.c (make_entry_chain): preflen should be u_int.
2471	(amfs_readdir_browsable): change 'count' to u_int.
2472	(amfs_generic_readdir): change 'count' to u_int.
2473
2474	* amd/amd.h: amu_global_options's portmap_program field should be
2475	u_long, not int (to match RPC conventions).  Change am_fh's
2476	fhh_gen field to u_int, to match am_gen field in struct am_node.
2477
2478	* amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
2479	to avoid size differences.
2480
2481	* conf/mount/mount_linux.c (find_unused_loop_device): cast to int
2482	to avoid comparison between chars and integers.
2483
2484	* libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
2485	comparisons between signed and unsigned integers.
2486
24872004-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
2488
2489	* minor new port: i386-pc-linux-suse9.1.
2490
2491	* include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
2492	because SuSE wants __kernel_old_dev_t.  Instead, just define it
2493	directly to what they both use: an unsigned short.
2494
24952004-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
2496
2497	* minor new port: i386-unknown-freebsd4.10
2498
24992004-04-29  Ion Badulescu  <ionut@moisil.badula.org>
2500
2501	* amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
2502	mountpoints for autofs-based sublinks the right way
2503
25042004-04-28  Ion Badulescu  <ionut@moisil.badula.org>
2505
2506	Fixes for various memory management problems discovered by
2507	Rainer's purify run:
2508
2509	* conf/transp/transp_tli.c (check_pmap_up): zero out struct
2510	timeval before using;
2511	(get_nfs_version): ditto
2512
2513	* amd/map.c (umount_exported): make sure we don't try to free the
2514	same am_node multiple times, by setting its corresponding
2515	exported_ap slot to null
2516
2517	* amd/get_args.c (get_version_string): a static pointer is pretty
2518	pointless, make it automatic
2519
2520	* amd/conf.c (gopt_debug_options): remove unnecessary strdup();
2521	(gopt_log_options): ditto
2522	(gopt_print_version): free version string after using it
2523
2524	* amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
2525	it
2526
2527	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
2528	(amfs_lookup_mntfs): free def_opts on return
2529
2530	* amd/amd.c (daemon_mode): zero out struct sigaction before using
2531	it;
2532	(main): ditto
2533
25342004-04-27  Ion Badulescu  <ionut@moisil.badula.org>
2535
2536	* amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
2537	the real mount of an autofs-based sublink
2538
25392004-04-25  Ion Badulescu  <ionut@moisil.badula.org>
2540
2541	* amd/map.c (free_map_if_success): avoid dereferencing a pointer
2542	to potentially freed memory
2543
25442004-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
2545
2546	* minor new port: i386-unknown-freebsd5.2.1.
2547
25482004-01-30  Ion Badulescu  <ion@guppy.limebrokerage.com>
2549
2550	* scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
2551
25522004-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
2553
2554	* minor new port: sparc64-unknown-linux-deb3.0
2555
2556	* config.guess.long: recoognize Debian Linux.
2557
25582004-01-22  Erez Zadok  <ezk@cs.sunysb.edu>
2559
2560	* conf/transp/transp_tli.c (amu_get_myaddress): use
2561	htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
2562	available.
2563
25642004-01-21  Erez Zadok  <ezk@cs.sunysb.edu>
2565
2566	* wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
2567	parameter to amu_get_myaddress().
2568
2569	* conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
2570	localhost_address amd.conf parameter, if defined (else default to
2571	HOST_SELF_CONNECT).
2572	Removed htonl() around socket address copying (I think it was
2573	wrong) since plog("My IP address is...") in amd.c was printing
2574	addresses wrong on Solaris x86..
2575
2576	* conf/transp/transp_sockets.c (amu_get_myaddress): comment out
2577	old DEBUG code that warns if 127.0.0.1 isn't the same as what
2578	get_myaddress() reports.  Add code to resolve value of
2579	localhost_address amd.conf parameter, if defined (else default to
2580	127.0.0.1).
2581
2582	* amd/conf.c (gopt_localhost_address): new function to parse
2583	amd.conf parameter localhost_address.
2584
2585	* amd/amd.h: global field to store amd.conf localhost_address
2586	parameter.
2587
2588	* amd/amd.c (main): call amu_get_myaddress with global option,
2589	which could have been set in amd.conf.
2590
2591	* NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
2592	scripts/amd.conf.5: document new option localhost_address.
2593
25942004-01-20  Ion Badulescu  <ionut@moisil.badula.org>
2595
2596	* amd/conf.c (gopt_nfs_allow_insecure_port): support function for
2597	the new "nfs_allow_insecure_port" amd.conf directive
2598
2599	* amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
2600	port and drop the request only if the "nfs_allow_insecure_port"
2601	option is not set in amd.conf
2602
2603	* doc/am-utils.texi (Global Parameters): documented the new
2604	amd.conf directive "nfs_allow_insecure_port"
2605
2606	* scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
2607
2608	* scripts/amd.conf-sample (nfs_allow_insecure_port): added the
2609	"nfs_allow_insecure_port" directive
2610
26112004-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
2612
2613	* doc/am-utils.texi: amd-workers is defunct.
2614
26152004-01-19  Erez Zadok  <ezk@cs.sunysb.edu>
2616
2617	* cvs-server.txt: updated instructions
2618
26192004-01-18  Erez Zadok  <ezk@cs.sunysb.edu>
2620
2621	* minor new port: i386-unknown-freebsd5.2.
2622
26232004-01-05  Erez Zadok  <ezk@cs.sunysb.edu>
2624
2625	* MIRRORS.{txt,html}: verify each mirror site, update to new
2626	locations (if found), and remove stale mirrors URLs.
2627
2628	* updated copyright year to 2004 on all files.
2629
26302004-01-03  Erez Zadok  <ezk@cs.sunysb.edu>
2631
2632	* MIRRORS.txt: track status.
2633
2634	* Makefile.am (install-snapshot): new directory to install
2635	snapshots (now that am-utils home page is moved).
2636
26372004-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
2638
2639	* INSTALL, README.autofs: remove forced text-mode.
2640
2641	* doc/am-utils.texi: fix Amd book URL.
2642
2643	* Makefile.am (EXTRA_DIST): include new mirror files in tarball.
2644
2645	* AUTHORS, BUGS, README, README.y2k, configure.in,
2646	doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
2647	and mailing lists.
2648
2649	* MIRRORS.{html,txt}: updates.
2650
2651	* doc/Makefile.am: install mirror lists officially.
2652
26532004-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
2654
2655	* tasks: things to do after migrating ftp/Web sites.
2656
26572003-12-09  Erez Zadok  <ezk@cs.sunysb.edu>
2658
2659	* fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page.  Bug
2660	report from Eric S. Raymond <esr@thyrsus.com>.
2661
26622003-11-18  Erez Zadok  <ezk@cs.sunysb.edu>
2663
2664	* Makefile.am (EXTRA_DIST_M4): exclude removed file
2665	m4/macros/struct_nfs_fh3.m4 from distro.
2666
26672003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2668
2669	* libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
2670	FHSIZE3 (may be undefined).
2671
26722003-10-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
2673
2674	Compile fix for Solaris7 with LDAP:
2675
2676	* include/am_defs.h: moved the ldap headers before am_nfs_prot.h
2677	to facilitate using ldap types in it
2678
2679	* conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
2680	definitions that Sun left out of their headers
2681
26822003-10-24  Ion Badulescu  <ionut@moisil.badula.org>
2683
2684	* conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
2685	definitions, they are now defined globally
2686
2687	* libamu/xdr_func.c: unconditionally define all xdr functions
2688	needed for NFSv3, but with an am_ prefix to prevent namespace
2689	collisions
2690
2691	* amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
2692	libamu/mount_fs.c: added the am_ prefix to all
2693	structures and functions having to do with NFSv3 to prevent
2694	namespace collisions
2695
2696	* include/am_utils.h: moved definition of am_nfs_handle to ...
2697
2698	* include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
2699	am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
2700	am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
2701	am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
2702	am_LOOKUP3res here; remove cross-platform compile helper macros
2703	AMU_LOOKUP3RES_*.
2704
2705	* include/am_defs.h: include am_xdr_func.h before am_utils.h to
2706	provide definitions for NFS filehandles
2707
2708	* amd/amd.h: removed declaration for xdr_mountres3
2709
2710	* doc/am-utils.text: minor warning fix
2711
2712	* BUGS: document the autoconf warnings when trying to compile
2713	system header files in isolation
2714
27152003-10-23  Ion Badulescu  <ionut@moisil.badula.org>
2716
2717	* m4/macros/struct_nfs_fh3.m4: removed, not needed
2718
2719	* configure.in: check if struct mounta has the optptr field;
2720	removed all NFSv3-related checks, we implement everything
2721	internally now
2722
2723	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
2724	touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
2725
27262003-10-22  Ion Badulescu  <ionut@moisil.badula.org>
2727
2728	* m4/macros/struct_nfs_fh3.m4: removed, not used anymore
2729
2730	* libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
2731	comments
2732
2733	* configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
2734	always use our own
2735
27362003-10-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
2737
2738	* BUGS: document the limitations of bind mounts on Linux
2739
27402003-10-21  Ion Badulescu  <ionut@moisil.badula.org>
2741
2742	* buildall: added support for -i (make install)
2743
27442003-10-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2745
2746	* NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
2747	* INSTALL: Mention its test status.
2748
27492003-10-16  Erez Zadok  <ezk@cs.sunysb.edu>
2750
2751	* amd/ops_nfs.c (nfs_init): declare as static to match forward
2752	definition at top of file.
2753
2754	* conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
2755	added missing definitions for LOOKUP3res, diropargs3, etc.
2756
27572003-10-15  Erez Zadok  <ezk@cs.sunysb.edu>
2758
2759	* libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
2760	libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
2761	(got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
2762	webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
2763	cleanup some inconsistencies with how we treat NFSv3 file handles.
2764	Whenever we need to get data out of a filehandle given to us, we
2765	assume that it uses the OS's native fhandle structure
2766	(often struct nfs_fh3).  When we store the fhandle data for our
2767	own use, however, we store it in one of two ways.  The first, is
2768	that we use the system's default nfs_fh3 structure; the second is
2769	that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
2770	through an elaborate autoconf song-and-dance to "discover" it as a
2771	native fh3 handle structure).  It appears that we do the latter,
2772	instead of using the system's default fhandle structure, simply to
2773	avoid extra malloc's and free's, because whereas nfsv2's fhandle
2774	structure is a simple 32-byte buffer, nfsv3's fhandle structures
2775	often just define a "char *" for the fhandle data, and the caller
2776	must malloc/free the space inside as needed.  Our code was never
2777	written with constructor/destructor callbacks for these nfsv3
2778	filehandles.  Moreover, we carefully wrote our own am_nfs_fh3
2779	structure so IT JUST SO HAPPENS to align with most (hopefully all)
2780	of the fhandle structures for v3: first four bytes are the length
2781	fields and the next four bytes are the fhandle data.  Sigh.
2782	Having this inconsistent use of v3 filehandles can be a real bear,
2783	because we simply cannot avoid using the system's default fhandle
2784	structure indirectly, through things like diropargs3 in
2785	xdr_diropargs3(), which has inside of it a reference to the
2786	system's default nfs_fh3 structure.  ANYWAY, the current fix I've
2787	come up with is to generalize the way we dereference field names
2788	within the nfs_fh3 structure (whether ours or the system's) and
2789	the same for the system's LOOKUP3res structure.  I'm not pleased
2790	with this fix; I'd rather we don't use our own am_nfs_fh3
2791	structure at all.
2792
2793	* libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
2794	function if we have NFS3, because we often use our own,
2795	incompatible am_nfs_fh3 structure.
2796
2797	* include/am_xdr_func.h: We cannot use the native system's
2798	xdr_nfs_fh3 because we are defining our own incompatible
2799	am_hfs_fh3 structure for some systems.
2800
2801	* include/am_xdr_func.h: Define default values for field names of
2802	struct nfs_fh3 and LOOKUP3res.
2803
2804	* doc/am-utils.texi (debug_options Parameter): minor typo fixed.
2805
2806	* conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
2807	names for struct nfs_fh3 and LOOKUP3res, so override the default
2808	names here.
2809
2810	* configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
2811	AMU_STRUCT_NFS_FH3, because the latter depends on the former.
2812
2813	* amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
2814	and clarify if-the-else clauses.
2815
28162003-10-13  Ion Badulescu  <ionut@moisil.badula.org>
2817
2818	* amd/get_args.c (get_version_string): change "Built by" to
2819	"Configured by", and add a new "Built by" line using the variables
2820	below
2821
2822	* m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
2823	BUILD_DATE to build_version.h
2824
2825	* amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
2826	must be initialized even for them, otherwise we lose opt_sublink
2827	(and perhaps other options as well). Report from Rainer Orth.
2828
2829	* amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
2830	pointer dereferencing was a bit too aggressive and could end up
2831	not processing the sublink option if the filesystem was already
2832	mounted.
2833
28342003-10-11  Ion Badulescu  <ionut@moisil.badula.org>
2835
2836	Fix restarted filesystem by disabling the amfs_inherit filesystem
2837	and moving the restarting logic into the generic code. The old
2838	code is still there, will be removed sometime in the near future.
2839
2840	* amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
2841	return the pointer to the restarted filesystem
2842	(free_mntfs): check for the MFF_RESTART flag instead of the
2843	amfs_inherit ops
2844
2845	* amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
2846	filesystem is in use
2847
2848	* amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
2849	filesystem is not being restarted
2850	(amfs_nfsx_remount): if the filesystem is already mounted,
2851	short-circuit the code and just continue
2852
2853	* amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
2854	filesystem is not being restarted; remove hack that was used to
2855	work around an amfs_inherit problem
2856
28572003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2858
2859	Use WebNFS to obtain file handles for mount(2).
2860
2861	* NEWS: Document WebNFS support.
2862
2863	* configure.in: Check for public mount option.
2864	* include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
2865	* doc/am-utils.texi (opts Option): Renamed webnfs to public,
2866	update description.
2867
2868	* amd/amd.h (FSF_WEBNFS): New mntfs flag.
2869	* include/am_utils.h (RPC_XID_WEBNFS): New XID type.
2870
2871	* amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
2872	WebNFS mount/umount attempts.
2873	* amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
2874	(got_nfs_fh_webnfs): New function.
2875	(flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
2876	(prime_nfs_fhandle_cache): Likewise.
2877	Remove unconditional return of public file handle for WebNFS, but
2878	get NFS file handles via mountd or WebNFS instead.
2879	(webnfs_lookup): New function.
2880	(nfs_umounted): Don't inform mountd if MFF_WEBNFS.
2881	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
2882	packets.
2883	* amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
2884	WebNFS servers.
2885	Mention host in info message.
2886	(find_nfs_srvr): Handle public mount option.
2887	Prefer NFSv3/tcp if the client supports it.
2888	Allow port mount option to override default or result from portmap
2889	lookup.
2890
2891	* libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
2892	xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
2893	xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
2894	* include/am_xdr_func.h: Declare them.
2895	* configure.in: Check for them.
2896	* conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
2897	definitions and types.
2898
28992003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2900
2901	Support IRIX 6 private mount option.
2902
2903	* configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
2904	name string.
2905	(AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
2906	* aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
2907	MNT2_NFS_OPT_PRIVATE): Provide templates.
2908	* include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
2909	* doc/am-utils.texi (opts Option): Document it.
2910
29112003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2912
2913	* doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
2914	mount option.
2915
29162003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2917
2918	* libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
2919	Don't reference removed fh3.
2920
29212003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2922
2923	* NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
2924
2925	* INSTALL: Mention test status of various ports.
2926	Describe IRIX 6 autofs status.
2927
29282003-10-09  Ion Badulescu  <ionut@moisil.badula.org>
2929
2930	* NEWS: updated
2931
2932	* amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
2933	we've done all the tests and we know we have a valid and mountable
2934	mntfs. Otherwise we could end up dereferencing null pointers.
2935
2936	* amd/amd.h: fixed a copy&paste comment bug
2937
2938	* amd/am_ops.c (ops_match): minor code cleanup
2939
2940	* doc/am-utils.texi: fixed various typos; added warning about the
2941	racy nature of nfsx; removed duplicated listing of debug options;
2942	added paragraph about signals supported by hlfsd; removed the long
2943	list of (maybe) supported platforms since it duplicates the list
2944	in INSTALL.
2945
29462003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2947
2948	Simplify FD_SET etc. use.
2949
2950	* include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
2951	if missing.
2952	(rpc_pending_now, run_rpc): Use them.
2953	* configure.in: Check for fds_bits field in fd_set.
2954	* amd/nfs_start.c (run_rpc): Use it.
2955
29562003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2957
2958	Improve RPC XID handling.
2959
2960	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
2961	Convert xid to/from host/network byte order.
2962
29632003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2964
2965	Use NFS V2/V3 file handles instead of mount results.
2966
2967	* include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
2968	only, not MOUNTPROC_MNT results.
2969	* amd/amfs_host.c (fetch_fhandle): Use local variables to store
2970	MOUNTPROC_MNT results.
2971	* amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
2972	* amd/ops_nfs.c (struct fh_cache): New member fh_status.
2973	(got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
2974	Store MOUNTPROC_MNT errors in fh_status.
2975	(prime_nfs_fhandle_cache): Get fh_error from fh_status.
2976	* hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
2977	* libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
2978	handles straight from new am_nfs_fhandle_t.
2979
29802003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2981
2982	* amd/clock.c (CID_ALLOC): Remove unused argument.
2983	(timeout): Likewise.
2984
2985	* amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
2986	(prime_nfs_fhandle_cache): Likewise.
2987	(call_mountd): Use UDPMSGSIZE instead of magic constant.
2988
2989	* amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
2990	(fwd_packet): Likewise.
2991	Handle TLOOK error from t_rcvudata().
2992
29932003-09-30  Ion Badulescu  <ionut@moisil.badula.org>
2994
2995	* NEWS: updated
2996
2997	* libamu/mount_fs.c (mount_fs): don't try to recreate the mount
2998	point if the mount fails with ENOENT: in the best case we would be
2999	papering over a bug, and in the worst case we could cause a
3000	deadlock (with autofs). If there are races, they need to be
3001	exposed and fixed properly.
3002
3003	* conf/autofs/autofs_solaris_v1.h,
3004	  conf/autofs/autofs_solaris_v2_v3.h,
3005	  conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
3006	semantics don't allow us to mount nfsx directly onto an autofs
3007	mountpoint, so disallow it
3008
3009	* amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
3010	to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
3011	map entries...
3012	(amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
3013	in the upper layer, so don't do anything else beside wakeup() on
3014	success
3015	(amfs_nfsx_remount): only create the mountpoints as we need them,
3016	avoids creating them on the wrong filesystem in the case of
3017	hierarchical mounts; fix crash-generating typo (m should really be
3018	mf and I swear I hate single-character variable names)
3019
3020	* amd/amfs_generic.c (amfs_cont): one more dlog
3021	(amfs_bgmount): amazingly enough, even foreground mounts can be
3022	backgrounded (in the case of nfsx), so account for this
3023	possibility and permit retries
3024
3025	* m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
3026	and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
3027
3028	* amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
3029	@AMU_AUTOFS_PROT_HEADER@
3030
30312003-09-29  Erez Zadok  <ezk@urd.fsl.cs.sunysb.edu>
3032
3033	* minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
3034	PlayStation 2)
3035
3036	* amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
3037	"char protocols[]" unless MNTTAB_OPT_PROTO is defined.
3038
30392003-09-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3040
3041	Consolidate alloca support.
3042
3043	* amd/amq_svc.c: Move alloca support ...
3044	* include/am_defs.h: ... here.
3045	* amd/conf_parse.y: Remove alloca support.
3046	* fsinfo/fsi_gram.y: Likewise.
3047
30482003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3049
3050	Handle Solaris 10.
3051	* m4/macros/check_nfs_prot_headers.m4
3052	(AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
3053	sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
3054	Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
3055
3056	* m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
3057	solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
3058	micro releases to cope with Solaris 2.5.1.
3059	Explicitly match solaris2*, sunos5*.
3060
30612003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3062
3063	* amd/amq_svc.c: Provide alloca prerequisites.
3064
3065	* conf/transp/transp_tli.c (register_autofs_service): Fix typo.
3066
30672003-09-23  Ion Badulescu  <ion@opteron.tower-research.com>
3068
3069	* minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
3070	Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
3071
30722003-09-22  Ion Badulescu  <ionut@buggy.badula.org>
3073
3074	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
3075
30762003-09-19  Ion Badulescu  <ionut@moisil.badula.org>
3077
3078	* amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
3079	enough, we should lstat() the sublink if it's defined.
3080	(amfs_nfsl_ffserver): ditto
3081	(ALL): Removed some obsolete comments. The nfsl code is now little
3082	more than a very straight-forward switch between link and nfs.
3083
3084	* amd/amfs_link.c (amfs_link_match): more up-to-date explanation
3085	for the prepend-the-dot hack for type link; also, the sublink is
3086	already normalized and absolute, so take advantage of that
3087
3088	* amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
3089	already normalized and absolute, so take advantage of that
3090
3091	* amd/am_ops.c (ops_match): normalize the sublink here, early into
3092	the matching process
3093
3094	* amd/autil.c (am_mounted): be consistent and accept both
3095	"nounmount" and "noumount" as pseudo mount options (same as
3096	"unmount" and "umount" nearby)
3097
3098	* amd/Makefile.am (build_version.h): fixed dependencies (depends
3099	on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
3100
31012003-09-19  Erez Zadok  <ezk@dhcp8.fsl.cs.sunysb.edu>
3102
3103	* amd/amq_subr.c (amqproc_export_1_svc): force double casting to
3104	avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
3105	type-punned pointer will break strict-aliasing rules".
3106
31072003-09-16  Ion Badulescu  <ionut@moisil.badula.org>
3108
3109	* Released beta version 6.1b4
3110
31112003-09-15  Ion Badulescu  <ionut@moisil.badula.org>
3112
3113	* doc/am-utils.texi (opts Option): removed documentation for old
3114	ignore_portmapper mount option, documented the new webnfs option
3115
3116	* NEWS: webnfs support
3117
3118	* amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
3119	(former "ignore_portmapper") mount option is present
3120
3121	* amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
3122	filehandle (all zeros) if MFF_WEBNFS is set
3123	(nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
3124
3125	* amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
3126
31272003-09-13  Ion Badulescu  <ionut@moisil.badula.org>
3128
3129	* amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
3130	NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
3131	to create_ping_payload; renamed nfs_pinged to
3132	nfs_keepalive_callback; renamed nfs_timed_out to
3133	nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
3134	made ping_buf and ping_len arrays with one element for each
3135	supported nfs version
3136
3137	* amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
3138
3139	* amd/amfs_host.c (amfs_host_init): ditto
3140
3141	* amd/ops_nfs.c (call_mountd): ditto
3142
31432003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3144
3145	* BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
3146	patches.
3147
31482003-08-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3149
3150	* amd/autil.c (strealloc): don't call malloc_verify() unless it
3151	exists.
3152
3153	* configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
3154	after we figure out PROG_CC and other compiler features, because
3155	some of the option processing macros need a compiler to function.
3156
3157	* libamu/xutil.c: don't define variables that won't be used unless
3158	mallinfo() and malloc_verify() exist.
3159	(real_plog): don't call checkup_mem unless
3160	mallocinfo() and malloc_verify() exist.
3161	(checkup_mem): don't define this function unless mallocinfo() and
3162	malloc_verify() exist.
3163
3164	* m4/macros/opt_debug.m4: check for functions malloc_verify and
3165	mallinfo in general libraries and then in libmapmalloc and
3166	libmalloc.  These seem to have disappeared in FreeBSD 5.x.
3167
3168	* libamu/xutil.c (dxfree): print pointer using %p
3169
31702003-08-29  Erez Zadok  <ezk@a-opendarwin.fsl.cs.sunysb.edu>
3171
3172	* configure.in: start 6.1b4-pre officially (belated)
3173
3174	* minor new port: i686-apple-darwin6.6
3175
31762003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3177
3178	* conf/autofs/autofs_solaris_v1.c: convert relative targets to
3179	absolute paths when using lofs mounts
3180
3181	* conf/autofs/autofs_solaris_v2_v3.c: ditto
3182
3183	* conf/autofs/autofs_linux.c: ditto
3184
31852003-08-27  Ion Badulescu  <ionut@buggy.badula.org>
3186
3187	* README.autofs: added a paragraph about the resource consumption
3188	of auto maps over autofs
3189
3190	* amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
3191	the MFF_IS_AUTOFS flag from init_mntfs() to
3192	amfs_lookup_one_mntfs(), where it belongs
3193
3194	* amd/mntfs.c (init_mntfs): ditto
3195
31962003-08-27  Ion Badulescu  <ion@guppy.limebrokerage.com>
3197
3198	* amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
3199	denied a filehandle by the server (used to be EIO)
3200
32012003-08-27  Erez Zadok  <ezk@a-bsdi42.fsl.cs.sunysb.edu>
3202
3203	* conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
3204
32052003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3206
3207	* conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
3208	daemon-initiated timeouts on autofs filesystems, since apparently
3209	they appear as "always busy" to the kernel-based expiration routine
3210
32112003-08-26  Ion Badulescu  <ionut@buggy.badula.org>
3212
3213	* NEWS: updated
3214
3215	* conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
3216	FS_ON_AUTOFS
3217	(AUTOFS_LINKX_FS_FLAGS): ditto
3218
3219	* conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
3220	FS_ON_AUTOFS
3221	(AUTOFS_LINKX_FS_FLAGS): ditto
3222
3223	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
3224	FS_ON_AUTOFS
3225	(AUTOFS_LINKX_FS_FLAGS): ditto
3226
3227	* amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
3228	original opt_fs, instead store the new mount point for autofs in a
3229	temporary variable and pass it around. Fixes a problem with the
3230	link side of nfsl.
3231
32322003-08-25  Ion Badulescu  <ionut@moisil.badula.org>
3233
3234	* NEWS: updated
3235
3236	* amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
3237	initialize the fh_wchan member of the cache entry
3238	(prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
3239	argument of call_mountd()
3240
3241	* amd/map.c (free_map_if_success): use get_mntfs_wchan for the
3242	wchan_t argument of wakeup()
3243
3244	* amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
3245	wchan_t argument of wakeup_task() and wakeup()
3246
3247	* amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
3248	wchan_t argument of nfs_srvr_port()
3249
3250	* amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
3251	argument of sched_task() and wakeup()
3252	(amfs_retry): minor cleanup
3253	(amfs_bgmount): call nfs_quick_reply on failure
3254
3255	* amd/sched.c (get_mntfs_wchan): new function which calls the
3256	member function get_wchan if defined, otherwise returns the mntfs
3257	pointer itself
3258
3259	* amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
3260	calls get_mntfs_wchan() on the inherited filesystem
3261
3262	* amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
3263	of the ops to 0
3264
3265	* amd/amd.h: new function type vget_wchan
3266	(struct mntfs): new member get_wchan which returns the waiting
3267	channel associated with the mntfs (normally itself)
3268
32692003-08-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3270
3271	* conf/mount/mount_linux.c (parse_opts): minor cleanup
3272
3273	* conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
3274	break in case autofs_ptype_expire_multi
3275
32762003-08-22  Ion Badulescu  <ionut@moisil.badula.org>
3277
3278	* conf/autofs/autofs_solaris_v1.h: undefine autofs support if
3279	autofs_args_t cannot be determined (hopefully fixes a reported
3280	IRIX 6.5.4 problem).
3281
3282	* conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
3283	HAVE_FS_AUTOFS / #endif (see above)
3284
3285	* conf/autofs/autofs_linux.h: undefine autofs support if the
3286	necessary header files are not found (fixes a reported RedHat 6.2
3287	Sparc problem).
3288
3289	* conf/autofs/autofs_linux.c: wrap entire file in #ifdef
3290	HAVE_FS_AUTOFS / #endif (see above)
3291
3292	* libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
3293	if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
3294
3295	* amd/map.c (unmount_mp, unmount_exported): move the code that
3296	changes the fattr from NFLNK to NFDIR from unmount_mp to
3297	unmount_exported, it was causing troubles (ESTALE) after failed
3298	unmounts. This is still very very unclean, but it's the same as the
3299	old 6.0 code.
3300
33012003-08-22  Nick Williams <Nick.Williams@morganstanley.com>
3302
3303	* amd/info_ldap.c (amu_ldap_init): don't try to pass a null
3304	pointer as a string to plog, Solaris (and other OS's) don't like
3305	it and will dump core.
3306
33072003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
3308
3309	* amd/amd.h: introduced two new types, wchan_t and opaque_t, as
3310	aliases of voidp. This makes reading the code easier on the eyes. :)
3311
3312	* ALL: replace various instances of voidp with wchan_t and
3313	opaque_t, as appropriate
3314
33152003-08-13  Ion Badulescu  <ionut@nicu.badula.org>
3316
3317	* NEWS, configure.in: bumped version up to 6.1b4-pre
3318
33192003-08-13  Ion Badulescu  <ionut@moisil.badula.org>
3320
3321	* Released beta version 6.1b3
3322
33232003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
3324
3325	* conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
3326	symlinks for host mounts; assorted fixes for the symlink mode
3327
33282003-08-05  Ion Badulescu  <ionut@moisil.badula.org>
3329
3330	* conf/umount/umount_default.c (umount_fs): enable space hack
3331	handling for autofs v1
3332
3333	* amd/map.c (get_first_exported_ap, get_next_exported_ap): new
3334	functions that facilitate iterating through the list of
3335	mountpoints
3336
3337	* amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
3338	and get_next_exported_ap
3339
3340	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
3341
33422003-08-04  Erez Zadok  <ezk@ulkesh.dyn.optonline.net>
3343
3344	* configure.in: check if system stores mount tables in files
3345	(usually in /etc), and configure couldn't find a definition for
3346	either struct mntent or struct mnttab.  If so, abort configure
3347	because this could be a new/misconfigured system, or a bug in
3348	am-utils.
3349
33502003-08-04  Ion Badulescu  <ionut@moisil.badula.org>
3351
3352	* conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
3353	compile warning
3354
33552003-08-04  Ion Badulescu  <ionut@buggy.badula.org>
3356
3357	* conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
3358	ops->mount_fs() for an already mounted filesystem
3359	(autofs_umount_fs): only call ops->umount_fs() if we're holding
3360	the last reference to the filesystem
3361
3362	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
3363	(autofs_umount_fs): ditto
3364
3365	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
3366	(autofs_umount_fs): ditto
3367
3368	* amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
3369	already-mounted filesystems
3370	(amfs_cont): only release the autofs_fh if the filesystem is not
3371	mounted; add another comment about the NFS_SCALEDOWN hack
3372	(amfs_bgmount): if the mntfs is already mounted, skip just the
3373	filesystem initialization, but do call mount_node()
3374
3375	* amd/map.c (mount_node): always call autofs_mount_fs(), but only
3376	call ops->mount_fs() if the mntfs is not yet mounted
3377	(unmount_node): always call autofs_umount_fs(), but only call
3378	ops->umount_fs() if the refcount on the mntfs equals 1.
3379
33802003-08-02  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3381
3382	* conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
3383	here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
3384	define dummy struct netexport, and include <ufs/ufs/extattr.h>
3385	wrapped in _KERNEL).
3386
3387	* conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
3388	here with the proper workarounds for freebsd5.1 (define dummy
3389	struct ufs_extattr_per_mount).
3390
3391	* conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
3392	here with the proper workarounds for bsdi2 (define MAXQUOTAS and
3393	dummy struct netexport).
3394
3395	* include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
3396	here, b/c every *BSD system has some sort of problem in including
3397	this header file, which includes ugly workarounds.  Inclusion of
3398	this header was already moved out of am_defs.h (used to compile
3399	amd), but we forgot to move it out of mount_headers1.h (used to
3400	configure).  The specific inclusion of ufsmount.h is now in the OS
3401	specific nfs_prot.h file.
3402
3403	* configure.in: if configure could not find any definition for
3404	"struct nfs_args", abort configure with an explanatory message.
3405	There's no point in continuing, as this could be a system bug,
3406	buggy am-utils, or a new system to which am-utils wasn't ported to
3407	yet.
3408
3409	* minor new port: i386-pc-solaris2.9
3410
34112003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
3412
3413	* doc/am-utils.texi (NFS-Link Filesystem): make the documentation
3414	match the code (as well as basic logic operations: the negation of
3415	'a or b' is 'not a and not b', not 'not a or not b')
3416
34172003-08-01  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3418
3419	* minor new port: i386-unknown-openbsd3.3.
3420
3421	* m4/macros/check_libwrap_severity.m4: new macro to check if
3422	libwrap includes the integer variables deny_severity and
3423	allow_severity, since some libwrap implementations do and others
3424	don't.  The test tries to compile and run a simple empty main()
3425	program, then the same program while defining these two variables:
3426	comparing the results of the two tests, we can tell whether we
3427	should define NEED_LIBWRAP_SEVERITY_VARIABLES.
3428
3429	* Makefile.am (EXTRA_DIST_M4): distribute new macro
3430	check_libwrap_severity.m4.
3431
3432	* m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
3433	we must define explicitly since we've overridden the
3434	action-if-found in AC_CHECK_LIB(wrap).  Also template for
3435	NEED_LIBWRAP_SEVERITY_VARIABLES.
3436
3437	* amd/amq_svc.c: if libwrap does not include the severity
3438	variables, then define and initialize them here.
3439
3440	* amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
3441	Amd binary.  Other am-utils binaries don't need -lwrap.
3442
3443	* configure.in: if libwrap is found, only define it in @WRAPLIB@,
3444	so we don't automatically link every am-utils binary with -lwrap.
3445	Run test for existence of severity variables in libwrap.
3446
34472003-07-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3448
3449	* conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
3450	and gid.
3451
3452	* configure.in: move check for AC_CHECK_LIB(libwrap) as far down
3453	as possible because on modern tcpwrapper systems such as openbsd,
3454	the caller must provide two symbols: deny_severity and
3455	allow_severity, which determine the logging level of rejected and
3456	requested requests, respectively.  If this check happens too
3457	early, then $LIBS includes -lwrap, which causes many subsequent
3458	tests that need to run a compiled program to fail with missing
3459	symbols.
3460
3461	* m4/macros/header_templates.m4: fix typo in template for
3462	readdirplus.
3463
3464	* configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
3465
3466	* minor new port: i386-unknown-netbsdelf1.6.1.
3467
3468	* configure.in: save state before system-specific tests are run.
3469
3470	* m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
3471	because the compiled test program failed to run.
3472
34732003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
3474
3475	* NEWS, README.autofs: updated
3476
3477	* libamu/mount_fs.c (mount_fs): added support for the space hack
3478
3479	* doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
3480	are not expired by default; correct and expand the section
3481	describing the program filesystem
3482
3483	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
3484	FS_ON_AUTOFS for supported filesystems
3485
3486	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
3487	mf->mount_fs()
3488	(autofs_umount_fs): call mf->umount_fs()
3489
3490	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
3491	prototype for malloc()
3492	(AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
3493	supported filesystems
3494
3495	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
3496	for the space hack; call mf->mount_fs()
3497	(autofs_umount_fs): add support for the space hack; call
3498	mf->umount_fs()
3499	(autofs_mount_succeeded): add support for the space hack
3500
3501	* conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
3502	FS_ON_AUTOFS for supported filesystems
3503
3504	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
3505	AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
3506	(autofs_mounted): host mounts are now supported on all autofs
3507	versions, remove the hack to turn it off on v3
3508	(autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
3509	as needed
3510	(autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
3511	success
3512	(ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
3513	'#ifdef autofs_ptype_expire_multi'
3514
3515	* amd/map.c (mount_node): autofs_mount_fs() now calls
3516	mf->mount_fs() internally
3517	(unmount_node): autofs_umount_fs() now calls mf->umount_fs()
3518	internally
3519
3520	* amd/autil.c (am_mounted): minor cleanup
3521
3522	* amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
3523	nfs_fs_flags
3524
3525	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
3526	flag instead of hardcoding filesystem types
3527	(amfs_bgmount): better mount_type logging
3528
3529	* amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
3530	this filesystem can be mounted directly onto an autofs mountpoint
3531
35322003-07-31  Ion Badulescu  <ionut@buggy.badula.org>
3533
3534	* amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
3535	calling amfs_link_ops.umount_fs() for NFS filesystems)
3536	(amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
3537	properly elsewhere
3538	(amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
3539	using link (not NFS)
3540
35412003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3542
3543	* README.autofs: Correct IRIX spelling.
3544	AutoFS support exists only on IRIX 6.
3545	Update IRIX 6 status.
3546
3547	Allow AutoFS V1 support to compile on IRIX 6.
3548	* conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
3549	SVCXPRT * arg.
3550	Remove superfluous \n from dlog messages.
3551	(autofs_unmount_1_req): Likewise.
3552	Switch to get_exported_ap.
3553	(autofs_program_1): Invoke handlers with additional transp arg.
3554	* conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
3555	autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
3556
3557	* conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
3558	AutoFS mounts.
3559	[HAVE_FS_LOFS]: Likewise for lofs mounts.
3560
3561	* conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
3562	Don't disable AutoFS support any more.
3563
3564	* conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
3565	(register_autofs_service): Define autofs_xprt.
3566
3567	* m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
3568	Solaris 8+ comment to mention AutoFS V4.
3569	(irix6*): Enable AutoFS V1 support on IRIX 6.
3570
35712003-07-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
3572
3573	* NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
3574	of autofs_use_lofs.
3575
35762003-07-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3577
3578	* amd/ops_efs.c (efs_mount): Replace on_autofs arg with
3579	MFF_ON_AUTOFS flag.
3580	(efs_umount): Likewise.
3581
35822003-07-30  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3583
3584	* conf/umount/umount_bsd44.c (umount_fs): convert to new way of
3585	unmounting which takes autofs into account.
3586
35872003-07-30  Ion Badulescu  <ionut@moisil.badula.org>
3588
3589	* ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
3590	hack; pass a new on_autofs argument to mount/umount function,
3591	based on the MFF_ON_AUTOFS mntfs flag
3592
3593	* NEWS, README.autofs: updated
3594
3595	* scripts/amd.conf.5: document new option autofs_use_lofs
3596
3597	* scripts/amd.conf-sample (autofs_use_lofs): document new option
3598
3599	* m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
3600	the autofs header as amu_autofs_prot.h instead of slurping it into
3601	aux_conf.h
3602
3603	* libamu/mount_fs.c (mount_fs): removed old stub, renamed
3604	mount_fs2 to mount_fs, added new argument on_autofs
3605
3606	* doc/am-utils.texi (Direct Automount Filesystem): document
3607	problems with nfs direct mounts on modern kernels, document good
3608	autofs support for direct mounts on Solaris
3609	(autofs_use_lofs Parameter): document this new option
3610	(browsable_dirs Parameter): note that mount storms are avoided
3611	when using autofs
3612
3613	* conf/umount/umount_bsd44.c (umount_fs): removed old stub,
3614	renamed umount_fs2 to umount_fs
3615
3616	* conf/umount/umount_osf.c (umount_fs): removed old stub,
3617	renamed umount_fs2 to umount_fs, added new argument on_autofs
3618
3619	* conf/umount/umount_default.c (umount_fs): ditto as above; return
3620	an error on ENOENT instead of faking success
3621
3622	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
3623	simplified, now only consults the map for existance of the key and
3624	returns success if key is found
3625	(autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
3626	not on;
3627	(autofs_mount_2_free): implemented
3628	(autofs_unmount_2_req): use get_exported_ap() instead of
3629	referencing export_ap directly
3630	(autofs_mount_succeeded): remove code for replying to lookup
3631	requests, now only mount requests can end up here
3632	(autofs_mount_failed): ditto
3633
3634	* conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
3635	FS_AUTOFS
3636	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
3637
3638	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
3639	FS_AUTOFS
3640	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
3641	(AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
3642
3643	* conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
3644	factored out of autofs_umount_fs()
3645	(autofs_mount_fs): renamed from autofs_link_mount() and expanded
3646	to deal with filesystems mounted indirectly (via lofs/bind
3647	mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
3648	(autofs_umount_fs): ditto, from autofs_link_umount()
3649
3650	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
3651	* (autofs_umount_fs): ditto
3652
3653	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
3654	* (autofs_umount_fs): ditto
3655
3656	* amd/opts.c: made fs_static static
3657
3658	* amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
3659	and nfs_umounted static
3660	(mount_nfs_fh): removed unnecessary arguments
3661
3662	* amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
3663	the ffserver method, because using NULL causes problems
3664
3665	* amd/ops_cdfs.c (cdfs_ops): ditto
3666
3667	* amd/ops_efs.c (efs_ops): ditto
3668
3669	* amd/ops_lofs.c (lofs_ops): ditto
3670
3671	* amd/ops_pcfs.c (pcfs_ops): ditto
3672
3673	* amd/ops_ufs.c (ufs_ops): ditto
3674
3675	* amd/ops_xfs.c (xfs_ops): ditto
3676
3677	* amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
3678	map.c
3679
3680	* amd/nfs_start.c: use get_exported_ap() instead of referencing
3681	exported_ap directly
3682
3683	* amd/mntfs.c (locate_mntfs): new function, factored out of
3684	find_mntfs
3685	(locate_mntfs): special-case FS_DIRECT filesystems: for direct
3686	mounts we will have two filesystems mounted on the same m/p
3687	(realloc_mntfs): removed the old EZK hack for failovers
3688
3689	* amd/map.c (get_exported_ap): new function that returns an
3690	exported_ap member by its index
3691	(root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
3692	made static
3693	(fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
3694	(get_root_ap): removed unused second argument
3695	(unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
3696	to catch more cases
3697	(mount_node): call autofs_mount_fs after ops->mount_fs for autofs
3698	nodes
3699	(unmount_node): call autofs_umount_fs before ops->umount_fs for
3700	autofs nodes
3701
3702	* amd/conf.c: new global option "autofs_use_lofs", takes yes/no
3703	values
3704
3705	* amd/autil.c (amfs_mount): take an extra argument (mf)
3706	(amfs_mount): call autofs_compute_mount_flags() for mounts
3707	directly on autofs m/p
3708	(am_unmounted): document and avoid the race between am_umounted()
3709	at shutdown time and amfs_cont()
3710
3711	* amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
3712	instead of referencing internal map variables directly
3713
3714	* amd/amq_subr.c (amqproc_export_1_svc): ditto
3715
3716	* amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
3717	nfs_fs_flags
3718	(amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
3719	(amfs_toplvl_umount): refuse to attempt the unmount if the
3720	mountpoint is not a directory
3721
3722	* amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
3723	flag into the nfs f/s at the bottom of the stack
3724
3725	* amd/amfs_nfsl.c: call nfs and link member functions through
3726	their respective am_ops structures, not directly
3727
3728	* amd/amfs_linkx.c (amfs_linkx_umount): new static stub
3729
3730	* amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
3731	static functions
3732	(amfs_link_mount): removed call to autofs_link_mount()
3733	(amfs_link_umount): removed call to autofs_link_umount()
3734
3735	* amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
3736	nfs_fs_flags
3737	(do_mount): removed superfluous function arguments
3738
3739	* amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
3740	nfs_fs_flags
3741
3742	* amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
3743	nfs_fs_flags
3744	(amfs_auto_mount): pass extra argument (mf) to amfs_mount
3745
3746	* amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
3747	use lofs-mounts or symlinks when mounting on autofs
3748	(CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
3749	(VLOOK_LOOKUP): new flag, will merely check if a key exists
3750	(MFF_IS_AUTOFS): renamed from MFF_AUTOFS
3751	(MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
3752	on an autofs m/p, or indirectly via a lofs mount/symlink
3753	(fh_to_mp2): macro expanded throughout the code and removed
3754	(mntfs): removed mf_real_mount hack
3755	(autofs_mount_fs): renamed from autofs_link_mount
3756	(autofs_umount_fs): renamed from autofs_link_umount
3757	(mount_lofs): exposed
3758	various other cleanups, functions/variables made static and removed
3759
3760	* aux_conf.h.in: removed @am_utils_autofs_style@, it is now
3761	included directly as amu_autofs_prot.h
3762
37632003-07-24  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
3764
3765	* doc/am-utils.texi, scripts/amd.conf.5: document that
3766	use_tcpwrappers is "yes" by default.
3767
3768	* amd/amd.c (init_global_options): set default global options.
3769
3770	* amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
3771	are always on (plock and use_tcpwrappers).
3772
3773	* scripts/amd.conf-sample: reorganize values per option so default
3774	one is listed first.
3775
37762003-07-23  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3777
3778	* tasks: trim old stuff.  Discuss new parser.
3779
3780	* amd/conf.c (set_conf_kv): initialize the very first map in conf
3781	file from global defaults.  Bug fix which was introduced after
3782	conf.c code restructuring.
3783
37842003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3785
3786	* m4/macros/header_templates.m4: template for
3787	HAVE_EXTERN_HOSTS_CTL.
3788
3789	* include/am_defs.h: define extern for hosts_ctl() if needed.
3790
3791	* configure.in (AMU_CHECK_EXTERNS): check for extern definition
3792	for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
3793
3794	* m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
3795
37962003-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
3797
3798	* hlfsd/hlfsd.h: redundant extern for mboxfile removed.
3799
3800	* amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
3801	amd.conf global option use_tcpwrappers=yes.
3802
3803	* scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
3804	doc/am-utils.texi (use_tcpwrappers Parameter): document new
3805	amd.conf global option.
3806
3807	* amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
3808	option called use_tcpwrappers ("no" by default).
3809
3810	* amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
3811	code only if both libwrap and tcpd.h exist.
3812	(amq_program_1): log warning when an Amq service client is denied,
3813	and a debug message when a client is allowed.
3814
3815	* amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
3816	(AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
3817
3818	* include/am_defs.h: include tcpd.h if available and libwrap
3819	available.
3820
3821	* configure.in: check for tcpd.h.
3822
38232003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3824
3825	* scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
3826	hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
3827	because it removes useful spaces in between paragraphs.  Based on
3828	smaller patch from Philippe Troin <phil@fifi.org>.
3829
38302003-07-17  Philippe Troin  <phil@fifi.org>
3831
3832	* amq/amq.8: Document the libwrap/amd behavior.
3833
3834	* amd/amq_svc.c (libwrap_check_client): New function to validate
3835	an amq connection with libwrap.
3836	(amq_program_1): Call libwrap_check_client() and close the
3837	connection if libwrap does not allow it.
3838
3839	* configure.in: Check for the tcp wrappers library.
3840
38412003-07-17  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3842
3843	* amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
3844	amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
3845	(hlfsd_init): cast pointers to void* before casting them to
3846	another type, to avoid gcc-3.3 -Wall warnings.
3847
3848	* fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
3849	avoid conflict with builtin function in gcc-3.3.
3850
38512003-07-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3852
3853	* scripts/amd.conf-sample: Remove obsolete comment.
3854
38552003-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
3856
3857	* amd/info_file.c (read_line): check for errors from fgets().
3858	Although rare, they can occur upon disk or network failures.
3859	Patch from Nick Williams <Nick.Williams@morganstanley.com>.
3860
38612003-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3862
3863	* BUGS (Solaris 8): Update patch revisions, mention old autofs
3864	patches, fix filenames and rpcgen command.
3865
38662003-07-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
3867
3868	* doc/am-utils.texi (map_defaults Parameter): document new
3869	map_defaults option.
3870
3871	* scripts/amd.conf.5: document new map_defaults option.
3872
3873	* scripts/amd.conf-sample (map_type): show examples of new
3874	map_defaults option.
3875
3876	* amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
3877
3878	* amd/get_args.c (get_args): call process_all_regular_maps().
3879
3880	* amd/conf.c: keep head and tail of cfm list.
3881	(init_cf_map): reworked reset_cf_map.  This one doesn't reset a
3882	globaly reused cfm, but rather just inherits [global] options.
3883	(set_conf_kv): just store global/map options without actually
3884	creating any mnt_map's.  Essentially, we now parse the whole
3885	amd.conf file, and then try to process the maps one at a time.
3886	(process_one_regular_map): new function to process one map, just
3887	renamed from process_regular_map.
3888	(process_all_regular_maps): new exported function to process all
3889	maps.  No need for hacky process_last_map().
3890	(find_cf_map): new exported function to return a cf_map_t given a
3891	map's mount point (e.g., /home or /net).
3892
3893	* amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
3894	specificed a map_defaults for a given map.  If so, use that
3895	instead of the /defaults that came from the map itself.  Also
3896	restructure code a bit so it's not one huge long "if" statement.
3897
3898	HACK ALERT: there's no easy way to find out what the map mount
3899	point is at this point, so I am forced to initialize the
3900	mnt_map->cfm field here for the first time, upon the very first
3901	search for a /defaults entry in this map.  This initialization is
3902	much better done in mapc_create(), but it's impossible to do that
3903	there with the current code structure.
3904
3905	* amd/amd.h: struct cf_map becomes linked list.  struct mnt_map
3906	includes pointer to cf_map_t, amd.conf defaults and options for a
3907	given map. extern cleanups.
3908
39092003-07-15  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3910
3911	* amd/info_hesiod.c (hesiod_search): It's not possible to have a
3912	key such as ".access" in a hesiod map as that would imply a null
3913	node in the DNS tree.  So a lookup for such a key must clearly
3914	fail.  With the current info_hesiod.c it does (after calling
3915	hes{,iod}_resolve) but returns an error that confuses some
3916	programs - eg. apache.  This patch shortcuts the process and just
3917	returns ENOENT for any key starting with ".".  Patch submitted by
3918	by Mark Davies <mark@mcs.vuw.ac.nz>.
3919
3920	* include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
3921	fsinfo's own xcalloc.
3922
3923	* fsinfo/fsi_util.c (xcalloc): remove redundant function.
3924
39252003-07-14  Erez Zadok  <ezk@cs.sunysb.edu>
3926
3927	* include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
3928	xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
3929	never defined.  Define it as needed.  Patch from Mark Davies
3930	<mark@mcs.vuw.ac.nz>.
3931
39322003-07-14  Ion Badulescu  <lionut@gonzales.badula.org>
3933
3934	* BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
3935	v4 without updating all the header files)
3936
39372003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
3938
3939	* NEWS, tasks: updated
3940
3941	* amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
3942	the am_mfarray, unconditionally
3943	(amfs_bgmount): call free_mntfs when we're done with a mntfs, call
3944	dup_mntfs when starting processing of a new one; make sure we
3945	always go through 'goto failed' for a failed mntfs; use the error
3946	code returned by autofs_get_fh()
3947
3948	* conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
3949	codes in case of problems
3950
39512003-07-13  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3952
3953	* BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex.  In
3954	short, use flex.
3955
39562003-07-13  Erez Zadok  <ezk@a-hpux11.fsl.cs.sunysb.edu>
3957
3958	* fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
3959	lex scanners don't run out of mem.
3960
39612003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
3962
3963	* amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
3964	special provision
3965
3966	* amd/mntfs.c (find_mntfs): compare the filesystem type
3967	(i.e. mf_ops) in addition to mf_info; the special provision
3968	mentioned below is really for any filesystem already mounted on
3969	our mount point, not just for inherited filesystems
3970
39712003-07-13  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
3972
3973	* doc/Makefile.am (install-html): build per-chapter HTML manual,
3974	as well as manual in one big HTML file.
3975
3976	* doc/am-utils.texi: Minor corrections.  Ack Ion's autofs work.
3977	Ack maintainers.  New section on How to get additionl info,
3978	including the Amd book.  Correct stale URLs and Emails.
3979
3980	* amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
3981	fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
3982	scripts/amd.conf.5, scripts/automount2amd.8,
3983	wire-test/wire-test.8: include references to info pages, proper
3984	authors, am-utils Web page, and amd book.
3985
39862003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
3987
3988	* amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
3989	a special provision for inherited filesystems. This unbreaks the
3990	handling of parallel mounts
3991
3992	* amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
3993	filesystems, there can be no alternative mntfs to try to mount
3994
39952003-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
3996
3997	* amd/amd.8: reference am-utils info page in amd man page, as per
3998	Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
3999
4000	* fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
4001	yywrap() if it doesn't exist.
4002
4003	* amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
4004	fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
4005	newer flex 2.5.31 (beta development).  These include resolving
4006	conflicts with yylineno, unput() vs. nounput(), etc.
4007
40082003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4009
4010	* amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
4011	calling assign_error_mntfs()
4012	(amfs_generic_mount_child): ditto
4013
4014	* amd/autil.c (assign_error_mntfs): move the check for
4015	(am_error > 0) up into the caller, it's less confusing that way
4016
4017	* tasks: some updates
4018
4019	* conf/transp/transp_tli.c (check_pmap_up): new function which
4020	detects if the remote portmapper is functional
4021	(amu_clnt_create_best_version): removed
4022	(get_nfs_version): use a much simplified version of the old
4023	amu_clnt_create_best_version(), based on clnt_create_vers() and
4024	its _timed() counterpart
4025
4026	* conf/transp/transp_sockets.c (check_pmap_up): new function which
4027	detects if the remote portmapper is functional
4028	(pmap_ping): deleted
4029	(get_nfs_version): removed calls to pmap_ping, already done by
4030	caller
4031
4032	* amd/srvr_nfs.c: call check_pmap_up() before continuing with
4033	get_nfs_version()
4034
4035	* amd/amfs_generic.c: updated a couple of log messages
4036
4037	* configure.in: detect clnt_create_vers and clnt_create_vers_timed;
4038	changed LIBTOOL versioning to 3:0:0
4039
40402003-07-12  Ion Badulescu  <lionut@gonzales.badula.org>
4041
4042	* conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
4043	FS_AUTOFS because the host mount cannot be a top level mount
4044	(AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
4045	doesn't support direct mounts
4046
40472003-07-12  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4048
4049	* amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
4050	macros.
4051
40522003-07-10  Ion Badulescu  <ionut@buggy.badula.org>
4053
4054	* include/am_utils.h (dlog): improved version for gcc, using
4055	vararg macros
4056
4057	* amd/rpc_fwd.c (fwd_packet): unused variable when compiling
4058	without debugging
4059
40602003-07-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4061
4062	* include/am_utils.h (dlog): change the #define of non-debugging
4063	dlog to "nothing" so that all that'll be left behind is a list of
4064	args in parenthesis (arg,arg,...).  GCC and other native C
4065	compilers seem OK with it, even if it doesn't optimize away the
4066	whole debugging line.
4067
4068	* ltmain.sh: was from libtool 1.4.2.  updated to libtool 1.4.3,
4069	the latest on RH9 systems (but is not the latest libtool
4070	available).  Stay with stable version in preparation for 6.1
4071	release.
4072
4073	* config.{guess,sub}, doc/texinfo.tex: update to latest off of
4074	ftp.gnu.org.
4075
40762003-07-09  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4077
4078	* amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
4079	style comments: breaks non-C++ compilers (like AIX xlC 6)
4080
40812003-07-02  Ion Badulescu  <ionut@buggy.badula.org>
4082
4083	* doc/am-utils.texi (opts Option): document ignore_portmapper option
4084
4085	* conf/transp/transp_sockets.c (get_nfs_version): better
4086	protocol/version cycling while probing remote server; better log
4087	messages
4088
4089	* amd/srvr_nfs.c (start_ping): improved log message
4090	(find_nfs_srvr): always use requested nfs_version/nfs_proto; make
4091	sure we have a valid NFS port; start the server as "valid, down" if
4092	the remote portmapper tells us the NFS service is not running;
4093	implement the "ignore_portmapper" pseudo-mount option
4094
4095	* amd/rpc_fwd.c (fwd_packet): better debug messages
4096
4097	* amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
4098	denied; call wakeup even if mountd call fails
4099
4100	* amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
4101	instead of checking the flags directly
4102	* amd/srvr_amfs_auto.c (free_srvr): ditto
4103
4104	* amd/amfs_generic.c (amfs_bgmount): refined some error/debug
4105	messages
4106
4107	* amd/amd.h (FSRV_ERROR): new macro
4108	(FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
4109	local filesystem) is always up
4110
41112003-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
4112
4113	* amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
4114	umount options are present.
4115
4116	* doc/am-utils.texi (Program Filesystem): document alias options
4117	to unmount:=, umount:=.
4118
4119	* amd/opts.c (expansions): initialize opt_umount.
4120	(to_free): initialize opt_umount.
4121
4122	* amd/amfs_program.c (amfs_program_match): ensure that only one of
4123	umount:= or unmount:= options are specified, but that at least one
4124	of them is listed.
4125
4126	* amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
4127	annoying in type:program, when one forgets the 'n' in "unmount").
4128	They are two separate fields, so we can catch mistakes when
4129	someone tries to define both options.
4130
4131	* doc/am-utils.texi (Program Filesystem): explain that both mount
4132	and unmount options must be specified.  Correct example to show
4133	both.
4134
41352003-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
4136
4137	* XXX: beginning of new amd.conf option map_defaults: will parse
4138	the option and set remember it in the right places.  Need to
4139	document this and actually hook it up with the rest of the code.
4140	Any volunteers? :-)
4141
4142	* scripts/amd.conf-sample (map_defaults): example of map_defaults
4143	amd.conf option.
4144
4145	* amd/conf.c (reset_cf_map): initialize global and per-mount
4146	map_defaults.
4147	(gopt_map_defaults): parse global map_defaults.
4148	(process_regular_option,ropt_map_defaults): parse per-map
4149	map_defaults amd.conf option.
4150
4151	* amd/amd.h: a place to store global and per-mount map_defaults.
4152
4153	* BUGS: more notes about AIX 5.2 problems and how to overcome
4154	them.
4155
41562003-06-10  Erez Zadok  <ezk@cs.sunysb.edu>
4157
4158	* doc/Makefile.am: force version.texi to be rebuilt regardless of
4159	maintainer mode.  Silly Automake will not build version.texi if
4160	maintainer mode is off (this is hardcoded into the automake perl
4161	script!).  According to the Automake maintainers, users should
4162	always build in CVS trees with maintainer-mode on; but what if I
4163	don't want to?!  I don't want to distribute Makefiles with
4164	maintained rules in them to users.  The Automake maintainers also
4165	say that "make dist" will rebuild version.texi no matter what.  I
4166	find that not to be the case.  It failed to run a "make" before
4167	"make dist" because version.texi doesn't exist!  Chicken and Egg
4168	situation.  So, until Automake deals with version.texi in a more
4169	flexible and friendly manner, I adapted a rule to build
4170	version.texi and inserted it in this Makefile.am.
4171
41722003-06-09  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4173
4174	* mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
4175	next best thing to using mkstemp().  Patch from Hendrik Scholz
4176	<hscholz@raisdorf.net>.
4177
41782003-05-08  Ion Badulescu  <ion@guppy.limebrokerage.com>
4179
4180	* libamu/mount_fs.c (compute_automounter_mount_flags): use
4181	MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
4182
4183	* m4/macros/header_templates.m4: added template for
4184	MNT2_GEN_OPT_AUTOMOUNTED
4185
41862003-05-01  Ion Badulescu  <ionut@nicu.badula.org>
4187
4188	* amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
4189
41902003-04-23  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4191
4192	* conf/transp/transp_sockets.c (create_amq_service): minor cpp
4193	directive indentation and commenting.
4194
41952003-04-22  Ion Badulescu  <ionut@moisil.badula.org>
4196
4197	* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
4198	for an RPC library DoS issue (original patch from Martin Blapp,
4199	massaged into something more digestable by me)
4200
42012003-04-14  Ion Badulescu  <ionut@moisil.badula.org>
4202
4203	* conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
4204	left over from the recent cleanup
4205
42062003-04-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4207
4208	* doc/Makefile.am (DVIPS): use proper options for dvips.
4209
4210	* doc/am-utils.texi (opts Option): document new 'unmount' option,
4211	and better explain the 'nounmount' option.  Also some misc options
4212	for better generation of html manual.
4213
4214	* doc/Makefile.am (install-html): support newer texi2html 4.0
4215	options, as older options were renamed or changed behavior.
4216
4217	* amd/autil.c (am_mounted): support new 'unmount' option, to allow
4218	all file system mounts to timeout and thus expire.  This option is
4219	useful for removable local media such as CD-ROMs, USB drives,
4220	etc. so they can expire when not in use, and get unmounted (such
4221	drives can get work out when they keep spinning).  Patch from
4222	Christos Zoulas <christos@zoulas.com> (originally from Koji
4223	Imada).
4224
42252003-04-10  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4226
4227	* configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
4228	do not get added to Makefiles by default (they are confusing to
4229	users who don't have autotools installed).
4230
42312003-04-09  Ion Badulescu  <ion@guppy.limebrokerage.com>
4232
4233	* amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
4234	the 2001-05-23 entry) back to the 6.0 code
4235
42362003-04-04  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4237
4238	* libamu/xutil.c (switch_to_logfile): don't try to print logfile
4239	if it is null (strlen core dump on solaris).  Bug report from John
4240	P. Rouillard <rouilj@ieee.org>.
4241
42422003-03-31  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4243
4244	* fsinfo/fsinfo.8: typo co-ordinate -> coordinate.  Typo report
4245	from Perry E. Metzger" <perry@piermont.com>.
4246
42472003-03-25  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4248
4249	* include/am_defs.h: Don't include malloc.h if stdlib.h exists,
4250	because modern systems (e.g., BSD) complain if you use malloc.h
4251	instead of stdlib.h.  Let's hope there are no systems out
4252	there that need both.
4253
42542003-03-20  Erez Zadok  <ezk@suse73.fsl.cs.sunysb.edu>
4255
4256	* minor new port: sparc64-unknown-linux-suse7.3.
4257
42582003-03-20  Erez Zadok  <ezk@a-freebsd5.fsl.cs.sunysb.edu>
4259
4260	* minor new port: i386-unknown-freebsd5.0.
4261
4262	* configure.in: detect nfsclient/nfsargs.h.
4263
4264	* conf/nfs_prot/nfs_prot_freebsd3.h: include
4265	<nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
4266
42672003-03-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4268
4269	* amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
4270	scripts/amd.conf.5, scripts/expn.1: minor spell checking and
4271	extraneous space elimination.
4272
42732003-03-07  Ion Badulescu  <ionut@buggy.badula.org>
4274
4275	* conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
4276	descriptors if limit exceeded
4277	(autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
4278	(autofs_release_fh): release pending_mounts and pending_umounts
4279	queues
4280	(autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
4281
4282	* amd/mntfs.c (init_mntfs): delete initialization of removed
4283	mf_autofs_fh
4284	(uninit_mntfs): delete call to autofs_release_fh()
4285
4286	* amd/map.c (init_map): init autofs_fh to 0, delete initialization
4287	of removed autofs_data
4288	(free_map): release autofs_fh after unmounting map; delete call to
4289	autofs_free_data()
4290	(umount_exported): call autofs_release_mp() prior to unmounting
4291	autofs f/s
4292	(unmount_mp): ditto
4293	(free_map_if_success): call autofs_get_mp() if unmounting fails
4294	(timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
4295	timeouts instead of the per-mountpoint am_ttl
4296
4297	* amd/autil.c (am_unmounted): release autofs_fh after unmounting
4298	autofs f/s
4299
4300	* amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
4301	autofs f/s fails;
4302	(amfs_bgmount): ditto
4303
4304	* amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
4305	more related to the mount point than to the f/s mounted;
4306	added am_autofs_ttl to am_node, for running expirations on entire
4307	filesystems
4308
4309	* conf/autofs/autofs_*: autofs_get_fh() returns int instead of
4310	autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
4311	instead of autofs_fh_t *, in an effort to not deal with
4312	autofs-specific data structures outside autofs code;
4313	new methods autofs_get_mp() and autofs_release_mp(), which
4314	acquire/release autofs resources to allow clean unmount attempts;
4315	nuke autofs_data_t, never used
4316
4317	* amd/amd.h: prototypes for new and changed autofs functions
4318
43192003-03-07  Ion Badulescu  <ion@guppy.limebrokerage.com>
4320
4321	* amd/nfs_subr.c (do_readlink): eliminate third argument, never used
4322	(nfsproc_getattr_2_svc): reorganize the code a bit
4323
4324	* amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
4325	am_node * argument
4326
4327	* amd/amd.h: changed prototype for mk_fattr()
4328
4329	* amd/autil.c (am_unmounted): when remounting, use the parent
4330	node's lookup_child() and mount_child() operations, not the
4331	generic ones
4332
4333	* amd/amfs_generic.c (amfs_cont): minor code optimization
4334
43352003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
4336
4337	* amd/amfs_auto.c: lots of renames and code moving:
4338	amfs_auto_match() -> amfs_generic_match(), moved to generic;
4339	amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
4340	amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
4341	amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
4342	free_continuation(): moved to generic, made static;
4343	assign_error_mntfs(): moved to autil.c;
4344	amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
4345	amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
4346	try_mount() + mount_node() -> mount_node(), moved to map.c
4347	amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
4348	amfs_parse_defaults(): moved to generic;
4349	amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
4350	amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
4351	amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
4352	amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
4353	amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
4354	next_nonerror_node(): moved to autil.c;
4355	amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
4356	amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
4357
4358	* amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
4359	and moved to autil.c
4360
4361	* amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
4362	out of amd/amfs_auto.c
4363
4364	* amd/amd.h: struct continuation moved to generic.c; prototypes
4365	for the renamed functions; NumChild renamed to NumChildren
4366
4367	* amd/map.c: collaped unmount_node_wrap() and unmount_node() into
4368	the latter
4369
4370	* amd/mapc.c: key_already_in_chain(): moved to readdir.c;
4371	make_entry_chain(): moved to readdir.c;
4372
4373	* amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
4374	amfs_generic_find_srvr()
4375
4376	* amd/amfs_*.c: adjustments for the renames above
4377
4378	* amd/ops_*.c: low-level filesystems don't need a find_server()
4379	method
4380
4381	* amd/Makefile.am: added amfs_generic.c and readdir.c
4382
4383	* doc/am-utils.texi: minor clarification for auto maps
4384
43852003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
4386
4387	* amd/amd.h: moved lots and lots of amd-only stuff here, from
4388	include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
4389	to be function typedefs, not pointer to function typedefs
4390
4391	* include/am_utils.h: see above
4392
4393	* amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
4394	function typedef changes
4395
43962003-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
4397
4398	* BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
4399	bug.
4400
44012003-02-02  Erez Zadok  <ezk@siamese.fsl.cs.sunysb.edu>
4402
4403	* NEWS: minor new port: ia64-unknown-linux-rh2.1AS
4404
44052003-01-31  Ion Badulescu  <ion@console.limebrokerage.com>
4406
4407	* m4/macros/os_cflags.m4: rhapsody and darwin are the same
4408
4409	* amd/autil.c (mount_node): vastly simplified, just a wrapper now
4410
4411	* amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
4412	hack, we now do it properly in the generic code
4413
4414	* amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
4415	forking the child; set and reset MFF_MOUNTING here, not in
4416	mount_node(), because the latter might be running in child
4417	context; call am_mounted() after a successful foreground mount
4418
44192003-01-29  Ion Badulescu  <ionut@moisil.badula.org>
4420
4421	* configure.in: new flag --with[out]-ndbm; don't pull in libldap
4422	if building --without-ldap; look for the gdbm/ndbm.h header; make
4423	explicit the dependency between the ndbm headers and libraries;
4424	define NEW_DBM_H as the ndbm header that should be used
4425
4426	* include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
4427	instead of trying to second-guess configure
4428
4429	* m4/macros/header_templates.m4: new template for NEW_DBM_H
4430
4431	* m4/macros/check_map_funcs.m4:
4432	(ac_upcase_map_name): use the third argument correctly
4433
4434	* ltmain.sh: working version from libtool-1.4.2-7
4435
4436	* buildall: print the entire configure command, including extra
4437	arguments; pass each of the extra arguments separately, not
4438	commingled into one
4439
44402003-01-28  Ion Badulescu  <ion@guppy.limebrokerage.com>
4441
4442	* include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
4443	DEBUG; it is not used without DEBUG, but it is referenced at
4444	compile time. Bug report from John Kilburg <john@physics.unlv.edu>.
4445	(D_ALL): don't include D_XDRTRACE, too verbose and normally
4446	unnecessary
4447
44482003-01-28  Erez Zadok  <ezk@cs.sunysb.edu>
4449
4450	* ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
4451	from latest official GNU versions.
4452
44532003-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
4454
4455	* BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
4456	vmount).
4457
44582003-01-25  Ion Badulescu  <ionut@moisil.badula.org>
4459
4460	* Released beta version 6.1b2
4461
44622003-01-24  Ion Badulescu  <ionut@moisil.badula.org>
4463
4464	* amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
4465	calling rmdirs() on mountpoint
4466
4467	* amd/amfs_auto.c (amfs_auto_bgmount): ditto
4468
4469	* amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
4470
4471	* doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
4472
4473	* NEWS: "sftlookup" -> "softlookup"
4474
4475	* amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
4476	check for "nosoftlookup" in combination with "soft"
4477
44782003-01-23  Ion Badulescu  <ion@guppy.limebrokerage.com>
4479
4480	* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
4481	freebsd22 derivative
4482
4483	* NEWS: updated for Darwin changes
4484
4485	* .cvsignore: added A.i386-apple-darwin6.0
4486
4487	* m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
4488	Darwin
4489
44902003-01-23  Erez Zadok  <ezk@cs.sunysb.edu>
4491
4492	* conf/mount/mount_aix.c (mount_aix3): clean back this file from
4493	all the debugging cruft that is no longer needed (and really was
4494	never needed in the first place).
4495
44962003-01-10  Erez Zadok  <ezk@cs.sunysb.edu>
4497
4498	* scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
4499	(map) files for testing basic amd functionality such as whether it
4500	can mount its own mount NFS points.
4501
45022002-12-28  Ion Badulescu  <ionut@moisil.badula.org>
4503
4504	* amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
4505	pings are disabled
4506
4507	* libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
4508	instead of casting the pointer to (enum_t *)
4509	(xdr_mountstat3): ditto
4510	(xdr_nfsstat): ditto
4511
4512	* libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
4513	64-bit big-endian platforms, bug report from Bill Fenner
4514	<fenner@research.att.com>
4515
4516	* configure.in: increase library patchlevel
4517
4518	* libamu/xutil.c (amu_release_controlling_tty): close and reopen
4519	file descriptors 0,1,2 before calling setsid()
4520
45212002-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
4522
4523	* updated copyright year to 2003 on all files
4524
45252002-12-10  Erez Zadok  <ezk@localhost.localdomain>
4526
4527	* rename "aux/" subdir into "m4/" so as to avoid problems with
4528	MS-DOS systems (where "AUX" is a reserved name).  This required
4529	fixing numerous files.
4530
45312002-12-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4532
4533	* configure.in: don't check for bad hasmntopt() function if
4534	hasmntopt() doesn't exist on the system, because we will replace
4535	it with our own version anyway.
4536
4537	* conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
4538	dlog because htonl() returns a u_long.
4539
45402002-12-10  Erez Zadok  <ezk@localhost.localdomain>
4541
4542	* include/am_defs.h: use system's hasmntopt() only if it is found
4543	and it is not buggy.
4544
4545	* libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
4546	char.
4547
4548	* amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
4549	amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
4550	libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
4551	to amu_hasmntopt().  Don't use hasmntopt() directly any more!
4552
4553	* aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
4554	hasmntopt() function, which incorrectly finds the option "soft" in
4555	a string "hard,softlookup,ro".
4556
4557	* libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
4558	hasmntopt(), to match what most systems use.
4559
4560	* aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
4561
4562	* configure.in: invoke test for bad hasmntopt()
4563
4564	* NEWS: minor new port, i386-pc-linux-rh8.0.
4565	Mention autofs-v4 on solaris9 works.
4566
4567	* bootstrap: remove any autom4te-*.cache directories, now that
4568	autoconf uses a version number for them.
4569
45702002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
4571
4572	Patches from Christos Zoulas:
4573
4574	-1- am_utils.h: add full prototypes
4575	-2- amfs_auto.c make functions static and add prototypes
4576	-3- map.c: kill double free
4577	-5- transp_sockets.c: add full prototypes
4578
45792002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
4580
4581	* NEWS: updated
4582
4583	* doc/am-utils.texi (opts Option): document sftlookup
4584
4585	* conf/autofs/autofs_solaris_v2_v3.c: compile fixes
4586
45872002-11-22  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4588
4589	* amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
4590	%ld not %d.
4591
45922002-11-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4593
4594	* {amd,fsinfo}/Makefile.am: remove special rules for processing
4595	yacc/lex files, now that autoconf/automake properly handle them
4596	better (esp. now that bison 1.75 behaves differently than older
4597	bison versions).
4598
45992002-11-21  Erez Zadok  <ezk@cs.sunysb.edu>
4600
4601	* config.guess.long: updated script so it will properly find the
4602	version number of the new Itanium 2 machines running "Red Hat
4603	Linux Advanced Workstation release 2.1AW (Derry)".  The script now
4604	will report ia64-unknown-linux-rh2.1AW.
4605
46062002-11-20  Ion Badulescu  <ionut@moisil.badula.org>
4607
4608	* amfs_auto_bgmount(): almost complete rewrite
4609
4610	* fixed amfs_inherit to do the right thing and not dereference
4611	freed mntfs'es
4612
4613	* #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
4614	amfs_autofs_lookup_child()
4615
4616	* release the autofs_fh only in one place
4617
4618	* remove the mountpoint only if mf_refc == 1
4619
4620	* print the mntfs type in free_mntfs()
4621
4622	* new pseudo-mount option 'sftlookup' which causes lookups to
4623	mounted shares from downed servers to return EIO; the default
4624	depends on whether the mount is 'hard' or 'soft'
4625
4626	* improved querying of supported NFS versions on the server --
4627	don't even try if it's known to be down
4628
4629	* solaris autofs mount code moved to transp_{sockets,tli}.c
4630
4631	* incipient (non-functional) AIX autofs support
4632
46332002-11-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
4634
4635	* doc/am-utils.texi (Keep-alives): removed outdated info about not
4636	maintaining the state of TCP NFS servers
4637
46382002-11-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
4639
4640	* include/am_utils.h: prototype for ops_search()
4641
4642	* amd/am_ops.c (ops_search): new function for searching the right
4643	set of ops for a given filesystem type
4644
4645	* amd/restart.c (restart): cleanup and split into two functions in
4646	preparation for handling the restart of amd's own mount points
4647	(restart_fake_mntfs): new function, factored out from restart()
4648
46492002-11-04  Ion Badulescu  <ionut@buggy.badula.org>
4650
4651	* amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
4652	(cdfs_umount): ditto
4653
4654	* conf/mount/mount_linux.c (mount_linux): factor it out to
4655	mount_linux_nfs() and mount_linux_nonfs()
4656	(mount_linux_nonfs): generalize loop device support to all
4657	filesystems (not just cdfs); make it automatic for anything that's
4658	a regular file
4659	(parse_opts): deprecate the explicit "loop" mount option
4660	(do_mount_linux): minor cleanup
4661
4662	* conf/umount/umount_default.c (umount_fs2): release loop device
4663	on umount()
4664
46652002-11-03  Erez Zadok  <ezk@cnm20>
4666
4667	* include/am_defs.h: moved #include of net/if.h above net/route.h,
4668	because on AIX 5.2 if.h is needed for route.h (let's hope it
4669	doesn't break things on other systems).
4670
4671	* include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
4672	to be defined, but I don't want to move the inclusion of signal.h
4673	this early into this file.  Luckily, amd doesn't need the size of
4674	this structure in any other structure that it uses.  So we
4675	sidestep it for now.
4676
4677	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
4678	but I couldn't find its definition anywhere.  Luckily, amd doesn't
4679	need the size of this structure in any other structure that it
4680	uses.  So we sidestep it for now.
4681
46822002-11-02  Erez Zadok  <ezk@cs.sunysb.edu>
4683
4684	* config.guess, config.sub, doc/texinfo.tex: updates from
4685	the latest GNU distributions (2002-09-05).
4686
46872002-10-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4688
4689	* conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
4690	mount.h for NFSOPT_* and NFSMNT_*.
4691	Don't use typedefs that aren't found in system header files.
4692
46932002-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
4694
4695	* Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
4696
4697	* conf/nfs_prot/nfs_prot_aix5_2.h: new file.
4698
4699	* aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
4700	for "struct aux52_nfs_args".
4701
4702	* aux/macros/check_nfs_prot_headers.m4: define new header file for
4703	AIX 5.2.
4704
47052002-10-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4706
4707	* scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
4708	man page.
4709
4710	* scripts/amd.conf-sample (ldap_proto_version): show example of use
4711
4712	* doc/am-utils.texi (ldap_proto_version Parameter): document new
4713	amd.conf option.
4714
4715	* amd/conf.c (gopt_ldap_proto_version): new conf function to
4716	support ldap_proto_version amd.conf parameter.
4717
4718	* amd/amd.h: field to hold LDAP protocol version.
4719
4720	* amd/amd.c (init_global_options): set default for
4721	ldap_proto_version.  ldap_proto_version patch from George Ross
4722	<gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>.
4723
4724	* amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
4725	unbinding from an LDAP server that may have been restarted.  Fix
4726	from George Ross <gdmr@dcs.ed.ac.uk>.
4727
47282002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
4729
4730	* remove all autoconf stuff added for sys_nerr
4731
4732	* amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
4733
4734	* libamu/strerror.c: more explicit text for unknown errno's
4735
47362002-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
4737
4738	* include/am_defs.h: define "extern int sys_err" if needed.
4739
4740	* aux/macros/header_templates.m4: template for
4741	HAVE_EXTERN_SYS_NERR.
4742
4743	* hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
4744	(show_mi): remove "extern int sys_err"
4745
4746	* configure.in: execute test for "extern int sys_err"
4747
4748	* Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
4749
4750	* aux/macros/extern_sys_nerr.m4: new test to check for existence
4751	of "extern int sys_nerr" definition in system headers.
4752
47532002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
4754
4755	* libamu/xutil.c (dbg_opt): bring comments in line with the code
4756
4757	* hlfsd/hlfsd.c (main): use amuDebug() instead of touching
4758	debug_flags directly
4759
4760	* amd/amd.c (main): don't init debug_flags, leave it as zero (no
4761	debugging by default)
4762
47632002-09-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
4764
4765	Debug code sanitization:
4766
4767	- amuDebug() becomes an expression, and explicit if() statements
4768	are added around it throughout the code
4769	- amuDebugNo() goes away (ugh!)
4770	- D_AMQ, D_DAEMON and D_FORK reverse their meaning
4771	- D_ALL contains only options that don't affect amd's functionality
4772
47732002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
4774
4775	* amd/amfs_auto.c (free_continuation): avoid double-free'ing the
4776	mntfs if there was an error/timeout
4777
47782002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
4779
4780	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
4781	of "return NULL" to signal an error to the upper layers
4782	(amfs_auto_mount): use strdup so the string can be free'd later on
4783	[Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>]
4784
47852002-09-03  Ion Badulescu  <ion@guppy.limebrokerage.com>
4786
4787	Patches from George Ross <gdmr@dcs.ed.ac.uk>:
4788
4789	* amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
4790	it will be done in free_continuation(); assorted debugging messages
4791
4792	* amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
4793	timeout to avoid problems with late ping replies
4794
4795	* amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
4796	debugging messages
4797
4798	* amd/map.c (unmount_node): more verbose debug message
4799
48002002-07-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
4801
4802	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
4803	de-allocated memory in str3cat
4804	(amfs_auto_lookup_mntfs): check for buffer overflow
4805
48062002-07-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4807
4808	* scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
4809	<wiz@danbala.ifoer.tuwien.ac.at>.
4810
48112002-06-26  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4812
4813	* doc/Makefile.am (install-html): don't use locally hacked
4814	texi2html features.
4815
4816	* conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
4817	systems should use 127.0.0.1 as the localhost address over which
4818	you can do NFS mounts.  In the past we found that some NFS clients
4819	may not allow mounts from localhost.  So we used get_myaddress()
4820	and that seemed to work.  Alas, on some other systems,
4821	get_myaddress() may return one of the interface addresses at
4822	random, and thus use a less efficient IP address than 127.0.0.1.
4823	The solution is to hard-code 127.0.0.1, but still check if
4824	get_myaddress() returns a different value and warn about it.
4825
4826	* doc/am-utils.texi: don't use ':' in @cindex entries.
4827
48282002-06-25  Ion Badulescu  <ion@guppy.limebrokerage.com>
4829
4830	* Released beta version 6.1b1
4831
48322002-06-24  Ion Badulescu  <ionut@moisil.badula.org>
4833
4834	* aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
4835
4836	* conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
4837	aix51_nfs_args, rename unknown fields to u<number>, add the
4838	unknown new field into the middle of the old 4.2 structure
4839
48402002-06-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
4841
4842	* include/am_compat.h: better test for struct netconfig
4843	(!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
4844
4845	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
4846
4847	* buildall: fix 'buildall -b' on hpux9 and aix5.1
4848
48492002-06-24  Ion Badulescu  <ionut@buggy.badula.org>
4850
4851	* INSTALL: updated
4852
4853	* conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
4854	(autofs_link_umount): ditto
4855
4856	* amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
4857
48582002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
4859
4860	* conf/autofs/autofs_linux.c: compile fixes for autofs v3
4861
48622002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
4863
4864	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
4865	expirations needed;
4866	(autofs_timeout_mp): likewise
4867
4868	* conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
4869	needed;
4870	(autofs_timeout_mp): likewise
4871
4872	* conf/autofs/autofs_linux.c (autofs_mounted): set the first
4873	expiration interval
4874
4875	* amd/autil.c (am_mounted): call autofs_mounted here, instead of
4876	in mf_mounted()
4877
4878	* amd/amd.h (NEVER): moved here from map.c
4879	(autofs_mounted): change argument from mntfs* to am_node*
4880
48812002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
4882
4883	* conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
4884	timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
4885	(autofs_timeout_mp): don't update the ttl if we're going down
4886
4887	* amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
4888	timeout on that particular am_node has expired
4889
4890	* conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
4891	the ttl, as per the comment (compilers are not very good at
4892	translating comments into code...)
4893
4894	* amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
4895	instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
4896	between link mounts pointing to the same target
4897
48982002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
4899
4900	* conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
4901	functions for sending messages back to the kernel
4902	(autofs_expire_one): initial implementation of the kernel-based
4903	expiration handler
4904	(autofs_handle_expire): call autofs_expire_one()
4905	(autofs_handle_expire_multi): ditto
4906	(autofs_umount_succeeded): search pending_umounts, send message
4907	back to the kernel
4908	(autofs_umount_failed): ditto
4909	(autofs_mount_succeeded): tell amd core not to expire autofs entries
4910	(autofs_timeout_mp): expiration function for autofs filesystems
4911	(autofs_timeout_mp_task): helper function for autofs_timeout_mp
4912
4913	* conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
4914	keeping tracking of pending umounts
4915	(autofs_fh_t) rename pending to pending_mounts, add pending_umounts
4916
4917	* conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
4918
4919	* conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
4920
4921	* amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
4922	filesystems
4923
4924	* amd/autil.c (mf_mounted): move here the call autofs_mounted()
4925	from amfs_auto_mounted().
4926
49272002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4928
4929	* amd/nfs_start.c (mount_automounter): Security fix.  if user sets
4930	-D noamq, don't even create listening socket.  Suggestion by Ed
4931	Ravin <eravin@panix.com>.
4932
49332002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
4934
4935	* hlfsd/homedir.c (homedir): use setgid() instead of setegid()
4936
4937	* ALL: #ifdef cleanups, unify some TLI/socket function prototypes
4938
49392002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4940
4941	* conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
4942	na_gid and na_uid.  NetBSD patch from Jun-ichiro itojun Hagino
4943	<itojun@iijlab.net>.
4944
4945	* doc/am-utils.texi (Option): document xlatecookie mount option.
4946
4947	* libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
4948	NFS mount option.  Patch from Matthias Scheler <tron@zhadum.de>
4949	for NetBSD.
4950
49512002-06-22  Ion Badulescu  <ionut@edgar.badula.org>
4952
4953	* conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
4954	AUTOFS_LINK_FS_FLAGS
4955
4956	* conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
4957	mounts in autofs_link_mount/umount
4958
49592002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
4960
4961	* configure.in: check for devid inside struct umntrequest
4962
4963	* conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
4964	new umntrequest structure in v4.
4965	(autofs_unmount_2_req): ditto
4966
4967	* README.autofs: updated for Solaris 2.5/2.5.1
4968
49692002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4970
4971	* configure.in: only define LDAP/Hesiod if both the headers and
4972	the libraries exist, and the user didn't explicitly disable those
4973	maps.
4974
49752002-06-22 Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4976
4977	* doc/am-utils.texi: fix typos.  Can't use ":" in @cindex entries.
4978
49792002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4980
4981	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
4982	amd/amd.8, amd/get_args.c (get_args): document amd -A option.
4983
4984	* amd/get_args.c (get_args): support "amd -A arg" option to
4985	override the system's detected architecture.  Patch from George
4986	Ross <gdmr@dcs.ed.ac.uk>.
4987
4988	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
4989	if the system doesn't have it.
4990
4991	* configure.in: detect existence of ldap_enable_cache function,
4992	because it doesn't exist on Solaris 9's latest ldap libraries.
4993
4994	* amd/info_ldap.c: LDAP patches from George Ross
4995	<gdmr@dcs.ed.ac.uk>.  Rework of old code, support for wildcards in
4996	LDAP queries, and an FD leak fix.
4997
49982002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
4999
5000	* buildall: use ksh for configure on aix5.1; pass the extra
5001	arguments after "--" to configure, not to make
5002
5003	* Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
5004
5005	* conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
5006	with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
5007	mount with the alternative nfs3_args structure
5008
5009	* conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
5010	structure, similar to that in aix5.1, for a hack that tries to
5011	compensate for IBM's brain fart
5012
5013	* conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
5014
5015	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5016
5017	* BUGS: update for direct mounts on Linux; document the brokenness
5018	of /bin/sh on AIX 5.1 and HP-UX 9
5019
5020	* NEWS: aix5.1 port, aix4.3 workaround
5021
50222002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
5023
5024	* ltmain.sh: use libtool 1.4d, needed support for newer AIX.
5025
50262002-06-21  Ion Badulescu  <ion@guppy.limebrokerage.com>
5027
5028	* aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
5029	all solaris2.6+, not just for 2.[6-8]
5030
5031	* conf/autofs/autofs_default.h: disable autofs if configure
5032	detects it
5033
50342002-06-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5035
5036	* aux/macros/with_addon.m4: correct M4 quoting.
5037
5038	* aux/macros/cache_check_dynamic.m4: correct M4 quoting.
5039
5040	* bootstrap: show version of autotools being used.  Helps
5041	maintainer debugging.
5042
5043	* configure.in: new proper syntax for libtool and
5044	ansi2knr-filtering rules, required by autoconf 1.53 and higher.
5045
50462002-06-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5047
5048	* aux/GNUmakefile: new search paths for "update" target.
5049
5050	* config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
5051	the latest GNU distributions.
5052
50532002-06-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5054
5055	* amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
5056	function into the new amfs_auto_lookup_one_child function; return
5057	null if all ivecs failed to match
5058
50592002-05-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5060
5061	* config.guess.long: support SuSE version names in long
5062	config.guess format.
5063
50642002-05-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5065
5066	* scripts/lostaltmail.in (vrfy_user): unlink temp files if too
5067	small.
5068
50692002-04-07  Ion Badulescu  <ionut@moisil.badula.org>
5070
5071	* hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
5072
50732002-03-29  Ion Badulescu  <ionut@moisil.badula.org>
5074
5075	* README.autofs: solaris 2.5/2.5.1 info, other minor changes
5076
5077	* doc/am-utils.texi (History): document solaris 2.5+ support
5078
5079	* include/am_utils.h: new member in struct mntfs: mfs_real_mount;
5080	autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
5081	prototype for umount_fs2(); extra argument for UMOUNT_FS()
5082
5083	* hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
5084
5085	* libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
5086	function; swap mntdir and real_mntdir as necessary for solaris 2.5
5087	autofs support
5088
5089	* conf/umount/umount_default.c (umount_fs2): swap mntdir and
5090	real_mntdir as necessary for solaris 2.5 autofs support
5091
5092	* conf/umount/umount_*.c (umount_fs): wrapper around the new
5093	umount_fs2() function
5094	(umount_fs2): new function which takes the real mountpoint as an
5095	extra argument
5096
5097	* conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
5098	compiled in
5099
5100	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
5101	function that appends a space at the end of a string (the famous
5102	"Autofs Space Protocol")
5103
5104	* conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
5105
5106	* conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
5107	system-specific definitions for these macros
5108
5109	* conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
5110	which are now handled properly by more generic code
5111	(autofs_link_umount): complain if umount_fs() fails, rmdir the
5112	mountpoint on success
5113	(autofs_umount_succeeded): remove the rmdirs() code, now handled
5114	by generic code
5115	(autofs_mount_succeeded): ditto
5116
5117	* amd/nfs_start.c (checkup): implement it as an emtpy stub if
5118	DEBUG is not defined
5119	(run_rpc): call autofs_add_fdset() after umount_exported() to
5120	avoid passing invalid file descriptors to select(); use plog()
5121	instead of perror()
5122
5123	* amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
5124	(uninit_mntfs): free mf_real_mount
5125
5126	* amd/autil.c (am_unmounted): don't remove the mount point if a
5127	remount is pending, also don't make the removal conditional on not
5128	being an autofs mount point
5129
5130	* amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
5131	mf->mf_real_mount instead of mf->mf_mount
5132
5133	* amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
5134	rmdirs() on mf->mf_real_mount instead of mf->mf_mount
5135
5136	* amd/amfs_host.c (make_mntpt): change the third argument to be
5137	the mountpoint, not the entire mntfs structure
5138	(do_mount): takes real_mntdir as an extra argument
5139
5140	* amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
5141	mountpoint here from try_mount(), otherwise the change to mf_flags
5142	is lost for background mounts; remove the mountpoint if we created
5143	it and the mount fails
5144	(amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
5145	autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
5146
5147	* amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
5148	AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
5149	header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
5150	mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
5151	extra argument
5152
5153	* amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
5154	the real mountpoint as an additional argument
5155
51562002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5157
5158	* amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
5159	values back from mount_fs().  Return correct error number from
5160	this function.
5161
5162	* conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
5163	cruft from this function, moved elsewhere.
5164	(mount_linux): prepare for loop-device mounts of ISO images.
5165
51662002-03-28  Ion Badulescu  <ionut@buggy.badula.org>
5167
5168	* libamu/Makefile.am (EXTRA_DIST): added strerror.c
5169
5170	* libamu/strerror.c: strerror() implementation for systems lacking it
5171
5172	* doc/am-utils.texi (History): rewrote the history :) about autofs
5173	support
5174
5175	* conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
5176	(autofs_unmount_2_req): minor cleanup
5177	(create_autofs_service): print log message
5178	(destroy_autofs_service): ditto
5179
5180	* conf/autofs/autofs_linux.c: updated copyright
5181
5182	* amd/nfs_start.c (mount_automounter): move the debug message into
5183	create_autofs_service()
5184
5185	* amd/amd.c (main): call destroy_autofs_service() before
5186	going_down(), not after
5187
5188	* configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
5189	if the ldap headers are not found
5190
51912002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5192
5193	* amd/info_ldap.c: patch from "Sebastien Bahloul"
5194	<sebastien.bahloul@medasys.org> to fix a simple initialization bug
5195	and change "HE" to HE_ENT so as to compile on HPUX.
5196
51972002-02-26  Erez Zadok  <ezk@t3.fsl.cs.sunysb.edu>
5198
5199	* conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
5200	atttributes field named "uid".  So #define na_uid to it.
5201
52022002-02-12  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5203
5204	* scripts/lostaltmail.in: don't verify user if -noverify option
5205	was turned on.  fix comment typo.
5206
52072002-02-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5208
5209	* amd/Makefile.am (TESTS): enable one test script, test1.sh.
5210
5211	* amd/test1.sh: re-commit simple test script.
5212
52132002-02-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5214
5215	* Released snapshot 6.1a5
5216
5217	* NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
5218
5219	* README: require newer auto-tools, update mailing list address
5220
5221	* README.autofs: major update
5222
5223	* configure.in: version changed to 6.1a5
5224
52252002-02-11  Ion Badulescu  <ionut@moisil.badula.org>
5226
5227	* conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
5228	stat() on the am_link if called from the parent amd, to prevent
5229	deadlocks
5230
5231	* amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
5232	fstype is not link but we have a sublink (Linux autofs needs this)
5233	(am_mounted): call amfs_link_ops.mount_fs if the fstype is not
5234	link but we have a sublink (Linux autofs needs this)
5235
5236	* amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
5237	not the amd entry point
5238
52392002-02-09  Ion Badulescu  <ionut@moisil.badula.org>
5240
5241	* conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
5242	structure for returning the results from readdir_2()
5243	(xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
5244	changed to process our internal format (which is essentially the
5245	NFS readdir format)
5246	(xdr_autofs_getrddirres): not needed, deleted
5247	(xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
5248	changes to handle amd_rddirres instead of autofs_rddirres
5249	(autofs_lookup_2_req): return AUTOFS_NONE instead of
5250	AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
5251	(autofs_readdir_2_req): implemented
5252	(autofs_readdir_2_free): not needed, deleted
5253	(autofs_program_2): changes from autofs_rddirres to amd_rddirres
5254	(autofs_get_fh): changed initialization of the fh->map member, it
5255	now gets the mountpoint path because it makes it easier to
5256	implement readdir
5257	(autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
5258	code touching fh->addr
5259	(destroy_autofs_service): new function, deregister the autofs
5260	service with the portmapper on exit
5261
5262	* conf/autofs/autofs_linux.c (autofs_handle_missing): update
5263	statistics
5264	(destroy_autofs_service): new stub
5265
5266	* amd/mapc.c (mapc_find): fixed indentation
5267
5268	* amd/map.c (find_ap_recursive): renamed from find_ap2(), made
5269	static
5270
5271	* amd/amd.h: removed prototype for find_ap2(), added prototype for
5272	destroy_autofs_service()
5273
5274	* amd/amd.c (main): call destroy_autofs_service() before going
5275	down
5276
52772002-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5278
5279	* aux/macros/check_field.m4: need also a new version of
5280	AC_CHECK_MEMBERS (plural).
5281
52822002-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5283
5284	* aux/macros/check_field.m4: include a fixed version of
5285	AC_CHECK_MEMBER.  g/cc will fail to check a member if the .member
5286	is itself a data structure, because you cannot compare, in C, a
5287	data structure against NULL; you can compare a native data type
5288	(int, char) or a pointer.  Solution: do what I did in my original
5289	member checking macro: try to take the address of the member.  You
5290	can always take the address of anything.
5291
52922002-01-31  Erez Zadok  <ezk@localhost.localdomain>
5293
5294	* remove old '%W%' SCCS IDs from all sources.
5295
52962002-01-21  Ion Badulescu  <ionut@moisil.badula.org>
5297
5298	* conf/mount/mount_linux.c (mount_linux): fix breakage introduced
5299	by the loop device mount support. Linux mount takes a real string
5300	as the last argument, unless the mount type is NFS, NCP, or SMB.
5301
53022002-01-20  Erez Zadok  <ezk@localhost.localdomain>
5303
5304	* hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
5305	because we made some important changes.
5306
53072002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
5308
5309	* include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
5310	by default
5311
5312	* NEWS: document latest changes
5313
5314	* amd/map.c (unmount_mp): same fix as for hlfsd, update the
5315	seconds field in mtime because Linux ignores the useconds field
5316
5317	* hlfsd/homedir.c: made some global vars static
5318	(plt_init): remove all trailing '/' chars from root's home;
5319	use root's home, not the username (silly bugfix)
5320
53212002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
5322
5323	* hlfsd/homedir.c (homedir): don't special case uid 0 as having /
5324	as home; instead use the root account's home
5325	(plt_init): properly initialize root_home from the root account's
5326	home directory, or as "" if root doesn't exist
5327	(plt_reset): free root_home
5328
53292002-01-20  Erez Zadok  <ezk@localhost.localdomain>
5330
5331	* hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
5332	Increment seconds, not microseconds (which are ignored by NFS).
5333	Set symlink owner to euid.
5334
5335	* hlfsd/homedir.c (homedir): pass gid to this function, so we can
5336	also change the effective GID of the process writing to the user's
5337	home dir, as well as the group of the hlfsd symlink.
5338	(homedir): run setegid in the right places.
5339
53402002-01-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5341
5342	* scripts/redhat-ctl-amd.in: refer to @sbindir@ not
5343	${prefix}/sbin.
5344
5345	* scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
5346	${prefix}/etc.  Bug report from "A Braunsdorf"
5347	<ab@eas.purdue.edu>.
5348
53492002-01-13  Erez Zadok  <ezk@localhost.localdomain>
5350
5351	* configure.in: only check for clock_gettime if --enable-debug was
5352	used.
5353
5354	* aux/macros/opt_debug.m4: define a cache variable to record value
5355	of debug option used.
5356
5357	* libamu/xutil.c (show_time_host_and_name): do not use
5358	clock_gettime unless debugging was compiled in.  This way, if
5359	debugging is not compiled, we don't bother linking with librt,
5360	libpthread, and a whole lot of other libraries that aren't that
5361	necessary (esp. on Linux).
5362
53632002-01-12  Erez Zadok  <ezk@wavy.dyn.optonline.net>
5364
5365	* doc/am-utils.texi (opts Option): document loop option.
5366
5367	* include/am_utils.h: each mounted file system (mntfs) should
5368	optionally store the loop device used in the field mf_loopdev.
5369
5370	* conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
5371	loop function extern definitions.  For now this code is here
5372	because we only support loop devices on Linux.
5373
5374	* conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
5375	mount option.
5376	(parse_opts): when skipping over unknown mount options, skip over
5377	"loop" (since it was given in amd map entry), but not over
5378	loop=/dev/loopX, because the latter will go into /etc/mtab.
5379	(do_mount_linux): override actual cdfs mounted  device name
5380	because with loop devices you don't mount the .iso file directly,
5381	but the /dev/loopX device that was setup for it.
5382	(show_loop, is_loop_device, find_unused_loop_device,
5383	setup_loop_device, delete_loop_device): support code for loop
5384	devices.
5385
5386	* amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
5387	setup loop device before isofs mount, if "loop" option was given,
5388	before actual mount(2).
5389	(cdfs_mount): pass loopdev name to mount_cdfs().
5390	(cdfs_umount): delete/unset loop device after a successful
5391	unmount, if a loop device was used.
5392
5393	* amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
5394
5395	* include/am_compat.h: If loop device (header file) exists, define
5396	mount table option MNTTTAB_OPT_LOOP.
5397
5398	* conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
5399	here until we have a better way to detect /dev/loop devices.
5400
5401	* include/am_defs.h: include <linux/loop.h> if it exists.  Define
5402	LARGEFILE support macros, possibly needed for loop devices.
5403	Redefine dev_t apropriately for loop devices.
5404
5405	* configure.in: check for <linux/loop.h>.
5406
54072002-01-10  Ion Badulescu  <ion@guppy.limebrokerage.com>
5408
5409	* conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
5410	parameter 2 orders of magnitude larger than udp (patch from Trond
5411	Myklebust)
5412
54132002-01-09  Erez Zadok  <ezk@localhost.localdomain>
5414
5415	* aux/macros/linux_headers.m4: properly [quote] a long string in
5416	m4 and use AC_MSG_WARN.
5417
5418	* ALL: put /* comments */ on #else/#endif lines everywhere.
5419
5420	* configure.in, aux/macros/with_addon.m4: due to limitation of
5421	AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
5422	package for help string.
5423
5424	* doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
5425	FSinfo section of the manual.
5426	(map_reload_interval Parameter): document new amd.conf global
5427	parameter.
5428
5429	* scripts/amd.conf.5 document new global option
5430	map_reload_interval.  Sort entries for nfs_vers and nfs_proto
5431	alphabetically.
5432
5433	* amd/nfs_start.c (do_select): increment do_mapc_reload's value by
5434	global map_reload_interval value, not by fixed ONE_HOUR.
5435
5436	* amd/amd.c (main): increment do_mapc_reload's value by global
5437	map_reload_interval value, not by fixed ONE_HOUR.
5438
5439	* scripts/amd.conf-sample (map_reload_interval): usage example
5440
5441	* amd/amd.c (init_global_options): initialize map_reload_interval
5442	to 3600 seconds.
5443
5444	* amd/conf.c (gopt_map_reload_interval): support a new global
5445	amd.conf option map_reload_interval, to determine how often (in
5446	seconds) Amd should check if the map source has changed and then
5447	reload it it.  This value was hard-coded to one hour, now it's the
5448	default if not otherwise specified.
5449
5450	* doc/am-utils.texi (plock Parameter): document plock=yes option
5451	as using mlockall(2) if found.
5452
5453	* scripts/amd.conf.5: document -S option as using mlockall(2) if
5454	found.
5455
5456	* include/am_defs.h: include <sys/mman.h> if it exists.
5457
5458	* configure.in: check for mlockall() function.  Check for
5459	sys/mman.h.
5460
5461	* amd/amd.c (main): support mlockall() on systems that have it and
5462	don't have plock(3) for plock=yes.  On systems that have both,
5463	will try plock() first and then mlockall(), until one of them (if
5464	any) succeeds.
5465
54662002-01-09  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5467
5468	* aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
5469	with_addon.m4 (ac_upcase): fix help string formatting using
5470	AC_HELP_STRING.
5471
5472	* amd/test1.sh: simple test script for "make check".  Runs "amd
5473	-v".
5474
5475	* amd/Makefile.am (TESTS): add one simple test script, running
5476	"amd -v" and checking its return value.  More tests can be added.
5477
5478	* aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
5479
5480	* aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
5481	Instead, list bracketed regexp patterns in [[double brackets]].
5482
5483	* aux/macros/header_templates.m4: remove all unnecessary
5484	HAVE_FIELD_* definitions, now that we're using autoconf's new
5485	AC_CHECK_MEMBERS.
5486
5487	* aux/macros/field_mntent_t_mnt_time_string.m4: don't call
5488
5489	* configure.in: use new syntax for AMU_CHECK_FIELD
5490
5491	* aux/macros/check_field.m4: use new and simpler macro
5492	AC_CHECK_MEMBERS.  Change all sources to use HAVE_aggregate.member
5493	instead of HAVE_FIELD_aggregate.member.
5494
5495	* aux/amdgrep: simple utility script to egrep the am-utils sources
5496	for any pattern.
5497
5498	* aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
5499	check_umount_style.m4, check_network_transport_type.m4}: use newer
5500	AC_LIBOBJ macros instead of modifying $LIBOBJS directly
5501
5502	* aux/macros/func_bad_memcmp.m4: redefine to use native
5503	AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
5504
5505	* fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
5506	pre-ANSI C compilers will ignore it.
5507
5508	* conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
5509	correctly depending on whether it takes a void or a 0.
5510
5511	* configure.in: check if s/getpgrp() takes void or a 0.
5512
55132002-01-08  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5514
5515	* configure.in: use the newer AC_CONFIG_LINKS instead of
5516	AC_LINK_FILES.
5517
5518	* aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
5519	check_mnttab_style.m4, check_mount_style.m4,
5520	check_network_transport_type.m4, check_umount_style.m4,
5521	check_nfs_prot_headers.m4: removed backward compatible code for
5522	pre-autoconf-2.14.
5523
55242002-01-07  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5525
5526	* doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
5527	this Makefile could explicitly chdir to other directories and run
5528	make there.
5529	(install-ps): use ${MAKE} with ${MFLAGS}.
5530
5531	* Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
5532	Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
5533	could explicitly chdir to other directories and run make there.
5534	(install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
5535
5536	* configure.in: call AC_PROG_MAKE_SET to check if make program
5537	defines $MAKE variable.
5538
5539	* amd/get_args.c (get_version_string): use new PACKAGE_* macros
5540	and also report the bug-reporting address.
5541
5542	* aux/macros/package_{name,version}.m4, header_templates.m4: using
5543	new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
5544
5545	* aux/macros/name_bugreport.m4: simple macro to print out the
5546	bug-reporting address which was configured in AC_INIT.
5547
5548	* bootstrap: remove new autoconf messages about misuse of
5549	m4_patsubst and m4_regexp (internal GNU M4 macros).
5550
5551	* configure.in: remove old comment above AC_OUTPUT.
5552	Use AC_CONFIG_FILES and AC_OUTPUT separately.
5553	Fix AC_REVISION use.
5554	Add AC_COPYRIGHT.
5555	Use new style for AC_INIT, listing package name, version, and
5556	bug-reporting address.
5557	Call new AMU_PACKAGE_* macros.
5558
5559	* updated copyright year to 2002 on all files
5560
5561	* configure.in: using newly renamed am-utils macros (AMU_*)
5562
5563	* aux/macros/*.m4: renamed ALL am-utils specific macros so they
5564	start with AMU_*, not AC_*.  That way it is easier to distinguish
5565	between macros that come with am-utils and those that are part of
5566	Autoconf or Automake.  It helps to identify those am-utils macros
5567	that can be removed once there is generic support for them in a
5568	future version of Autoconf.
5569
5570	* bootstrap: run automake --copy
5571	remove autom4te.cache dir before rerunning autoconf
5572
55732001-12-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5574
5575	* scripts/amd.conf.5: correct title to section 5, not 8.  Correct
5576	reversed meaning of nfs_proto and nfs_vers parameters.  Typos
5577	reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
5578
55792001-12-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5580
5581	* scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
5582
5583	* scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
5584
55852001-12-02  Ion Badulescu  <ionut@moisil.badula.org>
5586
5587	* hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
5588	non-mkstemp code
5589
5590	* scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
5591	happy
5592
5593	* scripts/ctl-hlfsd.in: ditto (for hlfsd)
5594
5595	* conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
5596	get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
5597
5598	* conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
5599
56002001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
5601
5602	* tasks: updated
5603
5604	* NEWS: document the fixed autofs fd leak
5605
5606	* amq/amq.8: better document the -f option
5607
56082001-11-29  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5609
5610	* libamu/mount_fs.c (mnt_flags): same this as for nolock option
5611	handling, do for maxgrps.
5612
56132001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
5614
5615	* conf/autofs/autofs_linux.c (hash_init): determine the max number
5616	of fd's at runtime, use it to dynamically scale the hash and list
5617	arrays
5618	(autofs_get_fh): sanity check, don't allow a pipe() fd greater
5619	than autofs_max_fds
5620	(autofs_release_fh): close our end of the pipe here (no clue why
5621	or when it got commented out)
5622	(autofs_mounted): set kernelfd to -1 after closing it
5623
56242001-11-28  Philippe Troin  <phil@fifi.org>
5625
5626	* libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
5627	opts.
5628	(compute_nfs_args): Added nolock handling.
5629	Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>.
5630
56312001-11-27  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
5632
5633	* ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
5634	Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
5635	issues.  Had to use HP's own yacc/lex.
5636
56372001-11-26  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
5638
5639	* */Makefile.am: don't use $(OBJECTS) directly because it is no
5640	longer automatically defined now that Automake has automatic
5641	dependency tracking (which I turn off).  Instead, hard-code
5642	minimal dependencies on am-utils' header files to depend on
5643	PROG_OBJECTS (where PROG is the program name being built).  This
5644	was discovered by using HP's non-GNU make program.
5645
5646	* amd/nfs_start.c (checkup): cast getpagesize() return val to
5647	long, to avoid conflicts in division of a long by an int (on
5648	hpux11i, with their ANSI/C compiler).
5649
5650 	* INSTALL, doc/am-utils.texi: port updates
5651
5652	* minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
5653	i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
5654	ia64-unknown-linux-rh7.1.
5655
5656	* include/am_defs.h: actually declare extern definition for
5657	xdr_callmsg() if it doesn't already exist.
5658
5659	* aux/macros/header_templates.m4: declare template for
5660	HAVE_EXTERN_XDR_CALLMSG.
5661
5662	* configure.in: check for extern definition for xdr_callmsg()
5663	because hpux11 has that function but a bad <rpc/xdr.h> header file
5664	that doesn't define it in the right place.
5665
5666	* libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
5667	on hpux11 its type is dev_t.
5668
5669	* conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
5670	yet.
5671
56722001-11-16  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
5673
5674	* buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
5675	to /bin/sh limitations.
5676
5677	* bootstrap (cmd): turn back on --ignore-deps (this Automake may
5678	have problems)
5679
5680	* libamu/xutil.c: remove __attribute__ format_arg statement for
5681	expand_error() because this function, although taking a
5682	printf-like string, does not use it in a printf function; it only
5683	expands a non-printf amd-special syntax %m.
5684
56852001-11-14  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
5686
5687	* conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
5688	before using it because older Linux systems don't define this
5689	(e.g., Red Hat 4.2)
5690
56912001-11-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5692
5693	* configure.in: convert to using autoconfig 2.52.  Use new macros.
5694	AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
5695	parts of autogenerated config.h.in; increase autoconf
5696	pre-requisite to version 2.50; use AC_DISABLE_SHARED not
5697	AM_DISABLE_SHARED.
5698
5699	* aux/macros/cache_check_dynamic.m4: finally I can use the new
5700	$ECHO_N syntax in macros instead of $ac_n, since I'm using a new
5701	autoconf.  Isn't it nice to be such forward looking and having
5702	placed a comment "XXX: use the next line for autoconf-2.14 and
5703	newer"... :-)
5704
5705	* aux/macros/save_state.m4: highlight message with ***'s
5706
5707	* aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
5708
5709	* config.{guess,sub}: upated from latest prep ftp distributions
5710
5711	* depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
5712
5713	* ltmain.sh: updated from latest Libtool 1.4.2
5714
5715	* bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
5716	called without default to allow cross compiling" warnings.  And,
5717	it only took like 3+ years to fix this.  But, now it has anoter,
5718	albeit less annoying warning (which the manual says to ignore):
5719	"AC_PROG_LEX invoked multiple times".
5720	When autoheader is run, don't treat the "all clear" message
5721	"config.h.in is update" as an error.
5722
5723	* ltconfig: removed. not needed with latest version of libtool
5724
5725	* aux/macros/header_templates.m4: replaces acconfig.h and defines
5726	all CPP macros we use in this package, including their
5727	accompanying C /* comments */.
5728
5729	* acconfig.h: removed. replaced by new autoconf system to generate
5730	header templates using AH_TEMPLATE macros and such.
5731
5732	* aux/macros/msg.m4: removed.  Replaced with new macro
5733	AC_MSG_NOTICE
5734
5735	* Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4.  Add
5736	aux/macros/header_templates.m4
5737
5738	* configure.in: early, in host_macros.m4, I'm renaming silly linux
5739	$host_os names such as linux-gnu and lignux to plain "linux".
5740	Alas, RMS finally had his way and libtool will NOT recognize
5741	"linux" as a valid system, only "linux-gnu".  Sigh.  Rich, I know
5742	you're responsible to Linux's fame.  Kudos to you and your
5743	cohorts.  But please don't force the rest of us to use those ugly
5744	or long names.  Solution: temporarily name $host_os to "linux-gnu"
5745	before calling the AC_PROG_LIBTOOL macro, then name it back to
5746	"linux".  (That way I don't have to maintain my own version of
5747	ltmain.sh.
5748
5749	* buildall: force running configure -C (to create and use a local
5750	config.cache file).  New default behavior for autoconf is NOT to
5751	use cache files.  Yeah, that's gonna fly real well with am-utils,
5752	with its 700+ automatic tests.
5753
5754	* conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
5755	mktemp, if the former is available.
5756
5757	* conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
5758	mktemp, if the former is available.
5759
5760	* mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
5761	if the former is available.
5762
5763	* aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
5764	be on a separate line, as per new Autoconf manual, to avoid some
5765	Bourne Shell syntactical bizarreness.
5766
57672001-11-13  Erez Zadok  <ezk@a-rh71i.fsl.cs.suunysb.edu>
5768
5769	* amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
5770	for IA64 Linux.
5771
57722001-11-12  Ion Badulescu  <ionut@buggy.badula.org>
5773
5774	* libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
5775	pointing to '\0' on success, so we need to allow for it. This
5776	fixes the problem with rejecting numerical mount options if they
5777	are the last option in the string.
5778
5779	* configure.in: increased library patchlevel
5780
5781	* NEWS: document the parsing bug
5782
57832001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
5784
5785	* configure.in: bumped version up to 6.1a5-pre
5786
5787	* NEWS: fixed speeling mistaike
5788
57892001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
5790
5791	* released snapshot am-utils-6.1a4
5792
57932001-10-26  Ion Badulescu  <ionut@moisil.badula.org>
5794
5795	These changes fix autofs support for sublinks. While it is not
5796	perfect by any means and is hardly better than non-autofs, at
5797	least it works.
5798
5799	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
5800	reply if the mount is in progress
5801	(autofs_mount_succeeded): handle both delayed lookups and mounts
5802	(autofs_mount_failed): ditto
5803
5804	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
5805	original opt_fs if we have a sublink
5806
58072001-10-23  Ion Badulescu  <ionut@moisil.badula.org>
5808
5809	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
5810	instead of new_mf) which was causing null pointer error when
5811	sublinks were being used
5812
58132001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
5814
5815	* README.autofs: updated
5816
5817	* NEWS: updated
5818
5819	* INSTALL: updated
5820
5821	* AUTHORS: added myself
5822
5823	* doc/am-utils.texi: updated
5824
5825	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
5826	xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
5827	(autofs_readdir_2_req): cast req->rda_offset to (int), same as
5828	above
5829
58302001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
5831
5832	Autofs direct mounts have been verified to work on Solaris2.[67].
5833
5834	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
5835	retrieve the uid and gid from the lookup request
5836	(autofs_mount_2_req): skip the first char in the name (it's a
5837	leading '/') if this is a direct mount
5838
5839	* amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
5840	and amfs_auto_mount_child for amfs_direct's methods
5841
5842	* amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
5843	if the mntfs lookup fails
5844
58452001-10-21  Ion Badulescu  <ionut@moisil.badula.org>
5846
5847	* include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
5848	pending a remount
5849	(mntfs): new member mf_fsflags, holds a copy of the filesystem's
5850	fs_flags
5851	(am_ops): new member autofs_fs_flags, holds the filesystem's flags
5852	when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
5853
5854	* conf/autofs/autofs_linux.c (create_autofs_service): turn on
5855	FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
5856	(autofs_umount_succeeded): don't rmdir the mountpoint if a remount
5857	is needed [lest the access that triggered the remount will fail]
5858
5859	* amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
5860	into mf_fsflags on initialization
5861
5862	* amd/autil.c (am_unmounted): start the remounting right away if
5863	the node is marked as needing a remount [fixes the Linux autofs
5864	deadlock when mount/unmount collide]
5865
5866	* amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
5867	needing a remount if a mount request comes in while we're
5868	unmounting it
5869	(amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
5870	into mf_fsflags if this is an autofs node
5871
5872	* amd/amfs_*.c, amd/ops_*.c: added initialization for the new
5873	autofs_fs_flags member of am_ops
5874
58752001-10-20  Ion Badulescu  <ionut@moisil.badula.org>
5876
5877	With these changes, Solaris 2.[67] autofs support is finally
5878	functional!
5879
5880	* conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
5881	(autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
5882	xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
5883	(autofs_lookup_2_req): do an actual lookup here, and tell the
5884	kernel to create a symlink if necessary
5885	(autofs_mount_2_req): no need to am_autofs_data
5886	(autofs_program_2): enable AUTOFS_READDIR
5887	(autofs_link_mount): no code needed here
5888	(autofs_link_umount): return success
5889	(autofs_mount_succeeded): lstat real mount points; don't mark
5890	symlinks as NOTIMEOUT
5891
5892	* amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
5893
5894	* amd/map.c (init_map): init am_dev and am_rdev to -1
5895	(free_map): free am_mfarray and all mntfs's listed
5896
5897	* amd/autil.c (mf_mounted): move the lstat of the node to the
5898	autofs-specific code
5899
5900	* amd/amfs_link.c (amfs_link_ops): don't background symlink creation
5901
59022001-10-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5903
5904	* aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
5905	* BUGS: Explain this.
5906
59072001-10-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5908
5909	* doc/am-utils.texi (redhat-ctl-amd): document new script.
5910
5911	* scripts/Makefile.am: build redhat-ctl-amd but do not install it.
5912
5913	* scripts/redhat-ctl-amd.in: new script, useful to correctly
5914	control Amd on Red Hat Linux systems.  Script adapted from ctl-amd
5915	and Red Hat's own rc.d script.
5916
59172001-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5918
5919	* conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
5920	(MNT2_NFS_OPT_AUTO): Disable.
5921	* Makefile.am (EXTRA_DIST_CONF): Reflect new name.
5922	* aux/macros/check_nfs_prot_headers.m4: Use this file for all
5923	Tru64 UNIX V5 and up releases.
5924
59252001-09-24  Ion Badulescu  <ionut@moisil.badula.org>
5926
5927	* include/mount_headers1.h (MFS): define as 1 instead of nothing,
5928	to fix compile problems on OS X (patch from Ahmon Dancy)
5929
5930	* aux/macros/try_compile_anyfs.m4 (MFS): ditto
5931
59322001-08-13  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
5933
5934	* doc/am-utils.texi (in_network Selector Variable): document
5935	expanded syntax
5936
5937	* libamu/wire.c (is_network_member): support for network/netmask
5938	as well as network/bits syntax in in_network()
5939
59402001-08-11  Erez Zadok  <ezk@a-linux64.fsl.cs.sunysb.edu>
5941
5942	* amq/amq.c (show_mti): print full four digits for year, and print
5943	it in MM/DD/YYYY format, not in YY/MM/DD format.
5944
59452001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
5946
5947	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
5948	initial attempt to do something useful -- but commented out for now
5949	(autofs_link_mount): create an action structure with a link
5950	request and pass it up
5951	(autofs_mount_2_req): pass the link request to the kernel
5952	(autofs_free_data): new helper function
5953
5954	* conf/autofs/autofs_linux.h: added definition for autofs_data_t
5955
5956	* conf/autofs/autofs_solaris_v2_v3.h: ditto
5957
5958	* amd/map.c (init_map): initialize am_autofs_data
5959	(free_map): call the autofs cleanup function if necessary
5960
5961	* include/am_utils.h (am_node): added private data and cleanup
5962	function for autofs
5963
5964	* tasks: removed some obsolete entries
5965
59662001-08-11  Erez Zadok  <ezk@a-solaris8.fsl.cs.sunysb.edu>
5967
5968	* amd/map.c (free_map_if_success): run autofs_umount_failed() only
5969	if this mount node is of type autofs.
5970
59712001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
5972
5973	* amd/amd.h: removed mf_array from struct continuation (moved into
5974	am_node)
5975
5976	* include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
5977	vlookup_child; added vmount_child; added mount_child to the fs_ops
5978	API; added prototypes for amfs_auto_mount_child and
5979	amfs_error_mount_child
5980
5981	* amd/map.c (init_map): initialize am_mfarray to 0
5982
5983	* amd/amfs_*, amd/ops_*: new API function mount_child, old API
5984	function lookuppn renamed to lookup_child
5985
5986	* amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
5987	amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
5988	amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
5989	amfs_auto_mount_child; moved the freeing of the error mntfs in the
5990	newly allocated am_node from lookup_mntfs to mount_child; make
5991	sure lookup_child returns a negative error if the node needs to be
5992	mounted; removed the call to lookuppn3 from lookup_child
5993
5994	* amd/amfs_error.c: added stub implementations of
5995	amfs_error_lookup_child and amfs_error_mount_child
5996
5997	* amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
5998	conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
5999	call both lookup_child and mount_child, instead of the old
6000	lookuppn API method
6001
60022001-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6003
6004	* amd/get_args.c (get_args): a better way to handle GNU and
6005	non-GNU getopts without strdup-ing the getopt string.
6006
60072001-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6008
6009	* amd/info_ldap.c (amu_ldap_rebind): The first time you called
6010	amu_ldap_init, aldh->ldap is not set.  So when amu_ldap_rebind is
6011	called, this function is absolutely sure to return 0.  Then
6012	amu_ldap_init return 0 without having opened any LDAP connection.
6013	This is not the correct behavior.
6014	(get_ldap_timestamp, amu_ldap_search): error to free an object
6015	("entry") that is automatically freed by the library.  Patch from
6016	Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>.
6017
60182001-07-19  Ion Badulescu  <ionut@moisil.badula.org>
6019
6020	* AUTHORS (variables): added Philippe Troin
6021
6022	* Makefile.am (EXTRA_DIST): added bootstrap
6023
6024	* include/am_compat.h (xfs_args_t): define as u_int if the
6025	filesystem is supported but we can't autodetect the type for
6026	xfs_args_t. This allows Linux to mount xfs filesystems.
6027
60282001-07-12  Philippe Troin  <phil@fifi.org>
6029
6030	* doc/am-utils.texi: Added @dircategory Administration.
6031
60322001-07-12  Philippe Troin  <phil@fifi.org>
6033
6034	* aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
6035	with only the `yes' and `no' as possible answers.
6036
6037	* configure.in: Added support for disabling LDAP and HESIOD even
6038	if the supporting libraries are found.
6039
6040	* Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
6041
60422001-07-12  Philippe Troin  <phil@fifi.org>
6043
6044	* include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
6045	if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
6046	and the linux nodev options are different beasts.
6047
6048	* conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
6049	entry (not really necessary on linux).
6050
60512001-07-12  Philippe Troin  <phil@fifi.org>
6052
6053	* amd/get_args.c (get_args): Prepend "+" to the getopt string if
6054	HAVE_GNU_GETOPT to avoid getting all options (even the ones after
6055	the first non-option argument) slurped in by GNU getopt.
6056
6057	* aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
6058	if GNU/glibc getopt implementation is detected.
6059
6060	* configure.in: Added call to AC_CHECK_GNU_GETOPT.
6061
6062	* acconfig.h: Document HAVE_GNU_GETOPT.
6063
6064	* Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
6065
60662001-06-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6067
6068	* LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
6069	am-utils URL references use www.am-utils.org, not the columbia
6070	URL.
6071
60722001-06-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6073
6074	* conf/transp/transp_sockets.c (create_nfs_service): cast to
6075	u_long to ensure clean compile on freebsd5 and bsdi2.
6076
60772001-05-23  Ion Badulescu  <ionut@moisil.badula.org>
6078
6079	WARNING: WORK IN PROGRESS
6080
6081	It works for me on Linux (both autofs and nfs mounts), for nfs and
6082	link, but I won't make any guarantees outside those.
6083
6084	* amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
6085	point and the device/fileserver are the same. This is an important
6086	change of philosophy, watch out for memory leaks!
6087
6088	* amd/map.c (get_ap_child): helper function for
6089	amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
6090	and inserts it into all necessary structures
6091
6092	* amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
6093	free any of the removed fields
6094	(amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
6095	subfunctions, including some code stolen from bgmount; lookuppn
6096	now generates an array of possible mntfs to try mounting, and
6097	bgmount will actually try to mount each of them.
6098	(amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
6099	(amfs_parse_defaults): new helper function for lookuppn
6100
61012001-05-19  Erez Zadok  <ezk@kosh.dyn.optonline.net>
6102
6103	* conf/mount/mount_linux.c: typo: added comma after '0' element.
6104
61052001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6106
6107	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
6108	autofs-v4 again
6109	(autofs_get_opts): don't pass pgrp, the kernel will get it
6110	automatically anyway, not to mention that we were passing bogus
6111	data if amd was not daemonized.
6112
6113	* conf/mount/mount_linux.c (linux_nfs_error): don't special case
6114	the 0 result, just put it into the translation list
6115
61162001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6117
6118	* conf/mount/mount_linux.c (linux_nfs_error): don't report success
6119	(0) as error (NE_IO)!
6120
61212001-05-18  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6122
6123	* amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
6124	least one share is already mounted
6125
61262001-05-17  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6127
6128	* libamu/util.c (str3cat): updated comment
6129
6130	* include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
6131
6132	* conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
6133	(autofs_mounted): disable autofs support for host f/s if version < 4
6134	(create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
6135	(autofs_umount_succeeded): use rmdirs instead of rmdir
6136	(autofs_mount_failed): ditto
6137
6138	* amd/opts.c (expand_op): align the debugging messages
6139
6140	* amd/map.c (mount_auto_node): use am_node *mp instead of casting
6141	the void *arg; update the comment
6142
6143	* amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
6144	comparing to &amfs_direct_ops
6145	(mount_node): ifs_mount doesn't exist, make note of it in the
6146	comment
6147
6148	* amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
6149
6150	* amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
6151	create the mountpoint directory for auto f/s; it is now handled in
6152	autofs_linux.c
6153	(amfs_auto_bgmount): renamed the mpe parameter to mp_error;
6154	renamed dont_retry to retry and reverted its meaning as well;
6155	moved the mp variable up one scope and made use of it throughout
6156	the function;
6157	(amfs_auto_readdir): whitespace
6158	(amfs_auto_readdir_browsable): whitespace, also some debugging
6159
6160	* amd/am_ops.c (vops): updated a comment
6161
6162	* .cvsignore: added A.i386-pc-linux-rh7.[01]
6163
61642001-05-01  Ion Badulescu  <ionut@gonzales.dev.hydraweb.com>
6165
6166	* conf/mount/mount_linux.c: fixed stupid error in the linux
6167	nfs_errormap[], which was mapping ENOENT to success!!!
6168
61692001-04-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6170
6171	* BUGS: added info about the direct mount problems on Linux and
6172	about the kernel patches on www.am-utils.org.
6173
6174	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
6175	removed obsolete comment
6176
6177	* amd/autil.c (forcibly_timeout_mp): always log a message when the
6178	forced unmount request is ignored
6179	(mf_mounted): don't lstat unless this is an autofs mount point,
6180	lest we deadlock
6181
6182	* amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
6183	MFF_MKMNT to the flags, it causes deadlocks later on when
6184	unmounting
6185
61862001-04-14  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6187
6188	* COPYING: update copyright year
6189
6190	* amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
6191	amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
6192	amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
6193	amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
6194	conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
6195	conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
6196	conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
6197	libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
6198	messages for clarity, to avoid duplication, to better recognize
6199	what the message means and where it ran, and to fix typos.
6200
6201	* amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
6202	function's name to the beginning of the function, before any other
6203	messages are logged.
6204
62052001-04-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6206
6207	* conf/mount/mount_linux.c (do_mount_linux): removed plog() of
6208	binary data
6209
62102001-04-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6211
6212	* include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
6213	MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
6214	work (needed for MacOS X); removed duplicate definition of NFS.
6215
62162001-03-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6217
6218	* amd/amd.h, amd/amfs_auto.c, amd/conf.c,
6219	doc/am-utils.texi,
6220	scripts/amd.conf-sample, scripts/amd.conf.5:
6221	renamed selectors_on_default to selectors_in_defaults,
6222	kept the former as a deprecated option;
6223	renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
6224	renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
6225
62262001-03-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6227
6228	* amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
6229	include/am_utils.h: compile fixes for --enable-debug=no
6230
62312001-03-15  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6232
6233	* NEWS: updated
6234
6235	* README.autofs: updated
6236
6237	* conf/mount/mount_linux.c (linux_version_code): export the fn
6238
6239	* conf/nfs_prot/nfs_prot_linux.h: ditto
6240
6241	* conf/autofs/autofs_linux.c (create_autofs_service): verify the
6242	kernel version here, and turn off bind_works if the kernel is
6243	older than 2.4.0.
6244	(autofs_link_mount): don't touch bind_works here, it's useless
6245	b/c we're in a child process; remove the mountpoint directory if
6246	the bind mount fails
6247
6248	* amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
6249	into dlogs
6250
6251	* conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
6252	mntent struct before initializing it
6253
62542001-03-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6255
6256	* conf/mount/mount_linux.c (parse_opts): added support for lofs
6257	(mount_linux): support lofs through bind mounts and/or FiST lofs
6258
6259	* scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
6260	/var/mail and /usr/spool/mail
6261
6262	* conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
6263	kernel is newer than 2.4.0
6264	(MNTTYPE_LOFS): ditto
6265
6266	* conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
6267	(autofs_lookup_failed): removed stub
6268
6269	* conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
6270	the file, made static;
6271	(autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
6272	and friends to determine if bind mounts can be used and to trigger
6273	further cascading mounts; return proper error codes
6274	(autofs_link_umount): distinguish between symlinks and bind mounts
6275	and handle both correctly
6276	(autofs_umount_succeeded): remove call to autofs_link_umount()
6277
6278	* amd/map.c (umount_exported): try to unmount all mount points on
6279	an autofs filesystem; this isn't really needed and will be removed
6280	when we start handling restarting autofs mounts
6281
6282	* amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
6283	if necessary
6284
6285	* amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
6286	causing the wrong mntfs to be selected when using autofs; removed
6287	call to autofs_link_mount() (moved where it belongs, in
6288	amfs_link.c)
6289
6290	* amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
6291	solution is needed, because background mounting is only necessary
6292	for linux autofs + bind mounts
6293
6294	* amd/amd.h: removed prototype for autofs_lookup_failed (internal
6295	static function for linux autofs); added prototype for
6296	autofs_link_umount
6297
6298	* configure.in: bump up library patchlevel
6299
63002001-02-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6301
6302	* aux/macros/check_mount_trap.m4,
6303	aux/macros/check_nfs_fh_dref.m4,
6304	aux/macros/check_nfs_prot_headers.m4,
6305	aux/macros/type_recvfrom_fromlen.m4,
6306	aux/macros/type_yp_order_outorder.m4:
6307	Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
6308	aix[1-3], osf[1-3] and hpux[6-9].
6309
63102001-02-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6311
6312	* check_mount_style.m4, check_mount_trap.m4,
6313	check_network_transport_type.m4, check_nfs_fh_dref.m4,
6314	check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
6315	check_nfs_socket_connection.m4, os_cflags.m4,
6316	type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
6317	cleanup (use [[0-1]] instead of M4 changequote commands).
6318
6319	* Makefile.am: removed unused conf/trap/trap_hpux11.h
6320
63212001-02-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6322
6323	* aux/macros/check_network_transport_type.m4,
6324	aux/macros/check_mount_style.m4,
6325	aux/macros/check_mount_trap.m4,
6326	aux/macros/check_network_transport_type.m4,
6327	aux/macros/check_nfs_fh_dref.m4,
6328	aux/macros/check_nfs_prot_headers.m4,
6329	aux/macros/check_nfs_sa_dref.m4,
6330	aux/macros/check_nfs_socket_connection.m4,
6331	aux/macros/os_cflags.m4,
6332	aux/macros/type_auth_create_gidlist.m4,
6333	aux/macros/type_recvfrom_fromlen.m4,
6334	aux/macros/type_yp_order_outorder.m4:
6335	Reworked the scripts, so that a new _unknown_ version of a known OS
6336	will use the option for the newest _known_ version of that OS. For
6337	example, when freebsd6 comes out, it will use the stuff for
6338	freebsd5, not the stuff for freebsd2. This makes configure more
6339	likely to succeed on new systems/versions.
6340
6341	* Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
6342
63432001-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6344
6345	* Makefile.am (install-snapshot): use a different symlink target
6346	for the experimental snapshots.
6347
63482001-02-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6349
6350	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
6351	distributions.
6352
63532001-02-22  Erez Zadok  <ezk@earth.cs.columbia.edu>
6354
6355	* released snapshot am-utils-6.1a3
6356
6357	* amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
6358	get_args.c
6359
63602001-02-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6361
6362	* libamu/mtab.c: added the functions hasmnteq and haseq to
6363	ease checks for non-numeric values in opt=value strings.
6364	Recoded hasmntval to qualify input as numeric, allow hex and
6365	octal strings on rhs of =, and log when the value is missing
6366	or invalid.
6367
6368	* conf/mount/mount_linux.c: revised mount_linux to use new
6369	hasmnteq function to extract type of non-nfs mounts, and added
6370	a log message to catch possible failure of strdup.
6371
6372	* amd/am_ops.c: revised merge_ops to use new haseq function
6373
6374	* amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
6375	discover protocol setting.
6376
6377	* include/am_utils.h: added function prototypes for hasmnteq
6378	and haseq
6379
63802001-02-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6381
6382	* include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
6383	pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
6384
6385	* include/am_defs.h (_LINUX_NFS3_H): ditto
6386
6387	* conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
6388
63892001-02-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6390
6391	* aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
6392	command.
6393
63942001-02-18  Erez Zadok  <ezk@earth.cs.columbia.edu>
6395
6396	* aux/macros/mount_headers.m4, include/mount_headers[12].h: split
6397	mount_headers.h in two because one relative header (nfs_prot.h)
6398	file cannot be included inside another from the start directory of
6399	the first (it's relative to the directory of the first).
6400
64012001-02-09  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6402
6403	* AUTHORS: added Ahmon Dancy <dancy@franz.com>
6404
6405	* (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
6406
6407	* aux/macros/mount_headers.m4: moved all the C code into a
6408	separate file, include/mount_headers.h; the effect is that
6409	configure goes down in size by a factor of 2.5!
6410
6411	* include/mount_headers.h: new file, with C code from
6412	aux/macros/mount_headers.m4
6413
64142001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6415
6416	* conf/mount/mount_linux.c: made linux_nfs_error() more robust.
6417
64182001-02-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6419
6420	* released snapshot am-utils-6.1a2
6421
6422	* updated ltmain.sh and ltconfig from latest stable version of
6423	libtool-1.3.5
6424
64252001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6426
6427	* conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
6428	of nfs_error here, from mount_linux.c, so that it can actually be
6429	used.
6430
6431	* conf/mount/mount_linux.c: added unused errno 41 to the
6432	nfs_errormap array, lest the following errno's get shifted up by
6433	one!
6434
6435Sat Jan 13 00:04:38 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6436
6437	* amd/amd.h (autofs_lookuppn): Fixup whitespace.
6438	* amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
6439	* amd/amfs_error.c: (amfs_error_match): Likewise.
6440	* amd/amfs_host.c (fetch_fhandle): Fixup whitespace.  Remove
6441	unnecessary temporary variable.
6442	* amd/info_file.c (read_line): Likewise.
6443	(search_or_reload_file): Likewise.
6444	* amd/info_ldap.c (get_ldap_timestamp): Likewise.
6445	* amd/map.c (get_root_ap): Likewise.
6446	* amd/nfs_prot_svc.c: Likewise.
6447	* amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
6448	foofs_readlink, foofs_ffserver): Likewise.
6449	* amd/ops_autofs.c (autofs_bgmount): Likewise.
6450	* amd/ops_lofs.c (lofs_match): Likewise.
6451	* amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
6452	* amd/ops_xfs.c (xfs_match): Likewise.
6453	* amd/srvr_amfs_auto.c (srvrlog): Line break.
6454	* amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
6455	nfs_srvr_port): Fixup whitespace.
6456	* conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
6457	* conf/nfs_prot/nfs_prot_hpux.h: Likewise.
6458	* conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
6459	* conf/nfs_prot/nfs_prot_irix5.h: Likewise.
6460	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
6461	* conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
6462	* conf/nfs_prot/nfs_prot_osf2.h: Likewise.
6463	* conf/nfs_prot/nfs_prot_osf4.h: Likewise.
6464	* conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
6465	* conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
6466	* conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
6467	* conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
6468	* conf/transp/transp_tli.c (get_mount_client): Likewise.
6469	* hlfsd/nfs_prot_svc.c: Likewise.
6470	* include/am_defs.h (sys_errlist): Likewise.
6471	* include/am_utils.h (am_get_progname, am_get_hostname,
6472	amq_program_1): Likewise.
6473	(nfsxprt): Moved declaration.
6474
6475Fri Jan 12 23:31:45 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6476
6477	Removed support for amq -M.
6478
6479	* acconfig.h (ENABLE_AMQ_MOUNT): Removed.
6480	* aux/macros/opt_amq_mount.m4: Removed.
6481	* Makefile.am (EXTRA_DIST_AUX): Don't distribute
6482	opt_amq_mount.m4.
6483	* configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
6484
6485	* amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
6486	* amd/amq_svc.c (amq_program_1): Removed amq -M support.
6487	* amq/amq.c (mount_map): Removed.
6488	(main): Removed -M option handling.
6489	Removed transport-type specific CLIENT creation.
6490	(get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
6491
6492	* amq/amq.8: Removed -M documentation.
6493	* doc/am-utils.texi (Top-level Filesystem): Removed amq -M
6494	reference, but retain comment on mount -t amd.
6495	(Controlling Amd): Likewise.
6496
6497	* tasks: Removed this task.
6498
6499Fri Jan 12 23:18:26 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6500
6501	* conf/autofs/autofs_*.c: Bump copyright year to 2001.
6502	* hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
6503
6504	* aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
6505	solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
6506	protocol version numbers, not solaris versions.
6507	* conf/autofs/autofs_solaris[12].[ch]: Renamed to
6508	autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
6509	* Makefile.am (EXTRA_DIST_CONF): Likewise.
6510
6511	* aux/macros/check_autofs_style.m4: Use solaris2 style for both
6512	versions 2 and 3 of the AutoFS protocol.
6513
6514	Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
6515	with Solaris 8 mntfs).
6516
6517	* conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
6518	xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
6519	autofs_postmount_2_req ): Don't define for version 3.
6520	(autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
6521	AUTOFS_POSTMOUNT if missing.
6522
6523	* conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
6524
6525	* aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
6526	files on systems without existing autofs port.
6527	* conf/autofs/autofs_default.[ch]: New files, empty.
6528	* Makefile.am (EXTRA_DIST_CONF): Distribute them.
6529	* INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
6530	link.
6531
65322001-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6533
6534	* Makefile.am (EXTRA_DIST): distribute new LDAP files.
6535
6536	* README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
6537	proposed Schema, and internet draft.
6538
6539Fri Jan 12 22:27:07 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6540
6541	* Support Tru64 UNIX V5.1:
6542
6543	* conf/nfs_prot/nfs_prot_osf5_1.h: New file.
6544
6545	* Makefile.am (EXTRA_DIST_CONF): Distribute it.
6546
6547	* aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
6548	AutoFS, need to disable it until a port exists.
6549
6550	* INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
6551	minor port.
6552
65532001-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6554
6555	* ALL: bump copyright year to 2001.
6556
65572001-01-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6558
6559	* acconfig.h: correct comments for NODEV/NONDEV mount options
6560
6561Fri Jan  5 05:12:02 2001  Erez Zadok  <ezk@subzero.cs.columbia.edu>
6562
6563	* libamu/xdr_func.c: removed ugly casts to "groups*", now that
6564	irix6's nfs_prot.h is fixed.
6565
6566	* conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
6567	<rpcsvc/mount.h> here so we don't have to include this header.
6568
65692001-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6570
6571	* conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
6572	struct groups, not the pointer to this struct.
6573
6574	* include/am_xdr_func.h: prototype should take "groups *" as 2nd
6575	arg.
6576
6577	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
6578	casting of second arg of xdr_groups to "groups *".  It's only
6579	needed for irix6, due to problems with xdr_groups on that platform.
6580	(xdr_groups): prototype should take "groups *" as 2nd arg.
6581
6582	* conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
6583	definition.  Report from Ahmon Dancy <dancy@franz.com>.
6584
65852000-12-06  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6586
6587	* include/am_defs.h: force non-inclusion of <linux/fs.h> via
6588	<linux/auto_fs.h>
6589
6590	* conf/autofs/autofs_linux.c (autofs_mounted): rename
6591	AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
6592	previous commit)
6593
6594	* configure.in: fixed libtool version
6595
65962000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6597
6598	* doc/am-utils.texi (opts Option): document lock/nolock
6599
66002000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6601
6602	* conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
6603	modified autofs_fh_t to have a linked list of autofs_pending_mount;
6604	added some support for autofs4
6605
6606	* conf/autofs/autofs_linux.c: use a linked list for pending
6607	request, to allow for handling multiple simultaneous request;
6608	incipient non-functional support for autofs4; incipient
6609	non-functional support for bind-mounting
6610
6611	* amd/amd.c (main): print a warning if PROCLOCK is requested but
6612	the O/S doesn't support it
6613
6614	* libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
6615	option
6616
6617	* include/am_defs.h: don't include <linux/fs.h> on a glibc2
6618	system; include <linux/auto_fs4.h> if it exists, instead of
6619	<linux/auto_fs.h>
6620
6621	* include/am_compat.h: define the "nolock" mnttab option if the
6622	NONLM NFS mount option is defined
6623
6624	* acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
6625
6626	* configure.in: added detection of the NONLM Linux NFS mount
6627	option; added a clarification for the library versioning rules and
6628	increased the minor level; added detection of <linux/auto_fs4.h>
6629	and the MS_BIND generic mount option
6630
66312000-11-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6632
6633	* Enabled Solaris 2.7 autofs support (tested, works)
6634
6635	* Updated NEWS, README.autofs
6636
6637	* Updated Makefile's, make dist is now fixed
6638
6639	* Fixed potential memory leak in map.c
6640
6641	* Fixed autofs style detection for solaris 2.[67]
6642
6643	* Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
6644
66452000-11-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6646
6647	More Solaris 2.[67] work in progress:
6648
6649	* changed the API for the mount/umount methods: fmount/fumount are
6650	gone, and mount/umount now take two arguments (am_node and mntfs)
6651
6652	* changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
6653	means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
6654	means the am_node is a node on a filesystem of type autofs.
6655
6656	* renamed nfs_program_2_transp to current_transp so it can be used
6657	with autofs
6658
6659	* renamed quick_reply() to nfs_quick_reply()
6660
6661	* added two more autofs methods: autofs_umount_failed() and
6662	autofs_compute_mount_flags() -- it turns out that on sol2.6 the
6663	autofs mounts MUST be overlay'ed
6664
6665	* moved the autofs_mount_succeeded() into am_mounted()
6666
6667	* made amd *not* timeout autofs mounts -- the kernel will do it
6668	for us
6669
6670	* store dev and rdev of a mounted filesystem in the mntfs
6671	structure, to help autofs
6672
6673	* moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
6674	prevent deadlocking with autofs
6675
6676	* amd/Makefile.am: shuffled things around to make
6677	update_build_version be the last thing that runs
6678
66792000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6680
6681	* split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
6682	and made configure create a symlink to the appropriate one
6683
6684	* moved the xdr autofs functions from libamu/xdr_func.c into the
6685	system-specific conf/autofs/autofs*.c
6686
6687	* added some more experimental code to the sol2.6 autofs support,
6688	but it's by no means functional
6689
66902000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6691
6692	* libamu/wire.c (getwire_lookup): truncate the hostname to
6693	MAXHOSTNAMELEN characters.
6694
66952000-11-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6696
6697	* include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
6698	256 bytes, not 64.   Suggestion form Kris Kennaway
6699	<kris@FreeBSD.org>.
6700
67012000-11-26  Erez Zadok  <ezk@dmath5.geometrie.tuwien.ac.at>
6702
6703	* configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
6704	options kerb, rdirplus, readdirsize, and xlatecookie
6705	(NetBSD-1.5K).
6706
6707	* acconfig.h: recognize NFS mount options rdirplus, readdirsize,
6708	and xlatecookie (NetBSD-1.5K)
6709
67102000-11-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6711
6712	* amd/srvr_nfs.c: comment on NFS proto search order.
6713
6714	* libamu/xutil.c (real_plog): don't try to write the last byte of
6715	the fmt buf.  security suggtion from NetBSD: Thomas Klausner
6716	<wiz@danbala.ifoer.tuwien.ac.at>
6717
67182000-11-22  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6719
6720	* amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
6721	fattr.na_fileid, it is now done in map.c when the map is initialized
6722
6723	* amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
6724	to 0, to avoid cache aliasing problems on Linux (and to follow the
6725	NFS spec!)
6726
67272000-11-22  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
6728
6729	* libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
6730	(security)
6731
6732	* libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
6733	__attribute__, __format__, and __printf__ for GCC string auditing.
6734
6735	* wire-test/wire-test.8: this is not a section 8L man page.
6736
6737	* libamu/xutil.c (expand_error): don't use sys_nerr on systems
6738	that support strerror().
6739	(dplog): fmt is const
6740	(plog): fmt is const
6741	(real_plog): fmt is const.  use new expand_error function with its
6742	new return value. be more careful about running off the end of
6743	char[] fixed size buffers.
6744
6745	* libamu/wire.c (getwire): fix alignment error on alpha using an
6746	extra automatic storage variable ifrpool.
6747
6748	* hlfsd/hlfsd.c (fatal): use proper printf style to plog.
6749
6750	* fsinfo/fsinfo.c (find_username): getlogin() returns a const.
6751
6752	* fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
6753	vfprintf.
6754
6755	* fsinfo/fsi_lex.l (yyerror): use vfprintf.
6756
6757	* fixmount/fixmount.8: this is not a section 8L man page.
6758
6759	* doc/am-utils.texi (Hesiod maps): fixed typo.
6760
6761	* amd/sched.c (do_task_notify): typo in comment.
6762
6763	* amd/opts.c (expand_op): expand_error[] is a const char *.
6764
6765	* amd/amd.c (main): use proper printf style to plog.
6766
67672000-11-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6768
6769	* libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
6770	proplist mnttab flag.  Bug fix from Wolfram Klaus
6771	<klaus@physik.fu-berlin.de>.
6772
67732000-11-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6774
6775	* updated config.guess, config.sub, and doc/texinfo.tex from
6776	mirrors
6777
6778	* Makefile.am (update): proper updating of config.* and texinfo
6779	from mirrors.
6780
6781	* aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
6782	reports their system name as "netbsdelf" in config.guess.
6783
67842000-11-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6785
6786	* doc/am-utils.texi (opts Option): document new mount option
6787	"proplist"
6788
6789	* include/am_compat.h: define amd mount option "proplist" if the
6790	system doesn't recognize it, but the NFS bit flag exists.
6791
6792	* configure.in, acconfig.h: recognize/support "proplist" NFS mount
6793	option in Amd, useful under DU-4.0 to process ACLs over NFS
6794	mounts.
6795
67962000-11-10  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6797
6798	* conf/mount/mount_linux.c (mount_linux): removed unnecessary
6799	rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
6800
68012000-10-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6802
6803	* scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
6804
68052000-11-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6806
6807	Too many changes to list them here. Here's a high level
6808	description:
6809
6810	* Forward-ported the Linux fixes from 6.0.5pre
6811
6812	* Got rid of a mountain of #ifdef DEBUG, replaced with smart
6813	header-file #ifdef's
6814
6815	* and, the grand finale: initial Solaris 2.6 autofs
6816	support. Compiles, mounts, gets requests; all the
6817	infrastructure is in place to actually implement the calls. Linux
6818	autofs might be a bit broken, but only compile-time so it'll be
6819	easy to fix.
6820
68212000-11-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6822
6823	* MIRRORS (Note): added a mirror at ufl.edu
6824
68252000-10-11  Erez Zadok  <ezk@lorien.dev.hydraweb.com>
6826
6827	* amq/amq.8: synchronize Amq's options with reality
6828
6829	* amq/amq.c (main): synchronize Amq's usage() string with reality
6830
68312000-10-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6832
6833	* scripts/ctl-amd.in: add targets condrestart (redhat) and
6834	reload.
6835
68362000-10-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6837
6838	* scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
6839	defined.
6840
68412000-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6842
6843	* amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
6844	\a.
6845
68462000-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6847
6848	* include/am_utils.h: removed unused field opt_autopref
6849
6850	* amd/opts.c: removed unused variable $autopref
6851
68522000-09-05  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
6853
6854	* conf/mtab/mtab_svr4.c (lockfile): function not needed unless
6855	MOUNT_TABLE_ON_FILE is defined.
6856	mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
6857	(update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
6858
68592000-09-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6860
6861	* buildall (Usage): typo in usage string
6862
68632000-08-25  Erez Zadok  <ezk@lynn.soscorp.com>
6864
6865	* conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
6866	is no defined on older Linux systems (kernel 2.0.36)
6867
68682000-08-19  Erez Zadok  <ezk@earth.cs.columbia.edu>
6869
6870	* scripts/amd.conf.5: correct swapped descriptions for ldap_base
6871	and ldap_hostports.
6872
6873	* doc/am-utils.texi: correct swapped descriptions for ldap_base
6874	and ldap_hostports.
6875
6876	* scripts/amd.conf-sample: swap examples for ldap_base and
6877	ldap_hostports.
6878
68792000-08-13  Erez Zadok  <ezk@earth.cs.columbia.edu>
6880
6881	* scripts/amd.conf-sample: -O is CLI equivalent to "os"
6882	amd.conf parameter
6883
68842000-07-30  Erez Zadok  <ezk@earth.cs.columbia.edu>
6885
6886	* scripts/amd.conf-sample (nfs_retransmit_counter): correct
6887	meaning and use of parameter
6888
68892000-07-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6890
6891	* doc/am-utils.texi: updated URLs to www.am-utils.org.
6892
68932000-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6894
6895	* doc/am-utils.texi (Supported Platforms): document osf4.0f
6896
68972000-06-19  Erez Zadok  <ezk@vir.cs.columbia.edu>
6898
6899	* doc/am-utils.texi (dollar Selector Variable): document
6900	${dollar}.
6901
6902	* amd/opts.c: special new variable ${dollar} which expands into a
6903	literal '$' sign.  Otherwise there is no way to include a literal
6904	dollar symbol in an amd map.
6905
69062000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
6907
6908	* amd/opts.c (eval_selectors): don't deref opt after it's been
6909	XFREE'd
6910
69112000-06-11  Erez Zadok  <ezk@earth.cs.columbia.edu>
6912
6913	* amd/opts.c: move mount_type expansion until later in the list,
6914	so common variable are "hit" first.
6915
69162000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
6917
6918	* amd/opts.c (split_opts, eval_selectors): split old function
6919	eval_opts into two, one that only splits non-selectors and
6920	assigns the values to fs_static, and one that only evaluates
6921	selectors; also simplified the rather obfuscated logic inside
6922	these functions
6923	(expand_op): made it take a char * instead of a structure from
6924	which it was using only one field (a char *). Also now returns a
6925	char * instead of modifying said structure in place
6926	(expand_opts): deal with the change above
6927	(expand_selectors): renamed from expand_key
6928	(expand_options): new function, expands non-selectors; it's the
6929	complement of expand_selectors, both of which are just wrappers
6930	around expand_op()
6931	(eval_fs_opts): use the new split_opts, eval_selectors to allow
6932	using options (like ${rhost}) in selectors
6933
69342000-06-11  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
6935
6936	* config.guess.long: munge config.guess' output so that intel
6937	linux appears as i386-pc-linux
6938
6939Fri Jun  9 16:06:56 2000  Erez Zadok  <ezk@defiant.dev.hydraweb.com>
6940
6941	* conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
6942	Don't use it.
6943
69442000-06-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6945
6946	* amd/mapc.c (maptypes): Change default allocation mode to
6947	MAPC_INC where reload support is missing to avoid warning in
6948	mapc_create().
6949
69502000-06-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6951
6952	* conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
6953	solaris 2.5 until a full port can be done.
6954
69552000-06-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6956
6957	* Makefile.am, aux/GNUmakefile: fix maintainer rules to update
6958	config.* and texinfo.tex files.
6959
6960	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
6961	mtime update of the symlinks on the SYMTTL option, but rather
6962	delay unmount of what was looked up using am_timeo_w.  Patch from
6963	Nick Williams <Nick.Williams@msdw.com>.  As Nick says "Basically:
6964	during unmount, increment the parent dir's mtime (fixes
6965	people doing amq -u). During stat, increase the TTL (to fix bad-luck
6966	timeouts), but leave the mtime alone."
6967
6968	(nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
6969	nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
6970	Patch from Nick Williams <Nick.Williams@msdw.com>.
6971
6972	* amd/map.c (unmount_mp): update mtime of amd symlink to further
6973	reduce the chances of race conditions between unmounting and
6974	looking up an entry again.  Patch from Nick Williams
6975	<Nick.Williams@msdw.com>.
6976
6977	* README: updated instructions
6978
6979	* bootstrap: remove log file before existing
6980
69812000-06-06  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
6982
6983	* configure.in: no longer using aux/ subdir. don't force autoconf
6984	2.14. comment out (but leave explanation) everything that's needed
6985	for autoconf 2.14, so for now it works with autoconf-2.13, but the
6986	code is ready for 2.14 when it is released.  Similar changes to
6987	make code work with automake-1.4, until the next release comes
6988	out.
6989
6990	* libamu/Makefile.am: include definitions that are required in
6991	automake 1.4, but won't be necessary when the next release of
6992	automake comes out (see XXX comments).
6993
6994	* cache_check_dynamic.m4, check_checkmount_style.m4,
6995	check_mnttab_style.m4, check_mount_style.m4,
6996	check_network_transport_type.m4, check_nfs_prot_headers.m4,
6997	check_umount_style.m4: use symlink creation code that works for
6998	both autoconf 2.13 and 2.14 (when the latter comes out).
6999
7000	* bootstrap: new script for maintainers to run to update autoconf,
7001	automake, and libtool related files.  Has the same effect as
7002	"buildall -K".
7003
7004	* removed dependencies on CVS versions of autoconf, automake, and
7005	libtool, especially the modified automake I had.  This is so that
7006	maintainers could built the auto* files out of the latest released
7007	GNU autoconf, automake, and libtool.  However, without my nice
7008	patches to automake, many files that used to live in the aux/
7009	subdir now were moved to the top level source directory: acconfig.h,
7010	acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
7011	config.guess.long, config.h.in, config.sub, configure.in, depcomp,
7012	install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs.  Also
7013	texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
7014
70152000-06-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7016
7017	* cvs-server.txt: instructions for maintainers to access the CVS
7018	server for am-utils.
7019
70202000-06-03  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7021
7022	* amd/restart.c (restart): grr.. passing around initialized
7023	structures is *really* bad habit. memset(mo, 0) so at least we can
7024	test for NULL pointers...
7025
70262000-06-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7027
7028	* amd/am_ops.c (ops_match): changed XLOG_USER messages about
7029	merging addopts options to the more appropriate XLOG_INFO.  Patch
7030	submitted by Tom Schmidt <tschmidt@micron.com>.
7031
7032	* config.{guess,sub}: make sure chmod'ed a+rx.  Updated from
7033	latest GNU copies.
7034
70352000-05-30  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7036
7037	* aux/configure.in: bump up the version to 6.1a2
7038
70392000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7040
7041	* released snapshot am-utils-6.1a1
7042
70432000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7044
7045	* amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
7046	version and store it in the fh
7047	(autofs_get_opts): support protocol version 4
7048
7049	* amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
7050	releasing it
7051
7052	* conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
7053	svc_getcaller() to sockaddr_in, to appease glibc 2.2
7054
7055	* amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
7056	autofs handling and the parent is already handled by autofs,
7057	handle this filesystem as well
7058	(amfs_auto_mount): create the mountpoint for an autofs mount
7059	(amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
7060
7061	* include/am_utils.h (FS_AUTOFS): new flag signalling that the
7062	filesystem wants autofs handling; toplvl, auto, host and direct
7063	have this flag, at least for now
7064
70652000-05-28  Erez Zadok  <ezk@mulberry.mcl.cs.columbia.edu>
7066
7067	* doc/am-utils.texi (Network Filesystem Group): minor typos
7068
70692000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7070
7071	* amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
7072
7073	* amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
7074	version=2 and proto=udp and try again
7075
7076	* amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
7077	instead of a voidp; handle the NFS_SCALEDOWN case by removing the
7078	cached server entry and re-querying the server
7079
7080	* amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
7081	statement, assign mnttype from the fs-specific mf_ops->fs_type
7082	instead
7083
7084	* amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
7085	defined;
7086	(amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
7087	always exists
7088	(amfs_nfsx_umount): removed the hacked am_node -- umounted() now
7089	takes an mntfs; call umounted() only if it's defined
7090
7091	* amd/amfs_auto.c: removed amfs_auto_umounted and moved its
7092	functionality into am_umounted().
7093	(amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
7094	as needing an "NFS scaledown" and retry the operation
7095
7096	* amd/amfs_*.c: changed all fmount/fumount functions to
7097	mount/umount and made them take an am_node instead of an
7098	mntfs. This is a first step towards an amfs/ops API separation.
7099
7100	* amd/{amfs,ops}_*.c: changed the umounted() function to take an
7101	mntfs instead of an am_node
7102
71032000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7104
7105	* amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
7106	up gcc
7107
7108	* aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
7109	which always defines HIDE_MOUNT_TYPE
7110
7111	* amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
7112	initialization -- now done in init_mntfs()
7113
7114	* amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
7115	mounting an autofs-style map
7116
7117	* amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
7118
7119	* amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
7120	necessarily a string type, so handle the nfs/autofs separation
7121	differently
7122
7123	* amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
7124	opt_mount_type (now done in ops_match())
7125
7126	* amd/am_ops.c (ops_match): need to initialize opt_mount_type if
7127	it's not initialized yet
7128
71292000-05-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7130
7131	* libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
7132	one or two arguments (bsdi3 vs. bsdi4)
7133
71342000-05-27  Ion Badulescu  <ib42@chestnut.mcl.cs.columbia.edu>
7135
7136	* libamu/xutil.c (amu_release_controlling_tty): removed an unused
7137	variable from the previous patch
7138
71392000-05-26  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7140
7141	* aux/macros/check_autofs_style.m4: fixed substitution for default
7142	case
7143
7144	* libamu/xutil.c (amu_release_controlling_tty): close standard
7145	file descriptors, re-open them as /dev/null
7146
7147	* include/am_defs.h: don't try to include both <ndbm.h> and
7148	<db1/ndbm.h>, it really doesn't work
7149
71502000-05-16  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7151
7152	* hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
7153	on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
7154	getattr).  This fixes the problem introduced by the Linux nfsv3
7155	patches.
7156
71572000-05-12  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7158
7159	* Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
7160
71612000-05-10  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7162
7163	* amd/ops_autofs.c (autofs_handle_fdset): call
7164	autofs_lookup_failed instead of autofs_mount_failed, if the name
7165	is not in the map
7166	(autofs_umount_{succeeded,failed}): pass the actual mount point,
7167	not its parent, as it's needed for clean-up;
7168
7169	* amd/autil.c (am_unmounted): notify autofs that the umount
7170	succeeded
7171
7172	* amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
7173	moved elsewhere
7174
71752000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7176
7177	* amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
7178	if necessary;
7179	(amfs_auto_mounted): test if opt_mount_type is NULL first
7180	(amfs_auto_mount): revert earlier change
7181
7182	* amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
7183	if mount failed
7184
71852000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7186
7187	* amd/ops_autofs.c (autofs_link_mount): use am_link as target
7188
7189	* amd/map.c (unmount_mp): release file handle for autofs f/s about
7190	to be unmounted; this leak was preventing the unmount altogether
7191
7192	* amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
7193	code, was broken
7194	(amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
7195	handle it
7196
71972000-05-07  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7198
7199	* Merged changes from stable branch
7200
72012000-04-30  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7202
7203	* include/am_defs.h, aux/macros/mount_headers.m4,
7204	aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
7205	linux/list.h before including linux/fs.h, and define __KERNEL__
7206	for those two headers.  All of this to get a couple of definitions
7207	that are needed in the new struct vfsmount.
7208
7209	* aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
7210
7211	* include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
7212	between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
7213	defining _LINUX_IN_H so it doesn't get included.
7214
72152000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7216
7217	* minor new ports: i686-pc-linux-gnu-rh6.2,
7218	i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
7219
72202000-04-03  Erez Zadok  <ezk@vir.cs.columbia.edu>
7221
7222	* aux/acconfig.h: move all #undef macros above @TOP@, so they can
7223	be recognized by pickier autoconf.
7224
72252000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7226
7227	* aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
7228	or \c.
7229
72302000-03-25  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7231
7232	* include/am_defs.h: ditto
7233
7234	* aux/macros/{mount_headers,try_compile_anyfs}.m4: force
7235	non-inclusion of <linux/string.h>.  Breaks build on newer 2.3
7236	kernels.
7237
72382000-02-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7239
7240	* doc/am-utils.texi (Amq -w option): document new amq -w option.
7241
7242	* amq/amq.8: document new amq -w option.
7243
7244	* amq/amq.c: disable last remains of insecure amq -M code.
7245	(main): add amq -H option to show usage.
7246	(main): new amq -w option, translates getpwd() into an amd path.
7247
72482000-02-25  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7249
7250	* libamu/util.c (get_server_pid): new function
7251
7252	* hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
7253
7254	* conf/transp/transp_sockets.c: removed create_autofs_service
7255
7256	* conf/mount/mount_linux.c: added autofs mount options; split
7257	mount_linux into two functions, itself and do_mount_linux
7258
7259	* aux/macros/check_hide_mount_type.m4: better failover
7260
7261	* aux/configure.in: changed version to 6.1a1; added
7262	AC_CHECK_AUTOFS_STYLE
7263
7264	* aux/aux_conf.h.in: added @am_utils_autofs_style@
7265
7266	* amd/opts.c: added "mount_type" option
7267
7268	* amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
7269	variables in here; split create_autofs_service into sun and linux
7270	specific functions
7271
7272	* amd/nfs_start.c: removed autofs-specific variables
7273
7274	* amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
7275	(get_root_ap): renamed root_ap to get_root_ap
7276
7277	* amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
7278	amfs_toplvl_mounted with amfs_auto_mounted
7279	(mount_amfs_toplvl): moved code around, added autofs handling
7280	(amfs_toplvl_mounted): removed
7281
7282	* amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
7283	replaced with amfs_nfsl_u?mount
7284
7285	* amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
7286	replaced with amfs_link_umount
7287
7288	* amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
7289	replaced with amfs_link_u?mount
7290
7291	* amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
7292	from amfs_toplvl_mounted to amfs_auto_mounted
7293
7294	* all: added autofs hooks throughout the code
7295
7296	* amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
7297
7298	* README.autofs: linux status update
7299
73002000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7301
7302	* minor new port: alphaev6-dec-osf5.0
7303
7304	* doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
7305	but only for UDP.
7306
7307	* released snapshot am-utils-6.0.4s3
7308
7309	* conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11.  Note
7310	that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
7311	kernel!  Must set nfs_proto=udp in amd.conf [global].
7312
7313	* aux/config.guess.long: set and export PATH separately.  DU5
7314	/bin/sh doesn't like setting it on the command line in a
7315	back-tick'ed `script`.
7316
73172000-02-24  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7318
7319	* Makefile.am: removed struct_nfs_mount_data.m4
7320
7321	* aux/macros/struct_nfs_mount_data.m4: deleted
7322
7323	* aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
7324
7325	* aux/configure.in: removed check for struct nfs_mount_data
7326
73272000-02-24  Ion Badulescu  <ib42@beetle.mcl.cs.columbia.edu>
7328
7329	* amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
7330	avoid having 'failed' in a message not indicating a failure
7331	(amfs_auto_lookuppn): ditto
7332
7333	* amd/ops_autofs.c (autofs_bgmount): ditto
7334	(autofs_lookuppn): ditto
7335
73362000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7337
7338	* added .cvsignore files into the CVS repository.
7339
7340	* remove files which can be regenerated: .in, configure, some
7341	files in aux/, and more.
7342
73432000-02-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7344
7345	* doc/am-utils.texi (nfs_vers/nfs_proto): description of two
7346	parameters was reversed.  Reported by Paul Jenner
7347	<p.jenner@eim.surrey.ac.uk>.
7348
73492000-02-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7350
7351	* released snapshot am-utils-6.0.4s2
7352
7353	* amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
7354	as inherit, error, and toplvl (failover code).
7355
7356	* amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
7357	global options in amd.conf: one to set the NFS version globally
7358	(i.e., nfs_vers=2), and one to set the NFS protocol globally
7359	(i.e., nfs_proto=udp).
7360
7361	* amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
7362	so when a matching mount entry failed, try the next one.
7363
73642000-02-15  Erez Zadok  <ezk@moisil.cs.columbia.edu>
7365
7366	* amd/amfs_auto.c: a new debug option "readdir" to trace the
7367	progress of the browsable_dirs code.
7368
7369	* conf/mount/mount_linux.c (mount_linux): ensure that the new
7370	linux NFSv3 code works for v2-only machines.
7371
73722000-02-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7373
7374	* aux/configure.in: cleanup unused dnl entries.
7375
7376	* conf/mount/mount_linux.c (parse_opts): typo: check for string
7377	equality, not string inequality for pcfs and cdfs.
7378
7379	* aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
7380
7381	* libamu/mount_fs.c (compute_mount_flags): check for INTR and
7382	NOINTR options as well (intr was never passed to linux mount
7383	syscall).
7384
73852000-02-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7386
7387	* released snapshot am-utils-6.0.4s1
7388
7389	* aux/GNUmakefile: buildall -k (for maintainers) temporarily now
7390	ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
7391	obsolete".  It is harmless but annoying, and will be fixed when
7392	autoconf and automake in their respective CVS trees are working
7393	and in sync again.
7394
7395	* scripts/amd.conf.5: document -D hrtime,xdrtrace
7396
7397	* all man pages: update copyright to 2000.
7398
7399	* doc/am-utils.texi: update copyright to 2000.
7400
7401Wed Feb  9 14:22:31 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7402
7403	* include/am_utils.h (D_XDRTRACE): Define.
7404	(D_TEST): Disable here.
7405
7406	* libamu/xutil.c (dbg_opt): Handle it.
7407
7408	* doc/am-utils.texi (-D-Option): Document it.
7409
7410	* libamu/xdr_func.c: Use it instead of D_TRACE.
7411
7412	* include/am_utils.h (D_HRTIME): Define.
7413
7414	* doc/am-utils.texi (-D-Option): Document it.
7415
7416	* libamu/xutil.c (show_time_host_and_name): Print high-resolution
7417	timestamp if available and activated.
7418
7419	* aux/configure.in (clock_gettime): Check for it in -lrt and
7420	-lposix4.
7421
7422	* hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
7423	if defined, even for some systems with in kernel mount tables.
7424
74252000-02-08  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7426
7427	* aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
7428	allow compiles against libc5
7429
7430	* aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
7431	linux when the kernel doesn't support it
7432
7433	* include/am_compat.h: add workaround for linux efs
7434
74352000-02-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7436
7437	* aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
7438	Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
7439
74402000-02-07  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7441
7442	* libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
7443	nfs (linux NFSv3).
7444
7445	* include/am_defs.h: avoid reinclusion of some header files under
7446	linux.
7447
7448	* conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
7449
7450	* conf/mount/mount_linux.c (mount_linux): support nfs mount
7451	 (implementation) version 4 for NFSv3.
7452
7453	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
7454
7455	* aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
7456	need to fix the code on other linux machines).
7457
7458	* aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
7459
7460	* aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
7461	under linux (depends on ac_cv variable, is that a good idea?)
7462
7463	* added NFSv3 support for linux
7464
7465	* aux/{configure.in,acconfig.h}: new option ver3
7466
7467	* aux/macros/mount_headers.m4: commented out inclusion of
7468	linux/fs.h, it's not needed on rh61 (and actually generates
7469	conflicts), we should see if it's still needed on libc5 systems
7470
7471	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
7472	try to have its own (out of date) list of headers and ifdef's and
7473	...
7474
74752000-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7476
7477	*******************************************************************
7478	*** Released am-utils-6.0.3					***
7479	*******************************************************************
7480
74812000-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7482
7483	* conf/mount/mount_default.c: dummy empty file to work around a
7484	limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
7485	processes them even if they are optional, enclosed in if/else).
7486
74872000-01-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7488
7489	* released snapshot am-utils-6.0.3s5
7490
74912000-01-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7492
7493	* update to use latest version of autoconf, automake, and libtool.
7494
7495	* aux/GNUmakefile (depcomp): "make update" should also update the
7496	depcomp script.
7497
7498	* Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
7499
7500	* aux/configure.in: use renamed AC_CHECK_AMU_FS.
7501
7502	* aux/macros/check_amu_fs.m4: renamed macro name and file name to
7503	say AMU_FS, not AM_FS.
7504
7505	* aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
7506	latest version of autoconf doesn't handle it (bug in 2.14a)
7507
7508	* aux/configure.in: require version 2.14 of autoconf.
7509
7510	* amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
7511
7512	* doc/am-utils.texi (Automount Filesystem): document type:=auto
7513	map browsability option.
7514
7515	* amd/mapc.c (make_entry_chain): patch from Steven Danz
7516	<sdanz@awc.kc.noaa.gov> to allow browsable auto maps.
7517
75182000-01-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7519
7520	* released snapshot am-utils-6.0.3s4
7521
7522	* amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
7523	are set to mapcache:=sync.  Fix from Nick Williams
7524	<Nick.Williams@msdw.com>.
7525
75262000-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7527
7528	* released snapshot am-utils-6.0.3s3
7529
7530	* minor port to i386-unknown-netbsd1.4.1
7531
7532	* amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
7533	<Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale
7534	file handles when doing rapid mounts and umounts in succession
7535	such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
7536
75372000-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7538
7539	* minor port to i386-pc-bsdi4.1.
7540
75412000-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7542
7543	* libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
7544	argument to irs_gen_acc(), which was changed in bsdi 4.1.
7545
75462000-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7547
7548	* amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
7549	systems with in-kernel mount tables unless this macro is defined
7550	(Solaris 8).
7551
75522000-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7553
7554	* ALL: bump copyright year to 2000.
7555
75561999-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7557
7558	* conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
7559	solaris 7, but should not be used unless MAX_MNTOPT_STR also
7560	exists (solaris 8).
7561
7562	* doc/am-utils.texi (opts Option): document new mount option:
7563	optionstr.
7564
7565Fri Dec 10 01:31:53 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7566
7567	* conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
7568	mount_svr4().
7569	(mount_svr4): Adapt prototype.
7570	* conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
7571	they are evaluated and show up in Solaris 8 in-kernel mnttab.
7572
7573	* aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
7574	option.
7575	* aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
7576
75771999-12-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7578
7579	* released snapshot am-utils-6.0.3s2
7580
75811999-12-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7582
7583	* doc/am-utils.texi (opts Option): document noexec and nomnttab
7584	(new to Solaris 8).
7585
7586	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
7587	distribution.
7588
7589	* applied fixes from Rainer Orth for Solaris 8.
7590
7591	* libamu/wire.c (getwire): increment the cp pointer in the loop
7592	body, because the ioctl() inside the "for" loop will overwrite the
7593	ifr structure, thus not detecting all of the interfaces.  Bug
7594	reported and fixed by Amitha Perera <perera@cs.rpi.edu>.
7595
7596Thu Dec  9 19:09:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7597
7598	* conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
7599	MOUNT_TABLE_ON_FILE.
7600
7601	* amd/get_args.c (get_args): Initialize mnttab_file_name even for
7602	in-kernel mount table.  conf/mtab/mtab_svr4.c (read_mtab) depends
7603	on a non-NULL value.
7604
7605	* amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
7606	LDAP structure to get error code, but use it directly.
7607	(amu_ldap_search): Likewise.
7608
7609	* conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
7610	ldap support.
7611	* conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
7612
7613	* conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
7614	nfsstat, already in <nfs/nfs.h>.
7615	* aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
7616	versions beyond 7.
7617	Allow for micro versions of SunOS 5.[67].
7618
7619	* aux/configure.in: Check for new Solaris 8 Beta Refresh
7620	MS_NOMNTTAB mount(2) option.
7621	* aux/macros/check_mnttab_location.m4: Use it to test for
7622	mntfs-based in-kernel mnttab.
7623
7624	* aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
7625
7626	* aux/macros/check_fs_headers.m4: Revert test for duplicate
7627	objects.
7628	* aux/macros/check_fs_mntent.m4: Likewise
7629
7630	* aux/macros/HEADER: Fixed typo.
7631
7632	* include/am_defs.h: Likewise.
7633
76341999-12-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7635
7636	* aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
7637
76381999-11-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7639
7640	* BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
7641
7642	* amd/info_ldap.c (string2he): updated function which does not
7643	corrupt strings when called more than once.  Patch from
7644	JOHANN.PFEFFERL.JP@germany.agfa.com.
7645
76461999-11-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7647
7648	* MIRRORS (Asia): two new mirrors in Japan.
7649
76501999-11-10  Erez Zadok  <ezk@kosh.cs.columbia.edu>
7651
7652	* doc/am-utils.texi: document new variables for ${uid} and ${gid}.
7653
7654	* amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
7655	last lookup from the RPC credentials.
7656
7657	* aux/configure.in: upped version-info to 4:0:2 because I've added
7658	a new interface to libamu.
7659
7660	* libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
7661	so it can be used by amd.
7662
7663	* amd/opts.c: new variables ${uid} and ${gid}.
7664
76651999-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7666
7667	* scripts/ctl-amd.in: add "status" command that tells you if amd
7668	is running on not (same output as RedHat scripts).
7669	Added start_msg and stop_msg targets as they are used on HPUX.
7670	reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
7671
76721999-10-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7673
7674	* released snapshot am-utils-6.0.3s1
7675
76761999-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7677
7678	* amd/amd.c (main): On AIX you must lower the stack size using
7679	ulimit() before calling plock.  Otherwise plock will reserve a lot
7680	of memory space based on your maximum stack size limit.  Since it
7681	is not easily possible to tell what should the limit be, I print a
7682	warning before calling plock(). See the manual pages for
7683	ulimit(1,3,4) on your AIX system.
7684
7685	* include/am_defs.h: define default extern for vsnprintf()
7686
7687	* aux/configure.in: check for extern definition for vsnprintf()
7688
76891999-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7690
7691	* amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
7692	<njw@ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
7693	the correct location, but to the top level of the mountpoint and
7694	an (error-hook) is seen being mounted in the log file. This causes
7695	things to Go Wrong(TM).
7696	CAUSE: When evaluating two locations which are requested
7697	'practically simultaneously', and the two locations resolve to the
7698	same NFS mountpoint (but different sublinks), the later request
7699	will be "deferred" and retried after wakeup when the first mount
7700	succeeds. To do this, it rewinds the options location string to
7701	re-evaluate the location when the mount is retried. However, it
7702	shouldn't rewind the options for two reasons: (a) the semantics of
7703	the map language say you shouldn't and (b) the NFS mount reference
7704	is not reset at the same time, meaning that on the retry it will
7705	have an options structure out-of-sync with the mount
7706	structure. The "shortcut" code when retrying the mount sees the
7707	mount structure is already filled in and does not fully evaluate
7708	the options structure.... so if the first location is not the one
7709	which ties in with the mountpoint (see ordering in the
7710	recreate-by), you're now well messed up.
7711
7712	* BUGS: mention aix4.3 plock() bug (memory usage blows up and
7713	plock fails)
7714
77151999-10-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7716
7717	* aux/GNUmakefile: certain files should be copied if they are
7718	newer, not also if they are bigger: install-sh, ltconfig,
7719	ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
7720
7721	* minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
7722
77231999-10-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7724
7725	* aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
7726
7727	* aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
7728
77291999-09-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7730
7731	*******************************************************************
7732	*** Released am-utils-6.0.2					***
7733	*******************************************************************
7734
77351999-09-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7736
7737	* conf/mount/mount_linux.c (mount_linux): print the updated mount
7738	flags.
7739
7740	* doc/am-utils.texi: document $full_os and $vendor.
7741
7742	* scripts/amd.conf-sample: examples of $full_os and $vendor.
7743
7744	* scripts/amd.conf.5: document $full_os and $vendor.
7745
7746	* amd/conf.c: add support for $full_os and $vendor.
7747
77481999-09-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7749
7750	* doc/am-utils.texi (netgrp Selector Function): don't give
7751	examples with old single '=' assignment variable.  Use foo:=bar.
7752
7753	* amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
7754	comment describing this complex function.
7755
7756	* doc/Makefile.am (alldocs): do install-ps last (because distiller
7757	is slow) and install-html next to last (because texi2html is also
7758	slow).
7759
7760	* amd/amd.8: Major fixes to the description of the option -t
7761	timeout.retransmit.
7762
7763	* doc/am-utils.texi: better description of "trace" debug option.
7764	amd -H (not -v) shows log_options and debug_options.  Major fixes
7765	to the description of amd -t timeout.retransmit, and the amd.conf
7766	parameters nfs_retransmit_counter and nfs_retry_interval.
7767
7768	* scripts/amd.conf.5: better description of "trace" debug option.
7769	amd -H (not -v) shows log_options and debug_options.  Major fixes
7770	to the description of the parameters nfs_retransmit_counter and
7771	nfs_retry_interval.
7772
77731999-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7774
7775	* doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
7776	option, but a mount map option.
7777
7778	* libamu/xutil.c (switch_to_logfile): log the name of the log file
7779	we switched into, after the log file had been [re]opened.
7780
77811999-09-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7782
7783	* amd/mapc.c (mapc_reload_map): count and show the number of times
7784	a map was reloaded.  Only reload a map if its modify-time was
7785	updated.  But amq -f forced a reload no matter what.
7786
7787	* amd/amd.h: new flag to struct mnt_map to count number of times a
7788	map was reloaded.
7789
7790	* amd/mapc.c (mapc_reload_map): attempt to reload the map without
7791	losing current data by reloading into a temp copy, and switching
7792	the hashes round only if the reload was successful.  Patch from Jon
7793	Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
7794	(mapc_sync): mapc_reload_map() always succeeds.
7795
77961999-09-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7797
7798	* amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
7799	rebind to an LDAP server forever.  Try up to 10 times.
7800
7801	* fsinfo/fsi_lex.l (yyerror): rework code that will never happen
7802
7803	* released snapshot am-utils-6.0.2s2
7804
7805	* aux/configure.in: bumped library version-info to 3:2:1, since
7806	some libamu code got changed.
7807
7808	* libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
7809	is better and more secure.  Fix from "David O'Brien"
7810	<obrien@NUXI.com>.
7811
7812	* aux/configure.in: check for vsnprintf.
7813
78141999-09-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7815
7816	* aux/macros/linux_headers.m4: use AC_MSG_ERROR.
7817
7818	* aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
7819	not optional.  Make sure ARG is supplied else flag an error.
7820
78211999-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7822
7823	* minor port i386-unknown-freebsdelf3.3
7824
7825	* released snapshot am-utils-6.0.2s1
7826
78271999-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7828
7829	* aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
7830
7831	* include/am_defs.h: extern definition for getitimer().
7832
7833	* aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
7834	extern.
7835
7836	* aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
7837	that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
7838	configure.
7839
7840	* aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
7841	'int' as the 5th arg to authunix_create().
7842
7843	* aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
7844	size_t for the 6th arg of recvfrom().
7845
7846	* aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
7847	aix4.x systems.
7848
7849	* libamu/mount_fs.c (print_nfs_args): cast some values to int, to
7850	avoid gcc -Wall errors.
7851
7852	* scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
7853	in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
7854	results in byte-misaligned values.   Bug fix from Jeffrey C Honig
7855	<jch@BSDI.COM>.
7856
7857	* libamu/mount_fs.c (compute_automounter_mount_flags): turn on
7858	automntfs (ignore on bsdi-4.1) flag.
7859	(compute_automounter_nfs_args): ditto.
7860
7861	* aux/acconfig.h: add new flag for automntfs (ignore)
7862
7863	* aux/configure.in: check for new automntfs flag (bsdi-4.1).
7864
78651999-09-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7866
7867	* MIRRORS: added new site in Germany.  Updated status of umn.edu
7868	and ferginc.com, who may no longer be mirroring am-utils.
7869
78701999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7871
7872	*******************************************************************
7873	*** Released am-utils-6.0.1					***
7874	*******************************************************************
7875
78761999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
7877
7878	* aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
7879	netexport defined.
7880
7881	* aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
7882	struct netexport defined.
7883
78841999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7885
7886	* aux/macros/check_field.m4 (ac_upcase_var_name): include
7887	<ifaddrs.h> so we can detect fields within struct ifaddrs.
7888
7889	* libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
7890	getifaddrs() and struct ifaddrs has no ifa_next field.
7891
7892	* aux/configure.in: check if 'struct ifaddrs' has a field
7893	ifa_next.
7894
7895	* include/amq_defs.h (AMQ_STRLEN): double size of amq string
7896	length to 2048 bytes.
7897
7898	* conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
7899	header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
7900	Zoulas> christos@zoulas.com.
7901
7902	* aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
7903	Bug reported by <Christos Zoulas> christos@zoulas.com.
7904
7905	* aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
7906
79071999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7908
7909	* libamu/xutil.c (expand_error): use strerror if available instead
7910	of sys_errlist.  Bug reported by <Christos Zoulas>
7911	christos@zoulas.com.
7912
7913	* hlfsd/hlfsd.c (fatal): use strerror if available instead of
7914	sys_errlist.
7915
7916	* amq/amq.c (show_mi): use strerror if available instead of
7917	sys_errlist.
7918
7919	* aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
7920	nfs_prot header is used for any future (1.5 etc.) netbsd systems.
7921
7922	* amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
7923	"Andrew J. Korty" <ajk@purdue.edu>
7924
79251999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7926
7927	* doc/am-utils.texi (Supported Platforms): updates for redhat
7928	systems.
7929
7930	* INSTALL: updates for redhat systems.
7931
7932	* libamu/wire.c (getwire_lookup): spell "succeeded" correctly
7933
79341999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7935
7936	* scripts/ctl-amd.in: sleep 1 second between killing amd and
7937	restarting it, because amq may respond that amd is down, where in
7938	fact it is still trying to unmount itself after unmapping itself
7939	from the portmapper.
7940
7941	* aux/config.guess.long: new script to print long version of
7942	config.guess output.
7943
7944	* buildall (host_alias): use long version of config.guess.
7945
79461999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7947
7948	* scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
7949	scripts.
7950
79511999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7952
7953	* released snapshot am-utils-6.0.1s11
7954
7955	* libamu/xutil.c (expand_error): make sure expanding the string
7956	with textual version of errno doesn't overrun the 1024 bytes
7957	buffer.
7958	(real_plog): null terminate msg, just in case.
7959
7960	* amq/amq.c (main): don't getopt -M option and don't process it
7961	unless ENABLE_AMQ_MOUNT is on.
7962
7963	* amd/amq_svc.c (amq_program_1): all code that relates to amq -M
7964	is conditional on #ifdef ENABLE_AMQ_MOUNT.
7965
7966	* amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
7967	when amq -M code is disabled.  Not taking any chances.
7968
79691999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7970
7971	* released snapshot am-utils-6.0.1s10
7972
7973Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
7974
7975	* libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
7976	128.59.16.0), try to shift the network out of zeros (e.g.,
7977	128.59.16) and try again.  Irix 6.4 requires short network
7978	numbers.
7979
79801999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7981
7982	* libamu/wire.c (getwire_lookup): correctly compute subnet using
7983	netmask.
7984
7985	* libamu/mount_fs.c (compute_automounter_nfs_args): require that
7986	Amd's own NFS mounts use reserved ports (if possible).  IP packet
7987	security fix from Jeffrey C Honig <jch@BSDI.COM>.
7988
7989	* conf/transp/transp_tli.c (create_autofs_service): use correct
7990	autofs_port.  IP packet security fix from Jeffrey C Honig
7991	<jch@BSDI.COM>.
7992
7993	* conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
7994	function.  IP packet security fix from Jeffrey C Honig
7995	<jch@BSDI.COM>.
7996	(create_nfs_service): use bind_resv_port() directly.  ensure that
7997	privileged ports are used.  IP packet security fix from Jeffrey C
7998	Honig <jch@BSDI.COM>.
7999
8000	* amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
8001	from reserved ports and from a local IP address.  IP packet
8002	security fix from Jeffrey C Honig <jch@BSDI.COM>.
8003
8004	* amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
8005	hard-coded 1024.  IP packet security fix from Jeffrey C Honig
8006	<jch@BSDI.COM>.
8007	(amqproc_mount_1_svc): provide information on the caller making an
8008	amq -M request.  IP packet security fix from Jeffrey C Honig
8009	<jch@BSDI.COM>.
8010
8011	* amd/map.c (free_map_if_success): If the program doing an unmount
8012	of a program filesystem fails, amd tries to interpret the return
8013	code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
8014
8015	* amd/info_nis.c (determine_nis_domain): don't always print
8016	warning about NIS domain name not being set, even if NIS is not in
8017	use.
8018
80191999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8020
8021	* amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
8022	(amu_ldap_search): initialize variable err.
8023
80241999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8025
8026	* libamu/wire.c: written using getifaddrs() for BSD systems,
8027	contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
8028
80291999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8030
8031	* include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
8032
8033	* aux/configure.in: check for irs.h and ifaddrs.h.
8034	Increase libamu.so --version-info to 3:1:1 since we've changed the
8035	source code for the library.
8036	Check for getifaddrs() function.
8037
80381999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8039
8040	* libamu/mount_fs.c (print_nfs_args): print fields namlen and
8041	bsize if they exist.
8042
8043	* conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
8044	and ->bsize fields correctly, if those fields exist.  This is a
8045	bug in that amd neglected to set these fields, but told the
8046	kernel it is mounting the nfs_args_t structure using mount version
8047	3 (which requires both bsize and namlen fields).
8048
8049	* aux/configure.in: test for two new nfs_args_t fields (used on
8050	newer linux with mount versions 2 and 3): bsize and namlen.
8051
8052	* doc/am-utils.texi (netgrpd Selector Function): document new
8053	selector function.
8054
8055	* amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
8056	test if the current host (fully-qualified name) is in the ARG host
8057	netgroup.  The netgrp() function uses the short form of a host
8058	name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
8059
8060	* doc/am-utils.texi (automount2amd): document new script.
8061
8062	* scripts/Makefile.am: create, install, and distribute
8063	automount2amd perl script and its man page.
8064
8065	* scripts/automount2amd.8: new man page for automount2amd.
8066
8067	* scripts/automount2amd.in: new file, contributed a in 1993 by
8068	Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
8069	any automount map options specified.
8070
80711999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8072
8073	* released snapshot am-utils-6.0.1s9
8074
80751999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8076
8077	* amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
8078	1.
8079	(amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
8080	(amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
8081	(u_int)~0.
8082
8083	* amd/mapc.c (make_entry_chain): NFS cookies should be
8084	monotonically increasing, because Linux 2.3 expects that, even
8085	though it is not in the spec (RFC-1094) for NFS V2.
8086
80871999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8088
8089	* aux/macros/check_lib_funcs.m4: removed unused macro.
8090
8091	* aux/macros/linux_headers.m4: new macro to ensure that linux
8092	kernel headers match running kernel version.
8093
8094	* aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
8095	amd is configured on linux hosts that run one kernel but have
8096	headers for a different version.
8097
8098	* amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
8099	logic which uses nis_isup and has_yp_order.  Make sure it is used
8100	correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
8101	Peter Breitenlohner <peb@mppmu.mpg.de>.
8102
8103	* include/am_defs.h: fix conflicts on linux 2.2 systems with older
8104	libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
8105
8106	* scripts/lostaltmail.in: use sockaddr_in(), not pack() to
8107	correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
8108	using pack() results in byte-misaligned values.
8109
81101999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8111
8112	* conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
8113	mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
8114	better macros for case statement.
8115
8116	* conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
8117	unless ldap is actually available.
8118
8119	* use updated config.guess and config.sub.  Use newer automake
8120	that fixes problems with distributing optional libamu files
8121	(clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
8122	and ualarm.c)
8123
81241999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8125
8126	* minor port i386-unknown-openbsd2.5
8127
81281999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8129
8130	* minor ports to freebsdelf 3.[0-2] and 4.0 completed
8131
8132	* aux/macros/check_nfs_prot_headers.m4: support freebsdelf
8133
8134	* aux/macros/check_nfs_socket_connection.m4: support freebsdelf
8135
81361999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8137
8138	* released snapshot am-utils-6.0.1s8
8139
81401999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8141
8142	* include/am_defs.h: avoid various header conflicts on
8143	RedHat/Linux 6.0 and kernels 2.2.10 or newer.
8144
8145	* aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
8146	kernel 2.2.10)
8147
8148	* amd/amfs_program.c (amfs_program_exec): make sure logfp is
8149	initialized dynamically to stderr if needed.
8150
8151	* libamu/xutil.c (dplog): make sure logfp is initialized
8152	dynamically to stderr if needed.
8153	(plog): ditto.
8154
8155	* amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
8156	not initialized.
8157
8158	* libamu/xutil.c: don't initialize logfp statically to stderr,
8159	because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
8160	be manipulated like a variable.
8161
8162	* include/am_defs.h: avoid more conflicts between <linux/fs.h> and
8163	<sys/mount.h> on 2.2 linux kernels.
8164	include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
8165
81661999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8167
8168	* all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
8169
8170	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
8171	renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
8172	won't attempt to add it to the header files to distribute.
8173
81741999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8175
8176	* aux/GNUmakefile: invoke aclocal with new --altdir flag.
8177
81781999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8179
8180	* minor new port: i386-unknown-netbsd1.4 (ALPHA)
8181
8182	* aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
8183	and <isofs/cd9660/cd9660_mount.h> because they are also included
8184	from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
8185	headers on netbsd-1.4_ALPHA.
8186
81871999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8188
8189	* aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
8190	sys_errlist extern doesn't end with [].
8191
8192	* aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
8193
81941999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8195
8196	* newer automake wants texinfo.tex to be in aux/ not doc/
8197
81981999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8199
8200	* amd/conf_parse.y: alloca support.
8201
8202	* fsinfo/fsi_gram.y: alloca support.
8203
8204	* libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
8205	needed.
8206
8207	* aux/configure.in: test for alloca support.  Needed because bison
8208	generates parsers that use alloca, and hpux9 does have alloca and
8209	its /bin/cc doesn't support it builtin (the way gcc does).
8210
8211	* libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
8212	verbatim from bison-1.25.
8213
8214	* include/am_defs.h: fixed typo #errir -> #error
8215
8216	* released snapshot am-utils-6.0.1s7
8217
8218	* README.y2k: more information about am-utils' compatibility, from
8219	Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
8220
8221	* scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
8222	compliant format.  Patch from Paul Balyoz
8223	<pbalyoz@sedona.ch.intel.com>
8224
8225	* doc/am-utils.texi (Supported Platforms): hpux10.20 could have
8226	nfs v.3 support (with some vendor patches), but it is turned off.
8227
8228	* aux/macros/os_cflags.m4: use ansi compiler options on hpux.
8229
8230	* conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
8231	confusing am-utils.  10.20 with some patches has incomplete
8232	support.  Patch from Jon Peatfield
8233	<J.S.Peatfield@damtp.cam.ac.uk>.
8234
82351999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8236
8237	* minor port i386-pc-bsdi4.0.1
8238
82391999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8240
8241	* doc/am-utils.texi (Supported Platforms): add forgotten listing
8242	for powerpc-linux.
8243
82441999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8245
8246	* scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
8247	<jch@BSDI.COM>.
8248
8249	* doc/am-utils.texi: document iso9660 options norrip, gens, and
8250	extatt.
8251	(opts Option): documented dumbtimr and noauto options.  From
8252	Jeffrey C Honig <jch@BSDI.COM>.
8253
8254	* include/am_compat.h: define default strings for options norrip,
8255	gens, and extatt.
8256
8257	* amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
8258	extatt.
8259
8260	* aux/macros/mount_headers.m4: also include
8261	<isofs/cd9660/cd9660_mount.h> as needed.
8262
8263	* aux/configure.in: check for isofs mount options for bsdi4:
8264	norrip, gens, and extatt.  Reported by Jeffrey C Honig
8265	<jch@BSDI.COM>.
8266
8267	* aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
8268	(bsdi4).
8269
82701999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8271
8272	* conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
8273
8274	* conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
8275	for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
8276
82771999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8278
8279	* get latest copies of config.guess, config.sub, ltconfig, and
8280	ltmain.sh from libtool-1.2f.
8281
8282	* all Makefile.am: don't use continuation lines (using \) for
8283	short lists of files.
8284
8285	* libamu/Makefile.am (DISTCLEANFILES): make distclean should
8286	remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
8287	Reported by Jeffrey C Honig <jch@BSDI.COM>.
8288
8289	* fixmount/Makefile.am (DISTCLEANFILES): make distclean should
8290	remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
8291
8292	* Makefile.am (DISTCLEANFILES): make distclean should remove
8293	amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
8294	Jeffrey C Honig <jch@BSDI.COM>.
8295
82961999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8297
8298	* released snapshot am-utils-6.0.1s6
8299
83001999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8301
8302	* INSTALL: document freebsdelf.
8303
8304	* doc/am-utils.texi (Supported Platforms): document freebsdelf.
8305
83061999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8307
8308	* minor new ports: i386-unknown-freebsdelf3.1 and
8309	i386-unknown-freebsdelf4.0
8310
8311	* aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
8312
8313	* aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
8314
8315	* aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
8316
8317	* amd/opts.c (eval_opts): changed log level of "executing
8318	negated..." message from USER to INFO, as per Guntram Wolski
8319	<gwolsk@sei.com>.
8320
83211999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8322
8323	* */Makefile.am (LDADD): force linking against an installed
8324	libamu.{a,so}.
8325
8326	* doc/am-utils.texi (addopts Option): document remopts interaction
8327	with addopts.
8328
8329	* amd/am_ops.c (ops_match): if addopts are specified, apply them
8330	to the value of remopts as well as opts.
8331
8332	* amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
8333
83341999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8335
8336	* released snapshot am-utils-6.0.1s5
8337
8338	* conf/mount/mount_linux.c (mount_linux): set default nfs_args
8339	options for ac{reg,dir}{min,man} as per the mount-2.8a package,
8340	but only if noac option was not used.
8341
83421999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
8343
8344	* conf/mount/mount_linux.c (mount_linux): print nfs_args again
8345	since it was updated.
8346	(mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
8347	and newer.  Bug was found by Neil Conway
8348	<nconway.list@ukaea.org.uk>
8349
83501999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8351
8352	* released snapshot am-utils-6.0.1s4
8353
83541999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8355
8356	* amq/amq.c (main): don't list -M as a valid amq option unless
8357	configure'd with --enable-amq-mount.
8358
8359Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8360
8361	* amd/nfs_start.c (amd_use_autofs): Define.
8362	(mount_automounter): Create autofs service listener only if
8363	necessary to avoid unnecessary clashes with e.g. automountd.
8364
8365	* amd/amd.h (amd_use_autofs): Declare.
8366
8367	* amd/conf.c (gopt_mount_type): Set amd_use_autofs.
8368	(ropt_mount_type): Likewise.
8369
83701999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8371
8372	* aux/macros/check_mnt2_nfs_opt.m4:: ditto
8373
8374	* aux/macros/check_mnt2_cdfs_opt.m4: ditto
8375
8376	* aux/macros/check_mnt2_gen_opt.m4: ditto
8377
8378	* aux/macros/check_mnttab_opt.m4: new macro in this file to loop
8379	over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
8380
8381	* conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
8382	nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
8383	christos@zoulas.com (Christos Zoulas).
8384
8385	* amd/info_hesiod.c: some forward declarations.  Patch from
8386	christos@zoulas.com (Christos Zoulas).
8387
83881999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8389
8390	* libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
8391	option if it was already in that state.  Patch from David
8392	Wolfskill <dhw@whistle.com>.
8393
83941999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8395
8396	* aux/configure.in: automake nowadays supports LTLIBOBJS (but not
8397	LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
8398	rebuild make rules.
8399
8400	* Makefile.am: new rules to remake libtool (maintainers only)
8401
8402	* amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
8403	if -D trace was used.
8404
84051999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8406
8407	* buildall: all if statements should have an else clause because
8408	of Ultrix's /bin/sh.
8409
84101999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8411
8412	* amq/amq.c: removed dummy variables.
8413
8414	* amq/pawd.c: removed dummy variable.s
8415
8416	* fixmount/fixmount.c (usage): removed dummy variables.
8417
8418	* fsinfo/fsinfo.c: removed dummy variables.
8419
8420	* hlfsd/hlfsd.c: removed dummy variables.
8421
8422	* wire-test/wire-test.c: removed dummy variables.
8423
8424	* mk-amd-map/mk-amd-map.c: removed dummy variables.
8425
8426	* doc/texinfo.tex: updates from GNU mirror.
8427
8428	* aux/GNUmakefile (../doc/texinfo.tex): new rule to update
8429	doc/texinfo.tex from GNU mirror.
8430
8431	* released snapshot am-utils-6.0.1s3
8432
8433	* Makefile.am (install-snapshot): better snapshot and new
8434	install-snapshot and test-snapshot rules (maintainer).
8435
8436	* amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
8437	args may be NULL.
8438	Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
8439	Bill Paul <wpaul@ctr.columbia.edu>
8440
84411999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8442
8443	* check for experimental generic 'ignore' mount flag on freebsd3.
8444
8445	* Update library -version-info to 3:0:1 (will result in 2.1.0 .so
8446	version, which is backwards compatible with older versions.)  Only
8447	one new interface was added to libamu.
8448
8449	* amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
8450	that are specific to automounter mounts.
8451
8452	* aux/configure.in: update libamu.so age and revision since a new
8453	interface was added to libamu/mount_fs.c
8454	(compute_automounter_mount_flags).
8455
8456	* libamu/mount_fs.c (compute_automounter_mount_flags): new
8457	function to compute generic mount flags that are specific to mount
8458	points only.
8459
8460	* aux/{configure.in,acconfig.h}: add support for generic mount
8461	entry ignore option.
8462
8463	* released snapshot am-utils-6.0.1s2
8464
8465	* amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
8466
8467	* libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
8468	of knc_semantics from u_long to u_int.
8469
8470	* aux/macros/check_mount_style.m4: freebsd3 no longer needs a
8471	special mount helper.
8472
84731999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8474
8475	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
8476	amu_nfs_conf.h should always be found in $top_builddir.
8477
8478Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8479
8480	* conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
8481	to avoid wrong reports from show_fstypes.
8482
8483	* conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
8484
8485	* conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
8486
8487Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8488
8489	* BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
8490
8491Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8492
8493	* hlfsd/homedir.c (delay): Cast child to long, adapt format.
8494	(hlfsd_getpwent): Likewise for pw_uid.
8495
8496	* amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
8497	format.
8498
8499	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
8500	tv_sec to int to match format.
8501	(get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
8502	formats.
8503
8504	* amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
8505	long, adapt format.
8506
8507	* include/am_defs.h: Handle __attribute__ if available.  From
8508	GNU fileutils 4.0 lib/errors.h.
8509
8510Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8511
8512	* libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
8513	match format.
8514
8515	* hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
8516	adapt format.
8517	(nfsproc_lookup_2_svc): Likewise.
8518	(nfsproc_readlink_2_svc): Likewise for userid, groupid.
8519
8520	* hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
8521	format.
8522
8523	* hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
8524	format.
8525
8526	* amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
8527	long, adapt format.
8528
8529	* amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
8530	unsigned long, adapt format.
8531	(got_nfs_fh): Likewise.
8532	(prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
8533	format.
8534	(call_mountd): Likewise, mnt_version also.
8535	(mount_nfs_fh): Likewise.
8536
8537	* amd/ops_autofs.c (autofs_program_1): Cast args to int to match
8538	format.
8539	(autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
8540	unsigned long, adapt formats.
8541	(autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
8542	(autofs_bgmount): Use long format to match arg.
8543	(autofs_lookuppn): Removed superfluous arg.
8544
8545	* amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
8546	format.
8547	(got_portmap): Likewise for port.
8548	(recompute_portmap): Likewise for fs->fs_version, mnt_version.
8549	(find_nfs_srvr): Likewise for nfs_version.
8550
8551	* amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
8552	format.
8553
8554	* amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
8555	to unsigned long, adapt format.
8556	Cast tvv.tv_sec to int to match format.
8557
8558	* amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
8559	format.
8560
8561	* amd/map.c (root_fh): Cast pid to long, adapt format.
8562	(timeout_mp): Cast time_t to long, adapt format.
8563
8564	* amd/clock.c (reschedule_timeouts): Use long format, cast time_t
8565	arg.
8566
8567	* amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
8568	match format.
8569	(amfs_host_fmount): Likewise.
8570	(amfs_host_umounted): Likewise.  Removed superfluous arg.
8571
8572	* amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
8573	long, adapt format.
8574	(amfs_auto_bgmount): Use long format, cast time_t arg.
8575	(amfs_auto_lookuppn): Removed superfluous arg.
8576
8577	* amd/amd.c (main): Cast geteuid() result to long, adapt format.
8578
8579	* conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
8580	to int to match format.
8581
8582	* include/am_utils.h: Declare plog, dplog as printf-like.
8583
8584	* conf/mount/mount_irix6.c (mount_irix): Print type as char *.
8585
8586Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8587
8588	* amd/info_hesiod.c (hesiod_isup): New function.
8589	* amd/mapc.c (maptypes): Add it.
8590
85911999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8592
8593	* released snapshot am-utils-6.0.1s1
8594
85951999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8596
8597	* ALL: bump copyright year to 1999.
8598
8599Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8600
8601	* aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
8602	too.
8603
8604	* aux/macros/check_mtype_printf_type.m4: Adapt corresponding
8605	printf type.
8606
8607Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8608
8609	* aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
8610
8611	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
8612
8613	* conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
8614
8615	* conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
8616
8617	* Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
8618	automake.
8619
8620Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8621
8622	* aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
8623	in current automake.
8624
8625Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8626
8627	* doc/am-utils.texi: Added some missing inter-punctation after
8628	@xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
8629	from texinfo 3.12b.
8630
86311999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8632
8633	* doc/texinfo.tex: updated off of latest GNU mirror.
8634
86351999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8636
8637	* doc/am-utils.texi (Supported Platforms): update platforms that
8638	support NFS v.3.  Nicer postscript printing on double-sided pages.
8639
8640	* amd/info_hesiod.c: add extern definition for hesiod_init()
8641
86421999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8643
8644	*******************************************************************
8645	*** Released am-utils-6.0					***
8646	*******************************************************************
8647
86481998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8649
8650	* conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
8651
86521998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8653
8654	* conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
8655	bsdi4 for NFS V3/nfs mounts.
8656
86571998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8658
8659	* using latest libtool (1.2e + patches), now supporting shared
8660	libraries on many more systems.  Also using latest autoconf and
8661	automake (unreleased GNU CVS'd versions.)
8662
8663	* minor new ports: hppa2.0w-hp-hpux11.00,
8664	i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
8665
8666	* fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
8667	have /usr/bin/flex but not libfl.
8668
86691998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8670
8671	* lots of code cleanup, to make sure libamu.so does not use
8672	undefined symbols.  Some system's shared libraries cannot handle
8673	that.
8674
86751998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8676
8677	* include/am_defs.h: only defined seteuid extern if function also
8678	exists and is not superceded by setresuid (hpux).
8679
8680	* amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
8681	braces to avoid confusion with nested if-then-else clauses.
8682
8683	* aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
8684	updated from latest versions.
8685
86861998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8687
8688	* minor new port: i386-pc-bsdi4.0
8689
8690	* conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
8691	definitions for bsdi4.
8692
8693	* {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
8694	some make programs (bsdi4) do not support VPATH correctly.
8695
86961998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8697
8698	* conf/mount/mount_aix.c: minor code cleanup
8699
8700	* aux/configure.in: check for extern definition to xdr_groups.
8701
87021998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8703
8704	* minor new port: powerpc-ibm-aix4.3.1.0
8705
8706	* aux/macros/*.m4: updates for aix 4.3
8707
87081998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8709
8710	* minor new port: i386-unknown-openbsd2.4
8711
8712	* aux/configure.in: don't check for xfs on openbsd because
8713	openbsd-2.4 introduces a new file system named xfs, but different
8714	than Irix's XFS.  Sigh.
8715
8716	* minor new port: i386-unknown-freebsd2.2.8
8717
87181998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8719
8720	* amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
8721	name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
8722
87231998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8724
8725	* scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
8726	avoid race conditions when shutting down systems running amd.
8727
8728	* Makefile.am: add a dist-hook to change modes of the directories
8729	in the tar file so they are not world writable.
8730
8731	* conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
8732	since it is now finally defined in the header files and
8733	(hopefully) stable.
8734
8735	* amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
8736	is specified in mount options.  freebsd patches from David
8737	O'Brien.
8738
8739	* amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
8740	(main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
8741	amd/get_args.c (get_args): posix: use -1 to check for return from
8742	getopt() (not EOF), as per posix.
8743
8744	* amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
8745	O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
8746	real variable whose pointer is on the stack for decoding a long
8747	int.
8748
87491998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8750
8751	* scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
8752	chkconfig utility.
8753
87541998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8755
8756	* released snapshot am-utils-6.0b2s3
8757
8758	* conf/transp/transp_sockets.c (create_nfs_service): remove C++
8759	style comments.
8760
87611998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8762
8763	* released snapshot am-utils-6.0b2s2
8764
8765	* created CVS package
8766
8767	* amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
8768	condition between unmounting and re-mounting an entry, by
8769	increasing the ttl of a looked up entry before unmounting it.
8770	Patch from Mike Mitchell <mcm@unx.sas.com>.
8771
8772	* All files: spell comments and strings.
8773
87741998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8775
8776	* aux/configure.in: look for yp_all in libnsl only if yp_all not
8777	already found elsewhere (in libc or other default libraries).
8778	This is so RedHat 5.1 systems could find yp functions in libnsl,
8779	but also so AIX 4.2.1 will NOT include libnsl, because the latter
8780	has broken nis functionality that also exists and works ok in libc.
8781
87821998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8783
8784	* amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
8785	from Danny Rathjens <dkr@cs.fiu.edu>.
8786
87871998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
8788
8789	* released snapshot am-utils-6.0b2s1
8790
87911998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
8792
8793	* aux/macros/*.m4: support bsdi4 as bsdi3.
8794
8795	* aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
8796	2.7 (libraries located in /usr/lib/fn).  This is off until Sun
8797	includes LDAP header information.
8798
87991998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8800
8801	*******************************************************************
8802	*** Released am-utils-6.0b1					***
8803	*******************************************************************
8804
88051998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8806
8807	* mk-amd-map/mk-amd-map.c (main): use perror not strerror.
8808	(main): set return type to int if no ndbm maps.
8809
8810	* include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
8811	kernels.
8812
88131998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
8814
8815	* A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
8816	for netbsd 1.3.2.
8817
88181998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8819
8820	* aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
8821	systems put NIS functions there.
8822
8823	* mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
8824	<obrien@NUXI.com> merged in.  Use POSIX -1 return code from
8825	getopt(), not EOF.  Use .db extentions for systems that use it,
8826	instead of .{pag,dir}.
8827
88281998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8829
8830	* wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
8831	amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
8832	"David O'Brien" <obrien@NUXI.com>.
8833
8834	* scripts/amd.conf.5: minor typo reported by "David O'Brien"
8835	<obrien@NUXI.com> in .TH section of man page.
8836
8837	* amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
8838	from Thomas Richter <richter@chemie.fu-berlin.de>.
8839
88401998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8841
8842	* doc/am-utils.texi (Program Filesystem): minor typo fixed as per
8843	Andreas Stolcke <stolcke@speech.sri.com>.
8844
8845	* minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
8846	and sparc-sun-solaris2.7.
8847
8848	* conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
8849	a 4.4lite kernel, and somethings were removed, such as
8850	INITMOUNTNAMES.
8851
8852	* amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
8853	processing /defaults.  Free temporary opts.  Patch from
8854	dsr@mail.lns.cornell.edu (Daniel S. Riley)
8855
8856	* amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
8857	processing /defaults.  Free temporary opts.  Patch from
8858	dsr@mail.lns.cornell.edu (Daniel S. Riley)
8859
8860	* conf/mtab/mtab_osf.c (read_mtab): patch from
8861	 dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
8862	 uninitialized memory on Digital Unix.
8863
88641998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8865
8866	* aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
8867	systems now use "char *" as their mount type.
8868
88691998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8870
8871	* amd/conf.c (gopt_map_type, ropt_map_type): check if map type
8872	exists.
8873
8874	* amd/mapc.c (mapc_type_exists): function to test if a map of
8875	certain type exists.
8876
88771998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
8878
8879	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
8880	include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
8881	in RH-5.1 sparc64 between <netinet/in.h> and
8882	<linux/byteorder/generic.h> (2.1 kernels).
8883
88841998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8885
8886	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
8887	5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
8888	from yp_all().
8889
88901998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8891
8892	* conf/mount/mount_linux.c (parse_opts): check for pcfs support
8893	only if autoconfigured.
8894
88951998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8896
8897	* Makefile.am (EXTRA_DIST): distribute README.yk2 file.
8898
8899	* README.y2k: explain y2k compliance status of am-utils.
8900
89011998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
8902
8903	* amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
8904	amfs_host_umounted): clnt_sperrno() may return a const.
8905
8906Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8907
8908	* aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
8909	Zoulas. Turned on checking for mount options: async, synchronous,
8910	deadthresh, leasterm, nqnfs, and readahead.
8911
8912	* amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
8913	to include prototype definition for nis_isup().
8914
8915Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8916
8917	* hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
8918
8919Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8920
8921	* released snapshot am-utils-6.0a17s1
8922
8923Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8924
8925	* aux/macros/host_macros.m4: all x86 hosts should have $arch be
8926	i386, not i[456]86.
8927
8928Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8929
8930	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
8931	include/am_defs.h: include <linux/posix_types.h> before
8932	<linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
8933	headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
8934	__KERNEL_STRICT_NAMES).
8935
8936	* aux/configure.in: check for <linux/posix_types.h> because it is
8937	need for RedHat 5.1.
8938
8939Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8940
8941	* scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
8942	.in as well, so it doesn't get removed by make clean.
8943
8944Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8945
8946	* aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
8947	check_mount_type.m4}: redhat 5.1 puts some modules in
8948	/lib/modules/preferred/.
8949
8950Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8951
8952	* amd/ops_autofs.c (mount_autofs): cast pid to long.
8953
8954Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8955
8956	* conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
8957	conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
8958	avoid amd/am_ops.c (show_fstypes) from erroneously claiming
8959	support.
8960
8961Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8962
8963	* libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
8964	unconditionally, may be missing on Ultrix V4.3.
8965
8966Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8967
8968	* conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
8969	missing from <sys/mntent.h>.
8970
8971	* conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
8972	without KERNEL defined here.
8973
8974	* aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
8975	<cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
8976	ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
8977
8978	* amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
8979
8980	* ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
8981	Removed purely local (and obsolete) entry.
8982
8983Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8984
8985	*******************************************************************
8986	*** Released am-utils-6.0a16					***
8987	*******************************************************************
8988
8989Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8990
8991	* aux/macros/check_mount_style.m4: define freebsd3 mount style.
8992
8993	* aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
8994
8995	* aux/macros/check_mtype_printf_type.m4,
8996	aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
8997	of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
8998	integers, but I'll keep them as integers and do the mapping in
8999	conf/mount/mount_freebsd3.c
9000
9001	* minor new port to i386-pc-bsdi3.1.
9002
9003	* minor new port to i386-unknown-netbsd1.3.1.
9004
9005	* amd/opts.c: new option addopts:=ARG, which smartly merges ARG
9006	options with whatever the /default ones for a key are.  This
9007	allows adding or overriding /default options individual keys.
9008
9009	* amd/am_ops.c (ops_match): strdup/malloc string assigned to
9010	opt_opts because it'll get free()'d upon next use.
9011	(merge_opts): new function to merge two sets of options.
9012	(ops_match): if addopts option exist, append and merge it to the
9013	current default options.
9014
9015Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9016
9017	* wire-test/wire-test.c (main): use dynamically allocated returned
9018	string with list of interfaces.
9019
9020	* amd/get_args.c (get_version_string): allocate enough space for
9021	header version string and a list of network interfaces of any
9022	length.
9023
9024	* libamu/wire.c (print_wires): return dynamically allocated string
9025	containing list of networks.  Must be dynamic because some sites
9026	had potentially dozens of network interfaces.  Patch from Matthew
9027	Crosby <mcrosby@ms.com> slightly modified.
9028
9029Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9030
9031	* conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
9032	irix 5.3 does not have full header definitions for it.
9033
9034	* fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
9035	undefined it when not needed (similar to amd/conf_tok.l)
9036
9037	* hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
9038	of these to unsigned short (because uid_t on some linux systems is
9039	small).
9040
9041	* released snapshot am-utils-6.0a16s10
9042
9043	* doc/am-utils.texi (opts Option): documented resvport mount
9044	option.
9045
9046Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9047
9048	* doc/am-utils.texi (-D-Option): document behavior of -D info and
9049	especially what it does to hesiod (turn on RES_DEBUG).
9050
9051	* scripts/amd.conf.5: document info debugging option.
9052
9053	* libamu/xutil.c (dbg_opt): parse info debugging option.
9054
9055	* include/am_utils.h (D_INFO): define new trace option.
9056
9057	* Makefile.am (EXTRA_DIST): include list of official mirrors in
9058	distribution.
9059
9060	* libamu/wire.c (SIZE): in the simple case, just compute
9061	sizeof(struct ifreq).
9062
9063Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9064
9065	* amd/amd.c (daemon_mode): set a temporary secure umask(0022)
9066	before writing log file and restore it afterwards.  Patch from
9067	Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9068
9069	* amd/get_args.c (get_args):
9070
9071	* doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
9072	file specified by -F is always processed last.
9073
9074	* amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
9075	won't be reused.  Allows startup script to redirect stdout.  Patch
9076	from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9077
9078	* libamu/xutil.c (switch_to_logfile): compare logfile name and
9079	syslog string with correct length.  Patch from Donald Buczek
9080	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9081
9082	* amd/restart.c (restart): correctly inherit existing NFS V.3
9083	mounts upon restart.  Patch from Donald Buczek
9084	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9085
9086Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9087
9088	* using libtool 1.2 and automake 1.3 (with my patches).
9089
9090	* aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
9091	AMU_CFLAGS to avoid conflicts with automake-1.3.
9092
9093Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9094
9095	* converted to using libtool-1.2.
9096
9097Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9098
9099	* fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
9100	for loop (ITER) which used to run only to initialize the variable
9101	dd once and then break; with a simple assignment.
9102
9103	* hlfsd/hlfsd.h: cleanup so it compiles with Solaris
9104	/opt/SUNWspro/bin/cc, and use gid_t not int.
9105
9106	* amd/mapc.c (mapc_sync): don't dereference pointer (so it
9107	compiles with Solaris /opt/SUNWspro/bin/cc)
9108
9109Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9110
9111	* aux/config.{guess,sub}: used from gcc-2.8.1.
9112
9113Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9114
9115	* released snapshot am-utils-6.0a16s9
9116
9117	* INSTALL, doc/am-utils.texi (Supported Platforms): updated names
9118	based on new output of new config.guess.
9119
9120	* aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
9121
9122	* amd/amd.8,doc/am-utils.texi: document correct usage of default
9123	/etc/amd.conf file.
9124
9125	* fixmount/fixmount.c (inetresport,privsock): use some more
9126	portable code from amq/amq.c.
9127
9128	* amd/get_args.c (get_args): use default /etc/amd.conf file only
9129	if no arguments had been passed to amd.
9130
9131	* fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
9132	ala amq/amq.c so that fixmount will work on both types of systems.
9133
9134	* amq/amq.c (main): do no close tcp socket before running udp try,
9135	because we're not sure if it was opened at all.
9136
9137	* mips-dec-ultrix* port merged in and cleaned up.
9138
9139	* aux/configure.in: up minor shared library revision number, since
9140	it has changed enough.
9141
9142	* hlfsd/hlfsd.c (main): don't check for overlay mount option here,
9143	as it is now done in compute_nfs_args().  Remove ultrix specific
9144	code also because it was moved to compute_nfs_args().
9145
9146	* conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
9147	we have more generic code in print_nfs_args().
9148
9149	* libamu/mount_fs.c (print_nfs_args): print maxlen of
9150	nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
9151	struct knetconfig from nfs_args->knconf.
9152
9153	* aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
9154	headers here, but in try_compile_anyfs.m4.
9155
9156	* aux/macros/type_ufs_args.m4: move test for struct ufs_specific
9157	(for ultrix) here from its own macro.
9158
9159	* aux/macros/type_cdfs_args.m4: move test for struct iso_specific
9160	(for ultrix) here from its own macro.
9161
9162	* amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
9163	for overlay mount option.  Remove code which checks for overlay
9164	option, as it is now done in compute_nfs_args().
9165
9166	* libamu/mount_fs.c (compute_mount_flags): move here code which
9167	checks for overlay mount option which was in amd/amfs_toplvl.c:
9168	mount_amfs_toplvl().
9169
9170Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
9171
9172	* The following are Rainer's ChangeLog entries for his ultrix
9173	port, added manually. -Erez.
9174
9175	* merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
9176	(mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
9177
9178	* include/am_defs.h: include cdfs specific mount headers
9179	avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
9180
9181	* include/am_compat.h: define several mount options corresponding
9182	to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
9183	noversion, rrip (cdfs), nocache, quota, sync (generic) removed
9184	duplicate MNTTAB_OPT_RO definition
9185
9186	* aux/macros/try_compile_anyfs.m4: include Ultrix specific
9187	ufs/cdfs mount headers
9188
9189	* aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
9190	specific mount headers
9191
9192	* aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
9193	mount types in mount headers (Ultrix)
9194
9195	* aux/configure.in: Ultrix/Digital UNIX specific checks: new
9196	headers, mount structures and fields, filesystem and mount types,
9197	mount flags
9198
9199	* aux/acconfig.h: placeholders for new mount options: quota
9200	(generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
9201	cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
9202	structures
9203
9204	* amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
9205	ufs_args.ufs_flags and has ufs specific pgthresh option
9206
9207	* amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
9208	CDFS mount flags and options
9209
9210	* amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
9211	hlfsd/hlfsd.c (main): store generic mount flags in
9212	nfs_args.gfs_flags, handle separate NFS ro flag
9213
9214	* aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
9215	struct_ufs_specific}.m4: new files; check for Ultrix specific
9216	mount structures
9217
9218	* conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
9219
9220	* aux/macros/type_auth_create_gidlist.m4 (ultrix*):
9221	AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
9222	comment in <rpc/auth.h>
9223
9224	* include/am_defs.h: #define KERNEL to avoid definition of
9225	gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
9226	<config.h> to force single definition here
9227
9228	* libamu/mount_fs.c (compute_nfs_args): Ultrix support for
9229	nfs_args.gfs_flags moved to callers store mount options in
9230	nap->optstr
9231
9232	* include/am_defs.h: fix _am_mntent mnt_{type, opts} field
9233	descriptions
9234
9235	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
9236	include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
9237	definition in prototypes
9238
9239	* aux/macros/mount_headers.m4: include <sys/errno.h> before
9240	AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
9241	definitions
9242
9243	* conf/nfs_prot/nfs_prot_ultrix.h: new file
9244
9245	* aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
9246
9247	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
9248	aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
9249	inclusion of <rpc/xdr.h>
9250
9251Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9252
9253	* aux/configure.in: save state of config.cache and confdefs.h
9254	(as dbgcf.h) at various points of the configure.
9255
9256	* aux/macros/save_state.m4: new macro to save state of configure,
9257	esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
9258	cache variables that are known so far.
9259
9260	* released snapshot am-utils-6.0a16s8
9261
92621998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
9263
9264	* fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
9265	it, but only for flex.
9266
9267Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9268
9269	* hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
9270	to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
9271	to write the dump file.
9272
9273	* doc/am-utils.texi,amd/opts.c: rename all references to nomadic
9274	functions to boolean functions, which is what they really are.
9275
9276	* aux/configure.in: don't look for strcasecmp in libucb at all,
9277	but rather complete it from libamu/strcasecmp.c as needed.
9278
9279Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9280
9281	* conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
9282
9283	* libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
9284	which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
9285	Schmidt <tschmidt@micron.com>.
9286
9287	* released snapshot am-utils-6.0a16s7
9288
9289	* conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
9290	hppa1.0-hp-hpux11.00.tgz.
9291
9292Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9293
9294	* converted all sources to use mntent field names, and map mnttab
9295	field names to mntent's.
9296
9297	* include/am_defs.h (mnt_special): map struct mnttab field names
9298	to struct mntent field names.
9299
9300	* aux/macros/check_mount_trap.m4: hpux11's mount trap style is
9301	identical to svr4/solaris2.
9302
9303	* aux/macros/check_mount_style.m4: hpux11's mount style is
9304	identical to svr4/solaris2.
9305
9306	* aux/macros/check_network_transport_type.m4: hpux11 is a TLI
9307	system!
9308
9309	* aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
9310	dereferencing style is same as svr4.
9311
9312	* aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
9313	dereferencing style is same as svr4.
9314
9315	* conf/transp/transp_tli.c (create_nfs_service): if failed to
9316	getnetconfigent() of ticlts, then try udp (hpux11).
9317
9318	* conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
9319	struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
9320	2.5.1 (HP used them).
9321
9322	* amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
9323	because hpux11 doesn't like it. if t_open failed, print error
9324	based on t_errlist, not sys_errlist.
9325
9326Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9327
9328	* doc/am-utils.texi: lots of documentation fixes from Rainer Orth
9329	<ro@TechFak.Uni-Bielefeld.DE>.
9330
9331Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
9332
9333	* fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
9334	later.
9335
9336	* include/am_defs.h: defined the extern for ualarm() if it isn't
9337	found, regardless if the function isn't found in standard
9338	libraries, because otherwise libamu will include it.
9339
93401998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
9341
9342	* initial port to hpux-11 completed.  Compiles cleanly, but
9343	probably does not work, because of missing NFS V.2/3 headers.
9344
9345	* amd/conf_tok.l: cast yytext to char* when passed to strlen and
9346	strdup, for hpux-11's ansi-cc compiler.
9347
9348	* include/am_utils.h: renamed all xfree() to XFREE() to avoid
9349	conflict with hpux-11's system headers.  Also move (voidp) cast
9350	from sources to inside the macro itself.
9351
9352Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9353
9354	* released snapshot am-utils-6.0a16s6
9355
9356	* amd/info_nis.c (nis_isup): new function to test if NIS is up
9357	without hanging amd.  Used to ensure that amd does not clear the
9358	maps when the expiration period arrived, if the service is down.
9359	Otherwise it would be left with empty maps.  It is better to stay
9360	with possibly old information than none at all.
9361
9362	* amd/mapc.c (mapc_sync): check to see if map service is up.
9363
9364Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9365
9366	* aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
9367	includes auxiliary library only if needed.
9368
93691998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
9370
9371	* amd/conf_tok.l: undefine ECHO again, so it doesn't get used
9372	later.
9373
9374Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
9375
9376	* conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
9377	completed.
9378
9379	* conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
9380
9381Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9382
9383	* doc/am-utils.texi (Network Host Filesystem): correct example for
9384	type:=host map.
9385
9386	* aux/macros/os_cflags.m4: only osf4 should compile with
9387	-D_SOCKADDR_LEN.
9388
9389	* aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
9390	and OSF4.
9391
9392	* BUGS: include a new file listing known bugs.
9393
9394Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
9395
9396	* conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
9397	versions.
9398
9399	* aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
9400	size_t for recvfrom fromlen arg.
9401
9402Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9403
9404	* scripts/ctl-hlfsd.in: turn -D fork so primary process never
9405	hangs.
9406
9407Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
9408
9409	* include/am_defs.h: don't include <sys/stat.h> and
9410	<linux/stat.h>, just remaining definitions in <statbuf.h>
9411
9412Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9413
9414	* released snapshot am-utils-6.0a16s5
9415
9416	* conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
9417	mount(2).
9418
9419	* check for <sys/fs/xfs_clnt.h> and include it when needed.
9420
9421	* conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
9422	efs and xfs separately from "ufs".
9423
9424	* amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
9425
9426	* aux/configure.in: look for irix efs and xfs file systems.
9427
9428	* scripts/amd.conf.5: new unmount_on_exit option documented.
9429
9430	* doc/am-utils.texi (unmount_on_exit): new option documented.
9431
9432	* amd/conf.c (gopt_unmount_on_exit): new function to handle new
9433	amd.conf option.
9434
9435	* amd/map.c (umount_exported): if global amd.conf flag
9436	unmount_on_exit is on, then try to unmount all mounted (or
9437	restartable) file systems.
9438
9439	* amd/amd.c: if print_pid option is on, then normally print it to
9440	stdout.  If also pid_file is specified, then print the process ID
9441	into that file.
9442
9443	* amd/get_args.c (get_args): print correct -l option depending if
9444	system supports syslog and/or syslog facilities.  Patch from
9445	Tom Schmidt <tschmidt@micron.com>.
9446
9447	* doc/am-utils.texi (opts Option): updates for documentation for
9448	new cdfs options defperm, nodefperm, noversion, rrip.
9449
9450	* amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
9451	nodefperm, noversion, rrip.
9452
9453	* conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
9454	on osf.
9455
9456	* aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
9457	expand_cpp_string.m4}: use #error to make failed compilations
9458	fail faster, rather than have the program fail during a run.
9459
9460	* include/am_compat.h: added a few new cdfs options: rrip,
9461	noversion, defperm, and nodefperm (used in OSF).
9462
9463Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9464
9465	* released snapshot am-utils-6.0a16s4
9466
9467	* doc/am-utils.texi (Global Parameters): update manual for new
9468	amd.conf global variable hesiod_base.
9469
9470	* scripts/amd.conf.5: update man page for new amd.conf global
9471	variable hesiod_base.
9472
9473	* amd/get_args.c (get_args): use /etc/amd.conf file if exists by
9474	default, else try command line options.  Patch from Randall
9475	S. Winchester <rsw@Glue.umd.edu>.
9476
9477Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9478
9479	* amd/info_hesiod.c (hesiod_search), amd/conf.c
9480	(gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
9481	included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
9482	support a hesiod base name in the amd.conf file.
9483
9484	* doc/am-utils.texi (pid_file Parameter): document new global
9485	amd.conf parameter.
9486
9487	* scripts/amd.conf.5: document new global option pid_file.
9488
9489	* amd/amd.c (daemon_mode): if cannot open pid_file, continue to
9490	run, but print error message.
9491
9492	* amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
9493	init_global_options): Included patch from Randall S. Winchester
9494	<rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
9495
9496	* amd/get_args.c (get_args): correct usage info on amd -t.
9497
9498	* amd/*.c: massive file name and symbol name changes.  All amd
9499	file systems files and symbols are prefix with amfs_*.  Now using
9500	real name of file system: amfs_auto instead of afs, amfs_inherit
9501	instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
9502	clear distinction between amd file system and generic ones like
9503	nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
9504	f/s) and DFS (Distributed f/s).
9505
9506	* amd/amfs_union.c: unionfs for amd is always defined, no need to
9507	#ifdef it.
9508
9509Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9510
9511	* libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
9512	or off, based on the particular quirks of the OS in question.
9513
9514	* aux/macros/check_nfs_socket_connection.m4: new macro to set the
9515	correct wait of handling un/connected NFS sockets.
9516
9517	* scripts/wait4amd.in: use rlogin instead of rsh.
9518
9519	* amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
9520	-v, always show "nfs3" for NFS V.3.
9521
95221998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
9523
9524	* lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
9525	more picky than 2.7.2.3 did.
9526
95271998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
9528
9529	* include/am_utils.h (dlog): amuDebug macros reduced to shorter
9530	forms.
9531
9532Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
9533
9534	* released snapshot am-utils-6.0a16s3
9535
9536	* include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
9537	in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
9538	must not, fake a definition for varargs.
9539
9540Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9541
9542	* README: show how to configure in additional support such as
9543	hesiod using various --enable-* flags.
9544
9545Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9546
9547	* aux/configure.in: look for strcasecmp(), and replace it if not
9548	available.
9549
9550	* amd/ops_nfsl.c (nfsl_match): host names should be compared using
9551	case insensitive.
9552
9553	* amd/opts.c: for each map variable, define if the comparison
9554	needs to be done case insensitive.
9555
9556	* include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
9557	Patch from Thomas Richter <richter@chemie.fu-berlin.de>
9558
95591998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
9560
9561	* aux/configure.in: look for "isofs" as a possible mount type for
9562	cdfs (RedHat Linux).
9563
9564Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9565
9566	* conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
9567	type if not defined.
9568
9569	* conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
9570	already defined.
9571
9572	* aux/configure.in: look for ext2fs before ufs, b/c some linux
9573	have both.
9574
9575Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9576
9577	* Makefile.am (snapshot): allow me to install snapshots into the
9578	ftp directory.
9579
9580	* scripts/ctl-hlfsd.in: don't turn on -D mem by default.
9581
9582	* amd/get_args.c (get_args): minor bug in output of amd -H.
9583
9584Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9585
9586	*******************************************************************
9587	*** Released am-utils-6.0a15					***
9588	*******************************************************************
9589
9590Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9591
9592	* amd/conf.c (*_browsable_dirs): allow specifying
9593	browsable_dirs=full, which will print *all* entries (other than
9594	/default), including  those with '*' and '/' characters.
9595
9596	* amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
9597	to 1500.
9598
9599	* doc/am-utils.texi: fixed reversed documentation for NFS mount
9600	options vers and proto.
9601
9602	* doc/Makefile.am (install-html): separate target just for
9603	installing html files.  Another new target "alldocs" is just for
9604	installing all files needed for the am-utils home page.
9605
9606	* scripts/amd.conf-sample: updated example for log_file.
9607
9608	* scripts/amd.conf.5: updated for new way to declare new syslog
9609	facility in the log_file option.
9610
9611	* amd/amd.8: updated for new way to declare new syslog facility in
9612	the -l option.
9613
9614	* libamu/xutil.c (get_syslog_facility): allow users to specify the
9615	syslog facility as an appended string to the log device.  Ex. amd
9616	-l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
9617	will use the default LOG_DAEMON facility.
9618
9619	* amd/get_args.c (get_args): updated new syntax for amd -l
9620	syslog:facility.
9621
9622Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9623
9624	* aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
9625	(intel).
9626
9627	* libamu/wire.c (print_wires): bug fix.  Nullify output buffer
9628	before appending to it, on systems with two or more network
9629	interfaces.
9630
9631	* conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
9632	the mntent for cachefs.
9633
9634	* include/am_defs.h: external definition for strstr() should use
9635	const for both arguments.
9636
9637	* aux/configure.in: add extern definitions for getwd() if missing.
9638
9639	* include/am_defs.h: define the extern for strdup() even if the
9640	function does not exist, for it will be filled in by
9641	libamu/strdup.c
9642
9643	* amq/pawd.c (cluster_server): don't use getccent() if the extern
9644	for it isn't there.  On hpux 10.20, the function is in libc, but
9645	<cluster.h> and struct cct_entry do not exist.
9646
9647	* aux/configure.in: check for an extern for getccent() b/c some
9648	hpux systems don't have it (hpux 10.20).
9649
9650Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9651
9652	* doc/am-utils.texi (Amq -T option): manual documentation updates
9653	for new amq options -T/-U.
9654
9655	* amq/amq.8: updated man page for new amq options -T/-U.
9656
9657	* amq/amq.c: two new switches to amq. -U will contact amd using
9658	UDP only.  -T will use TCP only.  Normally amq will try TCP and
9659	if that failed, will try UDP.
9660
9661	* doc/am-utils.texi (pawd): manual documentation for pawd.
9662
9663	* amq/pawd.1: new man page for pawd.
9664
9665Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9666
9667	* amq/pawd.c: a new program, Print Automounter Working Directory,
9668	to print the proper pathname of the cwd or any other pathname,
9669	adjusted for automounter paths, while avoiding mount points.
9670
9671	* aux/macros/localconfig.m4: trivial support for am-utils
9672	maintainers to adjust some of the configuration of am-utils after
9673	it has been auto-configured by putting whatever definitions you
9674	wish in a file called localconfig.h, located in the top build
9675	directory (the same one where config.h is created for you).
9676
9677	* doc/am-utils.texi (Caching Filesystem): updated documents for
9678	cachefs file system.
9679
9680	* amd/ops_cachefs.c: initial cachefs support, for solaris.
9681	type:=cachefs, requires cachedir:=/cache/dir/name to be defined
9682	and initialized with cfsadmin -c.  $rfs is backdir to be cached
9683	from, and $fs is the local mount point of the cachefs.
9684
9685	* conf/mount/mount_svr4.c (mount_svr4): support mounting of
9686	cachefs file systems.
9687
9688	* amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
9689	mnttab type is.
9690
9691Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9692
9693	* amd/opts.c: added support for new variable $cachedir.
9694
9695	* include/am_utils.h: added opt_cachedir field to struct am_opts.
9696
9697Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9698
9699	* amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
9700	local hostname does not match $rhost, and if so, also assume
9701	type:=nfs.
9702
9703Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9704
9705	* updated all source files to add 1998 as a copyright year.
9706
9707	* amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
9708	like type:=linkx if the pathname denoted by $fs exists, and like
9709	type:=nfs if it does not.  A convenient shortcut for the most
9710	popular amd map entry.
9711
9712	* amd/amd.c (main): amd should chdir to / before starting, to
9713	avoid hanging on other NFS server if started elsewhere.
9714
9715	* amd/ops_TEMPLATE.c: added an empty template file for developers
9716	who wish to write new amd pseudo file systems.
9717
9718Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9719
9720	* hlfsd/homedir.c (plt_init): make function exported, to save on
9721	the unnecessary init_homedir() function which was removed.
9722	(table_add): don't use xmalloc() when you can use strdup()
9723	instead.
9724
9725Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9726
9727	* hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
9728	because we will be making more passwd calls afterwards.  On
9729	Solaris 2.5.1, making getpwent() calls after calling endpwent()
9730	results in a memory leak! (and no, even Purify didn't detect
9731	it...)
9732
9733Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9734
9735	* hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
9736	automatically allocated address.
9737
9738	* amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
9739	automatically allocated address.
9740
9741	* ALL SOURCES: change every direct call to free() to xfree(), so
9742	it can be mapped to the right debugging function as needed.
9743
9744	* include/am_utils.h: new free() policy.  If debugging memory,
9745	call dxfree(), which will print the file name and line number
9746	where the free occurred and the pointer address.  if only regular
9747	debugging, then free() and reset  the pointer to NULL so it cannot
9748	be used afterwards inadvertently.  If not DEBUG at all, then just
9749	run free().  Three different #define macros set the right mapping.
9750
9751	* libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
9752	be called only when debugging the memory.
9753
9754Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9755
9756	* wire-test/wire-test.c (main): use xmalloc() not malloc().
9757
9758	* conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
9759	calloc().
9760
9761	* conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
9762
9763	* conf/mount/mount_linux.c (parse_opts): use xmalloc() not
9764	malloc().
9765
9766	* amd/info_ldap.c: use xmalloc() not malloc().
9767
9768	* libamu/xutil.c (xzalloc): new function to allocate memory and
9769	zero its bytes.
9770
9771	* amq/amq.c: amq does not need its own definition of xfree().
9772
9773	* aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
9774	look for function malloc_verify() in libmapmalloc.a, and function
9775	mallinfo() in libmalloc.
9776
9777	* libamu/xutil.c (checkup_mem): do not use mallinfo field
9778	uordbytes, because it does not always exist.  Rather, compute it
9779	from other fields..
9780
9781	* include/am_utils.h: add external definition to xfree() function
9782	used when debugging memory references.
9783
9784Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9785
9786	* amd/ops_afs.c (afs_readdir_browsable): reduce the number of
9787	bytes heuristically computed to be returned to the kernel.
9788	Otherwise browsable_dirs fails on OpenBSD 2.2.
9789
9790	* amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
9791	mf_private field to AFTER it gets used.
9792
9793Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9794
9795	* amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
9796	on systems that don't support it.
9797
9798	* include/am_defs.h: add missing extern definition for free().
9799
9800	* aux/configure.in: check for external definition for free().
9801
9802	* libamu/Makefile.am: add to comment a mention of strstr as an
9803	optional function.
9804
9805	* libamu/xutil.c (switch_to_logfile): use openlog() options only
9806	if they exist.
9807
9808	* conf/transp/transp_sockets.c (get_nfs_version): don't use
9809	clnt_spcreateerror if it does not exist.
9810
9811	* aux/configure.in: check for missing functions clnt_create and
9812	clnt_spcreateerror.  Check for missing strstr, and complete
9813	its code.  Check for missing external definition for strstr.
9814
9815	* aux/macros/host_macros.m4: normalize sun3* names.
9816
9817	* Makefile.am: updates for new sunos3 files distributed.
9818
9819	* conf/nfs_prot/nfs_prot_sunos3.h: new file.
9820
9821	* conf/fh_dref/fh_dref_sunos3.h: new file.
9822
9823	* aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
9824
9825	* aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
9826
9827	* doc/am-utils.texi (wire Selector Variable): updated manual for
9828	adjusted variables wire, network, and netnumber, all using the
9829	in_network() function.
9830
9831Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9832
9833	* amd/opts.c: allow options to be processed by executing arbitrary
9834	functions.  Converted wire, network, and netnumber all to use the
9835	nomadic function in_network.  So from now on they perform a match
9836	against all networks, not just primary.
9837
9838	* initial port to alpha-unknown-linux-gnu, probably works, but
9839	untested yet.
9840
9841	* conf/nfs_prot/nfs_prot_linux.h: add special definitions for
9842	__FD_* macros which for som strange reason do not get included
9843	from <selectbits.h> on redhat alpha linux.  Also turn off usage of
9844	<rpc/des_auth.h> because it is incomplete on the same systems.
9845
9846	* hlfsd/homedir.c (table_add): cast uid field to int, for
9847	comparison.
9848
9849	* include/am_defs.h: more coflicts with redhat alpha linux
9850	"resolved".
9851
9852	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
9853	There's a conflict of definitions on redhat alpha linux between
9854	<netinet/in.h> and <linux/fs.h> which must be avoided.
9855
9856	* aux/configure.in: check for <socketbits.h>, which is in use on
9857	redhat alpha linux.
9858
9859	* doc/am-utils.texi (Selectors): added documentation to describe
9860	the new "!" (negated) nomadic functions.
9861
9862	* amd/opts.c (f_in_network): print debugging info that is correct,
9863	rather than saying that any ARG is on a local network.
9864	(eval_opts): added support for negating nomadic functions, by
9865	prepending "!" to their name.  Example, !exists(/foo/bar).
9866
9867Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9868
9869	* include/am_compat.h: ensure that all NFS3 systems have the mount
9870	table entries (and amd opts switches) "proto" and "vers".
9871
9872	* hlfsd/homedir.c (table_add): added some debugging info to try
9873	and track down a serious memory leak in hlfsd.
9874
98751997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
9876
9877	* libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
9878	you do NOT set the noconn option, and use connected sockets
9879	always.  So I'm now forced not to set it at all, and have the user
9880	specify it as "conn" or "noconn" in their /default entry.  Argh...
9881	Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
9882	buggy (TCP hangs with "short receive" kernel errors).  I'd better
9883	wait until they get it working in their version of the automounter
9884	first.  So I'm putting the "noconn" option back.
9885
9886Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9887
9888	* libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
9889	nfs_args field maxgrouplist accordingly.
9890
9891	* include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
9892	for mount table entry for maxgroups based on NFS mount option
9893	maxgrp.
9894
9895	* aux/configure.in: put back testing for NFS mount option
9896	"maxgrps".  Added test for mount table entry "maxgroups".
9897
9898	* libamu/mount_fs.c (compute_nfs_args): perform more careful tests
9899	on nfs_proto, because it could be NULL.
9900
9901	* doc/am-utils.texi (Selectors): added example of in_network()
9902	selector.
9903
9904	* aux/macros/check_hide_mount_type.m4: all hpux versions,
9905	including 9.x, should use "ignore" as the mount type to hide from
9906	amd.
9907
9908Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9909
9910	* include/am_utils.h (NSTREQ): use new macro instead of strncmp()
9911	every where in the sources.
9912
9913Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9914
9915	* libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
9916	print as much info that is given in struct nfs_args as possible.
9917	useful for detecting internal flags and options, as well as the
9918	file handle used.
9919
9920	* scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
9921	after /etc and before /etc/local.
9922
9923Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9924
9925	* aux/configure.in, libamu/Makefile.am: added support for linking
9926	with specific versions of libamu.  Upped shared library version of
9927	libamu to 1 (libamu.so.1.0.0)
9928
9929	* include/am_defs.h: added external definition for mkstemp() as
9930	needed.
9931
9932	* minor new port to i386-unknown-netbsd1.3 (BETA version of
9933	netbsd).
9934
9935	* aux/config.guess: don't leave a trailing '.' on the system name
9936	for NetBSD-1.3_BETA and similarly for OpenBSD.
9937
9938	* conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
9939	differences in ypall calling conventions.
9940
9941	* mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
9942	in preference over mktemp(), b/c it is more secure.
9943
9944	* aux/configure.in: check for mkstemp(), a more secure version of
9945	mktemp().
9946
9947Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9948
9949	* amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
9950	table "vers" option generally do not set the mnttab entry to
9951	"nfs3", but to "nfs" and then they set "vers=3".  Setting it to
9952	"nfs3" works, but it may break some things like "df -t nfs" and
9953	the "quota" program (esp. on Solaris and Irix).  So on those
9954	systems, set it to "nfs".
9955
9956Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9957
9958	* doc/am-utils.texi (Distrib): updates for new ports, location of
9959	am-utils' home page, and URL cross references (now supported by my
9960	version of texi2html).
9961
9962	* aux/macros/check_mtype_type.m4: also use string type for file
9963	system mount types under nextstep for mount(2).
9964
9965	* aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
9966	integer and string types for file system mount types in mount(2),
9967	but it is better to use string types.
9968
9969	* conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
9970	0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
9971	(EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
9972	works.
9973
9974	* conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
9975	not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
9976	(EPERM) instead of 0 (OK).
9977
9978	* libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
9979	by -D trace (protocol trace).
9980
99811997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
9982
9983	* A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
9984	macro based on existence on others, and include <sys/stat.h>.
9985
9986Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9987
9988	* aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
9989	inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
9990	which this header is broken (it tries to include non-existing
9991	headers).
9992
9993Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9994
9995	* libamu/mount_fs.c (mnt_flags): support either nfs or generic
9996	mount option for grpid.
9997
9998	* aux/configure.in: turn back on NFS mount option grpid.
9999
10000Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10001
10002	* doc/Makefile.am (install-ps): added target to install postscript
10003	file in the am-utils' home page, as well as a few other useful
10004	files for the new am-utils Web page.
10005
10006Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10007
10008	*******************************************************************
10009	*** Released am-utils-6.0a14					***
10010	*******************************************************************
10011
10012Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10013
10014	* doc/am-utils.texi (Supported Platforms): updated table of new
10015	ports.
10016
10017Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10018
10019	* libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
10020	options so that they can be printed in logs as needed.
10021
10022	* doc/am-utils.texi (osver Parameter): updated for the correct
10023	usage of the -o/-O options.
10024
10025	* scripts/amd.conf.5: corrected info for -o/-O options.
10026
10027	* amd/amd.8: updated man page for new -O op_sys_name option, and
10028	corrected the usage of the -o op_sys_ver option
10029
10030	* amd/get_args.c (get_args): added new amd option -O to override
10031	OS name.
10032	(get_args): updated usage string.  Removed old -m option.  Added
10033	-o and -O options.
10034
10035	* conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
10036	it is not there.  Reportedly, irix 5.2 does not define it.
10037
10038	* scripts/lostaltmail.in: removed references to unused $hack
10039	variable.
10040
10041	* aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
10042	<metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
10043	for solaris2.5.
10044
10045	* doc/am-utils.texi (Distrib): typo in the subscription
10046	instructions to amd-dev.  Patch from Stefan Vogel
10047	<vogel@physik-rzu.unizh.ch>.
10048
100491997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
10050
10051	* NFS3 works on powerpc-ibm-aix4.2.1.0.
10052
10053	* libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
10054	static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
10055	stack of an automatic variable when pointer to it is passed around
10056	several times.
10057
10058Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10059
10060	* libamu/xutil.c (real_plog): syslog like behavior for normal
10061	logging.  Will not print repeated strings, only a count "last
10062	message repeated N times", but will always print something if
10063	message is repeated more than 100 times.
10064
10065	* scripts/lostaltmail.in: look for lostaltmail.conf files also in
10066	/etc/global, /etc/os, and /etc/local (in that order).
10067
10068Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10069
10070	* conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
10071	mounts.
10072
10073	* aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
10074	aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
10075
10076	* conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
10077	NFS_SA_DREF macro is a pointer to the structure that used to be
10078	passed to it before.  So now I have to dereference the pointer
10079	before accessing its values.
10080
10081	* hlfsd/hlfsd.c (main): use the new and cleaner
10082	compute_nfs_args() and compute_automounter_nfs_args() functions.
10083
10084	* amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
10085	compute_nfs_args() and compute_automounter_nfs_args() functions.
10086
10087	* amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
10088	and cleaner compute_nfs_args() and compute_automounter_nfs_args()
10089	functions.
10090
10091	* libamu/mount_fs.c (compute_nfs_args): major code cleanup that
10092	relates for struct nfs_args.  A new function sets the numerous
10093	possible flags and fields of nfs_args_t in an orderly fashion.
10094	Code cleaned up, organized, and moved from amd/hlfsd into
10095	libamu.  This saves on overall size of code.
10096	(compute_automounter_nfs_args): A variant of compute_nfs_args()
10097	which sets special options/flags that need to be used when NFS
10098	mounting an automounter's mount point.  Used by hlfsd and amd.
10099
10100	* amq/amq.c (get_secure_amd_client): don't print any more
10101	"get_secure_amd_client: using TCP, port 12345".  It's more
10102	annoying than useful a message, even when assumed to be compiled
10103	under DEBUG only.
10104
10105Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10106
10107	* aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
10108	mount table entries.  The code used to define the /etc/mnttab name
10109	for file systems based on physical media (disk, cdrom, floppy) to
10110	the generic name, rather than the OS specific name.  For example
10111	autoconf searches for all these types of mount table entries for a
10112	floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
10113	it found any, it hard-coded the mnttab name to "pcfs" rather than
10114	the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
10115	nullfs, unionfs, and umapfs.
10116
10117	* aux/configure.in: also test for xfs (for newer Irix) when
10118	looking for mount type names, numbers, etc of a disk-based ufs.
10119
10120Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
10121
10122	* amq/amq.c (main): use pmap_ping() to test if remote host is up.
10123	This works better on bsdi2 and bsdi3, because their portmapper
10124	does not appear to like forwarding operations (it is generaly
10125	insecure).
10126
10127Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10128
10129	*******************************************************************
10130	*** Released am-utils-6.0a13					***
10131	*******************************************************************
10132
10133Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10134
10135	* conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
10136	struct datum typedef.
10137
10138	* conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
10139	ypall_callback_fxn_t for netbsd.
10140
10141	* aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
10142	the 5th arg to authunix_create(), while before and after they used
10143	gid_t.
10144
10145	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
10146	clnt_create_timed() on older Solaris 2.3 systems that did not have
10147	it.
10148
10149	* conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
10150	kernel only on bsdi2, so do not include it.
10151
10152Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10153
10154	* hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
10155	messages about resolution of mailboxes based on uid/gid.
10156
10157	* scripts/ctl-hlfsd.in: check for alternate password file in
10158	${prefix}/etc/passwd and use it in hlfsd's startup.
10159
10160Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10161
10162	* hlfsd/homedir.c (hlfsd_getpwent): added support for -P
10163	passwdfile option.  If hlfsd is started with -P passwdfile, then
10164	the passwdfile is read and parsed just as a standard unix
10165	passwd(4) file.  Only the username, uid, and homedir fields are
10166	read and checked.  All the rest are ignored.  No NIS/netgroup
10167	support!
10168
10169	* hlfsd/hlfsd.c (main): check if hlfsd is run as root after
10170	parsing command line options, so that usage() can be printed when
10171	-h is invoked.
10172
10173Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10174
10175	* amd/nfs_start.c (mount_automounter): if autofs service listener
10176	fails to initialize it is OK if using a test amd.
10177
10178	* amd/opts.c (f_in_network): new nomadic function in_network(arg),
10179	which returns TRUE if 'arg' is any one of this host's networks.
10180
10181	* libamu/wire.c (getwire): rewritten parts of function, to store
10182	all networks names and numbers in the order of the interface (not
10183	in reverse).
10184
10185Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10186
10187	* aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
10188	would have worked had it not been due to AIX's buggy /bin/sh.
10189
10190	* doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
10191	am-utils.ps in the distribution sources.
10192	(html): generate html documentation for
10193	http://www.am-utils.org
10194
10195Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10196
10197	* conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
10198	ypall_callback_fxn_t.  The NetBSD team compiles all sources with
10199	gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
10200
10201	* amd/info_nis.c: allow for override of ypall_callback_fxn_t
10202	function typedef.
10203
10204	* libamu/xutil.c (amu_release_controlling_tty): new function to
10205	release the controlling tty in a clean and sane manner.  No longer
10206	using setpgid() b/c it may not work.  Uses setsid(),
10207	and ioctl() (in order).  This new function is used in amd/amd.c
10208	and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
10209	systems, but on others it is the same as setpgid().
10210
10211Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10212
10213	* aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
10214	it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
10215	never used, because the configure test for fsname flag wasn't
10216	used.  This fixed a bug in HPUX 10, where syncer and manual mounts
10217	left blank lines in /etc/mnttab.
10218
10219	* aux/configure.in: check for nfs mount option 'fsname'.
10220
10221Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10222
10223	* amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
10224	mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
10225	hpux-10 will mount amd's mounts points as 'ignore' (by df).
10226
10227	* aux/configure.in: check for NFS mount option 'ignore', useful in
10228	HPUX 10.
10229
10230Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10231
10232	* aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
10233	mount type and not NFS, for the amd mount points.
10234
10235	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
10236	an RPC timeout as an error, but just an info message.  From
10237	Andreas Stolcke <stolcke@speech.sri.com>
10238
10239	* If the NFS server is down or does not support the portmapper
10240	call (such as certain Novell NFS servers) we mark it as version 2
10241	and we let the nfs code deal with the case that is down.  If when
10242	the server comes back up, it can support NFS V.3 and/or TCP, it
10243	will use those.  From christos@deshaw.com (Christos Zoulas).
10244
10245	* hlfsd/homedir.c (plt_print): various compile time cleanups to
10246	printfs that take a long, but pass an int to print.  From
10247	christos@deshaw.com (Christos Zoulas).
10248
10249	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
10250	macro to determine if the OS has a bad yp_all(), based on the host
10251	OS name.  So far only irix (all versions) have a bad yp_all, so
10252	they will use am_yp_all() instead (which is slower as it
10253	enumerates manually all of the map's entries).
10254
10255Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
10256
10257	* amd/info_nis.c (am_yp_all): code for a replacement yp_all that
10258	avoids using a file-descriptor leaking yp_all() on some systems
10259	like irix.
10260
10261Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
10262
10263	* fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
10264	systems using /usr/bin/flex.
10265
10266	* amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
10267	that have a modified GNU flex which does define yywrap (DU-4.x).
10268
10269Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10270
10271	* conf/checkmount/checkmount_bsd44.c: include prototype.
10272
10273Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10274
10275	*******************************************************************
10276	*** Released am-utils-6.0a12					***
10277	*******************************************************************
10278
10279Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10280
10281	* conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
10282	code in irix6 until it can be tested correctly
10283
10284	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
10285	on clnt_create for 3 seconds, rather than wait for the much longer
10286	default.
10287
10288	* conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
10289	Includes NFS3, untested.
10290
10291Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10292
10293	* amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
10294	pcfs_args_t if they exist.
10295
10296	* amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
10297	cdfs_args_t if it exists.
10298
10299	* new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
10300	hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
10301
10302Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10303
10304	* doc/am-utils.texi (wire-test): updated documentation for the new
10305	option.
10306
10307	* wire-test/wire-test.8: updated man page for new option.
10308
10309	* wire-test/wire-test.c (main): added a test for various
10310	combinations of NFS proto/vers to a remote/local host.
10311
10312	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
10313	<isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
10314	freebsd will correctly set mount options for pcfs and cdfs.
10315
10316	* amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
10317	0777 (if field exists).
10318
10319	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
10320	<msdosfs/msdosfsmount.h> if available.
10321
10322	* minor new port: rs6000-ibm-aix4.1.4.0.
10323
10324	* libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
10325	write the "time" field in /etc/mnttab.
10326
10327	* conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
10328	detecting mnt_time field of mntent_t.
10329
10330	* libamu/mtab.c (mnt_free): fixed typo in macro names for
10331	detecting mnt_time field of mntent_t.
10332
10333Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10334
10335	* conf/mtab/mtab_file.c (lock): Use flock() in preference over
10336	fcntl() to lock the mtab file.
10337
10338Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10339
10340	* conf/transp/transp_sockets.c (get_nfs_version): define
10341	the try_again goto label only for NFS3.
10342	(pmap_ping): assume timeout failure of clnt_stat.
10343
10344	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
10345	"groups *".
10346
10347Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10348
10349	* conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
10350	<dsr@mail.lns.cornell.edu> to make sure that amd works with more
10351	secure portmappers that do not allow forwarding of RPC messages to
10352	other services.
10353
10354	* */Makefile.am: all source files should also depend on the new
10355	include/am_xdr_func.h header.
10356
10357	* include/am_xdr_func.h: new file as part of the code cleanup from
10358	Christos Zoulas <christos@deshaw.com>.
10359
10360	* Lots of fixes from Christos Zoulas <christos@deshaw.com> that
10361	involved missing prototypes, cleaned up ones, and removal of
10362	unused variables.
10363
10364	* libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
10365	statement with only one case is unclean.
10366
10367Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10368
10369	* amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
10370	0 so that all fields are initialized to zero at first.  This way
10371	SunOS 4.x and other systems don't get /etc/mtab entries with
10372	random integers for the fsck/freq fields. Patch from Andreas
10373	Stolcke <stolcke@speech.sri.com>.
10374
10375Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
10376
10377	* conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
10378	that the important definition for HOSTNAMESZ will be found.
10379
10380	* amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
10381	(inside the nfs_args structure) if the system uses that macro.
10382	Otherwise systems like SunOS refuse to NFS mount long pathnames
10383	and result in ENAMETOOLONG errno's.
10384
10385Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10386
10387	* doc/am-utils.texi (Supported Platforms): specify new support for
10388	solaris 2.6, and hlfsd running on 2.5.1 too.
10389
10390Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
10391
10392	* conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
10393	mount if it is not supported or was turned off.
10394
10395Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
10396
10397	* conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
10398	again.  Apparently at some previous release SunOS 4 supported was
10399	broken and all nfs mounts resulted in ESTALE.
10400
10401Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
10402
10403	* conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
10404	solaris 2.6.
10405
10406	* aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
10407	protocol header selection.
10408
10409Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10410
10411	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
10412	infinite loop.
10413
10414Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10415
10416	*******************************************************************
10417	*** Released am-utils-6.0a11					***
10418	*******************************************************************
10419
10420Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10421
10422	* amd/amd.c (main): if plock() succeeded, don't try to display
10423	errno message.   Patch from Chris Metcalf
10424	<metcalf@catfish.lcs.mit.edu.
10425
10426Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10427
10428	* hlfsd/homedir.c (table_add): make sure duplicate passwd entries
10429	are ignored.   Only the first entry should ever be used, because
10430	that's how lookup in passwd database works.
10431
10432	* conf/transp/transp_sockets.c (get_nfs_version): when determining
10433	if a remote host is up or down, use NFS v.2.  Fix suggested by
10434	Enami Tsugutomo <enami@cv.sony.co.jp>.
10435
10436	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
10437	function to get the best possible NFS version, but also timeout
10438	faster than normal defaults, so remote hosts which are down can be
10439	detected in a reasonable time.
10440	(get_nfs_version): use the new "best" function.
10441
10442Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10443
10444	*******************************************************************
10445	*** Released am-utils-6.0a10					***
10446	*******************************************************************
10447
10448Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10449
10450	* conf/transp/transp_tli.c (get_nfs_version): don't use
10451	clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
10452	and earlier).
10453
10454	* aux/configure.in: test for existence of clnt_tp_create_timed(),
10455	since Solaris 2.4 (and possibly earlier) do not have it.
10456
10457Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
10458
10459	* amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
10460	field if it exists (solaris 2.4's autofs does not have it).
10461
10462Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10463
10464	* aux/macros/type_auth_create_gidlist.m4: a new test to determine
10465	the correct type to the 5th argument of authunix_create().
10466
10467Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
10468
10469	* libamu/xdr_func.c (xdr_umntrequest): add test for autofs
10470	structure umntrequest, if it has the field rdevid.  Seems Solaris
10471	2.4 and earlier didn't have it.
10472
10473Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10474
10475	* hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
10476	can be done before primary process forks.
10477	(main): bug fix: wait a bit to give child a chance to initialize.
10478	Without this, hlfsd got into a busy infinite loop while, never
10479	completing the mount.
10480
10481	* amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
10482	to make amd works when talking to NIS+ servers in NIS
10483	compatibility mode.
10484
10485Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10486
10487	* amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
10488
10489Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10490
10491	* amd/conf.c (gopt_fully_qualified_hosts): a new function to
10492	process another new global variable.
10493
10494	* amd/ops_nfs.c (make_nfs_auth): if a new global variable
10495	fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
10496	Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
10497
10498	* amd/conf.c (process_last_regular_map): If the amd.conf file only
10499	has a [global] section (pretty useless IMHO), do not try to
10500	process a map that does not exist.
10501
10502	* scripts/amd.conf.5: fixed typos (repeated 'as' word).
10503
10504	* doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
10505
10506	* amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
10507	structure, so it does not carry over from map entry to another.
10508
10509Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10510
10511	* amd/amd.c (main): fixed the meaning of the plock option.  A bug
10512	caused it to be reversed.
10513
10514Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10515
10516	* hlfsd/stubs.c: don't initialize some statics here.  They are
10517	better initialized in hlfsd_init_filehandles().
10518
10519Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10520
10521	* amd/conf.c (gopt_show_statfs_entries): new function and a global
10522	amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
10523	then all maps flagged as browsable will also show a count of the
10524	number of entries (keys) in that map.
10525
10526	* amd/nfs_subr.c (count_map_entries): new function to count number
10527	of entries in a map.  Now used if browsable is turned on in a map,
10528	to return a count of available keys in a given map.
10529
10530	* hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
10531	confused the file handles for ".", "..", and the symlink, causing
10532	mess.
10533
10534	* aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
10535	but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
10536	with bad memcmp() in libc's (nextstep3).
10537
10538Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10539
10540	* aux/configure.in: check if autofs_args_t has a field named
10541	addr.  Solaris has it for specifying the address of the daemon,
10542	but Irix does not.  So how does irix tell the kernel the daemon's
10543	address?  I suspect that it is hardcoded to "localhost" using a
10544	"private well-known port" (#define AUTOFS_PORT 2048).
10545
10546	* conf/nfs_prot/nfs_prot_linux.h: added missing autofs
10547	definitions.
10548
10549	* README.autofs: new file listing autofs support notes
10550
10551	* very preliminary autofs code working.  Call it pre-alpha
10552	quality.
10553
10554Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10555
10556	* amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
10557	"autofs" if system does not support it.
10558
10559	* amd/amd.c (main): log am-utils version string (same as amd -v)
10560	at start of run.
10561
10562	* conf/transp/transp_sockets.c (get_nfs_version): in order to tell
10563	if a remote host is available, try to contact its portmapper and
10564	timeout if no answer is received in 3 seconds.
10565
10566Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10567
10568	* aux/macros/check_extern.m4 (pattern): use a simpler pattern for
10569	match for external function definitions.  The function could span
10570	multiple lines, so only match the opening parenthesis, not the
10571	closing one too.
10572
10573	* aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
10574	posix mode for nextstep3.  It is broken.
10575
10576	* amd/amd.c (init_global_options): run uname() only if
10577	<sys/utsname.h> and uname(2) exist.
10578
10579	* amd/rpc_fwd.c (fwd_packet): if remote host is down, the
10580	forwarding socket is null, so declare this an error.
10581
10582	* include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
10583	for when a remote host is down.  Try, in order, "host down", "host
10584	unreachable", "invalid argument".
10585
10586	* amd/ops_nfs.c (discard_fh): don't dereference a null pointer
10587	(happens when remote host is down, and fp->fh_fs is NULL).
10588	(prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
10589	and FSF_DOWN.
10590
10591	* amd/sched.c: nobody uses "union wait" any more, or so it
10592	appears, so clean up that code.
10593
10594	* conf/transp/transp_tli.c (get_nfs_version): if remote host is
10595	down, time it out faster than default (3 seconds).
10596	(get_mount_client): free netconfig entry when done with it.
10597
10598	* conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
10599	port to nextstep3 (m68k-next-nextstep3).
10600
10601	* fsinfo/Makefile.am (LDADD): needs to link with libamu in case
10602	system does not have strdup().
10603
10604	* include/am_defs.h: complete external definition for getlogin()
10605	if needed.
10606
10607	* conf/transp/transp_tli.c (get_nfs_version): no need to keep
10608	static versout variable.
10609
10610	* amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
10611	server is probably down.  Don't use sendto() in that case.
10612
10613	* buildall (default): run gmake if found, before trying plain
10614	make.  GNU make is always preferable.
10615
10616Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10617
10618	* aux/macros/host_macros.m4: cleanup of os_version and os
10619	overrides.  Solaris 2.5.1 for example will come up as solaris2 and
10620	2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
10621	the amd.conf file.
10622
10623Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10624
10625	*******************************************************************
10626	*** Released am-utils-6.0a9					***
10627	*******************************************************************
10628
10629Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10630
10631	* conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
10632	(i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
10633	from <ndbm.h> and <sys/resource.h>.
10634
10635	* scripts/amd.conf.5: new map page.
10636
10637	* amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
10638	does not.
10639
10640	* amd/amd.8: updated man page.
10641
10642	* amd/get_args.c (get_args): removed defunct -h option to amd.
10643
10644	* amq/amq.8: updated man page.
10645
10646	* amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
10647	SparcCompiler CC won't complain.
10648
10649	* amd/info_hesiod.c (hesiod_search): small fixes to compile with
10650	hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
10651
10652	* aux/macros/opt_ldflags.m4: new option added to configure
10653	--enable-ldflags, to specify -L option for configuring/compiling.
10654	The older one --enable-libs is now to be used only for -l options.
10655
10656	* amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
10657	nc_protoname from nfs_proto if available for all TLI systems, not
10658	just those that have NFS V3.
10659
10660	* amd/info_ldap.c: ldap patches from Leif Johansson
10661	<leifj@matematik.su.se>, adding two new amd.conf ldap variables:
10662	ldap_cache_seconds and ldap_cache_maxmem.
10663
10664	* hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
10665	htons().
10666
10667Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10668
10669	* amd/nfs_start.c (mount_automounter): register amd with the rpc
10670	program number that may have been overridden by amd.conf.
10671
10672	* libamu/xutil.c (set_amd_program_number, get_amd_program_number):
10673	allow storing and retrieving alternate amd program numbers.
10674
10675	* amd/conf.c (gopt_portmap_program): new function to parse
10676	amd.conf entry portmap_program=1234.
10677
10678	* amq/amq.c (main): allow specifying an alternate rpc program
10679	number for amd via -P prognum.
10680
10681	* new amq RPC to get the process id of the running amd.  This is
10682	used in ctl-amd to quickly find the pid of the amd that is to be
10683	killed.
10684
10685	* expanded shared libraries support.  Using GNU libtool-1.0,
10686	am-utils now builds shared libraries on many platforms that have
10687	support for it and proper compilers/linkers.  See "INSTALL" file
10688	for compatibility chart.
10689
10690Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10691
10692	* fsinfo/fsi_lex.l: removed code that was in support of very old
10693	versions of flex.  No longer needed.
10694
10695Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10696
10697	* amd/amd.c (init_global_options): find the kernel architecture
10698	from uname() if possible.
10699
10700Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10701
10702	* new working port: i386-unknown-openbsd2.1
10703
10704Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
10705
10706	* working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
10707	structure to actual char[], because the structure was passed to
10708	xdr_fhandle as data and not a pointer.  Surprisingly, gcc
10709	-fpcc-struct-return did not help.
10710
10711	* conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
10712	definitions for solaris 2.4 have to be different from 2.3, and
10713	different from 2.5.
10714
10715	* libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
10716
10717Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10718
10719	* conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
10720	types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
10721
10722	* mk-amd-map/mk-amd-map.8: man page taken from bsd44.
10723
10724Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
10725
10726	* conf/mount/mount_linux.c: made the nfs error mapping code into a
10727	small function.
10728
10729Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10730
10731	* conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
10732	error mappings from errno numbers to NFS errors.  From Debian
10733	Linux.
10734
10735	* scripts/am-eject.in (fs): new script (taken from Debian Linux
10736	folks) to auto-unmount floppy/cd devices before ejecting them.
10737
10738	* fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
10739	'5' as second arg to show_area_being_processed.  I'm not sure why.
10740
10741	* fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
10742	second arg to show_area_being_processed.  I'm not sure why.
10743
10744	* conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
10745	ensure that you have a buffer in *xopts to strcat onto.
10746	(mount_linux): fixed from Debian folks to ensure that NFS mount
10747	sockets are connected only for kernels prior to 1.3.10 (avoids
10748	hangs for multi-homed hosts).
10749
10750	* amd/mapc.c (make_entry_chain): from Debian folks: don't skip
10751	over amd map keys that have a prefix, and include the prefix in
10752	the returned readdir().
10753
10754	* amd/info_passwd.c (passwd_init, passwd_search): format
10755	enhancements from the Debian Linux folks.  They added
10756	- var0:=pw-prefix:=anydir
10757	- var1:=pw-rhost:=dom3.dom2.dom1
10758	- var2:=pw-user:=user
10759	- var3:=pw-home:=/anydir/dom1/dom2/dom3/user
10760
10761	* new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
10762
10763	* amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
10764	afs_mount timed out, then explicitly forbid further retries after
10765	the timeout.  (afs_bgmount): bug fix from Debian Linux.  Timeout
10766	values (17 and 5) were mistakenly swapped.
10767
10768Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
10769
10770	* conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
10771	support for Solaris 2.4 (the header files incorrectly define parts
10772	of the NFS V.3 protocol, but the kernel does not support it).
10773
10774Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10775
10776	* amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
10777	for determining if using old or new hesiod libraries,
10778	respectively.
10779
10780	* amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
10781	V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
10782	they cause hangs of mounts from multi-homed hosts when the return
10783	route is not the same as the outgoing route (esp. on NetBSD
10784	1.2.1).  If "conn" option was supplied, then don't turn on the
10785	"noconn" mount option.  Otherwise default to "noconn" mount
10786	option.
10787
10788	* aux/configure.in: better check for systems that need libgdbm and
10789	<ndbm.h>
10790
10791Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10792
10793	* hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
10794	mounts are hidden from df(1) on systems that keep mount tables in
10795	kernel, such as osf1.
10796
10797Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10798
10799	*******************************************************************
10800	*** Released am-utils-6.0a8					***
10801	*******************************************************************
10802
10803Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
10804
10805	* hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
10806	AF_INET when hlfsd mounts itself, thus getting an errno "protocol
10807	family not supported".
10808
10809Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10810
10811	* verified that amd on NetBSD 1.2.1 (i386) works, but the OS
10812	itself is flaky.
10813
10814	* verified that amd AIX 3 works w/ the new readdir() code.
10815
10816Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10817
10818	* amd/mapc.c (maptypes): changed the default map caching type for
10819	nis and ndbm maps to "MAPC_ALL", so that all possible entries will
10820	be available to amd for browsable_dirs=yes.
10821
10822Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10823
10824	* amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
10825	afs_readdir into a browsable version and a non-browsable one.
10826	Fixed bugs that resulted in an infinite nfs_readdir loop on the
10827	localhost for some operating systems.
10828
10829Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10830
10831	* amd/ops_afs.c (afs_readdir): fixed up the browsable code to
10832	comply with nfs_readdir specs.  It was returning all entries at
10833	once, even if there was not enough space in the RPC packet.  Now,
10834	it sends a reasonably sized chunk, and sets static state to resume
10835	it for the next continuation RPC of readdir.
10836
10837	* amd/conf.c (set_conf_kv): fixed bug that resulted in the first
10838	regular map not getting all of the [global] options defaulted from.
10839
10840Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10841
10842	* amq/amq.c (main): fixed so that portmapper "ping" will only fail
10843	upon an RPC timeout
10844
10845	* scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
10846	amd/hlfsd process to kill.
10847
10848	* amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
10849	determine how to avoid df from seeing amd's toplvl mounts.  Moved
10850	from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
10851	is hidden from df.
10852	(mount_toplvl): fixed df types for irix.
10853
10854Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
10855
10856	* amq/amq.c (main): fixed bug that caused the 5 second timeout for
10857	TLI amq using udp to be ignored.
10858	(main): if amq cannot contact remote host's portmapper within 5
10859	seconds, timeout and fail faster than the default longer timeout
10860	(this is for non-TLI systems).
10861
10862Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10863
10864	* amq/amq.c (get_secure_amd_client): if amq cannot contact
10865	remote host's portmapper within 5 seconds, timeout and fail faster
10866	than the default TLI timeout of over 4 minutes.
10867
10868	* amd/am_ops.c (ops_showfstypes): added styles for new bsd44
10869	file systems nullfs, unionfs, and umapfs.
10870	(ops_show1): cleanup code and and reuse this function.
10871	(vops): empty placeholders for nullfs, unionfs, and umapfs.
10872
10873	* amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
10874	bsd44 style file systems.
10875
10876	* fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
10877	sources.
10878
10879	* amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
10880	conflict with systems that define it in <sys/ioctl.h> and also
10881	define a conflicting one via lex.  Newer versions of f/lex are ok.
10882
10883Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10884
10885	* amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
10886	acdirmin/max and acregmin/max only if they exist.
10887
10888	* aux/configure.in: test for nfs_args fields acdirmin and
10889	acregmin.
10890
10891Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10892
10893	* aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
10894	"nondev" and commented back in checking for "nodev".  This was a
10895	typo.
10896
10897	* include/am_compat.h: more compatibility options: define "ro"
10898	mnttab option all the time.  Define "overlay" as needed.  Added
10899	more fillers of mnttab options (as per Daniel S. Riley
10900	<dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
10901	acregmin, noac, grpid, nosuid, and actimo.
10902
10903	* libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
10904	per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
10905	the same code for other options in struct opt_tab.
10906
10907Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10908
10909	* amd/get_args.c (get_args): moved amd.conf file parsing to before
10910	the switching the default log/debug options.  Suggested by
10911	dsr@mail.lns.cornell.edu (Daniel S. Riley).
10912
10913	* aux/update_build_version: new script to record the build version
10914	of amd, along with the rest of the info thet comes up with amd -v.
10915
10916Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
10917
10918	* aux/macros/os_cflags.m4: new macro, to add additional
10919	compilation options (also used during configuration), based on the
10920	OS and the compiler.  Used for solaris-2.6, osf, and irix6.
10921
10922Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10923
10924	* amd/conf_tok.l, conf_parse.y: allow values of keys to include
10925	white spaces, if they are double-quoted (key="some value")
10926
10927	* amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
10928	of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
10929
10930Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10931
10932	*******************************************************************
10933	*** Released am-utils-6.0a7					***
10934	*******************************************************************
10935
10936Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10937
10938	* include/am_defs.h: fill in extern definition of innetgr() in
10939	case system headers don't.
10940
10941	* aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
10942	will show the full pathname to yacc/bison and f/lex.  Some systems
10943	have older or bad versions of those and this way the user will
10944	know for sure what is being invoked.
10945
10946	* tasks: file populated with todo items.
10947
10948	* scripts/amd2ldif.in: Script to convert amd maps to plain text
10949	LDAP object files.  Contributed by Leif Johansson
10950	<leifj@matematik.su.se>.
10951
10952	* aux/config.guess: added recognition for sun3's running 4.2bsd,
10953	from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
10954
10955	* amd/conf.c: several variables that were local to a map, were
10956	also added to [global], where they apply to all maps.  Each map
10957	can then individually override those defaults.  Flags
10958	affected: browsable_dirs and mount_type.  Options affected:
10959	map_type, map_options, and search_path.
10960
10961	* amd/amd.h: eliminated several global flags each of which took an
10962	int, in favor of one global flags variable used as a bit field.
10963
10964	* amd/amd.c (init_global_options): moved all global variables into
10965	a single struct amu_global_options, so it is easier to add new
10966	ones and/or identify existing ones.
10967
10968	* amd/get_args.c (get_args): removed unused amd -m option.
10969
10970	* amd/conf.c (gopt_cluster): added new amd.conf option for cluster
10971	name, same as amd -C.
10972
10973	* amd/info_ldap.c: LDAP info map functions from Leif Johansson
10974	<leifj@matematik.su.se>.
10975
10976	* amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
10977	amd.conf options for ldap_base and ldap_hostports.
10978
10979	* amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
10980	if the current host is in the ARG host netgroup.
10981
10982	* aux/configure.in: some systems replaced dbm in libc with GNU's
10983	libgdbm, so check for libgdbm, but only if dbm_open is not in
10984	libc already.  This was a recommendation from Tom Schmidt
10985	<tschmidt@micron.com>.
10986
10987	* conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
10988	completed.
10989
10990Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10991
10992	* port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
10993	V.3.
10994
10995Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
10996
10997	* port to i386-unknown-freebsd3.0 done and working.  Includes NFS
10998	V.3.
10999
11000	* aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
11001	file handle dereferencing style similar to freebsd22.
11002
11003	* include/am_defs.h: need to include <net/if_var.h> before
11004	<netinet/if_ether.h> on freebsd3.
11005
11006	* conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
11007	for freeBSD 3.0.
11008
11009Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11010
11011	* amd/info_nis.c (nis_reload): cast nis' callback function so
11012	picky compilers won't complain.
11013
11014	* libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
11015	gets compiled only if the system has NFS V3 and does not have
11016	xdr_mountres3.
11017
11018Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11019
11020	* COPYING: put in some legal stuff in this file.
11021
11022Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11023
11024	* NFS V3 now works under Irix5, thanks to patches from
11025	Andreas Stolcke <stolcke@speech.sri.com>.
11026
11027	* conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
11028	version and an irix6 version, since irix5's NFS V3 code is broken
11029	and hacky.
11030
11031	* amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
11032	sizes for some hesiod queries.  Patch from Danny Braniss
11033	<danny@cs.huji.ac.il>.
11034
11035Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
11036
11037	* amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
11038
11039Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
11040
11041	* aux/{configure.in,acconfig.h}: added checks for struct
11042	nfs_args's fields proto and sotype (bsdi3).
11043
11044	* amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
11045	nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
11046	to SOCK_STREAM or SOCK_DGRAM.
11047
11048	* aux/macros/check_mount_style.m4: add case for bsdi3.
11049
11050	* amd/info_hesiod.c: got hesiod support for bsdi3.
11051
11052Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11053
11054	* aux/configure.in: look for hesiod on libc (bsdi3)
11055
11056	* amd/get_args.c (get_args): reformat usage so it fits in 80
11057	columns.
11058
11059	* scripts/ctl-amd.in: changed directory name for optional tftpboot
11060	map to /tftpboot/.amd.
11061
11062Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11063
11064	*******************************************************************
11065	*** Released am-utils-6.0a6					***
11066	*******************************************************************
11067
11068Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11069
11070	* scripts/ctl-amd.in: include -T tag for tftpboot.
11071
11072	* new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
11073	is broken and needs work on the specific nfs_args that irix5 uses
11074	for V3 mounts.
11075
11076Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11077
11078	* amd/get_args.c (get_args): new options amd -T tag.  A map with
11079	tag=foo matching the -T tag will be processed.  All untagged maps
11080	get processed all the time.
11081
11082Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11083
11084	* aux/configure.in: need to check for strcasecmp in libucb (ncr2)
11085
11086	* aux/macros/check_os_libs.m4: a new macro to set the usage of
11087	libnsl and libsocket based on the OS.
11088
11089	* libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
11090	defined (problem on osf4).
11091
11092	* conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
11093
11094	* include/am_defs.h, aux/macros/try_compile_nfs.m4,
11095	aux/macros/mount_headers.m4: do include <sys/proc.h> because it
11096	failes on irix5.  Rather, put in the individual
11097	conf/nfs_prot/nfs_prot_*.h headers.
11098
11099	* amd/conf.c: AIX3 doesn't like strdup() being passed a constant
11100	char*, so cast all strdup()'s args to a non-const char*.
11101
11102	* amd/mapc.c (root_newmap): don't try to strdup only a "const
11103	char *".
11104
11105Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11106
11107	* conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
11108	sys/errno.h.
11109
11110Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11111
11112	* made sure am-utils compiles, links, and runs properly on Irix
11113	6.2 using "cc -32 -Wl,-woff,"
11114
11115	* aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
11116	AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
11117	them to $LIBS.
11118
11119	* aux/configure.in: some cleanup of which libraries are needed.
11120	Espectially ensure that libnsl is included only on Solaris, where
11121	so far it is the only system on which it is absolutely necessary.
11122	Also no longer need to include libc explicitly.
11123
11124	* amd/amd.c,wire-test/wire-test.c (main): convert IP address to
11125	network-long order before printing it.
11126
11127	* wire-test/wire-test.c (main): also check and report on the IP
11128	address of the local host, since some systems have bad versions of
11129	get_myaddress, or ones that conflict with other versions in
11130	multiple libraries (SunOS 4 and Irix especially).
11131
11132Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
11133
11134	* scripts/ctl-amd.in: don't use full pathname so killproc() works
11135	better.  Also run bsd44 and irix style ps programs.
11136
11137	* aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
11138	of library no matter if it was found or not.
11139
11140Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11141
11142	* aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
11143	for M_* macros, but ensure that <sys/stream.h> is not included at
11144	all so it won't conflict with other M_* macros.
11145
11146Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
11147
11148	* conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
11149	irix should be "spec" (host:/path), not the dir of the mnt point.
11150
11151	* amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
11152	fixed.  If on, it essentially ignored the setting in a
11153	selector-controlled /defaults if there were 2 or more entries in it.
11154
11155Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11156
11157	* scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
11158	using BSD style ps, then try SVR4 style ps.
11159
11160	* include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
11161	etc., to avoid conflicts with similar named macros in <ldap.h>.
11162
11163	* aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
11164	support needed for LDAP.  Now the code has to be written mostly in
11165	amd/info_ldap.c.
11166
11167	* Included additional patches from Andreas Stolcke
11168	<stolcke@speech.sri.com> to support using the best possible
11169	combination of NFS version (2,3) and protocol (udp,tcp) for any
11170	given host, since it appears that some Irix versions have NFS V3,
11171	but do not support TCP.
11172
11173	* scripts/ctl-amd.in: updated amd control script to look for and
11174	use amd.conf file.
11175
11176Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11177
11178	* amd/mapc.c (mapc_create): now, each map in the amd.conf can be
11179	initialized off of a different type, or default to cycling through
11180	all maps until one of them matches.
11181
11182Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11183
11184	* amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
11185	if browsable_dirs=yes is set in the map section in amd.conf, that
11186	map will return all entries back to a readdir(2).
11187
11188Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11189
11190	* rudimentary amd.conf file support included.  You may even
11191	override things like os=sos5, to get "backwards" compatibility with
11192	upl102.
11193
11194Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11195
11196	* amd/conf.c: new file to process amd.conf file.
11197
11198	* amd/get_args.c (get_args): new options -H to print help.
11199
11200	* moved enable_default_selectors to be amd.conf controlled, and
11201	not compiler controlled.
11202
11203	* amd/get_args.c (get_args): new options -F <conf-file> to parse an
11204	amd configuration file.
11205
11206Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11207
11208	* converted all files that used strcmp() == 0 or != 0  to using
11209	the STREQ() macro.
11210
11211Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11212
11213	* aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
11214	search for any number of functions in any given library.
11215
11216Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11217
11218	* amd/mapc.c: Included patch from Leif Johansson
11219	<leifj@matematik.su.se> to ensure that systems without an RE
11220	library can compile.
11221
11222	* libamu/mount_fs.c (mount_fs): Included patch from Andreas
11223	Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
11224	table are properly delimited by a comma.
11225
11226	* amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
11227	Stolcke <stolcke@speech.sri.com>, to allow users to override the
11228	proto= and vers= mount options.
11229
11230Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
11231
11232	* conf/nfs_prot/nfs_prot_svr4.h: port completed to
11233	i486-ncr-sysv4.3.03.  Assorted source cleanups done.
11234
11235	* include/am_defs.h, aux/macros/mount_headers.m4: don't include
11236	mnttab.h if sys/mnttab.h was already included, because on ncr2,
11237	they contain conflicting entries for struct mnttab.
11238
11239Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
11240
11241	* aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
11242
11243Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
11244
11245	* amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
11246
11247	* aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
11248	on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
11249
11250Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
11251
11252	* aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
11253	nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
11254	better.
11255
11256Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11257
11258	* amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
11259	NULL, set the maxlen and len fields in netbuf to zero.
11260
11261Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11262
11263	* scripts/fix-amd-map.in (name): replace all matching patterns on
11264	line.
11265
11266Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11267
11268	*******************************************************************
11269	*** Released am-utils-6.0a5					***
11270	*******************************************************************
11271
11272Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11273
11274	* amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
11275	procedure now returns the full string that amd -v returns.
11276
11277	* amd/get_args.c (get_version_string): new function to return
11278	complete version/info string so it could be used more flexibly.
11279
11280	* amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
11281	of Fs types into a string buffer, rather than a FILE*.
11282
11283	* amd/mapc.c (mapc_showtypes): put the list of map types into a
11284	string buffer, rather than a FILE*.
11285
11286Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11287
11288	* amd/get_args.c (get_args): amd -v also prints user who built
11289	amd, hostname built on, and date of configuration.
11290
11291Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11292
11293	* scripts/lostaltmail.conf-sample: sample lostaltmail
11294	configuration file.
11295
11296	* scripts/lostaltmail.in: new script lostaltmail used to redeliver
11297	"lost" mail that hlfsd redirected to a temp location because the
11298	primary home file system of the user was full.
11299
11300	* scripts/amd2sun.in: new script amd2sun. Used to convert Sub
11301	automount maps to amd maps.
11302
11303	* scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
11304	stop, or restart hlfsd.
11305
11306	* scripts/expn.1: man page for expn command.
11307
11308	* scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
11309	restart amd.
11310
11311	* scripts/expn.in: new script expn.  Actually taken from David
11312	Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
11313	script.
11314
11315	* scripts/wait4amd.in: new script wait4amd added.  Waits for amd
11316	to come up on a host, and then runs a command (rsh $hostname by
11317	default).
11318
11319	* scripts/Makefile.am: new directory now holds all shell/perl
11320	scripts that belong to am-utils.
11321
11322	* conf/mount/mount_linux.c (parse_opts): new parser for
11323	linux-specific mounts.  Handles fs-type specific mount-options
11324	correctly.  Currently implemented: msdos, iso9660.
11325
11326	* amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
11327	(fix for linux).
11328
11329	* amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
11330	(fix for linux).
11331
11332	* amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
11333	core dumps upon "ls" of a mount point; an invalid pointer was
11334	being returned and dereferenced.
11335
11336	* port to Linux sparc working!
11337
11338	* hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
11339	failed to write test file, or else the fd will leak.
11340
11341Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11342
11343	* amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
11344	instead of strcmp().
11345
11346	* Port to Digital Unix 4.0 (OSF) done.
11347
11348	* hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
11349	with dirname() function in <string.h> on OSF systems.
11350
11351	* fsinfo/fsi_util.c (set_ether_if): take out extern definition of
11352	inet_addr().  It should come from <arpa/inet.h> instead.
11353
11354	* conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
11355
11356	* include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
11357	avoid conflicts with DU 4.0 system header.
11358
11359Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
11360
11361	* libamu/mount_fs.c (mount_fs): pass along NFS version so I can
11362	determine if to include additional options in the mount table file
11363	entry (such as proto=tcp, and vers=3).
11364
11365Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11366
11367	* libamu/mount_fs.c (mount_fs): include NFS version number in the
11368	mount table options, as well as proto={tcp,udp}.
11369
11370Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11371
11372	* NFS V3 code ported to most other systems, so it compiles for V2
11373	and V3 NFS systems.
11374
11375	* NFS VERSION 3 support, first pass.  Working for Solaris and
11376	using TCP.
11377
11378Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11379
11380	* amq/amq.c: many newline characters were missing from various
11381	stderr printfs.
11382
11383Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11384
11385	* conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
11386	Solaris, which include NFS V3 support.
11387
11388	* conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
11389
11390	* conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
11391	protocol version while getting a mount client.
11392
11393	* amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
11394	file handle size, and proper file handle based on the correct NFS
11395	version number.
11396
11397	* conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
11398	Solaris and other SVR4 systems.
11399
11400	* amd/ops_nfs.c: store NFS file handle version and version
11401	specific handle in struct fh_cache.
11402	(got_nfs_fh): pick the correct RPC reply based on the NFS version
11403	of the server.
11404	(prime_nfs_fhandle_cache): figure out the right NFS file handle
11405	for a node, but now include NFS protocol version information.
11406	(call_mountd): set the correct version for the mount protocol,
11407	based on the NFS protocol version.
11408	(nfs_init): use the NFS protocol generic structure
11409	am_nfs_handle_t.
11410
11411	* include/am_utils.h: new structure am_nfs_handle_t to contain all
11412	possible versions of NFS file handles.
11413
11414	* amd/srvr_nfs.c (start_ping): ping program performs NFS version
11415	specific pings.
11416	(recompute_portmap): figure out the correct portmap version mount.
11417	(nfs_keepalive): call start_ping() with the correct NFS version.
11418	(find_nfs_srvr): if mount option "vers=" is given, use it.  Get
11419	the NFS server version and verify that it is up.
11420
11421	* conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
11422	function to find the best NFS version for a particular host.
11423
11424	* libamu/amu.h: determine what is the highest version of NFS we
11425	should try.
11426
11427	* include/am_utils.h (NFS_VERSION3): added definition for NFS V3
11428	protocol number.
11429	Added field fs_version to struct fserver, so we can now store the
11430	server protocol version.
11431
11432Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11433
11434	* aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
11435	underscores too, so I can test for sub-fields.
11436
11437	* libamu/wire.c: use test that checks for sub-fields of struct
11438	ifreq.
11439
11440Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
11441
11442	* port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
11443	into smaller files.  M4 macros fixed to test for existence of
11444	file systems using getvfsbyname().
11445
11446	* amd/sched.c (sigchld): signal handler must waitpid() for all
11447	possible children.
11448
11449	* hlfsd/homedir.c: signal handler must waitpid() for all possible
11450	children.
11451
11452	* aux/macros/check_restartable_signals.m4: new macro to determine
11453	if need to reinstall signal handlers per OS is better than trying
11454	to figure these out based on system macros.
11455
11456Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
11457
11458	* amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
11459
11460	* amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
11461
11462	* amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
11463	(must be supplied for bsdi 3.0)
11464
11465	* libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
11466	associated new macro) for determining the right way to compute the
11467	size of the interface structure.
11468
11469Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11470
11471	* aux/configure.in: need to include libc before libnsl if
11472	get_myaddress() is available because on irix libnsl has a buggy
11473	get_myaddress().
11474
11475	* include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
11476	on Irix 6 (an SVR4 variant)
11477
11478Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11479
11480	*******************************************************************
11481	*** Released am-utils-6.0a4					***
11482	*******************************************************************
11483
11484Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11485
11486	* amd/amq_subr.c (ok_security): turned off insecure code unless
11487	user explicitly runs configure --enable-amq-mount.
11488
11489	* hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
11490
11491	* amd/nfs_start.c (mount_automounter): use code that separately
11492	creates the NFS and the amq service.  Register tcp and udp
11493	services for amd.
11494
11495	* conf/transp/transp_*.c (create_amq_service): new function to
11496	separately create the amq service for amd.  Simplified prototypes
11497	for create_nfs_service().
11498
11499Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11500
11501	*******************************************************************
11502	*** Released am-utils-6.0a3					***
11503	*******************************************************************
11504
11505Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11506
11507	* new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
11508	of small changes to support these two.
11509
11510Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
11511
11512	* conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
11513	should run if MOUNT_TABLE_ON_FILE, not otherwise.
11514
11515Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11516
11517	* hlfsd/hlfsd.c (main): fill in fhsize field if exists
11518	(freebsd-2.2).
11519
11520	* amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
11521	exists (freebsd-2.2).
11522
11523Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11524
11525	* new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
11526	changed the filehandle type in struct nfs_args from nfsv2fh_t to
11527	u_char.
11528
11529Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11530
11531	* SHARED LIBRARIES: too many changes to list individually.  Now,
11532	libamu can be built as a shared library, and other programs link
11533	with it.
11534
11535Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11536
11537	* aux/macros/opt_shared.m4: new macro for setting options for
11538	building shared am-utils libraries.
11539
11540Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11541
11542	* fixmount/fixrmtab: cleaned up the script.
11543
11544	* fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
11545	fixrmtab gets distributed too.
11546
11547	* conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
11548	Added extern for xdr_mountlist().
11549
11550	* aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
11551	MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
11552	the sources.
11553
11554Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11555
11556	* fixmount/hlfsd ported to bsd44, hpux, and linux systems.
11557
11558	* aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
11559
11560	* conf/fixmount/fixmount_default.c: use lockf() if flock() is
11561	unavailable.
11562
11563	* include/am_defs.h: include <string.h> even if don't have
11564	STDC_HEADERS defined (sunos4).
11565	(seteuid): define seteuid() to be setresuid() for systems that
11566	have but not the other (hpux).
11567
11568	* aux/macros/check_extern.m4: test should include <strings.h>.
11569
11570Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11571
11572	* lib/xutil.c (debug_option): moved from amd/getargs.c to this
11573	more proper file.
11574
11575	* include/am_utils.h: put in structure for debug options, for all
11576	progams to use.
11577
11578	* amd/get_args.c: moved structure for debug options out.
11579
11580Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11581
11582	* ported fixmount.
11583
11584	* lib/ualarm.c: replacement function for systems that don't have a
11585	ualarm().
11586
11587	* ported fsinfo.
11588
11589Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11590
11591	* ported mk-amd-map.
11592
11593	* buildall: added -K option to buildall, to run mkconf.
11594
11595Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11596
11597	*******************************************************************
11598	*** Released am-utils-6.0a2					***
11599	*******************************************************************
11600
11601Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11602
11603	* all *.[hcyl] files: add copyright line.
11604
11605	* aux/macros/check_mount_type.m4: test for mount type for
11606	linux-like systems, by checking for loadable or statically linked
11607	kernel filesystem modules.
11608
11609	* aux/macros/check_mnttab_type.m4: test for mount table entry
11610	for linux-like systems, by checking for loadable or statically
11611	linked kernel filesystem modules.
11612
11613	* aux/configure.in: pcfs filesystems can use vfat type (linux)
11614
11615	* aux/macros/check_fs_mntent.m4: test for filesystem existence for
11616	linux-like systems, by checking for loadable or statically linked
11617	kernel filesystem modules.
11618
11619	* conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
11620	9.0 header files.  This should be removed when HPUX 9.0 is deemed
11621	defunct.
11622
11623	* aux/acconfig.h: set an undefined variable for having an extern
11624	to clnt_sperrno().
11625
11626	* include/am_defs.h: define extern for clnt_sperrno() if needed.
11627
11628	* aux/configure.in: test for extern clnt_sperrno().
11629
11630	* aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
11631	similar to irix.
11632
11633	* aux/macros/check_mount_style.m4: use mount helper on HPUX.
11634
11635	* aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
11636	not integer (but may be mapped to one later).
11637
11638	* conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
11639	files.  They have mount(2) and vfsmount(2) which don't take same
11640	arguments, and they have string mount types MNTTYPE_* as well as
11641	integer types MOUNT_*.  So I need this new mount function to map
11642	from string types to integer types for the vfsmount() function.
11643
11644	* conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
11645	vfsmount(), call mount_hpux().
11646
11647Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
11648
11649	* lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
11650	both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
11651
11652Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11653
11654	* conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
11655	hpux.
11656
11657	* include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
11658
11659	* aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
11660
11661	* buildall: added ability to configure using other shells than
11662	/bin/sh, on those systems where /bin/sh is buggy or limited
11663	(HPUX).
11664
11665	* aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
11666	defined am_nfs_fh, and also test for plain typedef "nfs_fh".
11667
11668	* aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
11669	reinstated macro.
11670
11671	* aux/configure.in: check for <nfs/export.h>
11672
11673	* include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
11674
11675	* aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
11676	exists.
11677
11678	* aux/macros/mount_headers.m4 (define): removed some non-working
11679	(on HPUX) code that attempts to recreate the fhandle_t rather than
11680	load it up from system headers.  Also added some NFS protocol
11681	header inclusion.  include <nfs/export.h> (HPUX) if exists.
11682
11683Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
11684
11685	* aux/macros/mount_headers.m4 (define): Use M4 changequote to
11686	ensure [] brackets are correctly used.
11687
11688	* aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
11689	multi-line M4 inclusions in [].
11690
11691Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11692
11693	* conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
11694	it exists.
11695
11696	* aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
11697	config.h macro for field f_fstypename of struct statfs.
11698
11699	* aux/configure.in: testing for field f_fstypename field of struct
11700	statfs (NetBSD).
11701
11702	* aux/acconfig.h: moved all of the "static" definitions out to a
11703	fixed file called include/am_defs.h.  Added to all */Makefile.am
11704	files a dependency on am_defs.h.  Created am_defs.h of course, and
11705	then added #include <amd_defs.h> to all of the source and header
11706	files that required it.
11707
11708Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
11709
11710	* aux/acconfig.h: two more externals for xdr functions that may be
11711	implemented by libamu.
11712
11713	* conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
11714	definitions.
11715
11716Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11717
11718	* buildall (default): added -D option for turning on even stricker
11719	developer options.
11720
11721	* */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
11722	determine dependencies on optional NFS protocol headers.
11723
11724	* aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
11725
11726	* aux/macros/check_nfs_prot_header.m4: new test to determine what
11727	NFS protocol headers to use.
11728
11729	* conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
11730	complete missing system headers for NFS protocol definitions.
11731
11732Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
11733
11734	* amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
11735	#ifdef's as needed.
11736
11737	* amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
11738	suitable #ifdef'ed.
11739
11740	* include/am_compat.h: a couple more mnttab options
11741	(timeo/retrans) setting just in case.
11742
11743	* amd/autil.c (host_normalize): make sure hostent->h_name is
11744	passed a non-const char *.
11745
11746	* conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
11747
11748	* {lib,amq,amd}/*.c (many functions): cast xdr_entry to
11749	XDRPROC_T_TYPE.
11750
11751	* lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
11752	XDRPROC_T_TYPE.
11753
11754	* lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
11755	XDRPROC_T_TYPE.
11756
11757	* lib/wire.c (getwire): Make sure safe assignment from const to
11758	none is done.
11759
11760Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
11761
11762	* aux/macros/expand_cpp_int.m4: new macro for expanding integers.
11763
11764	* aux/configure.in: added linux/fs.h support in configure and
11765	several M4 macros.
11766
11767	* conf/mount/mount_linux.c (mount_linux): use macro instead of
11768	"ugly" fixed hex number for mount() arguments.
11769
11770Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11771
11772	* amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
11773	turned all of its code always on.  That code always seems to
11774	compile, as long as you have hesiod and libresolv.
11775
11776	* amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
11777	of its code always on.
11778
11779	* aux/configure.in: removed superfluous test for hs_zone_transfer
11780	function (will never find it because it is an amd-internal
11781	function).
11782
11783	* amd/mapc.c (maptypes): must used correct new name for am-utils'
11784	hesiod initialization function: hesiod_am_init.
11785
11786	* amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
11787	hesiod_am_init so as not to conflict with libhesiod's
11788	hesiod_init() function.
11789
11790	* aux/configure.in: added test and explicit inclusion of
11791	libresolv.a for later resolution of library references with
11792	libhesiod.
11793
11794	* aux/macros/opt_cppflags.m4: new file.  configure/compile C
11795	preprocessor flags.
11796
11797	* aux/macros/opt_libs.m4: new file.  configure/compile library
11798	flags.
11799
11800	* Makefile.am (EXTRA_DIST_AUX): include two new macros
11801	opt_cppflags.m4 and opt_libs.m4.
11802
11803	* aux/configure.in: test for libhesiod needs to additional
11804	libresolv to link completely.  Additional configuration time
11805	options added for setting initial CPPFLAGS and LIBS.
11806
11807Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11808
11809	*******************************************************************
11810	*** Released am-utils-6.0a1					***
11811	*******************************************************************
11812
11813Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11814
11815	* amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
11816	it works on freebsd, where they map dbm_pagfno a non-existing
11817	macro on purpose, to force you to port the code to Berkeley DB.
11818
11819Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11820
11821	* amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
11822	actual mount_toplvl, to avoid some possible race conditions.
11823
11824Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11825
11826	* amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
11827
11828Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11829
11830	* lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
11831
11832	* amd/amd.c (main): fix local address using htonl(). Free up
11833	buffers allocated by netdir_*() functions.
11834
11835Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11836
11837	* amd/fix-amd-map.in: new script that will convert old-style amd
11838	maps to new one.
11839
11840Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11841
11842	* FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
11843	and replies back to simple nfs/link type mount queries).
11844
11845	* conf/mtab/mtab_svr4.c: reorganized the code in this file to be
11846	easier to read, and fixed a few bugs with un/setting the lock file
11847	descriptor.
11848
11849Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11850
11851	* amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
11852	signals in Svr3 systems.  Only stellix ever used this.
11853
11854	* amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
11855	by DYNAMIC_BUFFERS, since it was not in use.
11856
11857Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11858
11859	* amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
11860	takes '=' sign as old selector.  Fix your maps.
11861	(deslashify): removed APOLLO code that treated two '//' as one.
11862
11863Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11864
11865	* amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
11866	was not used.  It made any submount error fail the whole group.
11867
11868	* amd/ops_nfs.c (make_nfs_auth): removed code dependent on
11869	HAS_NFS_QUALIFIED_NAMES.
11870	(mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
11871	is never on.  So code that was triggered by #ifndef
11872	NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
11873	be fixed later.
11874	Removed all ULTRIX_HACK code.  Ultrix is DEAD!
11875	removed all PRESET_AC code, which was only on for Linux to preset
11876	the attribute cache values (otherwise they default to zero).
11877	(nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
11878	have to fixed up later.
11879	(mount_nfs_fh): removed code that was never included, which
11880	attempted to set the port on which amd's nfs mounts on.  This
11881	isn't supported by the ping algorithm yet.  In any case, it is all
11882	done in nfs_init().
11883
11884	* amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
11885	removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
11886	specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
11887	have to be addressed later.
11888
11889	* amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
11890	on PRECISE_SYMLINKS.
11891
11892	* amd/mapc.c (mapc_meta_search): removed code that depended on
11893	HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
11894	to be rethought.
11895	(mapc_add_kv): ported code to use standard regular expression
11896	(regexp) library.
11897
11898	* amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
11899	FLUSH_KERNEL_NAME_CACHE and the macro itself.
11900
11901Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11902
11903	* amd/map.c (exported_ap_alloc): removed all code triggered by
11904	SHRINK_EXPORTED_AP and the macro itself.
11905
11906	* amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
11907	in all the time.  Assuming that there is always NIS realod
11908	available.
11909	(yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
11910	function is broken such that it does not release filedescriptors
11911	it created, then you are hosed.  Get a fix for yp_all from your
11912	vendor or switch operating systems.
11913
11914Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11915
11916	* amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
11917	HAVE_HS_ZONE_TRANSFER.
11918
11919Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11920
11921	* amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
11922	always included.  We should always try to inform the remove mount
11923	daemon of mounts we performed.  If we want an option for this, it
11924	should be a run-time option.
11925
11926	* amd/host_ops.c: removed all that optionally did not make the
11927	directory mount points for amd.
11928
11929	* HOST_EXEC code removed from everywhere.  There is no indication
11930	that it was used anywhere.  If it needs to be used, then a
11931	run-time switch should control it.
11932
11933Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11934
11935	* amd/*_ops.c: removed all references to mntent_t's fields
11936	mnt_freq and mnt_passno, since they are no longe rused (and never
11937	have been).
11938
11939	* amd/am_ops.c: removed function sunos4_match, which was off
11940	anyway.  This was one of the places where an '=' sign was allowed
11941	as an assignment operator (which is now ':=').
11942
11943	* amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
11944	was off anyway.  This was one of the places where an '=' sign was
11945	allowed as an assignment operator (which is now ':=').
11946
11947Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11948
11949	* amq/amq.c: ported to am-utils.  Working.
11950
11951	* conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
11952	to be string, as it should be (rather than a string mapped to int
11953	and back mapped to string).
11954
11955Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11956
11957	* lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
11958
11959	* lib/umount_fs.c: split this into three files: default, osf, and
11960	bsd44, that are in conf/umount/umount_*.c.
11961
11962Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
11963
11964	* aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
11965	macro to automatically figure out if an external definition for
11966	sys_errlist[] exists.
11967
11968	* lib/xutil.c (xfree): removed "#undef free" because it's not
11969	needed there.  Any system that redefines free() needs help.
11970
11971	* conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
11972	was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
11973	in active use anywhere.  If added later, it should be a run-time
11974	configuration option.
11975
11976	* conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
11977	be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
11978	in a file in /etc.
11979
11980	* lib/util.c (str3cat): removed _AIX code.  AIX should have a
11981	working realloc, or else find a cleaner solution to this.
11982	(mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
11983	after immediately making directories so that fsck will be able to
11984	fix the filesystem in the event of an immediate crash.  This was
11985	because a bug in UFS which is fixed by now.
11986
11987	* lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
11988	code.  Does not appear to be on and used anywhere.
11989	(dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
11990
11991	* lib/resvport.c: split the binding of reserved ports code to a
11992	separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
11993	from the BSD code.
11994
11995Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11996
11997	* lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
11998	in by automake and configure, for optional sources that need to be
11999	built as part of libamu.a.
12000
12001	* aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
12002	to LIBOBJS.
12003
12004	* lib/memcmp.c (memcmp): new file added to replace a possible bad
12005	implementation of memcmp.
12006
12007Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12008
12009	* converted the sources to use memset/memmove/memcmp instead of
12010	bzero/bcopy/bcmp.
12011
12012	* ran all sources through gnu Indent w/ options specified in
12013	aux/amindent.
12014
12015Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12016
12017	* At this point the initial generation of config.h via autoconf and
12018	some preliminary makefiles via automake is done.  I will not begin
12019	modifying sources, so it's a good time to document from here.
12020
12021Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12022
12023	*******************************************************************
12024	*** Initial ChangeLog Entry					***
12025	*******************************************************************
12026