xref: /netbsd-src/external/bsd/am-utils/dist/ChangeLog (revision 74809f044aa1c34df701bf79c7bfb9794896fdf8)
12008-09-17  Christos Zoulas <christos@zoulas.com>
2
3	* fix manual page section issues (sorting, non-existant)
4
5	* add missing forward declarations
6
7	* avoid null pointer derefs (coverity)
8
9	* more portable endian detection support
10
11	* implement tmpfs support
12
13	* use sizeof var instead of constant
14
15	* fix yyerror declaration and definition
16
17	* fix yy function renaming, and correct some renaming issues.
18
19	* work around automake < 1.9 issue where ylwrap is not being run
20	  for a single yacc or lex file.
21
22	* NetBSD
23	  - handle headers that need other headers to compile
24	  - add exfs and tmpfs specific glue
25	  - add options log, noatime, nocoredump, nodevmtime, softdep,
26	    symperm, union
27	  - NetBSD's new mount system call needs the size of the opaque
28	    filesystem specific structure, but passing 0 for now works.
29	    We would need to change a lot more code to pass the size from
30	    the fs-specific calls, so for now punt.
31	  - recvfrom takes socklen_t * on NetBSD
32	  - handle newer NetBSD using statvfs
33	  - NetBSD calls its ufs ffs
34
35	* Linux
36	  - Most recent kernels have trouble with trying to parse the pid
37	    hostname and do locking. What before was a silent failure, now
38	    there is a warning printed and the mount is rejected. This is
39	    the simplest fix:
40	    (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884)
41
422007-04-13  Erez Zadok  <ezk@cs.sunysb.edu>
43
44	* amd/sun_map.c (sun_append_str): When translating '&' from Sun
45	automounter maps, replace it with "${key}" in the Amd map, not
46	with the value of the key at the time.  This way '*' maps work
47	too.
48
49	* config.guess.long: don't use -q option to grep because some
50	systems don't support it.  Bug fix for solaris.
51
522007-03-11  Christos Zoulas  <christos@zoulas.com>
53
54	* amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a
55	string.  It causes spurious xstrlcpy() syslog() errors.  Use
56	memcpy() and explicitly terminate the string.
57
582007-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
59
60	* updated copyright year to 2007 on all files.
61
622006-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
63
64	* minor new port: ia64-hp-hpux11.23
65
66	* m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller
67	needs to define rfc931_timeout.
68
69	* amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for
70	libwrap.
71
72	* amd/amq_svc.c: some versions of libwrap require the caller to
73	define rfc931_timeout in addition to allow/deny_severity.
74
75	* amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when
76	forced unmount functionality exists for all systems.
77
78	* libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf
79	only if field exists.
80
81	* conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from
82	including <tiuser> or <sys/tiuser> (TLI definitions are already
83	included from elsewhere).
84
85	* configure.in: detect nfs_args_t->pathconf field.
86
872006-11-27  Erez Zadok  <ezk@cs.sunysb.edu>
88
89	* doc/Makefile.am: properly publish html files using newer
90	text2html.
91
922006-11-27  Erez Zadok  <ezk@shekel.local>
93
94        * doc/Makefile.am: obfuscate emails in ChangeLog before it is
95        published on web site.
96
97	* obfuscate many more emails in the distro, esp. of files which get
98        posted on the am-utils web site.
99
1002006-11-26  Erez Zadok  <ezk@shekel.local>
101
102	* minor new port: i386-apple-darwin8.8.1.
103
104        * doc/am-utils.texi: remove obvious URLs used by spammers, and
105        replace them with links to the am-utils web site, which uses PNG
106        images to obfuscate the actual email/mailman URLs.
107
1082006-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
109
110	* doc/am-utils.texi (Password maps): minor typo reported by
111	Christoph P. Kukulies.
112
1132006-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
114
115	* minor new port: i386-pc-linux-fc6.
116
117	* m4/macros/linux_headers.m4: handle newer Linux kernels which
118	removed UTS_RELEASE from <linux/version.h>.
119
1202006-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
121
122	* minor new ports: i386-pc-linux-centos4.4 and
123	powerpc-apple-darwin8.7.0.
124
125	* config.guess.long: recognize CentOS Linux.
126
1272006-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
128
129	* minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris).
130
131	* config.guess.long: recognize NexentaOS (GNU/OpenSolaris)
132
133	* config.guess, config.sub: updates from latest official GNU
134	distributions.
135
1362006-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
137
138	* Minor new ports: i386-unknown-freebsd6.1 (RELEASE),
139	powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
140
1412006-05-10  Erez Zadok  <ezk@cs.sunysb.edu>
142
143	* libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
144	problems on IRIX-6.5.
145
146	* conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
147	signedness problems on IRIX-6.5.
148
1492006-05-01  Erez Zadok  <ezk@cs.sunysb.edu>
150
151	* configure.in: check if libc already includes dbm functionality
152	(as in FreeBSD 6), then don't bother to check specific libraries
153	such as libdbm, gdbm, etc.
154
1552006-04-21  Erez Zadok  <ezk@cs.sunysb.edu>
156
157	* configure.in: detect G/DBM support via gdbm_compat library
158	(Debian 3.1).
159
160	* minor new port: powerpc-apple-darwin8.5.0
161
1622006-04-20  Erez Zadok  <ezk@cs.sunysb.edu>
163
164	* scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
165	NEWS: document new nfs_allow_any_interface parameter.
166
167	* include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
168	not defined, since some systems don't have it.
169
1702006-04-20  Nick Williams <Nick.Williams@morganstanley.com>
171
172	* libamu/wire.c (is_interface_local): new boolena function to
173	determine if address represents any of the local interfaces.
174	(getwire): more properly check if address equals INADDR_LOOPBACK,
175	not if IFF_LOOPBACK is not (the latter isn't as correct).
176
177	* include/am_utils.h: extern for new is_interface_local() function.
178
179	* conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
180	here but in am_compat.h
181
182	* amd/nfs_prot_svc.c (nfs_program_2): if
183	nfs_allow_any_interface=yes, then allow NFS packets from any local
184	interface (not just 127.0.0.1).
185
186	* amd/conf.c (gopt_nfs_allow_any_interface): implement the new
187	amd.conf parameter nfs_allow_any_interface.
188
189	* amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
190	al interfaces are acceptable for local NFS packets.
191
1922006-04-18  Christos Zoulas  <christos@zoulas.com>
193
194	* amd/opts.c: Add support for optionally specifying the hostname
195	to match against the netgroup in the netgrp and netgrpd selectors.
196
1972006-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
198
199	* libamu/mtab.c (hasmntval): fix inverted meaning of error from
200	hasmntvalerr().
201
2022006-04-14  Erez Zadok  <ezk@cs.sunysb.edu>
203
204	* libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
205	hasmntvalerr() function to set attribute cache values only if they
206	were set (regardless whether they were set to zero or a non-zero
207	value).  Before, we were unable to distinguish between an error to
208	parse an option, and a user who actually wanted to set an
209	attribute-cache value to 0.  This now fixes an important
210	performance bug that Amd was turning off the attribute caches even
211	for regular (non-automounter) NFS mounts.
212
213	* libamu/mtab.c (hasmntvalerr): new function to set the value of
214	an option into an integer, but ONLY if that options was set and
215	parsed correctly.  This function returns 1 on error, 0 on success
216	(instead of always setting the option value to 0).
217	(hasmntval): wrapper function around hasmntvalerr, which maintains
218	backwards compatibility (always sets option value to 0, even on
219	error to parse the option).
220
221	* amd/nfs_subr.c (fh_to_mp3): use long int printf format for
222	fhh_pid.
223
2242006-04-05  Christos Zoulas  <christos@zoulas.com>
225
226	* amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
227	(Coverity).
228
2292006-03-27  Erez Zadok  <ezk@cs.sunysb.edu>
230
231	* doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
232	document new nfs_retransmit_counter_toplvl and
233	nfs_retry_interval_toplvl global amd.conf parameters.
234
235	* amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
236	(gopt_nfs_retry_interval_toplvl): parse amd.conf
237	nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
238	parameters.
239
240	* amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
241	timeo/retrans parameters for Amd's toplvl mounts, separately from
242	all other UDP or NFS mounts.
243
244	* amd/amd.h: define a new timeo/retrans parameter for toplvl
245	mounts.
246
2472006-03-22  Erez Zadok  <ezk@cs.sunysb.edu>
248
249	* minor new port: i386-pc-linux-suse10.1 (beta 8).
250
2512006-03-21  Christos Zoulas  <christos@zoulas.com>
252
253	* amd/am_ops.c (merge_opts): Remove useless check found by
254	Coverity; xmalloc never returns NULL.
255
2562006-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
257
258	* minor new ports: i386-pc-linux-fc5.
259
260	* amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
261	openldap-2.3.9), the ldap.h headers deprecate several functions
262	used in this file, such as ldap_unbind.  You get compile errors
263	about missing extern definitions.  Those externs are still in
264	<ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED.  I am
265	turning on that ifdef at the top of info_ldap.c, under the
266	assumption that the functions may be deprecated, but they still
267	work for this (older?) version of the LDAP API.  It gets am-utils
268	to compile, but it is not clear if it will work perfectly.
269
270	* libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
271	(xdr_amq_mount_tree, xdr_amq_mount_tree_p,
272	xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
273	(show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
274	xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
275	libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
276	GCC-4.1 from complaining about "dereferencing type-punned pointer
277	will break strict-aliasing rules" here (but not elsewhere).
278
2792006-03-20  Christos Zoulas  <christos@zoulas.com>
280
281	* libamu/wire.c: avoid potential dereferencing of a NULL pointer
282	(Coverity).
283
284	* hlfsd/homedir.c (delay): remove unnecessary check for NULL
285	pointer (Coverity).
286
287	* fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
288	analyze_mounts): avoid potential dereferencing of a NULL pointer
289	(Coverity).
290
291	* conf/transp/transp_sockets.c (create_amq_service): avoid
292	potential dereferencing of a NULL pointer (Coverity).
293
294	* amd/sched.c (sigchld): properly check for the end of the waiting
295	process list (Coverity).
296
297	* amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
298
299	* amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
300	dereferencing of a NULL pointer (Coverity).
301
302	* amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
303	reusing it (memory leak bug detected by Coverity).
304	(amfs_bgmount): avoid potential dereferencing of a NULL pointer
305	(Coverity).
306
307	* amd/am_ops.c (merge_opts): no need to check if newstr is NULL
308	(bug detected by Coverity).
309
3102006-03-08  Ion Badulescu  <ionut@moisil.badula.org>
311
312	* amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
313	comparison was failing.
314
3152006-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
316
317	* configure.in: properly test for either <gdbm/ndbm.h> or
318	<gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
319	same $ac_cv_* variable name).  Some systems support one header or
320	another.  Patch inspired by work Debian did.
321
3222006-02-16  Daniel P. Ottavio  <ottavio@vm.fsl.cs.sunysb.edu>
323
324	* amd/sum_map_tok.l: Fixed a bug in a regular expression that
325	prevented dashes in hostnames.  This was posted in BZ by Thomas
326	A. Fine.
327
328	* README.sun2amd: Fixed a typo.  Sentence mentions use of autofs
329	type when it should be host type.
330
3312006-01-04  Erez Zadok  <ezk@cs.sunysb.edu>
332
333	* doc/am-utils.texi (auto_attrcache Parameter): revise discussion
334	to mention pros and cons of turning on/off this parameter,
335	including impact on Amd's performance, and ways to improve
336	performance while minimizing the window of vulnerability in which
337	kernel may return the wrong (cached) attributes.
338
3392006-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
340
341	* updated copyright year to 2006 on all files.
342
3432005-12-20  Erez Zadok  <ezk@cs.sunysb.edu>
344
345	* include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
346	register_autofs_service): use a consistent prototype for the
347	dispatch function of the autofs service de/registration functions.
348
3492005-12-03  Erez Zadok  <ezk@cs.sunysb.edu>
350
351	* minor new ports: i386-unknown-netbsdelf2.1,
352	i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
353
3542005-12-02  Erez Zadok  <ezk@cs.sunysb.edu>
355
356	* m4/macros/check_field.m4: remove double inclusion of msdosfs
357	headers, which are included in mount_header1.h (netbsd 2.1 doesn't
358	protect <msdosfs/msdosfsmount.h> which causes compile errors).
359
3602005-11-08  Erez Zadok  <ezk@cs.sunysb.edu>
361
362	* minor new port: i386-unknown-freebsd6.0 (RELEASE)
363
3642005-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
365
366	* amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
367	Amd, not in pawd (to avoid repeated network RPCs).
368
369	* amq/pawd.c (transform_dir): move repeated path resolution into Amd.
370
3712005-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
372
373	* amq/pawd.c (transform_dir): resolve path repeatedly until
374	finished.  Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
375	Added safety check to prevent infinite loops.
376
3772005-10-19  Erez Zadok  <ezk@cs.sunysb.edu>
378
379	* doc/am-utils.texi (opts Option): document new pcfs options
380	longname, nowin95, shortname, user=N, group=N, mask=N, and
381	dirmask=N.
382
383	* amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
384	nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
385
386	* include/am_compat.h: provide compatibility mnttab string names,
387	if needed, for pcfs mount options longname, nowin95, shortname,
388	user=N, group=N, mask=N, and dirmask=N.
389
390	* include/am_utils.h: extern for hasmntstr().
391
392	* libamu/mtab.c (hasmntstr): new function to return the string
393	value following a mount option, up to the next comma-delimited
394	options.
395
396	* configure.in: check for mnttab and pcfs options longname,
397	nowin95, and shortname.
398
399	* Makefile.am (EXTRA_DIST_M4): distribute new macro
400	check_mnt2_pcfs_opt.m4.
401
402	* m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
403	mnttab and mount options.
404
4052005-10-18  Erez Zadok  <ezk@cs.sunysb.edu>
406
407	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
408	correctly, depending if it's a pointer or not.
409
410	* conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
411	#define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
412	or an embedded structure, so we can tell how to print it.
413
414	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
415	field, if it exists.
416
417	* configure.in: check for nfs_args->addrlen field.
418
419	* wire-test/wire-test.c (main), libamu/mount_fs.c
420	(print_nfs_args), fixmount/fixmount.c (inetresport,
421	clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
422	(main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
423	(amfs_mount): document that as per POSIX, we don't need to set the
424	sa_len/sin_len fields in struct sockaddr/sockaddr_in.  The field
425	is used only internally in the kernel.  See
426	www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
427
428	* fixmount/fixmount.c (inetresport): initialize sockaddr_in
429	structure before filling in some fields.
430
4312005-10-11  Erez Zadok  <ezk@cs.sunysb.edu>
432
433	* doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
434	correct mistaken description of nfs_proto.
435
4362005-10-10  Erez Zadok  <ezk@cs.sunysb.edu>
437
438	*******************************************************************
439	*** Released am-utils-6.1a1					***
440	*******************************************************************
441
442	* README.sun2amd: revised.
443
4442005-10-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
445
446	* amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make
447	sure that sun_entry2amd() is not called when yp_match() returns an
448	error, this is done by checking that 'res' is 0.  Bug fix (same
449	BZ#); free the output allocated by yp_match() instead of freeing
450	the return value of sun_entry2amd().
451
452	* amd/sun_map.c (sun_entry2amd): Fix a comment.
453
454	* README.sun2amd: Made a first pass at describing the status of
455	the sun2amd feature.
456	Moved the date.
457
4582005-10-09  Erez Zadok  <ezk@cs.sunysb.edu>
459
460	* README.sun2amd: place holder.
461
462	* Makefile.am (EXTRA_DIST): distribute new README.sun2amd file.
463
4642005-10-07  Erez Zadok  <ezk@cs.sunysb.edu>
465
466	* m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
467	very end, after the test using getvfsbyname().
468
469	* m4/macros/expand_run_string.m4: if the string value returned is
470	empty, consider it invalid.
471
472	* m4/macros/check_varargs_macros.m4: rewrite macro so it'll
473	try and compile the varargs test, not just cpp it.  Some systems
474	pass the old cpp test, but not when you actually try to compile
475	the code (Tru64's cc).
476
477	* conf/autofs/autofs_solaris_v1.h: redefine
478	autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
479	This works everywhere and we avoid linking problems, inline
480	functions, etc.
481
482	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
483	autofs_strdup_space_hack() function altogether.
484
485	* m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
486
487	* configure.in: test for <sys/immu.h> header.
488	Test for pte_t, but only on IRIX6 systems.
489
490	* Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
491
492	* m4/macros/type_pte_t.m4: new test for existence of pte_t
493	typedef, needed on some IRIX-6.5/gcc systems.
494
495	* m4/macros/header_templates.m4: add missing templates for
496	HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
497	HAVE_EXTERN_UALARM.
498
499	* amd/info_exec.c (exec_map_open): break assignment from inside
500	conditional, to work around an IRIX-6.5 cc bug.
501
502	* amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a
503	before libamu.la.  Some linkers (e.g., IRIX-6.5) incorrectly
504	complain about undefined symbols.
505
506	* fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
507	libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
508	comparison between signed and unsigned integers.
509
510	* conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
511	(autofs_strdup_space_hack): move "space_hack" function from static
512	inline in header, into the only source file that needs it.  This
513	is cleaner and also prevents linking problem with some compilers
514	that won't apply CPP macros inside static inline functions (for
515	the strl* functions).
516
517	* amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
518	code.
519	(transform_dir): call the new, efficient amqproc_pawd_1() routine.
520
521	* amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
522
523	* amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
524	wrapper routine.
525
526	* amd/amq_svc.c (amq_program_1): dispatch point for
527	amqproc_pawd_1_svc.
528
529	* amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
530	functionality into Amd, where it can be done a lot more
531	efficiently.  We don't have to construct and ship a whole export
532	tree from Amd to pawd.  We just get a variable-length
533	xdr_wrapstring for the user's path, iterate over the entire export
534	list inside Amd, and return only a matched string if found
535	(otherwise we return "" to indicate that there was no match, and
536	let pawd printf the same string it sent over).
537
538	* amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
539	the AMQPROC_PAWD RPC.
540
5412005-10-06  Erez Zadok  <ezk@cs.sunysb.edu>
542
543	* ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
544	Fixes Tru64 bugs when using ksh.
545
546	* amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
547	into two sections, to workaround a C99 varargs-macro bug in
548	gcc-3.2.2 (RH9).
549
550	* libamu/wire.c (print_wires): convert argument-less xsnprintf to
551	xstrlcpy.
552
553	* include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
554	HAVE_GCC_VARARGS_MACROS to pass file name and line number to
555	xsnprintf/xvsnprintf.
556
557	* libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
558	then also print the source file name and line number that called
559	xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
560	likely an am-utils bug).
561
562	* Makefile.am (EXTRA_DIST_M4): distribute new
563	check_varargs_macros.m4 file.
564
565	* configure.in: execute new AMU_VARARGS_MACROS test.
566
567	* m4/macros/check_varargs_macros.m4: new test to check what style
568	of variable-length argument macros, if any, does the
569	compiler/pre-processor supports.
570
571	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
572	conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
573	amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
574	(mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
575	amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
576	use sizeof() instead of fixed SIZEOF_* macros.
577
578	* libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
579	(DEBUG): if debugging is on, then also print the source file name
580	and line number that called xstrl* with a buffer that wasn't large
581	enough (most likely an am-utils bug)
582
583	* include/am_compat.h (INADDR_NONE): define in a common location,
584	if OS doesn't have it, use 0xffffffffU which should work with any
585	ANSI compiler.
586
587	* fixmount/fixmount.c, libamu/wire.c: remove local definition of
588	INADDR_NONE.
589
590	* amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
591	(amfs_auto_mount): use common SIZEOF_OPTS in definition and call
592	to autofs_get_opts.
593
594	* amd/amd.h (SIZEOF_OPTS): moved #define to common header.
595
5962005-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
597
598	* amd/opts.c (expand_op): Need to check BUFSPACE for env for
599	vlen+1.  Likewise for cp and strlen(cp)+1.
600
601	* amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
602	size argument to autofs_get_opts.
603
6042005-10-05  Erez Zadok  <ezk@cs.sunysb.edu>
605
606	* amq/pawd.c (transform_dir): was using UDP only.  Now will also
607	try TCP if UDP failed.  Destroy client after use to avoid leftover
608	TCP sockets in the kernel.
609
610	* libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
611	from 128 to to 256, because some users have really long option
612	strings.  Suggestion from jon+amd-at-spock.org.
613
614	* amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
615	just vlen.  Bug discovered when started using xstrlcpy().
616
617	* ALL: convert from using strcat to the safer xstrlcat, and from
618	strcpy to safer xstrlcpy.
619
6202005-10-04  Erez Zadok  <ezk@cs.sunysb.edu>
621
622	* hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
623
624	* hlfsd/hlfsd.c (fatalerror): new function instead of macro.
625	Easier to use xstrlcat in this new function.
626
627	* amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
628	from am_utils.h to amd.h, and define its size as a macro that
629	could be passed to xstrl*().
630
631	* ALL: convert from using sprintf to the safer xsnprintf.
632
633	* mk-amd-map/Makefile.am (LDADD): link with libamu to get
634	xsnprintf().
635
636	* amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
637	extern from am_utils.h to amd.h, and define its size as a macro
638	that could be passed to xsnprintf().
639
6402005-10-02  Erez Zadok  <ezk@cs.sunysb.edu>
641
642	* libamu/Makefile.am: use strutil.c, not util.c.
643
644	* libamu/strutil.c: rename from util.c to explain better purpose
645	of file.  Move xvsnprintf and xsnprintf from xutil.c to this file.
646
647	* libamu/xutil.c: explain purpose of file.  Move mkdirs/rmdirs
648	code from old util.c.
649
6502005-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
651
652	* m4/macros/header_templates.m4: templates for FFS.
653
654	* m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
655	system mount table name via the MOUNT_* mount(2) macros (because
656	BSD44 keeps the mount table in the kernel).
657
658	* configure.in: synchronise order of searching for mnttab entries
659	and mount names.  The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
660	efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
661	ufs, and ext3 instead of ext2 on Linux).
662
663	* include/am_defs.h: include <sys/statvfs.h> if it exists.
664
665	* conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
666	and statvfs(), but the latter is preferred, so #define to use
667	statvfs.
668
669	* configure.in: check for statfs(), statvfs(), and
670	<sys/statvfs.h>.
671
672	* config.guess.long: strip trailing '.' on "netbsdelf3.0."
673	(Beta).  Workaround for bug in config.guess.
674
675	* config.{guess,sub}: update to latest versions.
676
6772005-09-30  Christos Zoulas  <christos@zoulas.com>
678
679	* fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
680	hard-coded value of -1.
681
682	* include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
683	to 16KB.  We can afford it these days.
684
685	* libamu/strcasecmp.c (strcasecmp): use unsigned chars in
686	tolower() to avoid sign/size promotion bugs.
687
688	* libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
689	default (it's unfriendly).  If user really wants to, they can set
690	it in /etc/syslog.conf.
691
6922005-09-29  Erez Zadok  <ezk@cs.sunysb.edu>
693
694	* amq/pawd.c (find_mt): if the auto mount type is used, pawd could
695	go into an infinite loop since the mt_directory and mt_mountpoint
696	fields are the same for auto mounts.  Solution: ignore type auto
697	mounts, similar to toplvl.  Bug fix from Jonathan Chen
698	<jon+amd@spock.org>.
699
700	* README.attrcache: document test-attrcache script.
701
702	* scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
703	script.
704
705	* configure.in: build scripts/test-attrcache script and chmod it
706	so it can be executed in place.
707
708	* scripts/test-attrcache.in: script to test the NFS attribute
709	cache using Amd.
710
7112005-09-26  Erez Zadok  <ezk@cs.sunysb.edu>
712
713	* hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
714	nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
715	(hlfsd_init): use new clocktime() function.
716
7172005-09-18  Erez Zadok  <ezk@cs.sunysb.edu>
718
719	* README.attrcache: document netbsd's patchs to support noac.
720
721	* libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
722	code that sets the ac{reg,dir}{min,max} fields so it also sets the
723	appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
724
725	* configure.in: check for nfs_args fields acregmax and acdirmax.
726
727	* README.attrcache: new file documenting in detail OS bugs
728	relating to attribute caching, which can affect Amd's reliability
729	under heavy load.
730	Update status of freebsd and openbsd.
731
732	* doc/Makefile.am: install README.attrcache file as attrache.txt
733	file on am-utils Web site.
734
735	* Makefile.am (EXTRA_DIST): include README.attrcache in distro.
736
737	* BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
738	scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
739	cache bugs on some OSs.
740
7412005-09-17  Erez Zadok  <ezk@cs.sunysb.edu>
742
743	* libamu/xutil.c (clocktime): newly implemented routine.  Uses
744	gettimeofday() each time to return a high-resolution clock time,
745	and does not "cache" the last time.  Returns time in seconds, just
746	like the old implementation.  If passed a non-null argument, will
747	fill it in with the current time in seconds+microseconds.
748
749	* libamu/xutil.c: remove actual declaration of clock_valid, and
750	another never-used declaration for xclock_valid.
751
752	* include/am_utils.h: remove defunct definition of clocktime()
753	macro and clock_valid variable.  Add extern for new definition.
754
755	* libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
756	hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
757	hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
758	conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
759	(open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
760	amd/autil.c (host_normalize): remove defunct clock_valid.
761
762	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
763	node's mtime.
764	(fh_to_mp3): use new clocktime() to update mtime and get a better
765	time resolution.
766
767	* amd/mapc.c (mapc_reload_map): change prototype from returning
768	void to returning an int.  If reloading was needed and succeeded,
769	return 1; else return 0.
770	(mapc_sync): update mtime of parent node if needed.  This is a
771	CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
772	when we run "amq -f" manually or when a map is reloaded.
773
774	* amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
775	(init_map): use new clocktime().
776	(unmount_mp): if the OS doesn't support a "symttl" option, then
777	update the mtime of the parent node using the clocktime(); but if
778	the time hasn't gotten changed because of rapid Amd accesses on
779	systems that don't have a micro-second NFS-client resolution, then
780	increment mtime by one arbitrarily (this could, on some systems
781	and under pathological cases, result in mtime's that are in the
782	future).
783
784	* amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
785	update of parent dir, to prevent DNLC/dcache from caching the old
786	entry, which could result in ESTALE errors, bad symlinks, and
787	more.
788	(am_mounted): record mount time, and update am_stats at the same
789	time, using the double-action redone clocktime() routine.
790	(am_mounted): update parent's mtime from that of the child.
791	(am_unmounted): when unmounting an entry, update mtime of parent
792	node.
793
794	* amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
795	remember it's last non-zero value, save it in a temporary variable
796	to avoid a TOCTOU problem (between an "if" and a "dlog").
797
798	* libamu/xutil.c (show_time_host_and_name),
799	conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
800	amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
801	(find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
802	(nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
803	amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
804	amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
805	amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
806	exec_search), amd/clock.c (timeout, softclock), amd/autil.c
807	(forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
808	amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
809	NULL to clocktime().
810
8112005-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
812
813	* amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just
814	in case.
815	(fh_to_mp3): increment amd_stats.d_stale counter only if we are
816	actually returning ESTALE.
817
818	* amd/info_exec.c (exec_parse_qanswer), amd/info_file.c
819	(file_search_or_reload), amd/info_hesiod.c (hesiod_search),
820	amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm),
821	amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search,
822	nisplus_search): don't dereference mnt_map->cfm which may be null
823	if we're not using an amd.conf file.
824
8252005-09-14  Erez Zadok  <ezk@cs.sunysb.edu>
826
827	* libamu/xutil.c (unregister_amq): if failed to de-register Amd
828	from portmapper, report it under dlog (debugging), not as an
829	annoying plog that always shows up.
830
8312005-09-13  Erez Zadok  <ezk@cs.sunysb.edu>
832
833	* mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c
834	(strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c
835	(sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert),
836	amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload),
837	amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii()
838	arg to unsigned char, which is safer as per Christos.
839
840	* amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char.
841
842	* configure.in: keep a dummy unused AM_PROG_LEX, because old
843	Automake (1.6.3) looks for it if you refer to LEX in your
844	Makefile.am files.  Silly thing, fixed in newer versions of
845	Automake (1.9.2).
846
8472005-09-11  Erez Zadok  <ezk@cs.sunysb.edu>
848
849	* Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro.
850
851	* configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX.
852
853	* m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc
854	exist, but exist with an error if none found.
855
856	* m4/macros/prog_lex.m4: new macro to check if f/lex exist, but
857	exit with an error if not found (am-utils requires f/lex).
858
8592005-09-07  Erez Zadok  <ezk@cs.sunysb.edu>
860
861	* minor new port: powerpc-apple-darwin8.2.0.
862
863	* m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
864	but all newer ones (10.4+) use int.
865
866	* m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
867	6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
868
869	* minor new port: i386-pc-linux-deb3.1.
870
8712005-09-02  Erez Zadok  <ezk@cs.sunysb.edu>
872
873	* conf/mount/mount_linux.c: If autoconf didn't find any disk-based
874	file system on this system (probably because /proc isn't mounted),
875	then provide some default definition for this file to compile.
876
8772005-08-28  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
878
879	* amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white
880	spaces or '\n' before passing strings to the parser.
881
882	* amd/amd.h : oops, reverting bad changes
883
884	* amd/info_file.c : oops, reverting bad changes
885
886	* amd/mapc.c : oops, reverting bad changes
887
888	* amd/sun_map_parse.y : oops, reverting bad changes
889
8902005-08-27  Erez Zadok  <ezk@cs.sunysb.edu>
891
892	* libamu/xutil.c: amd_program_number is a u_long now.
893	(unregister_amq): if pmap_unset failed to de-register Amd from the
894	portmapper, print an error message.
895	(get_amd_program_number): returns a u_long now.
896	(set_amd_program_number): take a u_long now.
897
898	* include/am_utils.h: get_amd_program_number() returns u_long now.
899	set_amd_program_number() takes a u_long now.
900
901	* amq/amq.c: amd_program_number is a u_long, not int.
902
903	* amd/nfs_start.c (mount_automounter): when registering Amd with
904	the portmapper (for Amq service), don't fail if just one of TCP or
905	UDP failed to register, but only if both transports failed.  That
906	way Amq can still contact Amd using the transport that did
907	register correctly.  However, now, if both transports failed to
908	register, then set amd_state to "Done" so it would shutdown
909	cleanly.
910
911	* conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better
912	comments.
913
914	* libamu/xutil.c: debug_flags should always be initialized to
915	D_CONTROL (amq,daemon,fork).
916	(debug_option): allow setting initial immutable debug_flags via
917	amd.conf; afterward, prevent it (i.e., one tries it via "amq -D").
918
919	* Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
920	config.cache.old, and dbgcf.h on "make distclean".
921	(CLEANFILES): remove dbgcf on plain "make clean".
922
923	* amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
924	"make distclean".
925
9262005-08-27  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
927
928	* amd/info_file.c (file_search_or_reload): Changed the key
929	variable that is passed to the sun_entry2amd.
930
931	* amd/mapc.c (mapc_add_kv): Add support for multiple entries
932	packed into one line.  This is a workaround for handling Sun style
933	mounts that contains multiple entries on one line: "multi-mount
934	entries".  The sun2amd conversion tools will convert such entries
935	into type:=auto and pack each of the auto-entries into one line
936	separated by '\n'.  The mapc_add_kv function will now recognize
937	such entries and add then.
938
939	* amd/sun2amd.c (sun2amd_convert): Add print statement that
940	includes the line number during a parser failure.
941
942	* sun_map.c: Fix the AMD_MAP_PREF_KW definition.  Fix spelling.
943	(sun_mountpts2amd): removed this function
944	(sun_hsfs2amd): added some more comments
945	(sun_nfs2amd): moved support for multi-mount entries from this
946	function to sun_multi2amd().
947	(sun_multi2amd): New function to handle multi-mount entries.  This
948	function will convert the Sun version to an Amd type:=auto.  Each
949	extra auto entry will be appended to the same line separated by a
950	'\n'.
951	(sun_entry2amd): Fixed a bug if-statement.  This function now
952	checks for multi-mount entries.
953
954	* amd/sun_map.h: Add a fstype member to the sun_mountpt struct.
955
956	* amd/sun_map_parse.y: Parser now supports fstype for multi-mount
957	entries.
958
959	* amd/sun_map_tok.l: No longer print the line and column number
960	when parsing.  This is because the parser is handed strings not
961	files.  Therefore, the line number will always be 1.  It is now up
962	to the higher level tools to echo line information during error
963	when they feed the parser.
964
9652005-08-24  Erez Zadok  <ezk@cs.sunysb.edu>
966
967	* configure.in: wrap all LDAP and HESIOD tests in test whether
968	--with-OPT was used.
969
9702005-08-20  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
971
972	* amd/sun_map.c: Clean up #defines
973	(sun_entry2amd) : Verify that the key and entry values passed are
974	not NULL.  Free the Sun entry struct when done.
975
976	* amd/sun_map.h: Add some "not implemented yet" comments to the
977	map and mmap structures.
978
979	* amd/sun_map_parse.y: Removed automap include functionality, it
980	will need to be re-implemented using a pre-processor.
981	Clean up function calls.
982
9832005-08-16  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
984
985	* amd/sun2amd.c (sun2amd_convert): If the input line is too long
986	don't return an error just null terminate and continue.  Fix bug:
987	the map key was not written.
988
989	* amd/sun_map.c: Add a new Amd device, and cdfs constant.
990	(sun_locations2amd): Write the NFS type keyword
991	for each host of the mount entry.  Add a space between each mount
992	location.
993	(sun_hsfs2amd): New function to support hsfs to
994	cdfs.
995	(sun_nfs2amd): Don't write the nfs type here.  Fix
996	comments.
997	(sun_entry2amd): Change function parameter var for
998	clarity.  Add support for hsfs.
999
1000	* amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list
1001	after it has been returned.
1002
10032005-08-16  Erez Zadok  <ezk@cs.sunysb.edu>
1004
1005	* amd/get_args.c (get_args): initialize debug_flags if they've
1006	never been set.
1007
10082005-08-15  Erez Zadok  <ezk@cs.sunysb.edu>
1009
1010	* amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount
1011	point.  Now, we can properly initialize the cfm structure of the
1012	mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX)
1013	inside each info_*.c file.
1014	(mapc_find): takes 4rd arg (mntpt) and passes it to calls to
1015	mapc_create.
1016	(root_newmap): pass NULL as 4th arg (mntpt).
1017
1018	* amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to
1019	initialize map cfm structure (including flags) so late.
1020
1021	* amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to
1022	mapc_find.
1023
1024	* amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to
1025	mapc_find.
1026
1027	* amd/amd.h: extern for mapc_find changed to pass the mount point.
1028
1029	* libamu/xutil.c: debug_flags should be unsigned.
1030	(dbg_opt): fix comments for updated debug_flags, add "defaults".
1031	(debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be
1032	changed, because they could mess Amd's state and only make sense
1033	to be set once when Amd starts.  Currently these immutable flags
1034	are "daemon," "fork," "amq," and "mtab."  If Amd not compiled with
1035	debugging, set default "control" options (daemon,fork,amq).
1036	(unregister_amq): proper use of D_AMQ.
1037
1038	* include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT,
1039	D_IMMUTABLE, and D_MASK.  Updated definitions of D_ALL and D_TEST.
1040	debug_flags extern should be unsigned.
1041
1042	* scripts/amd.conf-sample (debug_options): mention new "defaults"
1043	option.
1044
1045	* scripts/amd.conf.5,doc/am-utils.texi: document new debug option
1046	"defaults" and properly explain the corrected meanings of
1047	"daemon," "fork," "amq," and their "no" inversions.  Better
1048	explain "all" and "test" too.  Correct default debug_mtab file to
1049	/tmp/mtab.
1050
1051	* hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK.
1052
1053	* hlfsd/homedir.c (homedir): proper use of D_FORK.
1054
1055	* hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of
1056	D_DAEMON.
1057
1058	* amd/nfs_start.c (mount_automounter): proper use of D_AMQ.
1059
1060	* amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab,
1061	which is more common on more systems (instead of /tmp/mnttab).
1062
1063	* amd/amd.c (main): properly use D_DAEMON.
1064
10652005-08-14  Erez Zadok  <ezk@cs.sunysb.edu>
1066
1067	* libamu/xutil.c (xlog_opt): define new pseudo log_option named
1068	"defaults", which is an alias for "fatal,error,user,warning,info".
1069
1070	* scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new
1071	log_option "defaults".
1072
1073	* amq/amq.8: typo.  Arg name for -D is "debug_options" not
1074	"log_options".
1075
1076	* libamu/xutil.c: make xlog_level static, and initialize it to
1077	XLOG_DEFAULT.
1078	(cmdoption): take unsigned int as flags argument, and print any
1079	errors as XLOG_ERROR (which cannot be turned off).
1080	(switch_option): remove old code which disallowed you from turning
1081	off flags that were set when Amd started up.  Now, you can turn
1082	any log option on/off at start time or later on (via amq -x),
1083	other than the two mandatory options (fatal+error).
1084
1085	* include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR.  Define
1086	XLOG_MASK to mask out unused flag bits.  Define XLOG_DEFAULT to be
1087	what it was before (fatal + error + user + warning + info), but
1088	use the new mask.  Remove extern's for xlog_level and
1089	xlog_level_init.  Change extern for cmdoption() to take an
1090	unsigned flags argument.
1091
1092	* doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8:
1093	document mandatory log options
1094	(fatal+error) which cannot be turned off and are always on by
1095	default.  They must be on so that Amd can report crucial errors,
1096	including those related to setting flags on/off.
1097
1098	* hlfsd/hlfsd.c (main): remove hack to initialize log_options.
1099
1100	* wire-test/wire-test.c: remove reference to unused xlog_level.
1101
1102	* amd/mapc.c (mapc_create): 'alloc' flags variable should be
1103	unsigned.
1104
1105	* amd/get_args.c (get_args): no need for hack using
1106	xlog_level_init.
1107
1108	* amd/Makefile.am: separate sources common to amd and sun2amd into
1109	a special, locally-built only, static library called libaminfo.a.
1110
1111	* libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf()
1112	wrapper function.
1113	(xvsnprintf): new function which already gets a va_list.  This was
1114	needed to avoid nesting va_list's (which apparently isn't
1115	allowed).
1116
1117	* include/am_utils.h: prototype for new xvsnprintf wrapper.
1118
1119	* configure.in: sinclude([vers.m4]) version number file.
1120
1121	* vers.m4: new file to separate version number out of
1122	configure.in, useful for nightly snapshot script to generate
1123	nightly version string.
1124
1125	* Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
1126
11272005-08-14  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1128
1129	* amd/info_file.c: add key to sun_entry2amd()'s parameters
1130
1131	* amd/info_hesiod.c: add key to sun_entry2amd()'s parameters
1132
1133	* amd/info_ldap.c: add key to sun_entry2amd()'s parameters
1134
1135	* amd/info_ndbm.c: add key to sun_entry2amd()'s parameters
1136
1137	* amd/info_nis.c: add key to sun_entry2amd()'s parameters
1138
1139	* amd/info_nisplus.c: add key to sun_entry2amd()'s parameters
1140
1141	* amd/sun_map.c: New functions to support sun translation to amd.
1142	The function sun_entry2amd's parameters were expanded to include
1143	the key value.  sun_entry_2amd() now returns NULL on error.
1144
1145	* amd/sun_map.h: Expand sun_entry2amd's parameters to include key
1146	value.
1147
1148	* amd/sun_map_parse.y: Change how file system types are parsed out
1149	of the list of options for each entry.  The previous way was not
1150	working properly so now we just look for the 'fstype' keyword in
1151	each option.  If it exists we copy its key value.
1152	Added some comments to sun_map_parse_read().
1153
1154	* amd/amd.h: Added an extern from info_file.c called
1155	file_read_line().  Previously this function was static but is now
1156	used in sun2amd.c.
1157
1158	* amd/info_file.c: Changed the static function read_line() to a
1159	public function called file_read_line().  This function is now
1160	used in sun2amd.c
1161
1162	* amd/sun2amd.8: Filled in the contents of this man page.  This is
1163	a conversion utility that converts Sun maps to Amd maps.
1164
1165	* amd/sun2amd.c: Implemented a working version of this utility.
1166
11672005-08-11  Erez Zadok  <ezk@cs.sunysb.edu>
1168
1169	* amd/sun_map_parse.y: instead of using a custom FOO_alloc()
1170	function, use Amd's CALLOC(struct FOO) macro.
1171
1172	* amd/sun_map.h: remove extern definitions to functions no longer
1173	needed.
1174
1175	* amd/sun_map.c: removed superfluous *_alloc() functions, some of
1176	which caused conflicts with same-named symbols in the parser
1177	(since we rename 'yyalloc' to 'sun_map_alloc').
1178
1179	* configure.in: keep AC_INIT on same line, for nightly snapshot
1180	build script.
1181
1182	* amd/Makefile.am: f/lex libraries are incompatible with multiple
1183	scanners, so don't link Amd with libl.a/libfl.a.
1184
11852005-08-10  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1186
1187	* amd/sun_map_tok.l: Clean up regular expression so HPUX stops
1188	whining.
1189
11902005-08-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1191
1192	* amd/sun_map_parse.y: Moved license below special yacc bracket to
1193	be portable with HPUX's yacc.  Clean up externs.
1194
1195	* amd/sun_map_tok.l: Moved license below special lex bracket to be
1196	portable with HPUX's lex.  Fixed definitions to allow for a
1197	non-flex lex to parse strings instead of files.  Added some casts
1198	to strlcpy usage to silence warnings.  Moved the % options because
1199	HPUX was complaining,
1200
12012005-08-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1202
1203	* amd/sun_map_tok.l: Applied some definition goop to handle the
1204	ECHO symbol that lex defines.  This symbol causes problems on
1205	RedHat-EL-powerPC platforms.  Replaced strncpy with strlcpy.
1206	Renamed the function sun_map_yyinput to sun_map_input.  This
1207	function is a utility function that is not generated by lex.
1208	Therefore, the 'yy' may cause confusion.
1209
12102005-08-08  Erez Zadok  <ezk@cs.sunysb.edu>
1211
1212	* amd/sun_map_tok.l: allocate more output slots so lex scanners
1213	don't run out of memory.
1214
1215	* amd/sun_map_parse.y: declare extern for sun_map_parse().
1216
1217	* libamu/xutil.c (xsnprintf): ensure proper comparisons between
1218	signed and unsigned quantities.
1219
12202005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1221
1222	* libamu/util.c, amd/autil.c (strsplit): moved strsplit() function
1223	from Amd code to to libamu, so sun2amd could use it.
1224
1225	* amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man
1226	page.
1227	(EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files
1228
1229	* amd/sun2amd.8: placeholder for man page.
1230
1231	* amd/sun2amd.c: placeholder for C version of translator from Sun
1232	syntax maps to Amd maps.
1233
1234	* */*.[0-9]: include file name in nroff source comment.
1235
1236	* ALL: use '0' properly when assigning or passing it to functions.
1237	If in the context pointer, use NULL.  If in the context of a
1238	single char (say within a string), the use '\0'.  This is just to
1239	make the code clearer.
1240
1241	* m4/macros/header_templates.m4: template for HAVE_MAP_SUN.
1242
1243	* amd/mapc.c (maptypes): add placeholder for Sun-syntax map
1244	methods.
1245
1246	* amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c
1247
1248	* amd/info_sun.c: placeholder for meta info parser to get info
1249	from Sun automount-style /etc/auto_master, possibly following
1250	into multiple info services (via /etc/nsswitch.conf).
1251
1252	* libamu/xutil.c (xsnprintf): if vsnprintf truncated the output
1253	string to avoid an overflow, print an error.  Include some code to
1254	break out any possible infinite loop between plog() and
1255	xsnprintf().
1256	(real_plog): now we can use (carefully) xsnprintf() directly.
1257
1258	* amd/sun_map.[hc]: cleanup and formatting.
1259
1260	* amd/sun_map_parse.y: to match the literal string "fstype=" use
1261	double quotes, not single quotes.
1262
1263	* amd/get_args.c (get_args): call conf_parse() using conf_in.
1264
1265	* amd/amd.h: use renamed parser symbols (yyparse -> conf_parse;
1266	yyin -> conf_in).
1267
1268	* ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb,
1269	and suggested by the Automake manual.  This enhanced parser will
1270	prefix each conflicting yacc/lex symbol with a unique name
1271	produced from INPUT.  For example, if INPUT is foo_parse.y, then
1272	yyparse() becomes foo_parse().  This requires that both your .l
1273	and corresponding .y files have the same prefix (e.g., foo_parse.y
1274	and foo_tok.l).
1275
1276	* amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c
1277	source files are built automatically, and therefore should not be
1278	in the distro (IMHO), and should be cleaned upon "make clean".
1279	(amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files.
1280
1281	* ylwrap: new file needed because we have two parsers now.
1282
1283	* amd/sun_map_{parse.y,tok.l}: cleanup and formatting.
1284
12852005-08-06  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1286
1287	* amd/Makefile.am: Added new files sun_map.h, sun_map.c,
1288	sun_map_parse.y, and sun_map_tok.l.  These files add support for
1289	parsing Sun style maps.  The yacc/lex files needed custom rules so
1290	they don't cause symbol conflicts with each other.
1291
1292	* amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the
1293	line limit for info services.
1294
1295	* amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN
1296
1297	* amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN,
1298	added support for parsing Sun style maps.  The support for Sun
1299	maps is done using the sun_entry2amd() function.  This function is
1300	called for each entry line that is read only when Sun parsing is
1301	enabled.  For each entry line that is passed to the function a
1302	copy of the Amd equivalent is returned.
1303
1304	* amd/sun_map.h: new header file for Sun style map support
1305
1306	* amd/sun_map.c: new source file for Sun style map support, clean
1307	up comments, additional sun2amd conversion routines
1308
1309	* amd/sun_map_parse.y: new yacc file for parsing Sun style maps,
1310	fix copyright notice, put filename below license.
1311
1312	* amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix
1313	copyright notice, put filename below license.
1314
1315	* amd/get_args.c: replace usage of strlcat with xstrlcat
1316
1317	* include/am_utils.h: added 'extern void xstrlcat()'
1318
1319	* libamu/util.c: Added a xstrlcat() function that wraps the
1320	syscall strlcat() so that string truncations can be logged.
1321
13222005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1323
1324	* amd/info_file.c (file_search, file_reload): pass mnt_map to
1325	file_search_or_reload.
1326	(file_search_or_reload): ensure that mnt_map is never NULL.
1327
1328	* amd/info_nis.c (nis_search): call sun_entry2amd() if
1329	sun_map_syntax=yes.
1330
1331	* amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if
1332	sun_map_syntax=yes.
1333
1334	* amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if
1335	sun_map_syntax=yes.
1336
1337	* amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm.
1338	(search_ndbm): call sun_entry2amd() if sun_map_syntax=yes.
1339
1340	* amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if
1341	sun_map_syntax=yes.
1342
1343	* amd/info_exec.c (exec_search): pass mnt_map to
1344	exec_parse_qanswer.
1345	(exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes.
1346
1347	* doc/am-utils.texi (sun_map_syntax Parameter): document new
1348	common parameter.
1349
1350	* scripts/amd.conf.5: selectors_in_defaults is a common parameter,
1351	not just [global].  Use consistent capitalization of Amd/Amq.
1352	Document new sun_map_syntax parameter.
1353
1354	* scripts/amd.conf-sample: properly list all of the parameters
1355	which are common to both the [global] and the per-map sections.
1356	(sun_map_syntax): example of new parameter.
1357
1358	* doc/am-utils.texi (Common Parameters): selectors_in_defaults is
1359	a common parameter, not just [global].
1360
1361	* scripts/amd.conf-sample (sun_map_syntax): example of new flag.
1362
1363	* amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse
1364	sun_map_syntax flag (global or per map).
1365
1366	* amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the
1367	map uses Sun automounter syntax.
1368
1369	* cvs-server.txt: update instructions after branching 6.1-stable.
1370
13712005-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
1372
1373	*******************************************************************
1374	*** Released am-utils-6.1.1					***
1375	*******************************************************************
1376
1377	* libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
1378	vsprintf, not sprintf.
1379
1380	* conf/umount/umount_osf.c (umount_fs): refer to proper formal
1381	parameter name.
1382	(umount2_fs): pass second arg to umount().
1383
1384	* ALL: remove CVS ID and put actual file name in source.
1385
1386	* conf/autofs/*.[hc]: proper copyright headers.
1387
1388	* whitespace reformatting.  Remove remaining '%W%' SCCS IDs.
1389
1390	* amd/mntfs.c (free_mntfs): don't discard the last reference to an
1391	mntfs that had been mounted already.  It won't have the
1392	MFF_RESTARTED flag on, as it gets turned off after the entry is
1393	mounted, but it will have the MFF_RSTKEEP flag on.
1394
1395	* amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
1396	show the mntfs's flags.
1397
13982005-08-01  Erez Zadok  <ezk@cs.sunysb.edu>
1399
1400	* conf/mtab/mtab_linux.c: removed unused code.  Cleanup.
1401	(handler): removed this bad signal handler.
1402	(lock_mtab): Redhat's original code set a signal handler called
1403	"handler()" for all non-ALRM signals.  The handler called
1404	unlock_mntlist(), plog'ed the signal name, and then exit(1)!
1405	Never, ever, exit() from inside a utility function.  This messed
1406	up Amd's careful signal-handling code, and caused Amd to abort
1407	uncleanly only any other "innocent" signal
1408	(even simple SIGUSR1), leaving behind a hung Amd mnt point.  That
1409	code should have at least restored the signal handlers' states
1410	upon a successful mtab unlocking.  Anyway, that handler was
1411	unnecessary, because will call unlock_mntlist() properly anyway on
1412	exit.
1413
1414	* conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
1415	message that we're inside the unlock_mntlist function.
1416
1417	* amd/amd.c (main): use new setup_sighandler() for Amd's four main
1418	signals (INT, TERM, HUP, and CHLD).
1419	(main) Add SIGINT and SIGTERM to masked_sigs, used in
1420	nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
1421	to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
1422	HAVE_SIGACTION.  So this change makes Amd behave consistently.
1423
1424	* include/am_utils.h: extern for new setup_sighandler().
1425
1426	* libamu/xutil.c (setup_sighandler): new utility function to setup
1427	a single signal-handler regardless of what method is supported by
1428	this OS.
1429	(going_down): call unlock_mntlist() when exiting, to ensure that
1430	Amd will remove any leftover mtab lock files, if any.
1431
1432	* amd/restart.c (restart_automounter_nodes): cleanup function.
1433
1434	* minor new port: i386-pc-linuxoldld-deb3.1.
1435
1436	* configure.in: include <sys/types.h> before <linux/socket.h> to
1437	get the definition of size_t on Debian-3.1r0a.
1438
14392005-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
1440
1441	* amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
1442	IP address.  First check if it differs from the existing one of
1443	the fserver, and copy only if it changed.  If it did change, flush
1444	the fhandle cache to avoid a stale fhandle being reused.  This
1445	allows Amd to detect IP address changes even for an fserver that
1446	lost one or more NFS pings, but not enough to be declared totally
1447	down.  We handle the "totally down" fserver case in
1448	check_fs_addr_change().
1449
1450	* amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
1451	amd/nfs_subr.c (nfs_quick_reply): code clarity.
1452
1453	* conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
1454	errnos to NFS errors.
1455
1456	* conf/umount/umount_linux.c (umount2_fs): cleanup code.  Trying
1457	stat() seems doomed to hang at times, so don't try stat at all,
1458	because umount2() appears to be clever enough to never hang.
1459
14602005-07-25  Erez Zadok  <ezk@cs.sunysb.edu>
1461
1462	* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
1463	particular fserver may need forced/lazy unmounts when it's mntfs's
1464	are unmounted.
1465
1466	* amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
1467	the user specified forced_unmounts=yes in amd.conf, and this
1468	fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
1469	forced/lazy unmounts, then try forced/lazy unmounts.  This should
1470	allow a hung mount point to be removed.
1471
1472	* amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
1473	detection code to its own function.
1474	(check_fs_addr_change): new function to detect if the IP address
1475	of a downed host has changed, and do various cleanups and fixups
1476	to try and recover as best from that situation (e.g., flushing
1477	various caches).  Also set the FSF_FORCE_UNMOUNT flag for the
1478	fserver in question.
1479	(flush_srvr_nfs_cache): pass fserver as argument, so we can
1480	selectively flush the NFS cache for a single fserver (or all of
1481	them, if you pass NULL).
1482
1483	* libamu/xutil.c (switch_to_logfile): truncate a regular-file log
1484	file if user passed non-zero "truncate_log" flag.
1485
1486	* include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
1487
1488	* amd/get_args.c (get_args): pass "truncate_log" flag as per
1489	amd.conf global settings.
1490
1491	* amd/conf.c (gopt_truncate_log): store global value of
1492	truncate_log flag.
1493
1494	* amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
1495	reload): don't truncate log file when calling switch_to_logfile().
1496
1497	* amd/amd.h (CFM_TRUNCATE_LOG): new flag.  Fix comment typo.
1498
1499	* NEWS, doc/am-utils.texi (truncate_log Parameter),
1500	scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
1501	new truncate_log amd.conf parameter.
1502
1503	* amd/conf.c (gopt_forced_unmounts): check Linux kernel version
1504	and alert if your version may be too old for MNT_FORCE to work
1505	(before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
1506	Otherwise it may be impossible to pin down the exact kernel
1507	version in which we should enable this feature.
1508
1509	* conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
1510	EBUSY, then don't try to stat(2) before MNT_DETACH because it
1511	could hang.
1512
15132005-07-21  Erez Zadok  <ezk@cs.sunysb.edu>
1514
1515	* conf/umount/umount_linux.c (umount_fs): cleanup this function,
1516	breaking long "if" statements using "goto out".
1517
1518	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
1519	call new utility function umount2_fs() as needed (EBUSY, EIO, or
1520	ESTALE).
1521
1522	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
1523	define a new utility function to invoke forcible/lazy unmounts
1524	without touching any mtab files.  This separate utility function
1525	is useful because it can be called from elsewhere.
1526
1527	* amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
1528	before Amd mounts toplvl mounts, which gives us a hook for cleanup
1529	of a previously dead Amd.  In our case, if the user asked for
1530	forced_unmounts, and the OS supports it, then we try forced/lazy
1531	unmounts on any previous toplvl mounts.  This is useful if a
1532	previous Amd died and left behind toplvl mount points (this Amd
1533	will clean them up!).  WARNING: Don't use forced/lazy unmounts if
1534	you have another valid Amd running, because this code WILL force
1535	those valid toplvl mount points to be detached as well!
1536
1537	* amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
1538	try forced/lazy unmounts because it will prevent a normal Amd from
1539	terminating and cleaning up properly (self-deadlocking: detached
1540	mounts hang the parent Amd on a stat).  Since we already do
1541	unmounts in the background, then try a safer policy: after trying
1542	the normal unmounts a few times (5 sec), escalate and try forced
1543	unmounts a few times (5 more seconds), and if even that failed,
1544	then try the ultimate -- detached unmounts (which always succeed).
1545	This allows Amd to first try and shutdown cleanly, and gradually
1546	try more forcible ways to shutdown.  On Linux, this procedure will
1547	cleanly shutdown Amd even if there are processes with their CWD on
1548	Amd's mount points (which normally result in EBUSY).
1549
15502005-07-20  Erez Zadok  <ezk@cs.sunysb.edu>
1551
1552	* Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
1553
1554	* conf/umount/umount_aix.c: easier if AIX has its own unmount
1555	helper file.
1556
1557	* m4/macros/check_umount_style.m4: AIX needs its own unmount style
1558	file.
1559
1560	* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
1561
15622005-07-19  Erez Zadok  <ezk@cs.sunysb.edu>
1563
1564	* conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
1565	forced-unmount flag.
1566
1567	* conf/umount/umount_default.c (umount_fs): if regular umount got
1568	EBUSY, EIO, or ESTALE, then try forced unmount, if supported.  Try
1569	umount2 (Solaris) or uvmount (AIX).
1570
1571	* conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
1572	umount() failed with EIO or ESTALE, also try forced unmount.
1573
15742005-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
1575
1576	* amd/autil.c (amfs_mount), amd/amfs_toplvl.c
1577	(amfs_toplvl_umount): enable forced/lazy unmounts only if user
1578	asked for it (and dlog it).
1579
1580	* scripts/amd.conf.5: document new force_unmount global parameter.
1581
1582	* doc/am-utils.texi (forced_unmounts Parameter): document new
1583	global parameter.
1584
1585	* amd/conf.c (gopt_forced_unmounts): process forced_unmounts
1586	option (default "no").  Exit with an error if user specified the
1587	option as "yes" but configure couldn't find support for either the
1588	MNT_FORCE or MNT_DETACH flags.
1589
1590	* scripts/amd.conf-sample (forced_unmounts): example usage of new
1591	option.
1592
1593	* amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
1594	option.
1595
1596	* m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
1597
1598	* configure.in: check for generic u/mount options "detach" and
1599	"force".
1600
1601	* include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
1602	Define AMU_UMOUNT flags for force, detach, and autofs.
1603
1604	* amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
1605	unmount flags unconditionally.  Pass them to UMOUNT_FS().
1606
1607	* conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
1608	if needed, because some Linux systems don't define them
1609	(presumably because it would be too dangerous to expose these
1610	flags to users).
1611
1612	* amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
1613	then assume that we're in trouble, possibly because a previous
1614	mount is hung.  So, first try to force a lazy unmount of the old
1615	mount.  If the forced unmount worked, then try again to mount the
1616	desired file system.  If the forced unmount failed, then don't
1617	retry: just return an error.
1618
1619	* amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
1620	(amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
1621	amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
1622	amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
1623	amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
1624	amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
1625	(umount_fs), conf/umount/umount_default.c (umount_fs),
1626	conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
1627	(umount_fs): compute and use unmount specific flags.
1628
16292005-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
1630
1631	* configure.in: better help for users, if nfs_args can't be found.
1632
16332005-07-15  Erez Zadok  <ezk@cs.sunysb.edu>
1634
1635	* BUGS: more details on AIX's need to install bos.net.nfs.adt
1636	before configuring am-utils (else configure cannot find struct
1637	nfs_args on AIX).
1638
16392005-07-10  Erez Zadok  <ezk@cs.sunysb.edu>
1640
1641	* amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
1642	address of a down server had changed.
1643
1644	* amd/info_union.c (union_reload): use safer xsnprintf() routine.
1645
1646	* amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
1647	of a named but down fserver changed (i.e., the previous IP address
1648	is no longer responding).  If so, then reset the fserver to the
1649	new IP address, and set the fserver's flags such that the function
1650	will fall through to doing the usual NFS version/proto checks and
1651	pinging.  (This should fix one case of bug #308.)
1652
1653	* conf/umount/umount_linux.c (umount_fs): warn if plain umount()
1654	failed, before we try to ignore any errors or try optional
1655	umount2(), possibly with forced/lazy unmount.
1656	(umount_fs): dlog when unmount succeeded.
1657
16582005-07-08  Erez Zadok  <ezk@cs.sunysb.edu>
1659
1660	* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
1661	that are compatible with NFSv3.
1662
16632005-07-07  Erez Zadok  <ezk@cs.sunysb.edu>
1664
1665	* m4/macros/header_templates.m4: extern template for strlcat().
1666
1667	* amd/get_args.c (get_version_string): use safer strlcat (or
1668	replacement strlcat).  Use new wrapper xsnprintf() function, which
1669	will use the safer vsnprintf() if available, else default to plain
1670	sprintf.
1671
1672	* configure.in: check for existence of strlcat() and its extern,
1673	replacing with libamu/strlcat.c as needed.
1674
1675	* libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
1676
1677	* include/am_defs.h: optional strlcat() extern.
1678
1679	* include/am_utils.h: extern for new xvsnprintf().
1680
1681	* configure.in: overdue new major libtool shlib version.
1682	Check for snprintf function and extern.
1683
16842005-07-06  Erez Zadok  <ezk@cs.sunysb.edu>
1685
1686	* conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
1687	aix4_nfs_args_bis.
1688
1689	* Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
1690	distribution.
1691
1692	* conf/mount/mount_aix.c: mount style for aix 5.x and newer.
1693
1694	* conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
1695
1696	* m4/macros/check_mount_style.m4: split mount styles for
1697	aix3.x/4.x and the newer (and better) aix 5.x code.
1698
16992005-07-05  Erez Zadok  <ezk@cs.sunysb.edu>
1700
1701	* amq/pawd.c (getawd): avoid buffer overflow.  Bug fix from Graeme
1702	Wilford <G.Wilford@surrey.ac.uk>.
1703
17042005-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
1705
1706	* amd/map.c (get_next_exported_ap): Avoid running off the end of
1707	the exported_ap[] array.  Patch from jon+amd-at-spock.org.  Fixed
1708	bug #301.
1709
17102005-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
1711
1712	* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
1713
1714	* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
1715	must come before C code.
1716
1717	* conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
1718	that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
1719	Patch from Red Hat, which they adapted from mtab_file.c.  Minor
1720	fixes to this file.
1721
1722	* m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
1723	handling.
1724
17252005-06-24  Erez Zadok  <ezk@cs.sunysb.edu>
1726
1727	* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
1728	copying code.
1729
17302005-06-23  Erez Zadok  <ezk@cs.sunysb.edu>
1731
1732	* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
1733	be missing from older hpux10 systems.
1734
1735	* configure.in: update bug-reporting address to list
1736	https://bugzilla.am-utils.org/ as well as the mailing list.
1737
1738	* Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
1739	macro.
1740
1741	* conf/transp/transp_tli.c (get_nfs_version): always use
1742	rpcvers_t, now that it'll be automatically discovered.
1743
1744	* configure.in: check for rpcvers_t type.
1745
1746	* m4/macros/type_rpcvers_t.m4: new macro to check for type of
1747	rpcvers_t (Some Solaris versions need it).
1748
1749	* conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
1750	here, but in the actual source files that may need it.
1751
1752	* libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
1753	already.
1754
1755	* include/am_defs.h: define extern for sleep(3) if needed.
1756
1757	* m4/macros/header_templates.m4: template for sleep(3) extern.
1758
1759	* configure.in: check for extern for sleep(3), which is missing
1760	from some old (and buggy) versions of gcc's fixinc'ed headers.
1761
1762	* conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
1763	nfs_args from actual system headers.
1764
1765	* conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
1766	structure.
1767
17682005-06-22  Erez Zadok  <ezk@cs.sunysb.edu>
1769
1770	* BUGS: update Solaris information about use of f/lex and
1771	yacc/bison.
1772
17732005-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
1774
1775	* minor new port: i386-pc-linux-suse9.3.
1776
17772005-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1778
1779	* configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
1780	so u32 is available for <linux/sunrpc/msg_prot.h>.
1781
17822005-06-16  Erez Zadok  <ezk@cs.sunysb.edu>
1783
1784	* amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
1785	exec maps will always match when users use amd with command line
1786	args (not amd.conf).  Using that legacy way, unfortunately, means
1787	that Amd will use it's hard-coded info-service search path, which
1788	doesn't work for everyone.  It's much better to use amd.conf and
1789	specify what you want exactly.
1790
17912005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1792
1793	* minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
1794
1795	* m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
1796	int as the type of recvfrom()'s 6th argument.
1797
1798	* m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
1799	int as the type of yp_order()'s 3rd argument.
1800
18012005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1802
1803	* scripts/amd.conf-sample (map_type): typo, said mount_type
1804	instead of map_type for the 'exec' example.
1805
18062005-06-11  Erez Zadok  <ezk@cs.sunysb.edu>
1807
1808	*******************************************************************
1809	*** Released am-utils-6.1					***
1810	*******************************************************************
1811
18122005-06-04  Erez Zadok  <ezk@cs.sunysb.edu>
1813
1814	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
1815	only if the user specified them in amd.conf or elsewhere.  If they
1816	were not specified, don't do anything, which would let the OS use
1817	its own defaults.
1818
1819	* amd/get_args.c (get_args): negative timeo/retrans are "good" in
1820	that they represent uninitialized values (meaning to let the OS
1821	use it's default values).  So only check if user specified a value
1822	equal to zero (invalid).
1823
1824	* amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
1825	specify timeo/retrans at all.
1826
18272005-06-03  Erez Zadok  <ezk@cs.sunysb.edu>
1828
1829	*******************************************************************
1830	*** Released am-utils-6.1-rc7					***
1831	*******************************************************************
1832
1833	* m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
1834	configuring, not just for building.  That way the two phases
1835	(configure and compile) are in sync.  This fixes getwire() on
1836	OSF/1 systems.
1837
1838	* conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
1839	defined in system headers.
1840
18412005-06-01  Erez Zadok  <ezk@cs.sunysb.edu>
1842
1843	* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
1844	longer needed.
1845
18462005-05-28  Erez Zadok  <ezk@cs.sunysb.edu>
1847
1848	* completed set of fixes for irix6.5.
1849
1850	* Minor new ports alpha-unknown-linux-gentoo1.4.16
1851	alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
1852	sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5.  Test
1853	those systems with both cc and gcc, where possible.
1854
1855	* include/am_xdr_func.h: remove trailing comma at end of enum
1856	list.
1857
1858	* m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
1859	undefined.  So give it a dummy value.
1860
1861	* libamu/alloca.c: remove file from distro.
1862
1863	* configure.in: don't call AC_FUNC_ALLOCA any more.
1864
1865	* include/am_defs.h: remove header fixups for <alloca.h>, now that
1866	we don't need it.
1867
1868	* amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
1869	avoid only use of alloca() in am-utils, and to use strdup
1870	explicitly.  This way we can avoid using alloca, a feature that's
1871	not portable on various systems.
1872
1873	* amq/amq.c: remove unused lint/rcsid cruft.
1874
18752005-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
1876
1877	* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
1878	extra parentheses around assignments in "if" expressions (gcc
1879	complains).
1880
1881	* conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
1882	for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
1883	xdr_groups.
1884
1885	* configure.in: check for <linux/socket.h>, which, if found,
1886	appears to be preferable to <sys/socket.h>.  Use it to find
1887	<linux/nfs_mount.h>.  On some Linux systems
1888	(Gentoo), both exist but only one must be included, or else you
1889	get redefined structure errors.
1890
1891	* libamu/wire.c (is_network_member): check if masknum is
1892	INADDR_NONE, not "< 0" because it's an unsigned quantity.
1893
1894	* libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
1895	because it's an unsigned quantity.
1896
18972005-05-26  Erez Zadok  <ezk@cs.sunysb.edu>
1898
1899	*******************************************************************
1900	*** Released am-utils-6.1-rc6					***
1901	*******************************************************************
1902
19032005-05-25  Erez Zadok  <ezk@cs.sunysb.edu>
1904
1905	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
1906	missing definition of struct thread_credentials in <sys/vfs.h>
1907	but trying to bring that definition in drags a whole lot of other
1908	messy stuff.  So just provide a dummy definition for this
1909	structure.
1910
19112005-05-24  Erez Zadok  <ezk@cs.sunysb.edu>
1912
1913	* Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
1914
1915	* m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
1916
1917	* m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
1918	systems, so we can find extern definition for mntctl().
1919
1920	* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
1921	define an extern for mntctl() if needed.
1922
1923	* amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
1924	style comments in C code.  Some C compilers don't accept it.
1925
1926	* amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
1927	of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
1928	xlC.
1929
1930	* amd/get_args.c: rename symbol conf_file to amu_conf_file to
1931	avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
1932	Oh, when will people who develop libraries learn to always prefix
1933	their exported symbols with a library-specific name?
1934
1935	* configure.in: check for mntctl() extern on AIX systems.
1936
1937	* ltmain.sh: update from latest libtool-1.5.18, so we can properly
1938	build on AIX 5.2/5.3 with cc and with gcc.
1939
1940	* m4/macros/libtool.m4: update from latest libtool-1.5.18.  This
1941	time, and from now on, we must include libtool.m4 from the libtool
1942	distribution itself.  That way we ensure that we use an ltmain.sh
1943	that matches the appropriate libtool M4 macros.  This makes
1944	am-utils no longer dependent on having libtool installed on a
1945	given system on which you run bootstrap.
1946
19472005-05-23  Erez Zadok  <ezk@cs.sunysb.edu>
1948
1949	* minor new port: i386-pc-linux-deb3.0.
1950
19512005-05-22  Erez Zadok  <ezk@cs.sunysb.edu>
1952
1953	* minor new ports: i386-unknown-netbsdelf2.0.2 and
1954	i386-unknown-openbsd3.7.
1955
19562005-05-20  Erez Zadok  <ezk@cs.sunysb.edu>
1957
1958	* minor new ports: i386-pc-linux-gentoo1.4.16 and
1959	powerpc-unknown-linux-yellowdog2.3.
1960
1961	* include/{mount_headers2.h, am_defs.h}: safer setup before
1962	inclusion of <linux/nfs_mount.h>, which is broken on several
1963	systems.
1964
1965	* configure.in: test for <linux/nfs2.h>.  Separate special test
1966	for <linux/nfs_mount.h> because we need to define __KERNEL__ for
1967	that test, as well as optionally define struct nfs2_fh for some
1968	systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
1969
1970	* config.guess.long: support Gentoo and Yellow Dog Linux distros.
1971
19722005-05-18  Erez Zadok  <ezk@cs.sunysb.edu>
1973
1974	* minor new ports: i386-pc-linux-suse9.2 and
1975	i386-unknown-freebsd5.4.
1976
1977	* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
1978
19792005-05-17  Erez Zadok  <ezk@cs.sunysb.edu>
1980
1981	*******************************************************************
1982	*** Released am-utils-6.1-rc5					***
1983	*******************************************************************
1984
1985	* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
1986	sending annoying warning for a minor issue.
1987
19882005-05-17  Ion Badulescu <ionut@moisil.badula.org>
1989
1990	* amd/nfs_subr.c: check for NULL pointer before dereferencing it.
1991
19922005-05-16  Erez Zadok  <ezk@cs.sunysb.edu>
1993
1994	* minor new ports: powerpc-apple-darwin7.9.0.
1995
1996	* m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
1997	from OS name because it's no longer relevant.  Also, don't include
1998	the major OS version number in the OS name because that's also
1999	unnecessary (and users can always use $osver in maps).
2000
2001	* amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
2002	struct am_fh, because it's the most portable method.  Bug fix
2003	suggestion from Dan Riley <dsr at mail.lns.cornell.edu>.  Better
2004	fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
2005	actual size we use.
2006
2007	* amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
2008	def_opts to options given in -opts, appended with the /default
2009	options.  Bug fix suggestion from Dan Riley <dsr at
2010	mail.lns.cornell.edu>.
2011
20122005-05-13  Erez Zadok  <ezk@cs.sunysb.edu>
2013
2014	*******************************************************************
2015	*** Released am-utils-6.1-rc4					***
2016	*******************************************************************
2017
20182005-05-11  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2019
2020	* amd/amd.c (main) : fixed memory leak detected by valgrind
2021
2022	* amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
2023	valgrind
2024
20252005-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
2026
2027	* m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
2028	check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
2029	check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
2030	for "macosx" as valid OS string, so we compile properly on Darwin
2031	systems.
2032
2033	*******************************************************************
2034	*** Released am-utils-6.1-rc3					***
2035	*******************************************************************
2036
2037	* rerun bootstrap to get a working configure script that actually
2038	checks for limits.h and dependent linux autofs/nfs headers.
2039
2040	* configure.in: remove redundant check for limits.h.
2041
20422005-05-09  Erez Zadok  <ezk@cs.sunysb.edu>
2043
2044	*******************************************************************
2045	*** Released am-utils-6.1-rc2					***
2046	*******************************************************************
2047
20482005-05-08  Erez Zadok  <ezk@cs.sunysb.edu>
2049
2050	* amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
2051	old_def_opts variable.
2052
20532005-05-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2054
2055	* amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
2056	entry has a single dash '-', that the default options are reset.
2057	This functionality was somehow lost from earlier releases and
2058	reported by Dan Riley <dsr@mail.lns.cornell.edu>.
2059
20602005-05-05  Erez Zadok  <ezk@cs.sunysb.edu>
2061
2062	* config.guess.long: detect SuSE Enterprise Server and call it
2063	"sles" not "suse".
2064
20652005-05-02  Erez Zadok  <ezk@cs.sunysb.edu>
2066
2067	* doc/am-utils.texi (amd): document proper use of
2068	/etc/hosts.allow.  Don't spawn a new Amd process because Amd will
2069	get confused if someone else waitpid's on its children (which
2070	often do important un/mount work).  Issue reported by Francis
2071	Montagnac <Francis.Montagnac at sophia.inria.fr>.
2072
2073	* minor new ports: powerpc64-unknown-linux-rhel4, and
2074	powerpc64-unknown-linux-sles9.
2075
20762005-05-01  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2077
2078	* amd/amfs_host.c (amfs_host_umount): We do not want to pass
2079	ENOENT as an error because if the directory does not exists our
2080	work is done anyway.
2081
2082	* conf/umount/umount_linux.c (umount_fs): If we are successful or
2083	there was an ENOENT, remove the mount entry from the mtab file.
2084
20852005-05-01  Ion Badulescu  <ionut@moisil.badula.org>
2086
2087	* amd/nfs_subr.c: am_fh definition moved here from amd.h;
2088	restructured to better reflect its duality (old/new filehandles)
2089	(fh_to_mp3): fhh_gen is always used, even for new style f/h
2090	(mp_to_fh): ditto
2091
2092	* amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
2093	only place where it's used)
2094
20952005-04-30  Erez Zadok  <ezk@cs.sunysb.edu>
2096
2097	* m4/macros/host_macros.m4: use sw_vers on Apple machines to find
2098	out more appropriate OS name (macosx) and OS version (10.3.x) than
2099	uname(3) reports.
2100
21012005-04-29  Erez Zadok  <ezk@cs.sunysb.edu>
2102
2103	* config.guess, config.sub, doc/texinfo.tex: updates from latest
2104	official GNU distributions.
2105
2106	* m4/macros/host_macros.m4: for macosx, change architecture value
2107	from "Power Macintosh" to "powerpc".
2108
2109	* libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
2110	int (it's a size_t).
2111
21122005-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
2113
2114	* scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
2115	Parameter), scripts/amd.conf-sample: document new
2116	normalize_slashes global configuration parameter.
2117
2118	* amd/opts.c (deslashify, normalize_slash): don't touch trailing
2119	slashes, even if multiples of them, if user said
2120	normalize_slashes=no in amd.conf.
2121
2122	* amd/conf.c (gopt_normalize_slashes): new function to record if
2123	to normalize slashes or not.
2124
2125	* amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
2126	normalize double-slashes or not ("yes" by default).
2127
2128	* amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
2129	This is the parent mntfs which does the mf->mf_fo
2130	(am_opts type), and we're passing TRUE here to tell mf_mounted to
2131	actually free the am_opts.
2132
2133	* amd/autil.c (mf_mounted): Be careful when calling free_ops and
2134	XFREE here.  Some pseudo file systems like nfsx call this
2135	function, even though it would be called by the lower-level amd
2136	file system functions.  nfsx needs to call this function because
2137	of the other actions it takes.  So we pass a boolean from the
2138	caller (yes, not so clean workaround) to determine if we should
2139	free or not.  If we're not freeing (often because we're called
2140	from a callback function), then just to be sure, we'll zero out
2141	the am_opts structure and set the pointer to NULL.  The parent
2142	mntfs node owns this memory and is going to free it with a call to
2143	mf_mounted(mntfs,TRUE).
2144
2145	* amd/amd.h: pass flag to mf_mounted, to free or not to free the
2146	am_opts.
2147
2148	* amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
2149	tell it not to free the am_opts, to avoid double free.
2150
2151	* include/am_defs.h: include limits.h if found.
2152
2153	* configure.in: check for limits.h.  Check for certain Linux
2154	headers such as auto_fs.h after checking for limits.h, and include
2155	the latter if it exists, because some Linux headers depend on
2156	limits.h.  This prevents warnings during configure time.
2157
21582005-04-12  Erez Zadok  <ezk@cs.sunysb.edu>
2159
2160	* amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
2161	values from default global UDP settings, because it can cause
2162	unexpected timeouts in Amd on slow systems.  The default that each
2163	OS provides for these toplvl NFS mounts should be OK, or else you
2164	can use the map_options entry.
2165
21662005-04-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2167
2168	* amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
2169	source buffer is treated more as a filehandle than a string.
2170
2171	* amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
2172	source buffer is treated more as a filehandle than a string.
2173
2174	* amd/opts.c (free_op): No longer need to assign pointer to NULL
2175	after XFREE.
2176
2177	* amd/opts.c (expand_op): Revert back to using strncpy() instead
2178	of xstrlcpy.  The code is correct and relies on the semantics of
2179	strncpy.
2180
2181	* libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
2182	of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
2183	truncate our concocted "hostname:/path" string prematurely if the
2184	nap->hostname field is ever less than 64 bytes long
2185	(MAXHOSTNAMELEN).
2186
2187	* libamu/util.c (xstrlcpy): Return immediately if len is 0 to
2188	avoid unnecessary work.  Log an error and return if len is less
2189	than 0.
2190
21912005-04-07  Erez Zadok  <ezk@cs.sunysb.edu>
2192
2193	* include/am_utils.h (XFREE): XFREE() should nullify the pointer
2194	even when compiling without debugging.  It's safer this way.
2195
2196	* libamu/xutil.c (am_set_hostname),
2197	hlfsd/stubs.c (nfsproc_lookup_2_svc),
2198	fsinfo/fsinfo.c (fsi_get_args),
2199	fixmount/fixmount.c (is_same_host, remove_mount, main),
2200	conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
2201	conf/mount/mount_svr4.c (mount_svr4),
2202	conf/mount/mount_linux.c (setup_loop_device),
2203	conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
2204	conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
2205	amd/opts.c (expand_op),
2206	amd/ops_nfs.c (mount_nfs_fh),
2207	amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
2208	amd/amfs_host.c (amfs_host_mount),
2209	amd/am_ops.c (merge_opts):
2210	use the new xstrlcpy instead of strncpy.
2211
2212	* conf/checkmount/checkmount_{default,svr4}.c
2213	(fixmount_check_mount): document why NOT to use xstrlcpy.
2214
2215	* libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
2216	more, just MAXHOSTNAMELEN.
2217
2218	* libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
2219	recursion, since xstrlcpy may use plog).
2220
2221	* libamu/util.c (xstrlcpy): truncating a string is serious.  Use
2222	XLOG_ERROR not XLOG_WARNING.
2223
22242005-04-06  Erez Zadok  <ezk@cs.sunysb.edu>
2225
2226	* include/am_utils.h: external definition for new xstrlcpy
2227	function.
2228
2229	* libamu/util.c (xstrlcpy): new function.  Similar to strncpy, but
2230	uses strlcpy to guarantee that the resulting string is null
2231	terminated, and also warn if the resulting string was truncated.
2232
2233	* libamu/xutil.c (get_server_pid): move this function from util.c
2234	which is for general-purpose utilities.
2235
2236	* m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
2237
2238	* include/am_defs.h: provide extern definition for strlcpy, if
2239	needed.
2240
2241	* libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
2242
2243	* configure.in: search for strlcpy and its extern.
2244
2245	* amq/pawd.c (find_mt): It only handles *some* filesystem types,
2246	so it breaks on direct xfs mounts for example.  The fix (from
2247	Christos Zoulas) is simple: We need to exclude toplvl to avoid
2248	infinite recursion, but all other fs's are game.
2249
22502005-03-31  Erez Zadok  <ezk@cs.sunysb.edu>
2251
2252	* amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
2253	copying exactly len bytes, so add null just to be safe.
2254
22552005-03-30  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2256
2257	* amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
2258	to make sure it null terminates.
2259
22602005-03-29  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2261
2262	* amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
2263	the memset can be removed because strncpy() should padd the
2264	buffer with NULLs anyway.
2265
22662005-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2267
2268	* include/am_defs.h: Clarify comment.
2269
22702005-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
2271
2272	* include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
2273	won't complain about a conflict for this definition between
2274	<rpcsvc/nis.h> and <sys/acl.h>.
2275
22762005-03-20  Erez Zadok  <ezk@cs.sunysb.edu>
2277
2278	* amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
2279
2280	* libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
2281	%lx.
2282
22832005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2284
2285	*******************************************************************
2286	*** Released am-utils-6.1-rc1					***
2287	*******************************************************************
2288
22892005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2290
2291	* conf/transp/transp_tli.c (get_nfs_version): use proper type for
2292	versout on Solaris (rpcvcers_t).
2293
2294	* amd/mapc.c (mapc_showtypes): if last map type to print, don't
2295	append newline or comma to it.
2296
2297	* libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
2298	to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
2299	casting it to an int (size is different).
2300
2301	* configure.in, NEWS: prepare for 6.1-rc1 release.
2302
23032005-03-17  Erez Zadok  <ezk@cs.sunysb.edu>
2304
2305	* scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
2306	<adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
2307	the ldap.schema expects.
2308
2309	* amd/map.c (exported_ap_free): We're using a free-list data
2310	structure and re-using malloc'ed objects.  So, to be safe, memset
2311	entire structure when it's freed, not just the pointer.
2312	(umount_exported): bug fix to on-exit code.  Don't run
2313	am_unmounted() unless unmount_mp() didn't run, since the latter
2314	already calls am_unmounted().  This way we avoid a double-free
2315	bug.
2316
23172005-03-15  Erez Zadok  <ezk@cs.sunysb.edu>
2318
2319	* tasks: updates.  Executable maps is supported.  NFSv4 and
2320	FreeBSD autofs isn't.
2321
2322	* Makefile.am (EXTRA_DIST): include FAQ in distro.
2323
2324	* doc/Makefile.am (alldocs): install README.lda and README.osx.
2325
2326	* FAQ: new file, better late than never.
2327
23282005-03-14  Erez Zadok  <ezk@cs.sunysb.edu>
2329
2330	* scripts/amd2ldif.in: patch to add the amdMapName attribute to
2331	the amdMapTimestamp object when amd2ldif converts it.  This is
2332	necessary if you are using type:=auto mounts and want those
2333	mountmaps looked up through LDAP.  Patch from Jim Zajkowski
2334	<jim.zajkowski@gmail.com>.
2335
23362005-03-12  Erez Zadok  <ezk@cs.sunysb.edu>
2337
2338	* minor new ports: i386-pc-linux-rhel4.
2339
2340	* minor new ports: powerpc-apple-darwin7.8.0.
2341
23422005-03-10  Erez Zadok  <ezk@cs.sunysb.edu>
2343
2344	* amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
2345	cleaner.
2346
2347	* ltmain.sh: upgrade from libtool-1.5.6.
2348
2349	* m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
2350	Linux 2.6 kernel modules, which have a .ko extension, not .o.  Now
2351	we can properly detect which file systems exist on Linux 2.6 based
2352	systems (SLES9, RHEL4, Fedora, etc.).
2353
23542005-03-09  Erez Zadok  <ezk@cs.sunysb.edu>
2355
2356	* m4/macros/host_macros.m4: find out what's the OS software
2357	distribution name, if any.
2358
2359	* m4/macros/header_templates.m4: template for DISTRO_NAME.
2360
2361	* amd/get_args.c (get_version_string): print again full_os, os,
2362	osver, and vendor (bug fix).
2363	(get_version_string): print distribution name, if known (e.g.,
2364	rh9, suse8, etc.).
2365
2366	* amd/mapc.c (mapc_showtypes): wrap around list of supported map.
2367
23682005-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
2369
2370	* amd/map.c (umount_exported): when unmounting file systems on
2371	exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
2372	instead of unmount_node() because the latter always unmounts in
2373	the foreground, whereas the former unmounts in the bg/fg as
2374	needed.  Unmounting always in the foreground has two problems: (1)
2375	if the unmount hangs, amd hangs, and (2) for type:=program, the
2376	unmount script is execve'd(!) thus replacing the main amd process,
2377	which never gets to finish up, leaving the amd mount points hung.
2378
2379	* NEWS: mention new feature of executable maps.
2380
2381	* AUTHORS: Acknowledge Erik Kline.
2382
2383	* scripts/amd.conf.5: document executable maps and
2384	exec_map_timeout parameter.
2385
2386	* scripts/amd.conf-sample: examples of an executable map and
2387	exec_map_timeout.
2388
2389	* m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
2390
2391	* doc/am-utils.texi: document Executable maps and exec_map_timeout
2392	parameter.
2393
2394	* amd/conf.c (gopt_exec_map_timeout): function to parse
2395	exec_map_timeout [global] parameter.
2396
2397	* amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
2398	timeout to 10 seconds, and a global placeholder for the
2399	configurable value.
2400
2401	* amd/amd.c (init_global_options): initialize default executable
2402	map timeout.
2403
2404	* amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
2405	tarball.
2406
2407	* configure.in: enable executable maps.
2408
2409	* amd/mapc.c: define executable map functions and behavior.
2410
2411	* amd/info_exec.c: executable map implementation from Erik Kline
2412	<ekline at ekline dot com>, modified, cleaned-up, and fixed.
2413
24142005-03-07  Erez Zadok  <ezk@cs.sunysb.edu>
2415
2416	* amd/info_file.c (file_init_or_mtime): consolidate identical
2417	file_init and file_mtime into one function.
2418
24192005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2420
2421	* doc/am-utils.texi (Program Filesystem): if umount/unmount are
2422	not specified, Amd uses "umount ${fs}" by default.
2423
2424	* amd/amfs_program.c (amfs_program_match): if neither unmount nor
2425	umount parameters are specified, use the default userland umount
2426	program with "umount ${fs}".  This way type:=program doesn't have
2427	to specify the umount program for basic unmounting actions.
2428	(amfs_program_init): save unmount program string in mf_private
2429	only if it's NULL, not based on mf_refc.
2430
2431	* configure.in: auto-detect name of userland unmount program.
2432
2433	* aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
2434	unmount program.
2435
2436	* amd/ops_cachefs.c (cachefs_init): save unmount program string in
2437	mf_private only if it's NULL, not based on mf_refc.
2438
2439	* configure.in: don't "discover" inheritance file system any more,
2440	since we don't have the .c file for it.
2441
2442	* amd/get_args.c (get_version_string): hack to still show that we
2443	support the inherit file system in output of amd -v.
2444
24452005-03-05  Ion Badulescu  <ionut@moisil.badula.org>
2446
2447	* amd/amfs_inherit.c: removed, dead code
2448
2449	* amd/Makefile.am,
2450	amd/am_ops.c,
2451	amd/amd.h,
2452	conf/autofs/autofs_linux.h,
2453	conf/autofs/autofs_solaris_v1.h,
2454	conf/autofs/autofs_solaris_v2_v3.h,
2455	m4/macros/header_templates.m4: removed references to amfs_inherit.c
2456
24572005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2458
2459	* amd/autil.c (am_mounted): completely rewrite the unmount
2460	no/timeout code to (1) make more sense for odd conditions, and (2)
2461	allow utimeout=N mount options to override FS_NOTIMEOUT default
2462	flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
2463
2464	* libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
2465
2466	* conf/umount/umount_linux.c (umount_fs): strtok is destructive,
2467	so use strdup'ed string.
2468
2469	* conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
2470	use strdup'ed string.
2471
24722005-03-04  Erez Zadok  <ezk@cs.sunysb.edu>
2473
2474	* scripts/amd.conf.5, doc/am-utils.texi (cache_duration
2475	Parameter): clarify actual behavior: this Parameter affects
2476	initial mount timeout as well as the linear backoff what happens
2477	the initial failed EBUSY unmount.
2478
2479	* doc/am-utils.texi (opts Option): better explanation of
2480	utimeout=N mount pseudo-option.
2481
2482	* amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
2483
24842005-03-02  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2485
2486	* AUTHORS: add Dan Ottavio.
2487
2488	* scripts/amd.conf.5: document new debug_mtab_file option.
2489
2490	* scripts/amd.conf-sample (debug_mtab_file): show example.
2491
2492	* doc/am-utils.texi (debug_mtab_file Parameter): document new
2493	option.
2494
2495	* conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
2496	doesn't exist by the time Amd tries to exist, return a 0 rather
2497	than hang indefinitely.
2498
2499	* amd/conf.c (gopt_debug_mtab_file): new function to parse
2500	debug_mtab_file option.
2501
2502	* amd/amd.h: placeholder for debug_mtab_file string.
2503	Define default debug_mtab_file to "/tmp/mtab".
2504
2505	* NEWS: document new debug_mtab_file option.
2506
25072005-03-02  Erez Zadok  <ezk@cs.sunysb.edu>
2508
2509	* conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
2510	users want Amd's NFS service to bind to some arbitrary "localhost"
2511	address, show which address was actually resolved and bound to.
2512
25132005-03-01  Erez Zadok  <ezk@cs.sunysb.edu>
2514
2515	* amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
2516	(update_nfs_pingval) that initializes the pinger, as well as turns
2517	it on/off as needed, and handles changing its value.  This is to
2518	avoid races and other infinite-loop conditions that could result
2519	in ping storms.
2520
2521	* amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
2522	new file server structure, default the ping value to AM_PINGER
2523	(30sec) and set the FSF_PING_UNINIT flag.
2524
2525	* amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
2526	pinger had been initialized for a given file server.
2527
2528	* scripts/ctl-amd.in (stop): no need to check if
2529	/var/lock/subsys/amd file exists if you do an rm -f afterward.
2530	Ensure that proper return value is returned from script.
2531
2532	* NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
2533	so that if N=-1, pings are off; if N=0, pings are set to the
2534	default value (currently 30 seconds).
2535
25362005-02-28  Erez Zadok  <ezk@cs.sunysb.edu>
2537
2538	* amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
2539	__rpc_get_local_uid to verify if the RPC call through the
2540	local host interface came from UID 0.
2541
2542	* configure.in: look for internal libnsl function
2543	__rpc_get_local_uid (seems to be available on all known TLI
2544	systems, Solaris and HP-UX 11).
2545
2546	* conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
2547	function for TLI systems (and it violated a array's bounds,
2548	discovered with libumem.so).
2549	(bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
2550	just to be on the safe side, set struct t_bind's qlen field to non
2551	zero (64 by default).  This value cannot be zero for TCP
2552	connections, and it's unclear if it's good to have it zero for UDP
2553	connections, so setting it to 64 is safer.
2554
25552005-02-27  Erez Zadok  <ezk@cs.sunysb.edu>
2556
2557	* doc/am-utils.texi (opts Option, Keep-alives): update text on
2558	ping option.
2559
2560	* amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
2561	server ping values, turn them off, or re-enable them.
2562	(find_nfs_srvr): call update_nfs_pingval() as needed.
2563
2564	* hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
2565	handler, but use _exit(2) instead.
2566
2567	* amd/amd.c (parent_exit): This signal handler is called during
2568	Amd initialization.  The parent forks a child to do all the hard
2569	automounting work, and waits for a SIGQUIT signal from the child.
2570	When the parent gets the signal it's supposed to call this handler
2571	and exit(3), thus completing the daemonizing process.  Alas, on
2572	some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
2573	always terminate the parent process.  Worse, the parent process
2574	now refuses to accept any more SIGQUIT signals -- they are
2575	blocked.  What's really annoying is that this doesn't happen all
2576	the time, suggesting a race condition somewhere.
2577	(This happens even if I change the logic to use another signal.)
2578	I traced this to something which exit(3) does in addition to
2579	exiting the process, probably some atexit() stuff or other
2580	side-effects related to signal handling.  Either way, since at
2581	this stage the parent process just needs to terminate, I'm simply
2582	calling _exit(2).  Note also that the OpenGroup doesn't list
2583	exit(3) as a recommended "Base Interface" but they do list
2584	_exit(2) as one.  This fix seems to work reliably all the time.
2585
2586	* scripts/wait4amd2die.in: change default to recognize that amd is
2587	down more quickly (check every 3 seconds instead of 5).
2588
25892005-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
2590
2591	* libamu/xutil.c (amu_release_controlling_tty): warn if closing
2592	stdin/stdout/stderr failed.  No need for tempfd.
2593
2594	* scripts/ctl-{amd,hlfsd}.in: before running any real program in
2595	these shell scripts, chdir to "/" to avoid possible hangs with
2596	existing NFS mounts.  This was causing ctl-amd's forked
2597	grand-child amd process to hang if restartable_mounts=no.  Go
2598	figure.
2599
26002005-02-25  Erez Zadok  <ezk@cs.sunysb.edu>
2601
2602	* minor new port ia64-unknown-linux-rhel4
2603
2604	* fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
2605	(RHEL4 gcc 3.4.3 ia64 compiler complains).
2606
26072005-02-24  Erez Zadok  <ezk@cs.sunysb.edu>
2608
2609	* minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
2610
26112005-02-23  Erez Zadok  <ezk@cs.sunysb.edu>
2612
2613	* minor new port: i386-pc-linux-rhel3.
2614
2615	* INSTALL: major update of the compatibility list.
2616
2617	* m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
2618
26192005-02-22  Erez Zadok  <ezk@cs.sunysb.edu>
2620
2621	* scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
2622	document new preferred_amq_port [global] option.
2623
2624	* scripts/amd.conf-sample (preferred_amq_port): example.
2625
2626	* include/am_utils.h: add preferred_amq_port to prototype.
2627
2628	* conf/transp/transp_tli.c (bind_preferred_amq_port): new function
2629	to bind the Amq RPC service for UDP and TCP to a preferred port
2630	(or to any port if preferred_amq_port==0).
2631	(create_amq_service): decide if to bind to RPC_ANYFD, or to a
2632	requested port.
2633
2634	* conf/transp/transp_sockets.c (create_amq_service): if
2635	preferred_amq_port is greater than 0, then bind to that port for
2636	both UDP and TCP.  If preferred_amq_port==0, then bind to any
2637	port.
2638
2639	* amd/nfs_start.c (mount_automounter): pass global
2640	preferred_amq_port value to create_amq_service().
2641
2642	* amd/conf.c (gopt_preferred_amq_port): new function to parse
2643	amd.conf value for preferred_amq_port.
2644
2645	* amd/amd.h: placeholder for preferred_amq_port.
2646
26472005-02-21  Erez Zadok  <ezk@cs.sunysb.edu>
2648
2649	* conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
2650	bindnfs_port to a more proper name.  This function binds the NFS
2651	service to a specified port, and only for UDP.
2652
2653	* conf/transp/transp_tli.c: cleanup some code, rename some
2654	functions, in preparation for RPC amq port specification code.
2655
26562005-02-19  Erez Zadok  <ezk@cs.sunysb.edu>
2657
2658	* */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
2659	reserved for users to pass them on the command line.  Instead, use
2660	autoconf's internal AM_CFLAGS and AM_LDFLAGS.
2661
2662	* depcomp, install-sh, missing, mkinstalldirs: update from latest
2663	versions of Automake 1.9.2.
2664
2665	* m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
2666	regexp/patsubst M4 commands.  Newer versions of autoconf (e.g.,
2667	v2.59) complain about those.
2668
26692005-02-17  Erez Zadok  <ezk@cs.sunysb.edu>
2670
2671	* amd/opts.c (f_xhost): if we don't have hstrerror, just print the
2672	value of h_errno.
2673
2674	* configure.in: include -lresolv if it defines the hstrerror()
2675	function and not already available in existing libraries.
2676
2677	* minor new port: powerpc-apple-darwin7.7.0.
2678
2679	* amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
2680	later compared against an unsigned quantity (complaint from gcc
2681	3.3 on SuSE 8.2)
2682
2683	* include/am_utils.h: remove unnecessary (and conflicting) extern
2684	for bind_resv_port2(), which is declared as static in
2685	transp_tli.c.
2686
2687	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
2688	NEWS: document four new amd.conf options: nfs_retry_interval_udp,
2689	nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
2690	nfs_retransmit_counter_tcp.
2691
2692	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
2693	wether nfs_proto was "udp" or "tcp".
2694
2695	* amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
2696	from default UDP settings (because toplvl mounts are UDP for now).
2697
2698	* amd/get_args.c (get_args): use parameters to -t option to set
2699	both UDP and TCP timeo/retrans values.
2700
2701	* amd/conf.c: (gopt_nfs_retransmit_counter_udp,
2702	(gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
2703	(gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
2704	retrans/timeo parameters separately.
2705	(gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
2706	specified, use it to set defaults for both UDP and TCP.
2707
2708	* amd/amd.c (init_global_options): initialize default values of
2709	both UDP and TCP retrans/timeo values to -1.
2710
2711	* amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
2712	timeo values, one for udp mounts and another for tcp mounts.
2713
27142005-02-16  Erez Zadok  <ezk@cs.sunysb.edu>
2715
2716	* README.osx: new file with some instructions for Mac OS-X users,
2717	courtesy Kevin Layer.
2718
2719	* amd/get_args.c (get_args): move call to switch_to_logfile()
2720	after processing -v, so we don't print "no logfile defined; using
2721	stderr" when we're about to print version info and exit anyway.
2722
2723	* minor new port: powerpc-ibm-aix5.3.0.0.
2724
2725	* hlfsd/hlfsd.c (main): rewrite code to avoid negative array
2726	references.
2727
2728	* conf/checkmount/checkmount_aix.c: remove extern definition for
2729	mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
2730
2731	* amd/info_union.c (union_reload): rewrite code to avoid negative
2732	array references.
2733
2734	* amd/opts.c (split_opts, expand_op): rewrite code to avoid
2735	negative array references.
2736
2737	* conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
2738	since AIX 5.3 has it in <sys/vmount.h>.
2739
2740	* libamu/xutil.c (real_plog): rewrite code to avoid negative array
2741	references.
2742
2743	* libamu/wire.c (is_network_member): rearrange code slightly to
2744	avoid negative array references (AIX 5.3 xlC 7.0 compiler
2745	complains about it).
2746
27472005-01-26  Erez Zadok  <ezk@cs.sunysb.edu>
2748
2749	* doc/am-utils.texi (xhost Selector Function): document new
2750	selector function.
2751
2752	* amd/opts.c (f_xhost): new function for use when matching the
2753	"host" selector for the current host's name.  This function will
2754	now match the primary host name as well as all known aliases
2755	(CNAMES) that gethostbyname() returns.  This function now supports
2756	a new function selector called xhost(ARG); the old host==ARG
2757	selector is unharmed.
2758
27592005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2760
2761	* NEWS: document the ability to restart old mount points
2762
2763	* amd/map.c (mount_auto_node): force the fileid of the
2764	root to be 1, so that it won't change between restarts; use the
2765	root filesystem's own methods instead of hard-coding the use of
2766	the default methods
2767
2768	* conf/transp/transp_tli.c (create_nfs_service): better cleanup on
2769	error conditions.
2770	(bind_resv_port2): allow the caller to request a certain port.
2771
2772	* conf/transp/transp_sockets.c (bind_resv_port): allow the caller
2773	to request a certain port.
2774	(create_nfs_service): better cleanup on error conditions.
2775
2776	* amd/restart.c (restart_automounter_nodes): new function, takes
2777	care of restarting automounter NFS mount points (autofs will come
2778	later).
2779	(restart): skip all automounter mount points.
2780
2781	* amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
2782	implementation: if the path to the node is shorter than sizeof(fh)
2783	chars (currently 32 chars for a NFSv2 fh), simply store it inside
2784	the fh. For longer paths, keep the old implementation.
2785
2786	* amd/nfs_start.c (mount_automounter): reorder things so that
2787	restarting the toplvl filesystems occurs before anything else (so
2788	that we can grab all the ports we need before we accidentally use
2789	them for something else).
2790
2791	* amd/mntfs.c (locate_mntfs): remove dead code; add special
2792	handling of restarted toplvl filesystems.
2793
2794	* amd/mapc.c (root_keyiter): fix up a comment.
2795
2796	* amd/map.c (path_to_exported_ap): new function, searches for and
2797	returns a node by the path to it.
2798	(get_root_nfs_fh): remove unnecessary fiddling with the root fh.
2799
2800	* config.guess.long: support Red Hat Enterprise Linux
2801
28022005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2803
2804	* libamu/util.c (rmdirs): prevent amd from logging 'Read-only
2805	filesystem' errors when the mount point has an ancestor (i.e. '/')
2806	that is mounted read-only.  Patch from David Rage <rage@ucl.ac.uk>.
2807
28082005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2809
2810	* conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
2811	autofs space hack
2812
2813	* conf/umount/umount_default.c (umount_fs): there is no need for
2814	HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
2815
28162005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2817
2818	* doc/am-utils.texi (Automatic Unmounting): document new umount2()
2819	behavior on Linux.
2820
2821	* conf/umount/umount_linux.c (umount_fs): new file.  On Linux, if
2822	umount(2) failed with EIO or ESTALE, try umount2(2) with
2823	MNT_FORCE+MNT_DETACH.  Based on patch from Christos Zoulas
2824	<christos@zoulas.com>.
2825
2826	* m4/macros/check_umount_style.m4: pick new linux umount style.
2827
2828	* Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
2829	file.
2830
28312005-01-16  Erez Zadok  <ezk@cs.sunysb.edu>
2832
2833	* conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
2834	m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
2835	of "nfs_args" test.
2836
28372005-01-13  Erez Zadok  <ezk@cs.sunysb.edu>
2838
2839	* amd/get_args.c (show_usage): separate function to print usage
2840	string.
2841	(get_args) Call show_usage() from get_args when needed, then exit.
2842
2843	* amd/get_args.c (get_version_string): print also domain, host,
2844	and hostd.
2845	(get_args): print version string at the very end, after all other
2846	values had been initialized.  Patch from Christos Zoulas
2847	<christos@zoulas.com>.
2848
2849	* conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
2850	conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
2851	in timeouts in the RPC code between socket and TLI
2852	implementations.  The clntudp_create timeout has a different
2853	meaning than the clnt_call timeout.  Set the timeout of the create
2854	to 2 seconds which means retry if no answer in two seconds, and
2855	the timeout call to 6 seconds, which will give us consistently 2
2856	to 3 pings.  This is useful on occasional network UDP loss where a
2857	single packet loss would wrongfully mark a server down.  (The TLI
2858	code is the one that had the problem occurs.)  Patch from Christos
2859	Zoulas <christos@zoulas.com>.
2860
2861	* libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
2862	compiles even for systems that don't have the nfs_args
2863	ac{reg,dir}{min,max} fields.
2864
2865	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
2866	add "noac" if amd.conf option auto_attrcache was set to 0.  This
2867	should hopefully make the compute_nfs_attrcache_flags patch even
2868	safer.
2869
2870	* libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
2871	function to compute attribute-cache values.  This function now
2872	computes attribute-cache flags for BOTH Amd's automount points
2873	(NFS) as well as any normal NFS mount that Amd performs.
2874	(compute_nfs_args, compute_automounter_nfs_args): call
2875	compute_nfs_attrcache_flags to figure out attribute-cache related
2876	flags.  Patch from Christos Zoulas <christos@zoulas.com>.
2877
2878	* scripts/amd.conf-sample: show examples of new global options
2879	domain_strip and auto_attrcache.
2880
2881	* scripts/amd.conf.5: document new global options domain_strip and
2882	auto_attrcache.  Add warning to auto_attrcache use in case of
2883	ESTALE.
2884
2885	* doc/am-utils.texi: minor cleanups and document new global
2886	options domain_strip and auto_attrcache.  Add warning to
2887	auto_attrcache use in case of ESTALE.
2888
2889	* amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
2890	option auto_attrcache.
2891	(gopt_domain_strip): parse new global amd.conf option
2892	domain_strip.  Part of a patch from Christos Zoulas
2893	<christos@zoulas.com>.
2894
2895	* amd/autil.c (host_normalize): don't call domain_strip()
2896	unconditionally, but depend on the new global amd.conf flag
2897	domain_strip.
2898
2899	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
2900	set attribute cache timeout value given other configured global
2901	defaults.
2902	(amfs_toplvl_mount): set automount point attribute cache option
2903	value to "noac" if attrcache=0, else set it to whatever
2904	set_auto_attrcache_timeout() returns.
2905
2906	* amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
2907	if to strip the domain from the host name or not, default options
2908	set to strip the domain.
2909	Store global value of automount attribute cache timeout value.
2910
2911	* amd/amd.c (init_global_options): add flag to record automount
2912	point attribute cache value.
2913
2914	* amd/amd.c (do_memory_locking): new function to encapsulate all
2915	of the memory-locking functionality, which was in main() before.
2916	Also added a call to madvise(), just in case.
2917	(main): call do_memory_locking() to pin process memory if amd.conf
2918	asked for it, but do so after the main Amd process daemonizes,
2919	because mlock/mlockall is not inherited by fork() by default.
2920	Slightly restructured patch from Jonathan Chen
2921	<jon+amd@spock.org>.
2922
2923	* configure.in: check for madvise(2).
2924
2925	* config.guess, config.sub: updates for latest official GNU
2926	versions.
2927
2928	* m4/GNUmakefile: update paths to "make update"
2929
29302005-01-12  Erez Zadok  <ezk@cs.sunysb.edu>
2931
2932	* conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
2933	that's compatible for HPUX11 as well as NFSv3.
2934
2935	* include/am_defs.h: On AIX 5.2, both <resolv.h> and
2936	<arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
2937	-D_USE_IRS (so that we get extern definitions for hstrerror() and
2938	others).  So undef MAXDNAME before it gets redefined.
2939
2940	* include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
2941	<sys/acl.h>, which is included in many other header files.
2942	<rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes.  So if you're
2943	unlucky enough to include both headers, you get a compile error
2944	because the two symbols conflict.  Temp hack: undefine acl.h's
2945	GROUP_OBJ before including nis.h, because we don't need acl.h for
2946	am-utils.
2947
2948	* m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
2949	certain extern definitions of resolver functions become available.
2950
2951	* amd/opts.c (expand_op): use #define for expand_error string
2952	because some compilers complain about the use of static const
2953	char[] inside a varargs function.
2954
2955	* minor new port i386-unknown-netbsdelf1.6.2.
2956
2957	* new port i386-unknown-netbsdelf2.0.
2958
2959	* minor port i386-unknown-freebsd5.3.
2960
2961	* libamu/mount_fs.c (compute_nfs_args): don't compare
2962	nap->maxgrouplist against NULL but against 0 directly, because on
2963	FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
2964	about a type mismatch.
2965
2966	* minor port i386-pc-linux-fc3 (Fedora Core 3).
2967
29682005-01-11  Erez Zadok  <ezk@cs.sunysb.edu>
2969
2970	* hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
2971	FC3 doesn't have proper extern definition for the defunct
2972	sigpause().
2973
2974	* configure.in: look for sigsuspend().
2975
29762005-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
2977
2978	* updated copyright year to 2005 on all files.
2979
29802004-11-29  Erez Zadok  <ezk@cs.sunysb.edu>
2981
2982	* scripts/amd.conf.5: Small fixes to typos in man page, from
2983	Thomas Klausner <tk@giga.or.at>.
2984
29852004-10-22  Erez Zadok  <ezk@cs.sunysb.edu>
2986
2987	* ldap.schema: add this file to distribution.
2988
29892004-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
2990
2991	* doc/am-utils.texi: fix old URLs.
2992
29932004-09-01  Erez Zadok  <ezk@cs.sunysb.edu>
2994
2995	* conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
2996	multiple calls to mntctl().  Patch suggested by Michael van Elst
2997	<M.van.Elst@science-computing.de>.
2998
29992004-08-07  Erez Zadok  <ezk@cs.sunysb.edu>
3000
3001	* doc/am-utils.texi (Program Filesystem): document how to get
3002	double slashes in Amd maps.
3003
3004	* amd/opts.c (normalize_slash): support escaped slashes, needed
3005	for SMB mounts.  Use '\\\/\\\/' in a string to get a double slash.
3006
30072004-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
3008
3009	* amd/amfs_program.c (amfs_program_match): bug fix.  Complain if
3010	both opt_unmount and opt_umount are missing, not when just one of
3011	them is missing.
3012
30132004-08-03  Erez Zadok  <ezk@cs.sunysb.edu>
3014
3015	* amq/pawd.c (find_mt): recognize "linkx" type mounts.  Patch from
3016	Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>.  Support "nfsx" while
3017	we're at it.
3018
3019	* doc/am-utils.texi: mention bugzilla.  Fix broken URL HREF's.
3020
30212004-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
3022
3023	* amq/pawd.c (find_mt): recognize "host" type mounts.  Patch from
3024	Dan Nelson <dnelson@allantgroup.com>.
3025
30262004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3027
3028	* doc/am-utils.texi, NEWS: minor typos fixed.
3029
30302004-07-30  Erez Zadok  <ezk@play.cs.columbia.edu>
3031
3032	* include/am_xdr_func.h: cannot have field-less structure; put a
3033	dummy field in.
3034
3035	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
3036	2nd arg of xdr_u_int to a u_int*, not int*.
3037	(autofs_mount_2_req): don't use C++ // comments.
3038
30392004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3040
3041	* m4/macros/{try_compile_anyfs,check_field}.m4: include
3042	<fs/msdosfs/msdosfsmount.h> if it exists.  Part of a set of
3043	FreeBSD 5 patches from Martin Blapp <mb@imp.ch>.
3044
3045	* include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
3046	exists.
3047
3048	* amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
3049	0777 by default.
3050
3051	* configure.in: check for pcfs_args_t.dirmask field.  Check for
3052	existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
3053
30542004-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
3055
3056	* minor new port: i386-pc-linux-fc2 (Fedora Core 2).
3057
3058	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
3059	unless the function exists in libldap and the extern is in
3060	<ldap.h>.  Recently, openldap removed the extern from ldap.h, but
3061	left the function in libldap, for binary compatibility; however
3062	ldap_enable_cache and related functions have been deprecated (and
3063	no longer listed in the header files), and therefore should be
3064	avoided.
3065
3066	* m4/macros/check_extern_ldap.m4: new macro to check for
3067	LDAP-specific externs.  This is separate from check_extern.m4 so
3068	as to avoid breaking the general-purpose macro with LDAP-specific
3069	headers.
3070
3071	* m4/macros/header_templates.m4: extern template for new
3072	HAVE_EXTERN_LDAP_ENABLE_CACHE.
3073
3074	* configure.in: call new check_extern_ldap.m4 macro.
3075
3076	* Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
3077	macro.
3078
3079	* config.guess.long: distinguish between redhat and fedora-core
3080	releases.
3081
30822004-07-23  Erez Zadok  <ezk@cs.sunysb.edu>
3083
3084	* Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
3085	8.2.  This systems' latest GCC (gcc version 3.3 20030226
3086	prerelease) correctly caught a lot of possibly bad comparisons
3087	between signed and unsigned quantities.
3088
3089	* hlfsd/homedir.c (table_add, plt_search): changed first arg of
3090	both functions to u_int.
3091
3092	* hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
3093	Changed proto for plt_search arg to u_int.
3094
3095	* amq/amq.c (show_mi, main): change 'i' to u_int.
3096
3097	* amq/pawd.c (find_mlp): change 'i' to u_int.
3098
3099	* amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
3100	u_int.
3101
3102	* amd/amd.h: change prototype of vreaddir and amfs_error_readdir
3103	to use u_int count parameter.
3104
3105	* amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
3106	(amfs_error_readdir): change 'count' parameter in proto to u_int.
3107
3108	* amd/amd.h: change proto of amfs_generic_readdir() to use u_int
3109	count parameter.
3110
3111	* amd/readdir.c (make_entry_chain): preflen should be u_int.
3112	(amfs_readdir_browsable): change 'count' to u_int.
3113	(amfs_generic_readdir): change 'count' to u_int.
3114
3115	* amd/amd.h: amu_global_options's portmap_program field should be
3116	u_long, not int (to match RPC conventions).  Change am_fh's
3117	fhh_gen field to u_int, to match am_gen field in struct am_node.
3118
3119	* amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
3120	to avoid size differences.
3121
3122	* conf/mount/mount_linux.c (find_unused_loop_device): cast to int
3123	to avoid comparison between chars and integers.
3124
3125	* libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
3126	comparisons between signed and unsigned integers.
3127
31282004-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
3129
3130	* minor new port: i386-pc-linux-suse9.1.
3131
3132	* include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
3133	because SuSE wants __kernel_old_dev_t.  Instead, just define it
3134	directly to what they both use: an unsigned short.
3135
31362004-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
3137
3138	* minor new port: i386-unknown-freebsd4.10
3139
31402004-04-29  Ion Badulescu  <ionut@moisil.badula.org>
3141
3142	* amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
3143	mountpoints for autofs-based sublinks the right way
3144
31452004-04-28  Ion Badulescu  <ionut@moisil.badula.org>
3146
3147	Fixes for various memory management problems discovered by
3148	Rainer's purify run:
3149
3150	* conf/transp/transp_tli.c (check_pmap_up): zero out struct
3151	timeval before using;
3152	(get_nfs_version): ditto
3153
3154	* amd/map.c (umount_exported): make sure we don't try to free the
3155	same am_node multiple times, by setting its corresponding
3156	exported_ap slot to null
3157
3158	* amd/get_args.c (get_version_string): a static pointer is pretty
3159	pointless, make it automatic
3160
3161	* amd/conf.c (gopt_debug_options): remove unnecessary strdup();
3162	(gopt_log_options): ditto
3163	(gopt_print_version): free version string after using it
3164
3165	* amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
3166	it
3167
3168	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
3169	(amfs_lookup_mntfs): free def_opts on return
3170
3171	* amd/amd.c (daemon_mode): zero out struct sigaction before using
3172	it;
3173	(main): ditto
3174
31752004-04-27  Ion Badulescu  <ionut@moisil.badula.org>
3176
3177	* amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
3178	the real mount of an autofs-based sublink
3179
31802004-04-25  Ion Badulescu  <ionut@moisil.badula.org>
3181
3182	* amd/map.c (free_map_if_success): avoid dereferencing a pointer
3183	to potentially freed memory
3184
31852004-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
3186
3187	* minor new port: i386-unknown-freebsd5.2.1.
3188
31892004-01-30  Ion Badulescu  <ion@guppy.limebrokerage.com>
3190
3191	* scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
3192
31932004-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
3194
3195	* minor new port: sparc64-unknown-linux-deb3.0
3196
3197	* config.guess.long: recoognize Debian Linux.
3198
31992004-01-22  Erez Zadok  <ezk@cs.sunysb.edu>
3200
3201	* conf/transp/transp_tli.c (amu_get_myaddress): use
3202	htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
3203	available.
3204
32052004-01-21  Erez Zadok  <ezk@cs.sunysb.edu>
3206
3207	* wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
3208	parameter to amu_get_myaddress().
3209
3210	* conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
3211	localhost_address amd.conf parameter, if defined (else default to
3212	HOST_SELF_CONNECT).
3213	Removed htonl() around socket address copying (I think it was
3214	wrong) since plog("My IP address is...") in amd.c was printing
3215	addresses wrong on Solaris x86..
3216
3217	* conf/transp/transp_sockets.c (amu_get_myaddress): comment out
3218	old DEBUG code that warns if 127.0.0.1 isn't the same as what
3219	get_myaddress() reports.  Add code to resolve value of
3220	localhost_address amd.conf parameter, if defined (else default to
3221	127.0.0.1).
3222
3223	* amd/conf.c (gopt_localhost_address): new function to parse
3224	amd.conf parameter localhost_address.
3225
3226	* amd/amd.h: global field to store amd.conf localhost_address
3227	parameter.
3228
3229	* amd/amd.c (main): call amu_get_myaddress with global option,
3230	which could have been set in amd.conf.
3231
3232	* NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
3233	scripts/amd.conf.5: document new option localhost_address.
3234
32352004-01-20  Ion Badulescu  <ionut@moisil.badula.org>
3236
3237	* amd/conf.c (gopt_nfs_allow_insecure_port): support function for
3238	the new "nfs_allow_insecure_port" amd.conf directive
3239
3240	* amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
3241	port and drop the request only if the "nfs_allow_insecure_port"
3242	option is not set in amd.conf
3243
3244	* doc/am-utils.texi (Global Parameters): documented the new
3245	amd.conf directive "nfs_allow_insecure_port"
3246
3247	* scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
3248
3249	* scripts/amd.conf-sample (nfs_allow_insecure_port): added the
3250	"nfs_allow_insecure_port" directive
3251
32522004-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
3253
3254	* doc/am-utils.texi: amd-workers is defunct.
3255
32562004-01-19  Erez Zadok  <ezk@cs.sunysb.edu>
3257
3258	* cvs-server.txt: updated instructions
3259
32602004-01-18  Erez Zadok  <ezk@cs.sunysb.edu>
3261
3262	* minor new port: i386-unknown-freebsd5.2.
3263
32642004-01-05  Erez Zadok  <ezk@cs.sunysb.edu>
3265
3266	* MIRRORS.{txt,html}: verify each mirror site, update to new
3267	locations (if found), and remove stale mirrors URLs.
3268
3269	* updated copyright year to 2004 on all files.
3270
32712004-01-03  Erez Zadok  <ezk@cs.sunysb.edu>
3272
3273	* MIRRORS.txt: track status.
3274
3275	* Makefile.am (install-snapshot): new directory to install
3276	snapshots (now that am-utils home page is moved).
3277
32782004-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
3279
3280	* INSTALL, README.autofs: remove forced text-mode.
3281
3282	* doc/am-utils.texi: fix Amd book URL.
3283
3284	* Makefile.am (EXTRA_DIST): include new mirror files in tarball.
3285
3286	* AUTHORS, BUGS, README, README.y2k, configure.in,
3287	doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
3288	and mailing lists.
3289
3290	* MIRRORS.{html,txt}: updates.
3291
3292	* doc/Makefile.am: install mirror lists officially.
3293
32942004-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3295
3296	* tasks: things to do after migrating ftp/Web sites.
3297
32982003-12-09  Erez Zadok  <ezk@cs.sunysb.edu>
3299
3300	* fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page.  Bug
3301	report from Eric S. Raymond <esr@thyrsus.com>.
3302
33032003-11-18  Erez Zadok  <ezk@cs.sunysb.edu>
3304
3305	* Makefile.am (EXTRA_DIST_M4): exclude removed file
3306	m4/macros/struct_nfs_fh3.m4 from distro.
3307
33082003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3309
3310	* libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
3311	FHSIZE3 (may be undefined).
3312
33132003-10-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
3314
3315	Compile fix for Solaris7 with LDAP:
3316
3317	* include/am_defs.h: moved the ldap headers before am_nfs_prot.h
3318	to facilitate using ldap types in it
3319
3320	* conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
3321	definitions that Sun left out of their headers
3322
33232003-10-24  Ion Badulescu  <ionut@moisil.badula.org>
3324
3325	* conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
3326	definitions, they are now defined globally
3327
3328	* libamu/xdr_func.c: unconditionally define all xdr functions
3329	needed for NFSv3, but with an am_ prefix to prevent namespace
3330	collisions
3331
3332	* amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
3333	libamu/mount_fs.c: added the am_ prefix to all
3334	structures and functions having to do with NFSv3 to prevent
3335	namespace collisions
3336
3337	* include/am_utils.h: moved definition of am_nfs_handle to ...
3338
3339	* include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
3340	am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
3341	am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
3342	am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
3343	am_LOOKUP3res here; remove cross-platform compile helper macros
3344	AMU_LOOKUP3RES_*.
3345
3346	* include/am_defs.h: include am_xdr_func.h before am_utils.h to
3347	provide definitions for NFS filehandles
3348
3349	* amd/amd.h: removed declaration for xdr_mountres3
3350
3351	* doc/am-utils.text: minor warning fix
3352
3353	* BUGS: document the autoconf warnings when trying to compile
3354	system header files in isolation
3355
33562003-10-23  Ion Badulescu  <ionut@moisil.badula.org>
3357
3358	* m4/macros/struct_nfs_fh3.m4: removed, not needed
3359
3360	* configure.in: check if struct mounta has the optptr field;
3361	removed all NFSv3-related checks, we implement everything
3362	internally now
3363
3364	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
3365	touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
3366
33672003-10-22  Ion Badulescu  <ionut@moisil.badula.org>
3368
3369	* m4/macros/struct_nfs_fh3.m4: removed, not used anymore
3370
3371	* libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
3372	comments
3373
3374	* configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
3375	always use our own
3376
33772003-10-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3378
3379	* BUGS: document the limitations of bind mounts on Linux
3380
33812003-10-21  Ion Badulescu  <ionut@moisil.badula.org>
3382
3383	* buildall: added support for -i (make install)
3384
33852003-10-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3386
3387	* NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
3388	* INSTALL: Mention its test status.
3389
33902003-10-16  Erez Zadok  <ezk@cs.sunysb.edu>
3391
3392	* amd/ops_nfs.c (nfs_init): declare as static to match forward
3393	definition at top of file.
3394
3395	* conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
3396	added missing definitions for LOOKUP3res, diropargs3, etc.
3397
33982003-10-15  Erez Zadok  <ezk@cs.sunysb.edu>
3399
3400	* libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
3401	libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
3402	(got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
3403	webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
3404	cleanup some inconsistencies with how we treat NFSv3 file handles.
3405	Whenever we need to get data out of a filehandle given to us, we
3406	assume that it uses the OS's native fhandle structure
3407	(often struct nfs_fh3).  When we store the fhandle data for our
3408	own use, however, we store it in one of two ways.  The first, is
3409	that we use the system's default nfs_fh3 structure; the second is
3410	that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
3411	through an elaborate autoconf song-and-dance to "discover" it as a
3412	native fh3 handle structure).  It appears that we do the latter,
3413	instead of using the system's default fhandle structure, simply to
3414	avoid extra malloc's and free's, because whereas nfsv2's fhandle
3415	structure is a simple 32-byte buffer, nfsv3's fhandle structures
3416	often just define a "char *" for the fhandle data, and the caller
3417	must malloc/free the space inside as needed.  Our code was never
3418	written with constructor/destructor callbacks for these nfsv3
3419	filehandles.  Moreover, we carefully wrote our own am_nfs_fh3
3420	structure so IT JUST SO HAPPENS to align with most (hopefully all)
3421	of the fhandle structures for v3: first four bytes are the length
3422	fields and the next four bytes are the fhandle data.  Sigh.
3423	Having this inconsistent use of v3 filehandles can be a real bear,
3424	because we simply cannot avoid using the system's default fhandle
3425	structure indirectly, through things like diropargs3 in
3426	xdr_diropargs3(), which has inside of it a reference to the
3427	system's default nfs_fh3 structure.  ANYWAY, the current fix I've
3428	come up with is to generalize the way we dereference field names
3429	within the nfs_fh3 structure (whether ours or the system's) and
3430	the same for the system's LOOKUP3res structure.  I'm not pleased
3431	with this fix; I'd rather we don't use our own am_nfs_fh3
3432	structure at all.
3433
3434	* libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
3435	function if we have NFS3, because we often use our own,
3436	incompatible am_nfs_fh3 structure.
3437
3438	* include/am_xdr_func.h: We cannot use the native system's
3439	xdr_nfs_fh3 because we are defining our own incompatible
3440	am_hfs_fh3 structure for some systems.
3441
3442	* include/am_xdr_func.h: Define default values for field names of
3443	struct nfs_fh3 and LOOKUP3res.
3444
3445	* doc/am-utils.texi (debug_options Parameter): minor typo fixed.
3446
3447	* conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
3448	names for struct nfs_fh3 and LOOKUP3res, so override the default
3449	names here.
3450
3451	* configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
3452	AMU_STRUCT_NFS_FH3, because the latter depends on the former.
3453
3454	* amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
3455	and clarify if-the-else clauses.
3456
34572003-10-13  Ion Badulescu  <ionut@moisil.badula.org>
3458
3459	* amd/get_args.c (get_version_string): change "Built by" to
3460	"Configured by", and add a new "Built by" line using the variables
3461	below
3462
3463	* m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
3464	BUILD_DATE to build_version.h
3465
3466	* amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
3467	must be initialized even for them, otherwise we lose opt_sublink
3468	(and perhaps other options as well). Report from Rainer Orth.
3469
3470	* amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
3471	pointer dereferencing was a bit too aggressive and could end up
3472	not processing the sublink option if the filesystem was already
3473	mounted.
3474
34752003-10-11  Ion Badulescu  <ionut@moisil.badula.org>
3476
3477	Fix restarted filesystem by disabling the amfs_inherit filesystem
3478	and moving the restarting logic into the generic code. The old
3479	code is still there, will be removed sometime in the near future.
3480
3481	* amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
3482	return the pointer to the restarted filesystem
3483	(free_mntfs): check for the MFF_RESTART flag instead of the
3484	amfs_inherit ops
3485
3486	* amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
3487	filesystem is in use
3488
3489	* amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
3490	filesystem is not being restarted
3491	(amfs_nfsx_remount): if the filesystem is already mounted,
3492	short-circuit the code and just continue
3493
3494	* amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
3495	filesystem is not being restarted; remove hack that was used to
3496	work around an amfs_inherit problem
3497
34982003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3499
3500	Use WebNFS to obtain file handles for mount(2).
3501
3502	* NEWS: Document WebNFS support.
3503
3504	* configure.in: Check for public mount option.
3505	* include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
3506	* doc/am-utils.texi (opts Option): Renamed webnfs to public,
3507	update description.
3508
3509	* amd/amd.h (FSF_WEBNFS): New mntfs flag.
3510	* include/am_utils.h (RPC_XID_WEBNFS): New XID type.
3511
3512	* amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
3513	WebNFS mount/umount attempts.
3514	* amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
3515	(got_nfs_fh_webnfs): New function.
3516	(flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
3517	(prime_nfs_fhandle_cache): Likewise.
3518	Remove unconditional return of public file handle for WebNFS, but
3519	get NFS file handles via mountd or WebNFS instead.
3520	(webnfs_lookup): New function.
3521	(nfs_umounted): Don't inform mountd if MFF_WEBNFS.
3522	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
3523	packets.
3524	* amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
3525	WebNFS servers.
3526	Mention host in info message.
3527	(find_nfs_srvr): Handle public mount option.
3528	Prefer NFSv3/tcp if the client supports it.
3529	Allow port mount option to override default or result from portmap
3530	lookup.
3531
3532	* libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
3533	xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
3534	xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
3535	* include/am_xdr_func.h: Declare them.
3536	* configure.in: Check for them.
3537	* conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
3538	definitions and types.
3539
35402003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3541
3542	Support IRIX 6 private mount option.
3543
3544	* configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
3545	name string.
3546	(AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
3547	* aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
3548	MNT2_NFS_OPT_PRIVATE): Provide templates.
3549	* include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
3550	* doc/am-utils.texi (opts Option): Document it.
3551
35522003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3553
3554	* doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
3555	mount option.
3556
35572003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3558
3559	* libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
3560	Don't reference removed fh3.
3561
35622003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3563
3564	* NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
3565
3566	* INSTALL: Mention test status of various ports.
3567	Describe IRIX 6 autofs status.
3568
35692003-10-09  Ion Badulescu  <ionut@moisil.badula.org>
3570
3571	* NEWS: updated
3572
3573	* amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
3574	we've done all the tests and we know we have a valid and mountable
3575	mntfs. Otherwise we could end up dereferencing null pointers.
3576
3577	* amd/amd.h: fixed a copy&paste comment bug
3578
3579	* amd/am_ops.c (ops_match): minor code cleanup
3580
3581	* doc/am-utils.texi: fixed various typos; added warning about the
3582	racy nature of nfsx; removed duplicated listing of debug options;
3583	added paragraph about signals supported by hlfsd; removed the long
3584	list of (maybe) supported platforms since it duplicates the list
3585	in INSTALL.
3586
35872003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3588
3589	Simplify FD_SET etc. use.
3590
3591	* include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
3592	if missing.
3593	(rpc_pending_now, run_rpc): Use them.
3594	* configure.in: Check for fds_bits field in fd_set.
3595	* amd/nfs_start.c (run_rpc): Use it.
3596
35972003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3598
3599	Improve RPC XID handling.
3600
3601	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
3602	Convert xid to/from host/network byte order.
3603
36042003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3605
3606	Use NFS V2/V3 file handles instead of mount results.
3607
3608	* include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
3609	only, not MOUNTPROC_MNT results.
3610	* amd/amfs_host.c (fetch_fhandle): Use local variables to store
3611	MOUNTPROC_MNT results.
3612	* amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
3613	* amd/ops_nfs.c (struct fh_cache): New member fh_status.
3614	(got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
3615	Store MOUNTPROC_MNT errors in fh_status.
3616	(prime_nfs_fhandle_cache): Get fh_error from fh_status.
3617	* hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
3618	* libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
3619	handles straight from new am_nfs_fhandle_t.
3620
36212003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3622
3623	* amd/clock.c (CID_ALLOC): Remove unused argument.
3624	(timeout): Likewise.
3625
3626	* amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
3627	(prime_nfs_fhandle_cache): Likewise.
3628	(call_mountd): Use UDPMSGSIZE instead of magic constant.
3629
3630	* amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
3631	(fwd_packet): Likewise.
3632	Handle TLOOK error from t_rcvudata().
3633
36342003-09-30  Ion Badulescu  <ionut@moisil.badula.org>
3635
3636	* NEWS: updated
3637
3638	* libamu/mount_fs.c (mount_fs): don't try to recreate the mount
3639	point if the mount fails with ENOENT: in the best case we would be
3640	papering over a bug, and in the worst case we could cause a
3641	deadlock (with autofs). If there are races, they need to be
3642	exposed and fixed properly.
3643
3644	* conf/autofs/autofs_solaris_v1.h,
3645	  conf/autofs/autofs_solaris_v2_v3.h,
3646	  conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
3647	semantics don't allow us to mount nfsx directly onto an autofs
3648	mountpoint, so disallow it
3649
3650	* amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
3651	to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
3652	map entries...
3653	(amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
3654	in the upper layer, so don't do anything else beside wakeup() on
3655	success
3656	(amfs_nfsx_remount): only create the mountpoints as we need them,
3657	avoids creating them on the wrong filesystem in the case of
3658	hierarchical mounts; fix crash-generating typo (m should really be
3659	mf and I swear I hate single-character variable names)
3660
3661	* amd/amfs_generic.c (amfs_cont): one more dlog
3662	(amfs_bgmount): amazingly enough, even foreground mounts can be
3663	backgrounded (in the case of nfsx), so account for this
3664	possibility and permit retries
3665
3666	* m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
3667	and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
3668
3669	* amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
3670	@AMU_AUTOFS_PROT_HEADER@
3671
36722003-09-29  Erez Zadok  <ezk@urd.fsl.cs.sunysb.edu>
3673
3674	* minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
3675	PlayStation 2)
3676
3677	* amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
3678	"char protocols[]" unless MNTTAB_OPT_PROTO is defined.
3679
36802003-09-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3681
3682	Consolidate alloca support.
3683
3684	* amd/amq_svc.c: Move alloca support ...
3685	* include/am_defs.h: ... here.
3686	* amd/conf_parse.y: Remove alloca support.
3687	* fsinfo/fsi_gram.y: Likewise.
3688
36892003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3690
3691	Handle Solaris 10.
3692	* m4/macros/check_nfs_prot_headers.m4
3693	(AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
3694	sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
3695	Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
3696
3697	* m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
3698	solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
3699	micro releases to cope with Solaris 2.5.1.
3700	Explicitly match solaris2*, sunos5*.
3701
37022003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3703
3704	* amd/amq_svc.c: Provide alloca prerequisites.
3705
3706	* conf/transp/transp_tli.c (register_autofs_service): Fix typo.
3707
37082003-09-23  Ion Badulescu  <ion@opteron.tower-research.com>
3709
3710	* minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
3711	Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
3712
37132003-09-22  Ion Badulescu  <ionut@buggy.badula.org>
3714
3715	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
3716
37172003-09-19  Ion Badulescu  <ionut@moisil.badula.org>
3718
3719	* amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
3720	enough, we should lstat() the sublink if it's defined.
3721	(amfs_nfsl_ffserver): ditto
3722	(ALL): Removed some obsolete comments. The nfsl code is now little
3723	more than a very straight-forward switch between link and nfs.
3724
3725	* amd/amfs_link.c (amfs_link_match): more up-to-date explanation
3726	for the prepend-the-dot hack for type link; also, the sublink is
3727	already normalized and absolute, so take advantage of that
3728
3729	* amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
3730	already normalized and absolute, so take advantage of that
3731
3732	* amd/am_ops.c (ops_match): normalize the sublink here, early into
3733	the matching process
3734
3735	* amd/autil.c (am_mounted): be consistent and accept both
3736	"nounmount" and "noumount" as pseudo mount options (same as
3737	"unmount" and "umount" nearby)
3738
3739	* amd/Makefile.am (build_version.h): fixed dependencies (depends
3740	on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
3741
37422003-09-19  Erez Zadok  <ezk@dhcp8.fsl.cs.sunysb.edu>
3743
3744	* amd/amq_subr.c (amqproc_export_1_svc): force double casting to
3745	avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
3746	type-punned pointer will break strict-aliasing rules".
3747
37482003-09-16  Ion Badulescu  <ionut@moisil.badula.org>
3749
3750	* Released beta version 6.1b4
3751
37522003-09-15  Ion Badulescu  <ionut@moisil.badula.org>
3753
3754	* doc/am-utils.texi (opts Option): removed documentation for old
3755	ignore_portmapper mount option, documented the new webnfs option
3756
3757	* NEWS: webnfs support
3758
3759	* amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
3760	(former "ignore_portmapper") mount option is present
3761
3762	* amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
3763	filehandle (all zeros) if MFF_WEBNFS is set
3764	(nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
3765
3766	* amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
3767
37682003-09-13  Ion Badulescu  <ionut@moisil.badula.org>
3769
3770	* amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
3771	NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
3772	to create_ping_payload; renamed nfs_pinged to
3773	nfs_keepalive_callback; renamed nfs_timed_out to
3774	nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
3775	made ping_buf and ping_len arrays with one element for each
3776	supported nfs version
3777
3778	* amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
3779
3780	* amd/amfs_host.c (amfs_host_init): ditto
3781
3782	* amd/ops_nfs.c (call_mountd): ditto
3783
37842003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3785
3786	* BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
3787	patches.
3788
37892003-08-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3790
3791	* amd/autil.c (strealloc): don't call malloc_verify() unless it
3792	exists.
3793
3794	* configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
3795	after we figure out PROG_CC and other compiler features, because
3796	some of the option processing macros need a compiler to function.
3797
3798	* libamu/xutil.c: don't define variables that won't be used unless
3799	mallinfo() and malloc_verify() exist.
3800	(real_plog): don't call checkup_mem unless
3801	mallocinfo() and malloc_verify() exist.
3802	(checkup_mem): don't define this function unless mallocinfo() and
3803	malloc_verify() exist.
3804
3805	* m4/macros/opt_debug.m4: check for functions malloc_verify and
3806	mallinfo in general libraries and then in libmapmalloc and
3807	libmalloc.  These seem to have disappeared in FreeBSD 5.x.
3808
3809	* libamu/xutil.c (dxfree): print pointer using %p
3810
38112003-08-29  Erez Zadok  <ezk@a-opendarwin.fsl.cs.sunysb.edu>
3812
3813	* configure.in: start 6.1b4-pre officially (belated)
3814
3815	* minor new port: i686-apple-darwin6.6
3816
38172003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3818
3819	* conf/autofs/autofs_solaris_v1.c: convert relative targets to
3820	absolute paths when using lofs mounts
3821
3822	* conf/autofs/autofs_solaris_v2_v3.c: ditto
3823
3824	* conf/autofs/autofs_linux.c: ditto
3825
38262003-08-27  Ion Badulescu  <ionut@buggy.badula.org>
3827
3828	* README.autofs: added a paragraph about the resource consumption
3829	of auto maps over autofs
3830
3831	* amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
3832	the MFF_IS_AUTOFS flag from init_mntfs() to
3833	amfs_lookup_one_mntfs(), where it belongs
3834
3835	* amd/mntfs.c (init_mntfs): ditto
3836
38372003-08-27  Ion Badulescu  <ion@guppy.limebrokerage.com>
3838
3839	* amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
3840	denied a filehandle by the server (used to be EIO)
3841
38422003-08-27  Erez Zadok  <ezk@a-bsdi42.fsl.cs.sunysb.edu>
3843
3844	* conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
3845
38462003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3847
3848	* conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
3849	daemon-initiated timeouts on autofs filesystems, since apparently
3850	they appear as "always busy" to the kernel-based expiration routine
3851
38522003-08-26  Ion Badulescu  <ionut@buggy.badula.org>
3853
3854	* NEWS: updated
3855
3856	* conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
3857	FS_ON_AUTOFS
3858	(AUTOFS_LINKX_FS_FLAGS): ditto
3859
3860	* conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
3861	FS_ON_AUTOFS
3862	(AUTOFS_LINKX_FS_FLAGS): ditto
3863
3864	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
3865	FS_ON_AUTOFS
3866	(AUTOFS_LINKX_FS_FLAGS): ditto
3867
3868	* amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
3869	original opt_fs, instead store the new mount point for autofs in a
3870	temporary variable and pass it around. Fixes a problem with the
3871	link side of nfsl.
3872
38732003-08-25  Ion Badulescu  <ionut@moisil.badula.org>
3874
3875	* NEWS: updated
3876
3877	* amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
3878	initialize the fh_wchan member of the cache entry
3879	(prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
3880	argument of call_mountd()
3881
3882	* amd/map.c (free_map_if_success): use get_mntfs_wchan for the
3883	wchan_t argument of wakeup()
3884
3885	* amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
3886	wchan_t argument of wakeup_task() and wakeup()
3887
3888	* amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
3889	wchan_t argument of nfs_srvr_port()
3890
3891	* amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
3892	argument of sched_task() and wakeup()
3893	(amfs_retry): minor cleanup
3894	(amfs_bgmount): call nfs_quick_reply on failure
3895
3896	* amd/sched.c (get_mntfs_wchan): new function which calls the
3897	member function get_wchan if defined, otherwise returns the mntfs
3898	pointer itself
3899
3900	* amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
3901	calls get_mntfs_wchan() on the inherited filesystem
3902
3903	* amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
3904	of the ops to 0
3905
3906	* amd/amd.h: new function type vget_wchan
3907	(struct mntfs): new member get_wchan which returns the waiting
3908	channel associated with the mntfs (normally itself)
3909
39102003-08-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3911
3912	* conf/mount/mount_linux.c (parse_opts): minor cleanup
3913
3914	* conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
3915	break in case autofs_ptype_expire_multi
3916
39172003-08-22  Ion Badulescu  <ionut@moisil.badula.org>
3918
3919	* conf/autofs/autofs_solaris_v1.h: undefine autofs support if
3920	autofs_args_t cannot be determined (hopefully fixes a reported
3921	IRIX 6.5.4 problem).
3922
3923	* conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
3924	HAVE_FS_AUTOFS / #endif (see above)
3925
3926	* conf/autofs/autofs_linux.h: undefine autofs support if the
3927	necessary header files are not found (fixes a reported RedHat 6.2
3928	Sparc problem).
3929
3930	* conf/autofs/autofs_linux.c: wrap entire file in #ifdef
3931	HAVE_FS_AUTOFS / #endif (see above)
3932
3933	* libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
3934	if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
3935
3936	* amd/map.c (unmount_mp, unmount_exported): move the code that
3937	changes the fattr from NFLNK to NFDIR from unmount_mp to
3938	unmount_exported, it was causing troubles (ESTALE) after failed
3939	unmounts. This is still very very unclean, but it's the same as the
3940	old 6.0 code.
3941
39422003-08-22  Nick Williams <Nick.Williams@morganstanley.com>
3943
3944	* amd/info_ldap.c (amu_ldap_init): don't try to pass a null
3945	pointer as a string to plog, Solaris (and other OS's) don't like
3946	it and will dump core.
3947
39482003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
3949
3950	* amd/amd.h: introduced two new types, wchan_t and opaque_t, as
3951	aliases of voidp. This makes reading the code easier on the eyes. :)
3952
3953	* ALL: replace various instances of voidp with wchan_t and
3954	opaque_t, as appropriate
3955
39562003-08-13  Ion Badulescu  <ionut@nicu.badula.org>
3957
3958	* NEWS, configure.in: bumped version up to 6.1b4-pre
3959
39602003-08-13  Ion Badulescu  <ionut@moisil.badula.org>
3961
3962	* Released beta version 6.1b3
3963
39642003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
3965
3966	* conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
3967	symlinks for host mounts; assorted fixes for the symlink mode
3968
39692003-08-05  Ion Badulescu  <ionut@moisil.badula.org>
3970
3971	* conf/umount/umount_default.c (umount_fs): enable space hack
3972	handling for autofs v1
3973
3974	* amd/map.c (get_first_exported_ap, get_next_exported_ap): new
3975	functions that facilitate iterating through the list of
3976	mountpoints
3977
3978	* amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
3979	and get_next_exported_ap
3980
3981	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
3982
39832003-08-04  Erez Zadok  <ezk@ulkesh.dyn.optonline.net>
3984
3985	* configure.in: check if system stores mount tables in files
3986	(usually in /etc), and configure couldn't find a definition for
3987	either struct mntent or struct mnttab.  If so, abort configure
3988	because this could be a new/misconfigured system, or a bug in
3989	am-utils.
3990
39912003-08-04  Ion Badulescu  <ionut@moisil.badula.org>
3992
3993	* conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
3994	compile warning
3995
39962003-08-04  Ion Badulescu  <ionut@buggy.badula.org>
3997
3998	* conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
3999	ops->mount_fs() for an already mounted filesystem
4000	(autofs_umount_fs): only call ops->umount_fs() if we're holding
4001	the last reference to the filesystem
4002
4003	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4004	(autofs_umount_fs): ditto
4005
4006	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4007	(autofs_umount_fs): ditto
4008
4009	* amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
4010	already-mounted filesystems
4011	(amfs_cont): only release the autofs_fh if the filesystem is not
4012	mounted; add another comment about the NFS_SCALEDOWN hack
4013	(amfs_bgmount): if the mntfs is already mounted, skip just the
4014	filesystem initialization, but do call mount_node()
4015
4016	* amd/map.c (mount_node): always call autofs_mount_fs(), but only
4017	call ops->mount_fs() if the mntfs is not yet mounted
4018	(unmount_node): always call autofs_umount_fs(), but only call
4019	ops->umount_fs() if the refcount on the mntfs equals 1.
4020
40212003-08-02  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4022
4023	* conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
4024	here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
4025	define dummy struct netexport, and include <ufs/ufs/extattr.h>
4026	wrapped in _KERNEL).
4027
4028	* conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
4029	here with the proper workarounds for freebsd5.1 (define dummy
4030	struct ufs_extattr_per_mount).
4031
4032	* conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
4033	here with the proper workarounds for bsdi2 (define MAXQUOTAS and
4034	dummy struct netexport).
4035
4036	* include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
4037	here, b/c every *BSD system has some sort of problem in including
4038	this header file, which includes ugly workarounds.  Inclusion of
4039	this header was already moved out of am_defs.h (used to compile
4040	amd), but we forgot to move it out of mount_headers1.h (used to
4041	configure).  The specific inclusion of ufsmount.h is now in the OS
4042	specific nfs_prot.h file.
4043
4044	* configure.in: if configure could not find any definition for
4045	"struct nfs_args", abort configure with an explanatory message.
4046	There's no point in continuing, as this could be a system bug,
4047	buggy am-utils, or a new system to which am-utils wasn't ported to
4048	yet.
4049
4050	* minor new port: i386-pc-solaris2.9
4051
40522003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4053
4054	* doc/am-utils.texi (NFS-Link Filesystem): make the documentation
4055	match the code (as well as basic logic operations: the negation of
4056	'a or b' is 'not a and not b', not 'not a or not b')
4057
40582003-08-01  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4059
4060	* minor new port: i386-unknown-openbsd3.3.
4061
4062	* m4/macros/check_libwrap_severity.m4: new macro to check if
4063	libwrap includes the integer variables deny_severity and
4064	allow_severity, since some libwrap implementations do and others
4065	don't.  The test tries to compile and run a simple empty main()
4066	program, then the same program while defining these two variables:
4067	comparing the results of the two tests, we can tell whether we
4068	should define NEED_LIBWRAP_SEVERITY_VARIABLES.
4069
4070	* Makefile.am (EXTRA_DIST_M4): distribute new macro
4071	check_libwrap_severity.m4.
4072
4073	* m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
4074	we must define explicitly since we've overridden the
4075	action-if-found in AC_CHECK_LIB(wrap).  Also template for
4076	NEED_LIBWRAP_SEVERITY_VARIABLES.
4077
4078	* amd/amq_svc.c: if libwrap does not include the severity
4079	variables, then define and initialize them here.
4080
4081	* amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
4082	Amd binary.  Other am-utils binaries don't need -lwrap.
4083
4084	* configure.in: if libwrap is found, only define it in @WRAPLIB@,
4085	so we don't automatically link every am-utils binary with -lwrap.
4086	Run test for existence of severity variables in libwrap.
4087
40882003-07-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4089
4090	* conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
4091	and gid.
4092
4093	* configure.in: move check for AC_CHECK_LIB(libwrap) as far down
4094	as possible because on modern tcpwrapper systems such as openbsd,
4095	the caller must provide two symbols: deny_severity and
4096	allow_severity, which determine the logging level of rejected and
4097	requested requests, respectively.  If this check happens too
4098	early, then $LIBS includes -lwrap, which causes many subsequent
4099	tests that need to run a compiled program to fail with missing
4100	symbols.
4101
4102	* m4/macros/header_templates.m4: fix typo in template for
4103	readdirplus.
4104
4105	* configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
4106
4107	* minor new port: i386-unknown-netbsdelf1.6.1.
4108
4109	* configure.in: save state before system-specific tests are run.
4110
4111	* m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
4112	because the compiled test program failed to run.
4113
41142003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4115
4116	* NEWS, README.autofs: updated
4117
4118	* libamu/mount_fs.c (mount_fs): added support for the space hack
4119
4120	* doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
4121	are not expired by default; correct and expand the section
4122	describing the program filesystem
4123
4124	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
4125	FS_ON_AUTOFS for supported filesystems
4126
4127	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
4128	mf->mount_fs()
4129	(autofs_umount_fs): call mf->umount_fs()
4130
4131	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
4132	prototype for malloc()
4133	(AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
4134	supported filesystems
4135
4136	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
4137	for the space hack; call mf->mount_fs()
4138	(autofs_umount_fs): add support for the space hack; call
4139	mf->umount_fs()
4140	(autofs_mount_succeeded): add support for the space hack
4141
4142	* conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
4143	FS_ON_AUTOFS for supported filesystems
4144
4145	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
4146	AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
4147	(autofs_mounted): host mounts are now supported on all autofs
4148	versions, remove the hack to turn it off on v3
4149	(autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
4150	as needed
4151	(autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
4152	success
4153	(ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
4154	'#ifdef autofs_ptype_expire_multi'
4155
4156	* amd/map.c (mount_node): autofs_mount_fs() now calls
4157	mf->mount_fs() internally
4158	(unmount_node): autofs_umount_fs() now calls mf->umount_fs()
4159	internally
4160
4161	* amd/autil.c (am_mounted): minor cleanup
4162
4163	* amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
4164	nfs_fs_flags
4165
4166	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
4167	flag instead of hardcoding filesystem types
4168	(amfs_bgmount): better mount_type logging
4169
4170	* amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
4171	this filesystem can be mounted directly onto an autofs mountpoint
4172
41732003-07-31  Ion Badulescu  <ionut@buggy.badula.org>
4174
4175	* amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
4176	calling amfs_link_ops.umount_fs() for NFS filesystems)
4177	(amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
4178	properly elsewhere
4179	(amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
4180	using link (not NFS)
4181
41822003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4183
4184	* README.autofs: Correct IRIX spelling.
4185	AutoFS support exists only on IRIX 6.
4186	Update IRIX 6 status.
4187
4188	Allow AutoFS V1 support to compile on IRIX 6.
4189	* conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
4190	SVCXPRT * arg.
4191	Remove superfluous \n from dlog messages.
4192	(autofs_unmount_1_req): Likewise.
4193	Switch to get_exported_ap.
4194	(autofs_program_1): Invoke handlers with additional transp arg.
4195	* conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
4196	autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
4197
4198	* conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
4199	AutoFS mounts.
4200	[HAVE_FS_LOFS]: Likewise for lofs mounts.
4201
4202	* conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
4203	Don't disable AutoFS support any more.
4204
4205	* conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
4206	(register_autofs_service): Define autofs_xprt.
4207
4208	* m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
4209	Solaris 8+ comment to mention AutoFS V4.
4210	(irix6*): Enable AutoFS V1 support on IRIX 6.
4211
42122003-07-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4213
4214	* NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
4215	of autofs_use_lofs.
4216
42172003-07-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4218
4219	* amd/ops_efs.c (efs_mount): Replace on_autofs arg with
4220	MFF_ON_AUTOFS flag.
4221	(efs_umount): Likewise.
4222
42232003-07-30  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4224
4225	* conf/umount/umount_bsd44.c (umount_fs): convert to new way of
4226	unmounting which takes autofs into account.
4227
42282003-07-30  Ion Badulescu  <ionut@moisil.badula.org>
4229
4230	* ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
4231	hack; pass a new on_autofs argument to mount/umount function,
4232	based on the MFF_ON_AUTOFS mntfs flag
4233
4234	* NEWS, README.autofs: updated
4235
4236	* scripts/amd.conf.5: document new option autofs_use_lofs
4237
4238	* scripts/amd.conf-sample (autofs_use_lofs): document new option
4239
4240	* m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
4241	the autofs header as amu_autofs_prot.h instead of slurping it into
4242	aux_conf.h
4243
4244	* libamu/mount_fs.c (mount_fs): removed old stub, renamed
4245	mount_fs2 to mount_fs, added new argument on_autofs
4246
4247	* doc/am-utils.texi (Direct Automount Filesystem): document
4248	problems with nfs direct mounts on modern kernels, document good
4249	autofs support for direct mounts on Solaris
4250	(autofs_use_lofs Parameter): document this new option
4251	(browsable_dirs Parameter): note that mount storms are avoided
4252	when using autofs
4253
4254	* conf/umount/umount_bsd44.c (umount_fs): removed old stub,
4255	renamed umount_fs2 to umount_fs
4256
4257	* conf/umount/umount_osf.c (umount_fs): removed old stub,
4258	renamed umount_fs2 to umount_fs, added new argument on_autofs
4259
4260	* conf/umount/umount_default.c (umount_fs): ditto as above; return
4261	an error on ENOENT instead of faking success
4262
4263	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
4264	simplified, now only consults the map for existance of the key and
4265	returns success if key is found
4266	(autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
4267	not on;
4268	(autofs_mount_2_free): implemented
4269	(autofs_unmount_2_req): use get_exported_ap() instead of
4270	referencing export_ap directly
4271	(autofs_mount_succeeded): remove code for replying to lookup
4272	requests, now only mount requests can end up here
4273	(autofs_mount_failed): ditto
4274
4275	* conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
4276	FS_AUTOFS
4277	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4278
4279	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
4280	FS_AUTOFS
4281	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4282	(AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
4283
4284	* conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
4285	factored out of autofs_umount_fs()
4286	(autofs_mount_fs): renamed from autofs_link_mount() and expanded
4287	to deal with filesystems mounted indirectly (via lofs/bind
4288	mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
4289	(autofs_umount_fs): ditto, from autofs_link_umount()
4290
4291	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4292	* (autofs_umount_fs): ditto
4293
4294	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4295	* (autofs_umount_fs): ditto
4296
4297	* amd/opts.c: made fs_static static
4298
4299	* amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
4300	and nfs_umounted static
4301	(mount_nfs_fh): removed unnecessary arguments
4302
4303	* amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
4304	the ffserver method, because using NULL causes problems
4305
4306	* amd/ops_cdfs.c (cdfs_ops): ditto
4307
4308	* amd/ops_efs.c (efs_ops): ditto
4309
4310	* amd/ops_lofs.c (lofs_ops): ditto
4311
4312	* amd/ops_pcfs.c (pcfs_ops): ditto
4313
4314	* amd/ops_ufs.c (ufs_ops): ditto
4315
4316	* amd/ops_xfs.c (xfs_ops): ditto
4317
4318	* amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
4319	map.c
4320
4321	* amd/nfs_start.c: use get_exported_ap() instead of referencing
4322	exported_ap directly
4323
4324	* amd/mntfs.c (locate_mntfs): new function, factored out of
4325	find_mntfs
4326	(locate_mntfs): special-case FS_DIRECT filesystems: for direct
4327	mounts we will have two filesystems mounted on the same m/p
4328	(realloc_mntfs): removed the old EZK hack for failovers
4329
4330	* amd/map.c (get_exported_ap): new function that returns an
4331	exported_ap member by its index
4332	(root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
4333	made static
4334	(fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
4335	(get_root_ap): removed unused second argument
4336	(unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
4337	to catch more cases
4338	(mount_node): call autofs_mount_fs after ops->mount_fs for autofs
4339	nodes
4340	(unmount_node): call autofs_umount_fs before ops->umount_fs for
4341	autofs nodes
4342
4343	* amd/conf.c: new global option "autofs_use_lofs", takes yes/no
4344	values
4345
4346	* amd/autil.c (amfs_mount): take an extra argument (mf)
4347	(amfs_mount): call autofs_compute_mount_flags() for mounts
4348	directly on autofs m/p
4349	(am_unmounted): document and avoid the race between am_umounted()
4350	at shutdown time and amfs_cont()
4351
4352	* amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
4353	instead of referencing internal map variables directly
4354
4355	* amd/amq_subr.c (amqproc_export_1_svc): ditto
4356
4357	* amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
4358	nfs_fs_flags
4359	(amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
4360	(amfs_toplvl_umount): refuse to attempt the unmount if the
4361	mountpoint is not a directory
4362
4363	* amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
4364	flag into the nfs f/s at the bottom of the stack
4365
4366	* amd/amfs_nfsl.c: call nfs and link member functions through
4367	their respective am_ops structures, not directly
4368
4369	* amd/amfs_linkx.c (amfs_linkx_umount): new static stub
4370
4371	* amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
4372	static functions
4373	(amfs_link_mount): removed call to autofs_link_mount()
4374	(amfs_link_umount): removed call to autofs_link_umount()
4375
4376	* amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
4377	nfs_fs_flags
4378	(do_mount): removed superfluous function arguments
4379
4380	* amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
4381	nfs_fs_flags
4382
4383	* amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
4384	nfs_fs_flags
4385	(amfs_auto_mount): pass extra argument (mf) to amfs_mount
4386
4387	* amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
4388	use lofs-mounts or symlinks when mounting on autofs
4389	(CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
4390	(VLOOK_LOOKUP): new flag, will merely check if a key exists
4391	(MFF_IS_AUTOFS): renamed from MFF_AUTOFS
4392	(MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
4393	on an autofs m/p, or indirectly via a lofs mount/symlink
4394	(fh_to_mp2): macro expanded throughout the code and removed
4395	(mntfs): removed mf_real_mount hack
4396	(autofs_mount_fs): renamed from autofs_link_mount
4397	(autofs_umount_fs): renamed from autofs_link_umount
4398	(mount_lofs): exposed
4399	various other cleanups, functions/variables made static and removed
4400
4401	* aux_conf.h.in: removed @am_utils_autofs_style@, it is now
4402	included directly as amu_autofs_prot.h
4403
44042003-07-24  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4405
4406	* doc/am-utils.texi, scripts/amd.conf.5: document that
4407	use_tcpwrappers is "yes" by default.
4408
4409	* amd/amd.c (init_global_options): set default global options.
4410
4411	* amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
4412	are always on (plock and use_tcpwrappers).
4413
4414	* scripts/amd.conf-sample: reorganize values per option so default
4415	one is listed first.
4416
44172003-07-23  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4418
4419	* tasks: trim old stuff.  Discuss new parser.
4420
4421	* amd/conf.c (set_conf_kv): initialize the very first map in conf
4422	file from global defaults.  Bug fix which was introduced after
4423	conf.c code restructuring.
4424
44252003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4426
4427	* m4/macros/header_templates.m4: template for
4428	HAVE_EXTERN_HOSTS_CTL.
4429
4430	* include/am_defs.h: define extern for hosts_ctl() if needed.
4431
4432	* configure.in (AMU_CHECK_EXTERNS): check for extern definition
4433	for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
4434
4435	* m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
4436
44372003-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
4438
4439	* hlfsd/hlfsd.h: redundant extern for mboxfile removed.
4440
4441	* amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
4442	amd.conf global option use_tcpwrappers=yes.
4443
4444	* scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
4445	doc/am-utils.texi (use_tcpwrappers Parameter): document new
4446	amd.conf global option.
4447
4448	* amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
4449	option called use_tcpwrappers ("no" by default).
4450
4451	* amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
4452	code only if both libwrap and tcpd.h exist.
4453	(amq_program_1): log warning when an Amq service client is denied,
4454	and a debug message when a client is allowed.
4455
4456	* amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
4457	(AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
4458
4459	* include/am_defs.h: include tcpd.h if available and libwrap
4460	available.
4461
4462	* configure.in: check for tcpd.h.
4463
44642003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4465
4466	* scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
4467	hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
4468	because it removes useful spaces in between paragraphs.  Based on
4469	smaller patch from Philippe Troin <phil@fifi.org>.
4470
44712003-07-17  Philippe Troin  <phil@fifi.org>
4472
4473	* amq/amq.8: Document the libwrap/amd behavior.
4474
4475	* amd/amq_svc.c (libwrap_check_client): New function to validate
4476	an amq connection with libwrap.
4477	(amq_program_1): Call libwrap_check_client() and close the
4478	connection if libwrap does not allow it.
4479
4480	* configure.in: Check for the tcp wrappers library.
4481
44822003-07-17  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4483
4484	* amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
4485	amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
4486	(hlfsd_init): cast pointers to void* before casting them to
4487	another type, to avoid gcc-3.3 -Wall warnings.
4488
4489	* fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
4490	avoid conflict with builtin function in gcc-3.3.
4491
44922003-07-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4493
4494	* scripts/amd.conf-sample: Remove obsolete comment.
4495
44962003-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
4497
4498	* amd/info_file.c (read_line): check for errors from fgets().
4499	Although rare, they can occur upon disk or network failures.
4500	Patch from Nick Williams <Nick.Williams@morganstanley.com>.
4501
45022003-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4503
4504	* BUGS (Solaris 8): Update patch revisions, mention old autofs
4505	patches, fix filenames and rpcgen command.
4506
45072003-07-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4508
4509	* doc/am-utils.texi (map_defaults Parameter): document new
4510	map_defaults option.
4511
4512	* scripts/amd.conf.5: document new map_defaults option.
4513
4514	* scripts/amd.conf-sample (map_type): show examples of new
4515	map_defaults option.
4516
4517	* amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
4518
4519	* amd/get_args.c (get_args): call process_all_regular_maps().
4520
4521	* amd/conf.c: keep head and tail of cfm list.
4522	(init_cf_map): reworked reset_cf_map.  This one doesn't reset a
4523	globaly reused cfm, but rather just inherits [global] options.
4524	(set_conf_kv): just store global/map options without actually
4525	creating any mnt_map's.  Essentially, we now parse the whole
4526	amd.conf file, and then try to process the maps one at a time.
4527	(process_one_regular_map): new function to process one map, just
4528	renamed from process_regular_map.
4529	(process_all_regular_maps): new exported function to process all
4530	maps.  No need for hacky process_last_map().
4531	(find_cf_map): new exported function to return a cf_map_t given a
4532	map's mount point (e.g., /home or /net).
4533
4534	* amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
4535	specificed a map_defaults for a given map.  If so, use that
4536	instead of the /defaults that came from the map itself.  Also
4537	restructure code a bit so it's not one huge long "if" statement.
4538
4539	HACK ALERT: there's no easy way to find out what the map mount
4540	point is at this point, so I am forced to initialize the
4541	mnt_map->cfm field here for the first time, upon the very first
4542	search for a /defaults entry in this map.  This initialization is
4543	much better done in mapc_create(), but it's impossible to do that
4544	there with the current code structure.
4545
4546	* amd/amd.h: struct cf_map becomes linked list.  struct mnt_map
4547	includes pointer to cf_map_t, amd.conf defaults and options for a
4548	given map. extern cleanups.
4549
45502003-07-15  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4551
4552	* amd/info_hesiod.c (hesiod_search): It's not possible to have a
4553	key such as ".access" in a hesiod map as that would imply a null
4554	node in the DNS tree.  So a lookup for such a key must clearly
4555	fail.  With the current info_hesiod.c it does (after calling
4556	hes{,iod}_resolve) but returns an error that confuses some
4557	programs - eg. apache.  This patch shortcuts the process and just
4558	returns ENOENT for any key starting with ".".  Patch submitted by
4559	by Mark Davies <mark@mcs.vuw.ac.nz>.
4560
4561	* include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
4562	fsinfo's own xcalloc.
4563
4564	* fsinfo/fsi_util.c (xcalloc): remove redundant function.
4565
45662003-07-14  Erez Zadok  <ezk@cs.sunysb.edu>
4567
4568	* include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
4569	xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
4570	never defined.  Define it as needed.  Patch from Mark Davies
4571	<mark@mcs.vuw.ac.nz>.
4572
45732003-07-14  Ion Badulescu  <lionut@gonzales.badula.org>
4574
4575	* BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
4576	v4 without updating all the header files)
4577
45782003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4579
4580	* NEWS, tasks: updated
4581
4582	* amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
4583	the am_mfarray, unconditionally
4584	(amfs_bgmount): call free_mntfs when we're done with a mntfs, call
4585	dup_mntfs when starting processing of a new one; make sure we
4586	always go through 'goto failed' for a failed mntfs; use the error
4587	code returned by autofs_get_fh()
4588
4589	* conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
4590	codes in case of problems
4591
45922003-07-13  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4593
4594	* BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex.  In
4595	short, use flex.
4596
45972003-07-13  Erez Zadok  <ezk@a-hpux11.fsl.cs.sunysb.edu>
4598
4599	* fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
4600	lex scanners don't run out of mem.
4601
46022003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4603
4604	* amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
4605	special provision
4606
4607	* amd/mntfs.c (find_mntfs): compare the filesystem type
4608	(i.e. mf_ops) in addition to mf_info; the special provision
4609	mentioned below is really for any filesystem already mounted on
4610	our mount point, not just for inherited filesystems
4611
46122003-07-13  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4613
4614	* doc/Makefile.am (install-html): build per-chapter HTML manual,
4615	as well as manual in one big HTML file.
4616
4617	* doc/am-utils.texi: Minor corrections.  Ack Ion's autofs work.
4618	Ack maintainers.  New section on How to get additionl info,
4619	including the Amd book.  Correct stale URLs and Emails.
4620
4621	* amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
4622	fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
4623	scripts/amd.conf.5, scripts/automount2amd.8,
4624	wire-test/wire-test.8: include references to info pages, proper
4625	authors, am-utils Web page, and amd book.
4626
46272003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4628
4629	* amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
4630	a special provision for inherited filesystems. This unbreaks the
4631	handling of parallel mounts
4632
4633	* amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
4634	filesystems, there can be no alternative mntfs to try to mount
4635
46362003-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
4637
4638	* amd/amd.8: reference am-utils info page in amd man page, as per
4639	Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
4640
4641	* fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
4642	yywrap() if it doesn't exist.
4643
4644	* amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
4645	fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
4646	newer flex 2.5.31 (beta development).  These include resolving
4647	conflicts with yylineno, unput() vs. nounput(), etc.
4648
46492003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4650
4651	* amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
4652	calling assign_error_mntfs()
4653	(amfs_generic_mount_child): ditto
4654
4655	* amd/autil.c (assign_error_mntfs): move the check for
4656	(am_error > 0) up into the caller, it's less confusing that way
4657
4658	* tasks: some updates
4659
4660	* conf/transp/transp_tli.c (check_pmap_up): new function which
4661	detects if the remote portmapper is functional
4662	(amu_clnt_create_best_version): removed
4663	(get_nfs_version): use a much simplified version of the old
4664	amu_clnt_create_best_version(), based on clnt_create_vers() and
4665	its _timed() counterpart
4666
4667	* conf/transp/transp_sockets.c (check_pmap_up): new function which
4668	detects if the remote portmapper is functional
4669	(pmap_ping): deleted
4670	(get_nfs_version): removed calls to pmap_ping, already done by
4671	caller
4672
4673	* amd/srvr_nfs.c: call check_pmap_up() before continuing with
4674	get_nfs_version()
4675
4676	* amd/amfs_generic.c: updated a couple of log messages
4677
4678	* configure.in: detect clnt_create_vers and clnt_create_vers_timed;
4679	changed LIBTOOL versioning to 3:0:0
4680
46812003-07-12  Ion Badulescu  <lionut@gonzales.badula.org>
4682
4683	* conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
4684	FS_AUTOFS because the host mount cannot be a top level mount
4685	(AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
4686	doesn't support direct mounts
4687
46882003-07-12  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4689
4690	* amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
4691	macros.
4692
46932003-07-10  Ion Badulescu  <ionut@buggy.badula.org>
4694
4695	* include/am_utils.h (dlog): improved version for gcc, using
4696	vararg macros
4697
4698	* amd/rpc_fwd.c (fwd_packet): unused variable when compiling
4699	without debugging
4700
47012003-07-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4702
4703	* include/am_utils.h (dlog): change the #define of non-debugging
4704	dlog to "nothing" so that all that'll be left behind is a list of
4705	args in parenthesis (arg,arg,...).  GCC and other native C
4706	compilers seem OK with it, even if it doesn't optimize away the
4707	whole debugging line.
4708
4709	* ltmain.sh: was from libtool 1.4.2.  updated to libtool 1.4.3,
4710	the latest on RH9 systems (but is not the latest libtool
4711	available).  Stay with stable version in preparation for 6.1
4712	release.
4713
4714	* config.{guess,sub}, doc/texinfo.tex: update to latest off of
4715	ftp.gnu.org.
4716
47172003-07-09  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4718
4719	* amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
4720	style comments: breaks non-C++ compilers (like AIX xlC 6)
4721
47222003-07-02  Ion Badulescu  <ionut@buggy.badula.org>
4723
4724	* doc/am-utils.texi (opts Option): document ignore_portmapper option
4725
4726	* conf/transp/transp_sockets.c (get_nfs_version): better
4727	protocol/version cycling while probing remote server; better log
4728	messages
4729
4730	* amd/srvr_nfs.c (start_ping): improved log message
4731	(find_nfs_srvr): always use requested nfs_version/nfs_proto; make
4732	sure we have a valid NFS port; start the server as "valid, down" if
4733	the remote portmapper tells us the NFS service is not running;
4734	implement the "ignore_portmapper" pseudo-mount option
4735
4736	* amd/rpc_fwd.c (fwd_packet): better debug messages
4737
4738	* amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
4739	denied; call wakeup even if mountd call fails
4740
4741	* amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
4742	instead of checking the flags directly
4743	* amd/srvr_amfs_auto.c (free_srvr): ditto
4744
4745	* amd/amfs_generic.c (amfs_bgmount): refined some error/debug
4746	messages
4747
4748	* amd/amd.h (FSRV_ERROR): new macro
4749	(FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
4750	local filesystem) is always up
4751
47522003-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
4753
4754	* amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
4755	umount options are present.
4756
4757	* doc/am-utils.texi (Program Filesystem): document alias options
4758	to unmount:=, umount:=.
4759
4760	* amd/opts.c (expansions): initialize opt_umount.
4761	(to_free): initialize opt_umount.
4762
4763	* amd/amfs_program.c (amfs_program_match): ensure that only one of
4764	umount:= or unmount:= options are specified, but that at least one
4765	of them is listed.
4766
4767	* amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
4768	annoying in type:program, when one forgets the 'n' in "unmount").
4769	They are two separate fields, so we can catch mistakes when
4770	someone tries to define both options.
4771
4772	* doc/am-utils.texi (Program Filesystem): explain that both mount
4773	and unmount options must be specified.  Correct example to show
4774	both.
4775
47762003-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
4777
4778	* XXX: beginning of new amd.conf option map_defaults: will parse
4779	the option and set remember it in the right places.  Need to
4780	document this and actually hook it up with the rest of the code.
4781	Any volunteers? :-)
4782
4783	* scripts/amd.conf-sample (map_defaults): example of map_defaults
4784	amd.conf option.
4785
4786	* amd/conf.c (reset_cf_map): initialize global and per-mount
4787	map_defaults.
4788	(gopt_map_defaults): parse global map_defaults.
4789	(process_regular_option,ropt_map_defaults): parse per-map
4790	map_defaults amd.conf option.
4791
4792	* amd/amd.h: a place to store global and per-mount map_defaults.
4793
4794	* BUGS: more notes about AIX 5.2 problems and how to overcome
4795	them.
4796
47972003-06-10  Erez Zadok  <ezk@cs.sunysb.edu>
4798
4799	* doc/Makefile.am: force version.texi to be rebuilt regardless of
4800	maintainer mode.  Silly Automake will not build version.texi if
4801	maintainer mode is off (this is hardcoded into the automake perl
4802	script!).  According to the Automake maintainers, users should
4803	always build in CVS trees with maintainer-mode on; but what if I
4804	don't want to?!  I don't want to distribute Makefiles with
4805	maintained rules in them to users.  The Automake maintainers also
4806	say that "make dist" will rebuild version.texi no matter what.  I
4807	find that not to be the case.  It failed to run a "make" before
4808	"make dist" because version.texi doesn't exist!  Chicken and Egg
4809	situation.  So, until Automake deals with version.texi in a more
4810	flexible and friendly manner, I adapted a rule to build
4811	version.texi and inserted it in this Makefile.am.
4812
48132003-06-09  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4814
4815	* mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
4816	next best thing to using mkstemp().  Patch from Hendrik Scholz
4817	<hscholz@raisdorf.net>.
4818
48192003-05-08  Ion Badulescu  <ion@guppy.limebrokerage.com>
4820
4821	* libamu/mount_fs.c (compute_automounter_mount_flags): use
4822	MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
4823
4824	* m4/macros/header_templates.m4: added template for
4825	MNT2_GEN_OPT_AUTOMOUNTED
4826
48272003-05-01  Ion Badulescu  <ionut@nicu.badula.org>
4828
4829	* amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
4830
48312003-04-23  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4832
4833	* conf/transp/transp_sockets.c (create_amq_service): minor cpp
4834	directive indentation and commenting.
4835
48362003-04-22  Ion Badulescu  <ionut@moisil.badula.org>
4837
4838	* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
4839	for an RPC library DoS issue (original patch from Martin Blapp,
4840	massaged into something more digestable by me)
4841
48422003-04-14  Ion Badulescu  <ionut@moisil.badula.org>
4843
4844	* conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
4845	left over from the recent cleanup
4846
48472003-04-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4848
4849	* doc/Makefile.am (DVIPS): use proper options for dvips.
4850
4851	* doc/am-utils.texi (opts Option): document new 'unmount' option,
4852	and better explain the 'nounmount' option.  Also some misc options
4853	for better generation of html manual.
4854
4855	* doc/Makefile.am (install-html): support newer texi2html 4.0
4856	options, as older options were renamed or changed behavior.
4857
4858	* amd/autil.c (am_mounted): support new 'unmount' option, to allow
4859	all file system mounts to timeout and thus expire.  This option is
4860	useful for removable local media such as CD-ROMs, USB drives,
4861	etc. so they can expire when not in use, and get unmounted (such
4862	drives can get work out when they keep spinning).  Patch from
4863	Christos Zoulas <christos@zoulas.com> (originally from Koji
4864	Imada).
4865
48662003-04-10  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4867
4868	* configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
4869	do not get added to Makefiles by default (they are confusing to
4870	users who don't have autotools installed).
4871
48722003-04-09  Ion Badulescu  <ion@guppy.limebrokerage.com>
4873
4874	* amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
4875	the 2001-05-23 entry) back to the 6.0 code
4876
48772003-04-04  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4878
4879	* libamu/xutil.c (switch_to_logfile): don't try to print logfile
4880	if it is null (strlen core dump on solaris).  Bug report from John
4881	P. Rouillard <rouilj@ieee.org>.
4882
48832003-03-31  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4884
4885	* fsinfo/fsinfo.8: typo co-ordinate -> coordinate.  Typo report
4886	from Perry E. Metzger" <perry@piermont.com>.
4887
48882003-03-25  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4889
4890	* include/am_defs.h: Don't include malloc.h if stdlib.h exists,
4891	because modern systems (e.g., BSD) complain if you use malloc.h
4892	instead of stdlib.h.  Let's hope there are no systems out
4893	there that need both.
4894
48952003-03-20  Erez Zadok  <ezk@suse73.fsl.cs.sunysb.edu>
4896
4897	* minor new port: sparc64-unknown-linux-suse7.3.
4898
48992003-03-20  Erez Zadok  <ezk@a-freebsd5.fsl.cs.sunysb.edu>
4900
4901	* minor new port: i386-unknown-freebsd5.0.
4902
4903	* configure.in: detect nfsclient/nfsargs.h.
4904
4905	* conf/nfs_prot/nfs_prot_freebsd3.h: include
4906	<nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
4907
49082003-03-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4909
4910	* amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
4911	scripts/amd.conf.5, scripts/expn.1: minor spell checking and
4912	extraneous space elimination.
4913
49142003-03-07  Ion Badulescu  <ionut@buggy.badula.org>
4915
4916	* conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
4917	descriptors if limit exceeded
4918	(autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
4919	(autofs_release_fh): release pending_mounts and pending_umounts
4920	queues
4921	(autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
4922
4923	* amd/mntfs.c (init_mntfs): delete initialization of removed
4924	mf_autofs_fh
4925	(uninit_mntfs): delete call to autofs_release_fh()
4926
4927	* amd/map.c (init_map): init autofs_fh to 0, delete initialization
4928	of removed autofs_data
4929	(free_map): release autofs_fh after unmounting map; delete call to
4930	autofs_free_data()
4931	(umount_exported): call autofs_release_mp() prior to unmounting
4932	autofs f/s
4933	(unmount_mp): ditto
4934	(free_map_if_success): call autofs_get_mp() if unmounting fails
4935	(timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
4936	timeouts instead of the per-mountpoint am_ttl
4937
4938	* amd/autil.c (am_unmounted): release autofs_fh after unmounting
4939	autofs f/s
4940
4941	* amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
4942	autofs f/s fails;
4943	(amfs_bgmount): ditto
4944
4945	* amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
4946	more related to the mount point than to the f/s mounted;
4947	added am_autofs_ttl to am_node, for running expirations on entire
4948	filesystems
4949
4950	* conf/autofs/autofs_*: autofs_get_fh() returns int instead of
4951	autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
4952	instead of autofs_fh_t *, in an effort to not deal with
4953	autofs-specific data structures outside autofs code;
4954	new methods autofs_get_mp() and autofs_release_mp(), which
4955	acquire/release autofs resources to allow clean unmount attempts;
4956	nuke autofs_data_t, never used
4957
4958	* amd/amd.h: prototypes for new and changed autofs functions
4959
49602003-03-07  Ion Badulescu  <ion@guppy.limebrokerage.com>
4961
4962	* amd/nfs_subr.c (do_readlink): eliminate third argument, never used
4963	(nfsproc_getattr_2_svc): reorganize the code a bit
4964
4965	* amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
4966	am_node * argument
4967
4968	* amd/amd.h: changed prototype for mk_fattr()
4969
4970	* amd/autil.c (am_unmounted): when remounting, use the parent
4971	node's lookup_child() and mount_child() operations, not the
4972	generic ones
4973
4974	* amd/amfs_generic.c (amfs_cont): minor code optimization
4975
49762003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
4977
4978	* amd/amfs_auto.c: lots of renames and code moving:
4979	amfs_auto_match() -> amfs_generic_match(), moved to generic;
4980	amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
4981	amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
4982	amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
4983	free_continuation(): moved to generic, made static;
4984	assign_error_mntfs(): moved to autil.c;
4985	amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
4986	amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
4987	try_mount() + mount_node() -> mount_node(), moved to map.c
4988	amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
4989	amfs_parse_defaults(): moved to generic;
4990	amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
4991	amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
4992	amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
4993	amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
4994	amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
4995	next_nonerror_node(): moved to autil.c;
4996	amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
4997	amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
4998
4999	* amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
5000	and moved to autil.c
5001
5002	* amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
5003	out of amd/amfs_auto.c
5004
5005	* amd/amd.h: struct continuation moved to generic.c; prototypes
5006	for the renamed functions; NumChild renamed to NumChildren
5007
5008	* amd/map.c: collaped unmount_node_wrap() and unmount_node() into
5009	the latter
5010
5011	* amd/mapc.c: key_already_in_chain(): moved to readdir.c;
5012	make_entry_chain(): moved to readdir.c;
5013
5014	* amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
5015	amfs_generic_find_srvr()
5016
5017	* amd/amfs_*.c: adjustments for the renames above
5018
5019	* amd/ops_*.c: low-level filesystems don't need a find_server()
5020	method
5021
5022	* amd/Makefile.am: added amfs_generic.c and readdir.c
5023
5024	* doc/am-utils.texi: minor clarification for auto maps
5025
50262003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5027
5028	* amd/amd.h: moved lots and lots of amd-only stuff here, from
5029	include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
5030	to be function typedefs, not pointer to function typedefs
5031
5032	* include/am_utils.h: see above
5033
5034	* amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
5035	function typedef changes
5036
50372003-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
5038
5039	* BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
5040	bug.
5041
50422003-02-02  Erez Zadok  <ezk@siamese.fsl.cs.sunysb.edu>
5043
5044	* NEWS: minor new port: ia64-unknown-linux-rh2.1AS
5045
50462003-01-31  Ion Badulescu  <ion@console.limebrokerage.com>
5047
5048	* m4/macros/os_cflags.m4: rhapsody and darwin are the same
5049
5050	* amd/autil.c (mount_node): vastly simplified, just a wrapper now
5051
5052	* amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
5053	hack, we now do it properly in the generic code
5054
5055	* amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
5056	forking the child; set and reset MFF_MOUNTING here, not in
5057	mount_node(), because the latter might be running in child
5058	context; call am_mounted() after a successful foreground mount
5059
50602003-01-29  Ion Badulescu  <ionut@moisil.badula.org>
5061
5062	* configure.in: new flag --with[out]-ndbm; don't pull in libldap
5063	if building --without-ldap; look for the gdbm/ndbm.h header; make
5064	explicit the dependency between the ndbm headers and libraries;
5065	define NEW_DBM_H as the ndbm header that should be used
5066
5067	* include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
5068	instead of trying to second-guess configure
5069
5070	* m4/macros/header_templates.m4: new template for NEW_DBM_H
5071
5072	* m4/macros/check_map_funcs.m4:
5073	(ac_upcase_map_name): use the third argument correctly
5074
5075	* ltmain.sh: working version from libtool-1.4.2-7
5076
5077	* buildall: print the entire configure command, including extra
5078	arguments; pass each of the extra arguments separately, not
5079	commingled into one
5080
50812003-01-28  Ion Badulescu  <ion@guppy.limebrokerage.com>
5082
5083	* include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
5084	DEBUG; it is not used without DEBUG, but it is referenced at
5085	compile time. Bug report from John Kilburg <john@physics.unlv.edu>.
5086	(D_ALL): don't include D_XDRTRACE, too verbose and normally
5087	unnecessary
5088
50892003-01-28  Erez Zadok  <ezk@cs.sunysb.edu>
5090
5091	* ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
5092	from latest official GNU versions.
5093
50942003-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
5095
5096	* BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
5097	vmount).
5098
50992003-01-25  Ion Badulescu  <ionut@moisil.badula.org>
5100
5101	* Released beta version 6.1b2
5102
51032003-01-24  Ion Badulescu  <ionut@moisil.badula.org>
5104
5105	* amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
5106	calling rmdirs() on mountpoint
5107
5108	* amd/amfs_auto.c (amfs_auto_bgmount): ditto
5109
5110	* amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
5111
5112	* doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
5113
5114	* NEWS: "sftlookup" -> "softlookup"
5115
5116	* amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
5117	check for "nosoftlookup" in combination with "soft"
5118
51192003-01-23  Ion Badulescu  <ion@guppy.limebrokerage.com>
5120
5121	* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
5122	freebsd22 derivative
5123
5124	* NEWS: updated for Darwin changes
5125
5126	* .cvsignore: added A.i386-apple-darwin6.0
5127
5128	* m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
5129	Darwin
5130
51312003-01-23  Erez Zadok  <ezk@cs.sunysb.edu>
5132
5133	* conf/mount/mount_aix.c (mount_aix3): clean back this file from
5134	all the debugging cruft that is no longer needed (and really was
5135	never needed in the first place).
5136
51372003-01-10  Erez Zadok  <ezk@cs.sunysb.edu>
5138
5139	* scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
5140	(map) files for testing basic amd functionality such as whether it
5141	can mount its own mount NFS points.
5142
51432002-12-28  Ion Badulescu  <ionut@moisil.badula.org>
5144
5145	* amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
5146	pings are disabled
5147
5148	* libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
5149	instead of casting the pointer to (enum_t *)
5150	(xdr_mountstat3): ditto
5151	(xdr_nfsstat): ditto
5152
5153	* libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
5154	64-bit big-endian platforms, bug report from Bill Fenner
5155	<fenner@research.att.com>
5156
5157	* configure.in: increase library patchlevel
5158
5159	* libamu/xutil.c (amu_release_controlling_tty): close and reopen
5160	file descriptors 0,1,2 before calling setsid()
5161
51622002-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
5163
5164	* updated copyright year to 2003 on all files
5165
51662002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5167
5168	* rename "aux/" subdir into "m4/" so as to avoid problems with
5169	MS-DOS systems (where "AUX" is a reserved name).  This required
5170	fixing numerous files.
5171
51722002-12-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5173
5174	* configure.in: don't check for bad hasmntopt() function if
5175	hasmntopt() doesn't exist on the system, because we will replace
5176	it with our own version anyway.
5177
5178	* conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
5179	dlog because htonl() returns a u_long.
5180
51812002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5182
5183	* include/am_defs.h: use system's hasmntopt() only if it is found
5184	and it is not buggy.
5185
5186	* libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
5187	char.
5188
5189	* amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
5190	amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
5191	libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
5192	to amu_hasmntopt().  Don't use hasmntopt() directly any more!
5193
5194	* aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
5195	hasmntopt() function, which incorrectly finds the option "soft" in
5196	a string "hard,softlookup,ro".
5197
5198	* libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
5199	hasmntopt(), to match what most systems use.
5200
5201	* aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
5202
5203	* configure.in: invoke test for bad hasmntopt()
5204
5205	* NEWS: minor new port, i386-pc-linux-rh8.0.
5206	Mention autofs-v4 on solaris9 works.
5207
5208	* bootstrap: remove any autom4te-*.cache directories, now that
5209	autoconf uses a version number for them.
5210
52112002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5212
5213	Patches from Christos Zoulas:
5214
5215	-1- am_utils.h: add full prototypes
5216	-2- amfs_auto.c make functions static and add prototypes
5217	-3- map.c: kill double free
5218	-5- transp_sockets.c: add full prototypes
5219
52202002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5221
5222	* NEWS: updated
5223
5224	* doc/am-utils.texi (opts Option): document sftlookup
5225
5226	* conf/autofs/autofs_solaris_v2_v3.c: compile fixes
5227
52282002-11-22  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5229
5230	* amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
5231	%ld not %d.
5232
52332002-11-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5234
5235	* {amd,fsinfo}/Makefile.am: remove special rules for processing
5236	yacc/lex files, now that autoconf/automake properly handle them
5237	better (esp. now that bison 1.75 behaves differently than older
5238	bison versions).
5239
52402002-11-21  Erez Zadok  <ezk@cs.sunysb.edu>
5241
5242	* config.guess.long: updated script so it will properly find the
5243	version number of the new Itanium 2 machines running "Red Hat
5244	Linux Advanced Workstation release 2.1AW (Derry)".  The script now
5245	will report ia64-unknown-linux-rh2.1AW.
5246
52472002-11-20  Ion Badulescu  <ionut@moisil.badula.org>
5248
5249	* amfs_auto_bgmount(): almost complete rewrite
5250
5251	* fixed amfs_inherit to do the right thing and not dereference
5252	freed mntfs'es
5253
5254	* #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
5255	amfs_autofs_lookup_child()
5256
5257	* release the autofs_fh only in one place
5258
5259	* remove the mountpoint only if mf_refc == 1
5260
5261	* print the mntfs type in free_mntfs()
5262
5263	* new pseudo-mount option 'sftlookup' which causes lookups to
5264	mounted shares from downed servers to return EIO; the default
5265	depends on whether the mount is 'hard' or 'soft'
5266
5267	* improved querying of supported NFS versions on the server --
5268	don't even try if it's known to be down
5269
5270	* solaris autofs mount code moved to transp_{sockets,tli}.c
5271
5272	* incipient (non-functional) AIX autofs support
5273
52742002-11-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5275
5276	* doc/am-utils.texi (Keep-alives): removed outdated info about not
5277	maintaining the state of TCP NFS servers
5278
52792002-11-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5280
5281	* include/am_utils.h: prototype for ops_search()
5282
5283	* amd/am_ops.c (ops_search): new function for searching the right
5284	set of ops for a given filesystem type
5285
5286	* amd/restart.c (restart): cleanup and split into two functions in
5287	preparation for handling the restart of amd's own mount points
5288	(restart_fake_mntfs): new function, factored out from restart()
5289
52902002-11-04  Ion Badulescu  <ionut@buggy.badula.org>
5291
5292	* amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
5293	(cdfs_umount): ditto
5294
5295	* conf/mount/mount_linux.c (mount_linux): factor it out to
5296	mount_linux_nfs() and mount_linux_nonfs()
5297	(mount_linux_nonfs): generalize loop device support to all
5298	filesystems (not just cdfs); make it automatic for anything that's
5299	a regular file
5300	(parse_opts): deprecate the explicit "loop" mount option
5301	(do_mount_linux): minor cleanup
5302
5303	* conf/umount/umount_default.c (umount_fs2): release loop device
5304	on umount()
5305
53062002-11-03  Erez Zadok  <ezk@cnm20>
5307
5308	* include/am_defs.h: moved #include of net/if.h above net/route.h,
5309	because on AIX 5.2 if.h is needed for route.h (let's hope it
5310	doesn't break things on other systems).
5311
5312	* include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
5313	to be defined, but I don't want to move the inclusion of signal.h
5314	this early into this file.  Luckily, amd doesn't need the size of
5315	this structure in any other structure that it uses.  So we
5316	sidestep it for now.
5317
5318	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
5319	but I couldn't find its definition anywhere.  Luckily, amd doesn't
5320	need the size of this structure in any other structure that it
5321	uses.  So we sidestep it for now.
5322
53232002-11-02  Erez Zadok  <ezk@cs.sunysb.edu>
5324
5325	* config.guess, config.sub, doc/texinfo.tex: updates from
5326	the latest GNU distributions (2002-09-05).
5327
53282002-10-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5329
5330	* conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
5331	mount.h for NFSOPT_* and NFSMNT_*.
5332	Don't use typedefs that aren't found in system header files.
5333
53342002-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
5335
5336	* Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
5337
5338	* conf/nfs_prot/nfs_prot_aix5_2.h: new file.
5339
5340	* aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
5341	for "struct aux52_nfs_args".
5342
5343	* aux/macros/check_nfs_prot_headers.m4: define new header file for
5344	AIX 5.2.
5345
53462002-10-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5347
5348	* scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
5349	man page.
5350
5351	* scripts/amd.conf-sample (ldap_proto_version): show example of use
5352
5353	* doc/am-utils.texi (ldap_proto_version Parameter): document new
5354	amd.conf option.
5355
5356	* amd/conf.c (gopt_ldap_proto_version): new conf function to
5357	support ldap_proto_version amd.conf parameter.
5358
5359	* amd/amd.h: field to hold LDAP protocol version.
5360
5361	* amd/amd.c (init_global_options): set default for
5362	ldap_proto_version.  ldap_proto_version patch from George Ross
5363	<gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>.
5364
5365	* amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
5366	unbinding from an LDAP server that may have been restarted.  Fix
5367	from George Ross <gdmr@dcs.ed.ac.uk>.
5368
53692002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5370
5371	* remove all autoconf stuff added for sys_nerr
5372
5373	* amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
5374
5375	* libamu/strerror.c: more explicit text for unknown errno's
5376
53772002-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
5378
5379	* include/am_defs.h: define "extern int sys_err" if needed.
5380
5381	* aux/macros/header_templates.m4: template for
5382	HAVE_EXTERN_SYS_NERR.
5383
5384	* hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
5385	(show_mi): remove "extern int sys_err"
5386
5387	* configure.in: execute test for "extern int sys_err"
5388
5389	* Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
5390
5391	* aux/macros/extern_sys_nerr.m4: new test to check for existence
5392	of "extern int sys_nerr" definition in system headers.
5393
53942002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5395
5396	* libamu/xutil.c (dbg_opt): bring comments in line with the code
5397
5398	* hlfsd/hlfsd.c (main): use amuDebug() instead of touching
5399	debug_flags directly
5400
5401	* amd/amd.c (main): don't init debug_flags, leave it as zero (no
5402	debugging by default)
5403
54042002-09-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5405
5406	Debug code sanitization:
5407
5408	- amuDebug() becomes an expression, and explicit if() statements
5409	are added around it throughout the code
5410	- amuDebugNo() goes away (ugh!)
5411	- D_AMQ, D_DAEMON and D_FORK reverse their meaning
5412	- D_ALL contains only options that don't affect amd's functionality
5413
54142002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5415
5416	* amd/amfs_auto.c (free_continuation): avoid double-free'ing the
5417	mntfs if there was an error/timeout
5418
54192002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5420
5421	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
5422	of "return NULL" to signal an error to the upper layers
5423	(amfs_auto_mount): use strdup so the string can be free'd later on
5424	[Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>]
5425
54262002-09-03  Ion Badulescu  <ion@guppy.limebrokerage.com>
5427
5428	Patches from George Ross <gdmr@dcs.ed.ac.uk>:
5429
5430	* amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
5431	it will be done in free_continuation(); assorted debugging messages
5432
5433	* amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
5434	timeout to avoid problems with late ping replies
5435
5436	* amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
5437	debugging messages
5438
5439	* amd/map.c (unmount_node): more verbose debug message
5440
54412002-07-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
5442
5443	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
5444	de-allocated memory in str3cat
5445	(amfs_auto_lookup_mntfs): check for buffer overflow
5446
54472002-07-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5448
5449	* scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
5450	<wiz@danbala.ifoer.tuwien.ac.at>.
5451
54522002-06-26  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5453
5454	* doc/Makefile.am (install-html): don't use locally hacked
5455	texi2html features.
5456
5457	* conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
5458	systems should use 127.0.0.1 as the localhost address over which
5459	you can do NFS mounts.  In the past we found that some NFS clients
5460	may not allow mounts from localhost.  So we used get_myaddress()
5461	and that seemed to work.  Alas, on some other systems,
5462	get_myaddress() may return one of the interface addresses at
5463	random, and thus use a less efficient IP address than 127.0.0.1.
5464	The solution is to hard-code 127.0.0.1, but still check if
5465	get_myaddress() returns a different value and warn about it.
5466
5467	* doc/am-utils.texi: don't use ':' in @cindex entries.
5468
54692002-06-25  Ion Badulescu  <ion@guppy.limebrokerage.com>
5470
5471	* Released beta version 6.1b1
5472
54732002-06-24  Ion Badulescu  <ionut@moisil.badula.org>
5474
5475	* aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
5476
5477	* conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
5478	aix51_nfs_args, rename unknown fields to u<number>, add the
5479	unknown new field into the middle of the old 4.2 structure
5480
54812002-06-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
5482
5483	* include/am_compat.h: better test for struct netconfig
5484	(!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
5485
5486	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5487
5488	* buildall: fix 'buildall -b' on hpux9 and aix5.1
5489
54902002-06-24  Ion Badulescu  <ionut@buggy.badula.org>
5491
5492	* INSTALL: updated
5493
5494	* conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
5495	(autofs_link_umount): ditto
5496
5497	* amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
5498
54992002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5500
5501	* conf/autofs/autofs_linux.c: compile fixes for autofs v3
5502
55032002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5504
5505	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
5506	expirations needed;
5507	(autofs_timeout_mp): likewise
5508
5509	* conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
5510	needed;
5511	(autofs_timeout_mp): likewise
5512
5513	* conf/autofs/autofs_linux.c (autofs_mounted): set the first
5514	expiration interval
5515
5516	* amd/autil.c (am_mounted): call autofs_mounted here, instead of
5517	in mf_mounted()
5518
5519	* amd/amd.h (NEVER): moved here from map.c
5520	(autofs_mounted): change argument from mntfs* to am_node*
5521
55222002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5523
5524	* conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
5525	timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
5526	(autofs_timeout_mp): don't update the ttl if we're going down
5527
5528	* amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
5529	timeout on that particular am_node has expired
5530
5531	* conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
5532	the ttl, as per the comment (compilers are not very good at
5533	translating comments into code...)
5534
5535	* amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
5536	instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
5537	between link mounts pointing to the same target
5538
55392002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5540
5541	* conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
5542	functions for sending messages back to the kernel
5543	(autofs_expire_one): initial implementation of the kernel-based
5544	expiration handler
5545	(autofs_handle_expire): call autofs_expire_one()
5546	(autofs_handle_expire_multi): ditto
5547	(autofs_umount_succeeded): search pending_umounts, send message
5548	back to the kernel
5549	(autofs_umount_failed): ditto
5550	(autofs_mount_succeeded): tell amd core not to expire autofs entries
5551	(autofs_timeout_mp): expiration function for autofs filesystems
5552	(autofs_timeout_mp_task): helper function for autofs_timeout_mp
5553
5554	* conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
5555	keeping tracking of pending umounts
5556	(autofs_fh_t) rename pending to pending_mounts, add pending_umounts
5557
5558	* conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
5559
5560	* conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
5561
5562	* amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
5563	filesystems
5564
5565	* amd/autil.c (mf_mounted): move here the call autofs_mounted()
5566	from amfs_auto_mounted().
5567
55682002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5569
5570	* amd/nfs_start.c (mount_automounter): Security fix.  if user sets
5571	-D noamq, don't even create listening socket.  Suggestion by Ed
5572	Ravin <eravin@panix.com>.
5573
55742002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5575
5576	* hlfsd/homedir.c (homedir): use setgid() instead of setegid()
5577
5578	* ALL: #ifdef cleanups, unify some TLI/socket function prototypes
5579
55802002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5581
5582	* conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
5583	na_gid and na_uid.  NetBSD patch from Jun-ichiro itojun Hagino
5584	<itojun@iijlab.net>.
5585
5586	* doc/am-utils.texi (Option): document xlatecookie mount option.
5587
5588	* libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
5589	NFS mount option.  Patch from Matthias Scheler <tron@zhadum.de>
5590	for NetBSD.
5591
55922002-06-22  Ion Badulescu  <ionut@edgar.badula.org>
5593
5594	* conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
5595	AUTOFS_LINK_FS_FLAGS
5596
5597	* conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
5598	mounts in autofs_link_mount/umount
5599
56002002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5601
5602	* configure.in: check for devid inside struct umntrequest
5603
5604	* conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
5605	new umntrequest structure in v4.
5606	(autofs_unmount_2_req): ditto
5607
5608	* README.autofs: updated for Solaris 2.5/2.5.1
5609
56102002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5611
5612	* configure.in: only define LDAP/Hesiod if both the headers and
5613	the libraries exist, and the user didn't explicitly disable those
5614	maps.
5615
56162002-06-22 Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5617
5618	* doc/am-utils.texi: fix typos.  Can't use ":" in @cindex entries.
5619
56202002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5621
5622	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
5623	amd/amd.8, amd/get_args.c (get_args): document amd -A option.
5624
5625	* amd/get_args.c (get_args): support "amd -A arg" option to
5626	override the system's detected architecture.  Patch from George
5627	Ross <gdmr@dcs.ed.ac.uk>.
5628
5629	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
5630	if the system doesn't have it.
5631
5632	* configure.in: detect existence of ldap_enable_cache function,
5633	because it doesn't exist on Solaris 9's latest ldap libraries.
5634
5635	* amd/info_ldap.c: LDAP patches from George Ross
5636	<gdmr@dcs.ed.ac.uk>.  Rework of old code, support for wildcards in
5637	LDAP queries, and an FD leak fix.
5638
56392002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5640
5641	* buildall: use ksh for configure on aix5.1; pass the extra
5642	arguments after "--" to configure, not to make
5643
5644	* Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
5645
5646	* conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
5647	with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
5648	mount with the alternative nfs3_args structure
5649
5650	* conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
5651	structure, similar to that in aix5.1, for a hack that tries to
5652	compensate for IBM's brain fart
5653
5654	* conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
5655
5656	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5657
5658	* BUGS: update for direct mounts on Linux; document the brokenness
5659	of /bin/sh on AIX 5.1 and HP-UX 9
5660
5661	* NEWS: aix5.1 port, aix4.3 workaround
5662
56632002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
5664
5665	* ltmain.sh: use libtool 1.4d, needed support for newer AIX.
5666
56672002-06-21  Ion Badulescu  <ion@guppy.limebrokerage.com>
5668
5669	* aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
5670	all solaris2.6+, not just for 2.[6-8]
5671
5672	* conf/autofs/autofs_default.h: disable autofs if configure
5673	detects it
5674
56752002-06-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5676
5677	* aux/macros/with_addon.m4: correct M4 quoting.
5678
5679	* aux/macros/cache_check_dynamic.m4: correct M4 quoting.
5680
5681	* bootstrap: show version of autotools being used.  Helps
5682	maintainer debugging.
5683
5684	* configure.in: new proper syntax for libtool and
5685	ansi2knr-filtering rules, required by autoconf 1.53 and higher.
5686
56872002-06-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5688
5689	* aux/GNUmakefile: new search paths for "update" target.
5690
5691	* config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
5692	the latest GNU distributions.
5693
56942002-06-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5695
5696	* amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
5697	function into the new amfs_auto_lookup_one_child function; return
5698	null if all ivecs failed to match
5699
57002002-05-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5701
5702	* config.guess.long: support SuSE version names in long
5703	config.guess format.
5704
57052002-05-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5706
5707	* scripts/lostaltmail.in (vrfy_user): unlink temp files if too
5708	small.
5709
57102002-04-07  Ion Badulescu  <ionut@moisil.badula.org>
5711
5712	* hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
5713
57142002-03-29  Ion Badulescu  <ionut@moisil.badula.org>
5715
5716	* README.autofs: solaris 2.5/2.5.1 info, other minor changes
5717
5718	* doc/am-utils.texi (History): document solaris 2.5+ support
5719
5720	* include/am_utils.h: new member in struct mntfs: mfs_real_mount;
5721	autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
5722	prototype for umount_fs2(); extra argument for UMOUNT_FS()
5723
5724	* hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
5725
5726	* libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
5727	function; swap mntdir and real_mntdir as necessary for solaris 2.5
5728	autofs support
5729
5730	* conf/umount/umount_default.c (umount_fs2): swap mntdir and
5731	real_mntdir as necessary for solaris 2.5 autofs support
5732
5733	* conf/umount/umount_*.c (umount_fs): wrapper around the new
5734	umount_fs2() function
5735	(umount_fs2): new function which takes the real mountpoint as an
5736	extra argument
5737
5738	* conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
5739	compiled in
5740
5741	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
5742	function that appends a space at the end of a string (the famous
5743	"Autofs Space Protocol")
5744
5745	* conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
5746
5747	* conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
5748	system-specific definitions for these macros
5749
5750	* conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
5751	which are now handled properly by more generic code
5752	(autofs_link_umount): complain if umount_fs() fails, rmdir the
5753	mountpoint on success
5754	(autofs_umount_succeeded): remove the rmdirs() code, now handled
5755	by generic code
5756	(autofs_mount_succeeded): ditto
5757
5758	* amd/nfs_start.c (checkup): implement it as an emtpy stub if
5759	DEBUG is not defined
5760	(run_rpc): call autofs_add_fdset() after umount_exported() to
5761	avoid passing invalid file descriptors to select(); use plog()
5762	instead of perror()
5763
5764	* amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
5765	(uninit_mntfs): free mf_real_mount
5766
5767	* amd/autil.c (am_unmounted): don't remove the mount point if a
5768	remount is pending, also don't make the removal conditional on not
5769	being an autofs mount point
5770
5771	* amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
5772	mf->mf_real_mount instead of mf->mf_mount
5773
5774	* amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
5775	rmdirs() on mf->mf_real_mount instead of mf->mf_mount
5776
5777	* amd/amfs_host.c (make_mntpt): change the third argument to be
5778	the mountpoint, not the entire mntfs structure
5779	(do_mount): takes real_mntdir as an extra argument
5780
5781	* amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
5782	mountpoint here from try_mount(), otherwise the change to mf_flags
5783	is lost for background mounts; remove the mountpoint if we created
5784	it and the mount fails
5785	(amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
5786	autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
5787
5788	* amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
5789	AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
5790	header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
5791	mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
5792	extra argument
5793
5794	* amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
5795	the real mountpoint as an additional argument
5796
57972002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5798
5799	* amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
5800	values back from mount_fs().  Return correct error number from
5801	this function.
5802
5803	* conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
5804	cruft from this function, moved elsewhere.
5805	(mount_linux): prepare for loop-device mounts of ISO images.
5806
58072002-03-28  Ion Badulescu  <ionut@buggy.badula.org>
5808
5809	* libamu/Makefile.am (EXTRA_DIST): added strerror.c
5810
5811	* libamu/strerror.c: strerror() implementation for systems lacking it
5812
5813	* doc/am-utils.texi (History): rewrote the history :) about autofs
5814	support
5815
5816	* conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
5817	(autofs_unmount_2_req): minor cleanup
5818	(create_autofs_service): print log message
5819	(destroy_autofs_service): ditto
5820
5821	* conf/autofs/autofs_linux.c: updated copyright
5822
5823	* amd/nfs_start.c (mount_automounter): move the debug message into
5824	create_autofs_service()
5825
5826	* amd/amd.c (main): call destroy_autofs_service() before
5827	going_down(), not after
5828
5829	* configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
5830	if the ldap headers are not found
5831
58322002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5833
5834	* amd/info_ldap.c: patch from "Sebastien Bahloul"
5835	<sebastien.bahloul@medasys.org> to fix a simple initialization bug
5836	and change "HE" to HE_ENT so as to compile on HPUX.
5837
58382002-02-26  Erez Zadok  <ezk@t3.fsl.cs.sunysb.edu>
5839
5840	* conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
5841	atttributes field named "uid".  So #define na_uid to it.
5842
58432002-02-12  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5844
5845	* scripts/lostaltmail.in: don't verify user if -noverify option
5846	was turned on.  fix comment typo.
5847
58482002-02-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5849
5850	* amd/Makefile.am (TESTS): enable one test script, test1.sh.
5851
5852	* amd/test1.sh: re-commit simple test script.
5853
58542002-02-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5855
5856	* Released snapshot 6.1a5
5857
5858	* NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
5859
5860	* README: require newer auto-tools, update mailing list address
5861
5862	* README.autofs: major update
5863
5864	* configure.in: version changed to 6.1a5
5865
58662002-02-11  Ion Badulescu  <ionut@moisil.badula.org>
5867
5868	* conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
5869	stat() on the am_link if called from the parent amd, to prevent
5870	deadlocks
5871
5872	* amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
5873	fstype is not link but we have a sublink (Linux autofs needs this)
5874	(am_mounted): call amfs_link_ops.mount_fs if the fstype is not
5875	link but we have a sublink (Linux autofs needs this)
5876
5877	* amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
5878	not the amd entry point
5879
58802002-02-09  Ion Badulescu  <ionut@moisil.badula.org>
5881
5882	* conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
5883	structure for returning the results from readdir_2()
5884	(xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
5885	changed to process our internal format (which is essentially the
5886	NFS readdir format)
5887	(xdr_autofs_getrddirres): not needed, deleted
5888	(xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
5889	changes to handle amd_rddirres instead of autofs_rddirres
5890	(autofs_lookup_2_req): return AUTOFS_NONE instead of
5891	AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
5892	(autofs_readdir_2_req): implemented
5893	(autofs_readdir_2_free): not needed, deleted
5894	(autofs_program_2): changes from autofs_rddirres to amd_rddirres
5895	(autofs_get_fh): changed initialization of the fh->map member, it
5896	now gets the mountpoint path because it makes it easier to
5897	implement readdir
5898	(autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
5899	code touching fh->addr
5900	(destroy_autofs_service): new function, deregister the autofs
5901	service with the portmapper on exit
5902
5903	* conf/autofs/autofs_linux.c (autofs_handle_missing): update
5904	statistics
5905	(destroy_autofs_service): new stub
5906
5907	* amd/mapc.c (mapc_find): fixed indentation
5908
5909	* amd/map.c (find_ap_recursive): renamed from find_ap2(), made
5910	static
5911
5912	* amd/amd.h: removed prototype for find_ap2(), added prototype for
5913	destroy_autofs_service()
5914
5915	* amd/amd.c (main): call destroy_autofs_service() before going
5916	down
5917
59182002-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5919
5920	* aux/macros/check_field.m4: need also a new version of
5921	AC_CHECK_MEMBERS (plural).
5922
59232002-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5924
5925	* aux/macros/check_field.m4: include a fixed version of
5926	AC_CHECK_MEMBER.  g/cc will fail to check a member if the .member
5927	is itself a data structure, because you cannot compare, in C, a
5928	data structure against NULL; you can compare a native data type
5929	(int, char) or a pointer.  Solution: do what I did in my original
5930	member checking macro: try to take the address of the member.  You
5931	can always take the address of anything.
5932
59332002-01-31  Erez Zadok  <ezk@localhost.localdomain>
5934
5935	* remove old '%W%' SCCS IDs from all sources.
5936
59372002-01-21  Ion Badulescu  <ionut@moisil.badula.org>
5938
5939	* conf/mount/mount_linux.c (mount_linux): fix breakage introduced
5940	by the loop device mount support. Linux mount takes a real string
5941	as the last argument, unless the mount type is NFS, NCP, or SMB.
5942
59432002-01-20  Erez Zadok  <ezk@localhost.localdomain>
5944
5945	* hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
5946	because we made some important changes.
5947
59482002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
5949
5950	* include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
5951	by default
5952
5953	* NEWS: document latest changes
5954
5955	* amd/map.c (unmount_mp): same fix as for hlfsd, update the
5956	seconds field in mtime because Linux ignores the useconds field
5957
5958	* hlfsd/homedir.c: made some global vars static
5959	(plt_init): remove all trailing '/' chars from root's home;
5960	use root's home, not the username (silly bugfix)
5961
59622002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
5963
5964	* hlfsd/homedir.c (homedir): don't special case uid 0 as having /
5965	as home; instead use the root account's home
5966	(plt_init): properly initialize root_home from the root account's
5967	home directory, or as "" if root doesn't exist
5968	(plt_reset): free root_home
5969
59702002-01-20  Erez Zadok  <ezk@localhost.localdomain>
5971
5972	* hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
5973	Increment seconds, not microseconds (which are ignored by NFS).
5974	Set symlink owner to euid.
5975
5976	* hlfsd/homedir.c (homedir): pass gid to this function, so we can
5977	also change the effective GID of the process writing to the user's
5978	home dir, as well as the group of the hlfsd symlink.
5979	(homedir): run setegid in the right places.
5980
59812002-01-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5982
5983	* scripts/redhat-ctl-amd.in: refer to @sbindir@ not
5984	${prefix}/sbin.
5985
5986	* scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
5987	${prefix}/etc.  Bug report from "A Braunsdorf"
5988	<ab@eas.purdue.edu>.
5989
59902002-01-13  Erez Zadok  <ezk@localhost.localdomain>
5991
5992	* configure.in: only check for clock_gettime if --enable-debug was
5993	used.
5994
5995	* aux/macros/opt_debug.m4: define a cache variable to record value
5996	of debug option used.
5997
5998	* libamu/xutil.c (show_time_host_and_name): do not use
5999	clock_gettime unless debugging was compiled in.  This way, if
6000	debugging is not compiled, we don't bother linking with librt,
6001	libpthread, and a whole lot of other libraries that aren't that
6002	necessary (esp. on Linux).
6003
60042002-01-12  Erez Zadok  <ezk@wavy.dyn.optonline.net>
6005
6006	* doc/am-utils.texi (opts Option): document loop option.
6007
6008	* include/am_utils.h: each mounted file system (mntfs) should
6009	optionally store the loop device used in the field mf_loopdev.
6010
6011	* conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
6012	loop function extern definitions.  For now this code is here
6013	because we only support loop devices on Linux.
6014
6015	* conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
6016	mount option.
6017	(parse_opts): when skipping over unknown mount options, skip over
6018	"loop" (since it was given in amd map entry), but not over
6019	loop=/dev/loopX, because the latter will go into /etc/mtab.
6020	(do_mount_linux): override actual cdfs mounted  device name
6021	because with loop devices you don't mount the .iso file directly,
6022	but the /dev/loopX device that was setup for it.
6023	(show_loop, is_loop_device, find_unused_loop_device,
6024	setup_loop_device, delete_loop_device): support code for loop
6025	devices.
6026
6027	* amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
6028	setup loop device before isofs mount, if "loop" option was given,
6029	before actual mount(2).
6030	(cdfs_mount): pass loopdev name to mount_cdfs().
6031	(cdfs_umount): delete/unset loop device after a successful
6032	unmount, if a loop device was used.
6033
6034	* amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
6035
6036	* include/am_compat.h: If loop device (header file) exists, define
6037	mount table option MNTTTAB_OPT_LOOP.
6038
6039	* conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
6040	here until we have a better way to detect /dev/loop devices.
6041
6042	* include/am_defs.h: include <linux/loop.h> if it exists.  Define
6043	LARGEFILE support macros, possibly needed for loop devices.
6044	Redefine dev_t apropriately for loop devices.
6045
6046	* configure.in: check for <linux/loop.h>.
6047
60482002-01-10  Ion Badulescu  <ion@guppy.limebrokerage.com>
6049
6050	* conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
6051	parameter 2 orders of magnitude larger than udp (patch from Trond
6052	Myklebust)
6053
60542002-01-09  Erez Zadok  <ezk@localhost.localdomain>
6055
6056	* aux/macros/linux_headers.m4: properly [quote] a long string in
6057	m4 and use AC_MSG_WARN.
6058
6059	* ALL: put /* comments */ on #else/#endif lines everywhere.
6060
6061	* configure.in, aux/macros/with_addon.m4: due to limitation of
6062	AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
6063	package for help string.
6064
6065	* doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
6066	FSinfo section of the manual.
6067	(map_reload_interval Parameter): document new amd.conf global
6068	parameter.
6069
6070	* scripts/amd.conf.5 document new global option
6071	map_reload_interval.  Sort entries for nfs_vers and nfs_proto
6072	alphabetically.
6073
6074	* amd/nfs_start.c (do_select): increment do_mapc_reload's value by
6075	global map_reload_interval value, not by fixed ONE_HOUR.
6076
6077	* amd/amd.c (main): increment do_mapc_reload's value by global
6078	map_reload_interval value, not by fixed ONE_HOUR.
6079
6080	* scripts/amd.conf-sample (map_reload_interval): usage example
6081
6082	* amd/amd.c (init_global_options): initialize map_reload_interval
6083	to 3600 seconds.
6084
6085	* amd/conf.c (gopt_map_reload_interval): support a new global
6086	amd.conf option map_reload_interval, to determine how often (in
6087	seconds) Amd should check if the map source has changed and then
6088	reload it it.  This value was hard-coded to one hour, now it's the
6089	default if not otherwise specified.
6090
6091	* doc/am-utils.texi (plock Parameter): document plock=yes option
6092	as using mlockall(2) if found.
6093
6094	* scripts/amd.conf.5: document -S option as using mlockall(2) if
6095	found.
6096
6097	* include/am_defs.h: include <sys/mman.h> if it exists.
6098
6099	* configure.in: check for mlockall() function.  Check for
6100	sys/mman.h.
6101
6102	* amd/amd.c (main): support mlockall() on systems that have it and
6103	don't have plock(3) for plock=yes.  On systems that have both,
6104	will try plock() first and then mlockall(), until one of them (if
6105	any) succeeds.
6106
61072002-01-09  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6108
6109	* aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
6110	with_addon.m4 (ac_upcase): fix help string formatting using
6111	AC_HELP_STRING.
6112
6113	* amd/test1.sh: simple test script for "make check".  Runs "amd
6114	-v".
6115
6116	* amd/Makefile.am (TESTS): add one simple test script, running
6117	"amd -v" and checking its return value.  More tests can be added.
6118
6119	* aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
6120
6121	* aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
6122	Instead, list bracketed regexp patterns in [[double brackets]].
6123
6124	* aux/macros/header_templates.m4: remove all unnecessary
6125	HAVE_FIELD_* definitions, now that we're using autoconf's new
6126	AC_CHECK_MEMBERS.
6127
6128	* aux/macros/field_mntent_t_mnt_time_string.m4: don't call
6129
6130	* configure.in: use new syntax for AMU_CHECK_FIELD
6131
6132	* aux/macros/check_field.m4: use new and simpler macro
6133	AC_CHECK_MEMBERS.  Change all sources to use HAVE_aggregate.member
6134	instead of HAVE_FIELD_aggregate.member.
6135
6136	* aux/amdgrep: simple utility script to egrep the am-utils sources
6137	for any pattern.
6138
6139	* aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
6140	check_umount_style.m4, check_network_transport_type.m4}: use newer
6141	AC_LIBOBJ macros instead of modifying $LIBOBJS directly
6142
6143	* aux/macros/func_bad_memcmp.m4: redefine to use native
6144	AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
6145
6146	* fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
6147	pre-ANSI C compilers will ignore it.
6148
6149	* conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
6150	correctly depending on whether it takes a void or a 0.
6151
6152	* configure.in: check if s/getpgrp() takes void or a 0.
6153
61542002-01-08  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6155
6156	* configure.in: use the newer AC_CONFIG_LINKS instead of
6157	AC_LINK_FILES.
6158
6159	* aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
6160	check_mnttab_style.m4, check_mount_style.m4,
6161	check_network_transport_type.m4, check_umount_style.m4,
6162	check_nfs_prot_headers.m4: removed backward compatible code for
6163	pre-autoconf-2.14.
6164
61652002-01-07  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6166
6167	* doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
6168	this Makefile could explicitly chdir to other directories and run
6169	make there.
6170	(install-ps): use ${MAKE} with ${MFLAGS}.
6171
6172	* Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
6173	Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
6174	could explicitly chdir to other directories and run make there.
6175	(install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
6176
6177	* configure.in: call AC_PROG_MAKE_SET to check if make program
6178	defines $MAKE variable.
6179
6180	* amd/get_args.c (get_version_string): use new PACKAGE_* macros
6181	and also report the bug-reporting address.
6182
6183	* aux/macros/package_{name,version}.m4, header_templates.m4: using
6184	new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
6185
6186	* aux/macros/name_bugreport.m4: simple macro to print out the
6187	bug-reporting address which was configured in AC_INIT.
6188
6189	* bootstrap: remove new autoconf messages about misuse of
6190	m4_patsubst and m4_regexp (internal GNU M4 macros).
6191
6192	* configure.in: remove old comment above AC_OUTPUT.
6193	Use AC_CONFIG_FILES and AC_OUTPUT separately.
6194	Fix AC_REVISION use.
6195	Add AC_COPYRIGHT.
6196	Use new style for AC_INIT, listing package name, version, and
6197	bug-reporting address.
6198	Call new AMU_PACKAGE_* macros.
6199
6200	* updated copyright year to 2002 on all files
6201
6202	* configure.in: using newly renamed am-utils macros (AMU_*)
6203
6204	* aux/macros/*.m4: renamed ALL am-utils specific macros so they
6205	start with AMU_*, not AC_*.  That way it is easier to distinguish
6206	between macros that come with am-utils and those that are part of
6207	Autoconf or Automake.  It helps to identify those am-utils macros
6208	that can be removed once there is generic support for them in a
6209	future version of Autoconf.
6210
6211	* bootstrap: run automake --copy
6212	remove autom4te.cache dir before rerunning autoconf
6213
62142001-12-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6215
6216	* scripts/amd.conf.5: correct title to section 5, not 8.  Correct
6217	reversed meaning of nfs_proto and nfs_vers parameters.  Typos
6218	reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
6219
62202001-12-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6221
6222	* scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
6223
6224	* scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
6225
62262001-12-02  Ion Badulescu  <ionut@moisil.badula.org>
6227
6228	* hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
6229	non-mkstemp code
6230
6231	* scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
6232	happy
6233
6234	* scripts/ctl-hlfsd.in: ditto (for hlfsd)
6235
6236	* conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
6237	get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
6238
6239	* conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
6240
62412001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6242
6243	* tasks: updated
6244
6245	* NEWS: document the fixed autofs fd leak
6246
6247	* amq/amq.8: better document the -f option
6248
62492001-11-29  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6250
6251	* libamu/mount_fs.c (mnt_flags): same this as for nolock option
6252	handling, do for maxgrps.
6253
62542001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6255
6256	* conf/autofs/autofs_linux.c (hash_init): determine the max number
6257	of fd's at runtime, use it to dynamically scale the hash and list
6258	arrays
6259	(autofs_get_fh): sanity check, don't allow a pipe() fd greater
6260	than autofs_max_fds
6261	(autofs_release_fh): close our end of the pipe here (no clue why
6262	or when it got commented out)
6263	(autofs_mounted): set kernelfd to -1 after closing it
6264
62652001-11-28  Philippe Troin  <phil@fifi.org>
6266
6267	* libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
6268	opts.
6269	(compute_nfs_args): Added nolock handling.
6270	Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>.
6271
62722001-11-27  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6273
6274	* ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
6275	Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
6276	issues.  Had to use HP's own yacc/lex.
6277
62782001-11-26  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6279
6280	* */Makefile.am: don't use $(OBJECTS) directly because it is no
6281	longer automatically defined now that Automake has automatic
6282	dependency tracking (which I turn off).  Instead, hard-code
6283	minimal dependencies on am-utils' header files to depend on
6284	PROG_OBJECTS (where PROG is the program name being built).  This
6285	was discovered by using HP's non-GNU make program.
6286
6287	* amd/nfs_start.c (checkup): cast getpagesize() return val to
6288	long, to avoid conflicts in division of a long by an int (on
6289	hpux11i, with their ANSI/C compiler).
6290
6291 	* INSTALL, doc/am-utils.texi: port updates
6292
6293	* minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
6294	i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
6295	ia64-unknown-linux-rh7.1.
6296
6297	* include/am_defs.h: actually declare extern definition for
6298	xdr_callmsg() if it doesn't already exist.
6299
6300	* aux/macros/header_templates.m4: declare template for
6301	HAVE_EXTERN_XDR_CALLMSG.
6302
6303	* configure.in: check for extern definition for xdr_callmsg()
6304	because hpux11 has that function but a bad <rpc/xdr.h> header file
6305	that doesn't define it in the right place.
6306
6307	* libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
6308	on hpux11 its type is dev_t.
6309
6310	* conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
6311	yet.
6312
63132001-11-16  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6314
6315	* buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
6316	to /bin/sh limitations.
6317
6318	* bootstrap (cmd): turn back on --ignore-deps (this Automake may
6319	have problems)
6320
6321	* libamu/xutil.c: remove __attribute__ format_arg statement for
6322	expand_error() because this function, although taking a
6323	printf-like string, does not use it in a printf function; it only
6324	expands a non-printf amd-special syntax %m.
6325
63262001-11-14  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6327
6328	* conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
6329	before using it because older Linux systems don't define this
6330	(e.g., Red Hat 4.2)
6331
63322001-11-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6333
6334	* configure.in: convert to using autoconfig 2.52.  Use new macros.
6335	AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
6336	parts of autogenerated config.h.in; increase autoconf
6337	pre-requisite to version 2.50; use AC_DISABLE_SHARED not
6338	AM_DISABLE_SHARED.
6339
6340	* aux/macros/cache_check_dynamic.m4: finally I can use the new
6341	$ECHO_N syntax in macros instead of $ac_n, since I'm using a new
6342	autoconf.  Isn't it nice to be such forward looking and having
6343	placed a comment "XXX: use the next line for autoconf-2.14 and
6344	newer"... :-)
6345
6346	* aux/macros/save_state.m4: highlight message with ***'s
6347
6348	* aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
6349
6350	* config.{guess,sub}: upated from latest prep ftp distributions
6351
6352	* depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
6353
6354	* ltmain.sh: updated from latest Libtool 1.4.2
6355
6356	* bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
6357	called without default to allow cross compiling" warnings.  And,
6358	it only took like 3+ years to fix this.  But, now it has anoter,
6359	albeit less annoying warning (which the manual says to ignore):
6360	"AC_PROG_LEX invoked multiple times".
6361	When autoheader is run, don't treat the "all clear" message
6362	"config.h.in is update" as an error.
6363
6364	* ltconfig: removed. not needed with latest version of libtool
6365
6366	* aux/macros/header_templates.m4: replaces acconfig.h and defines
6367	all CPP macros we use in this package, including their
6368	accompanying C /* comments */.
6369
6370	* acconfig.h: removed. replaced by new autoconf system to generate
6371	header templates using AH_TEMPLATE macros and such.
6372
6373	* aux/macros/msg.m4: removed.  Replaced with new macro
6374	AC_MSG_NOTICE
6375
6376	* Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4.  Add
6377	aux/macros/header_templates.m4
6378
6379	* configure.in: early, in host_macros.m4, I'm renaming silly linux
6380	$host_os names such as linux-gnu and lignux to plain "linux".
6381	Alas, RMS finally had his way and libtool will NOT recognize
6382	"linux" as a valid system, only "linux-gnu".  Sigh.  Rich, I know
6383	you're responsible to Linux's fame.  Kudos to you and your
6384	cohorts.  But please don't force the rest of us to use those ugly
6385	or long names.  Solution: temporarily name $host_os to "linux-gnu"
6386	before calling the AC_PROG_LIBTOOL macro, then name it back to
6387	"linux".  (That way I don't have to maintain my own version of
6388	ltmain.sh.
6389
6390	* buildall: force running configure -C (to create and use a local
6391	config.cache file).  New default behavior for autoconf is NOT to
6392	use cache files.  Yeah, that's gonna fly real well with am-utils,
6393	with its 700+ automatic tests.
6394
6395	* conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
6396	mktemp, if the former is available.
6397
6398	* conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
6399	mktemp, if the former is available.
6400
6401	* mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
6402	if the former is available.
6403
6404	* aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
6405	be on a separate line, as per new Autoconf manual, to avoid some
6406	Bourne Shell syntactical bizarreness.
6407
64082001-11-13  Erez Zadok  <ezk@a-rh71i.fsl.cs.suunysb.edu>
6409
6410	* amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
6411	for IA64 Linux.
6412
64132001-11-12  Ion Badulescu  <ionut@buggy.badula.org>
6414
6415	* libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
6416	pointing to '\0' on success, so we need to allow for it. This
6417	fixes the problem with rejecting numerical mount options if they
6418	are the last option in the string.
6419
6420	* configure.in: increased library patchlevel
6421
6422	* NEWS: document the parsing bug
6423
64242001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6425
6426	* configure.in: bumped version up to 6.1a5-pre
6427
6428	* NEWS: fixed speeling mistaike
6429
64302001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6431
6432	* released snapshot am-utils-6.1a4
6433
64342001-10-26  Ion Badulescu  <ionut@moisil.badula.org>
6435
6436	These changes fix autofs support for sublinks. While it is not
6437	perfect by any means and is hardly better than non-autofs, at
6438	least it works.
6439
6440	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
6441	reply if the mount is in progress
6442	(autofs_mount_succeeded): handle both delayed lookups and mounts
6443	(autofs_mount_failed): ditto
6444
6445	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
6446	original opt_fs if we have a sublink
6447
64482001-10-23  Ion Badulescu  <ionut@moisil.badula.org>
6449
6450	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
6451	instead of new_mf) which was causing null pointer error when
6452	sublinks were being used
6453
64542001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6455
6456	* README.autofs: updated
6457
6458	* NEWS: updated
6459
6460	* INSTALL: updated
6461
6462	* AUTHORS: added myself
6463
6464	* doc/am-utils.texi: updated
6465
6466	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
6467	xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
6468	(autofs_readdir_2_req): cast req->rda_offset to (int), same as
6469	above
6470
64712001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6472
6473	Autofs direct mounts have been verified to work on Solaris2.[67].
6474
6475	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6476	retrieve the uid and gid from the lookup request
6477	(autofs_mount_2_req): skip the first char in the name (it's a
6478	leading '/') if this is a direct mount
6479
6480	* amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
6481	and amfs_auto_mount_child for amfs_direct's methods
6482
6483	* amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
6484	if the mntfs lookup fails
6485
64862001-10-21  Ion Badulescu  <ionut@moisil.badula.org>
6487
6488	* include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
6489	pending a remount
6490	(mntfs): new member mf_fsflags, holds a copy of the filesystem's
6491	fs_flags
6492	(am_ops): new member autofs_fs_flags, holds the filesystem's flags
6493	when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
6494
6495	* conf/autofs/autofs_linux.c (create_autofs_service): turn on
6496	FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
6497	(autofs_umount_succeeded): don't rmdir the mountpoint if a remount
6498	is needed [lest the access that triggered the remount will fail]
6499
6500	* amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
6501	into mf_fsflags on initialization
6502
6503	* amd/autil.c (am_unmounted): start the remounting right away if
6504	the node is marked as needing a remount [fixes the Linux autofs
6505	deadlock when mount/unmount collide]
6506
6507	* amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
6508	needing a remount if a mount request comes in while we're
6509	unmounting it
6510	(amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
6511	into mf_fsflags if this is an autofs node
6512
6513	* amd/amfs_*.c, amd/ops_*.c: added initialization for the new
6514	autofs_fs_flags member of am_ops
6515
65162001-10-20  Ion Badulescu  <ionut@moisil.badula.org>
6517
6518	With these changes, Solaris 2.[67] autofs support is finally
6519	functional!
6520
6521	* conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
6522	(autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
6523	xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
6524	(autofs_lookup_2_req): do an actual lookup here, and tell the
6525	kernel to create a symlink if necessary
6526	(autofs_mount_2_req): no need to am_autofs_data
6527	(autofs_program_2): enable AUTOFS_READDIR
6528	(autofs_link_mount): no code needed here
6529	(autofs_link_umount): return success
6530	(autofs_mount_succeeded): lstat real mount points; don't mark
6531	symlinks as NOTIMEOUT
6532
6533	* amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
6534
6535	* amd/map.c (init_map): init am_dev and am_rdev to -1
6536	(free_map): free am_mfarray and all mntfs's listed
6537
6538	* amd/autil.c (mf_mounted): move the lstat of the node to the
6539	autofs-specific code
6540
6541	* amd/amfs_link.c (amfs_link_ops): don't background symlink creation
6542
65432001-10-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6544
6545	* aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
6546	* BUGS: Explain this.
6547
65482001-10-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6549
6550	* doc/am-utils.texi (redhat-ctl-amd): document new script.
6551
6552	* scripts/Makefile.am: build redhat-ctl-amd but do not install it.
6553
6554	* scripts/redhat-ctl-amd.in: new script, useful to correctly
6555	control Amd on Red Hat Linux systems.  Script adapted from ctl-amd
6556	and Red Hat's own rc.d script.
6557
65582001-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6559
6560	* conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
6561	(MNT2_NFS_OPT_AUTO): Disable.
6562	* Makefile.am (EXTRA_DIST_CONF): Reflect new name.
6563	* aux/macros/check_nfs_prot_headers.m4: Use this file for all
6564	Tru64 UNIX V5 and up releases.
6565
65662001-09-24  Ion Badulescu  <ionut@moisil.badula.org>
6567
6568	* include/mount_headers1.h (MFS): define as 1 instead of nothing,
6569	to fix compile problems on OS X (patch from Ahmon Dancy)
6570
6571	* aux/macros/try_compile_anyfs.m4 (MFS): ditto
6572
65732001-08-13  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6574
6575	* doc/am-utils.texi (in_network Selector Variable): document
6576	expanded syntax
6577
6578	* libamu/wire.c (is_network_member): support for network/netmask
6579	as well as network/bits syntax in in_network()
6580
65812001-08-11  Erez Zadok  <ezk@a-linux64.fsl.cs.sunysb.edu>
6582
6583	* amq/amq.c (show_mti): print full four digits for year, and print
6584	it in MM/DD/YYYY format, not in YY/MM/DD format.
6585
65862001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6587
6588	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6589	initial attempt to do something useful -- but commented out for now
6590	(autofs_link_mount): create an action structure with a link
6591	request and pass it up
6592	(autofs_mount_2_req): pass the link request to the kernel
6593	(autofs_free_data): new helper function
6594
6595	* conf/autofs/autofs_linux.h: added definition for autofs_data_t
6596
6597	* conf/autofs/autofs_solaris_v2_v3.h: ditto
6598
6599	* amd/map.c (init_map): initialize am_autofs_data
6600	(free_map): call the autofs cleanup function if necessary
6601
6602	* include/am_utils.h (am_node): added private data and cleanup
6603	function for autofs
6604
6605	* tasks: removed some obsolete entries
6606
66072001-08-11  Erez Zadok  <ezk@a-solaris8.fsl.cs.sunysb.edu>
6608
6609	* amd/map.c (free_map_if_success): run autofs_umount_failed() only
6610	if this mount node is of type autofs.
6611
66122001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6613
6614	* amd/amd.h: removed mf_array from struct continuation (moved into
6615	am_node)
6616
6617	* include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
6618	vlookup_child; added vmount_child; added mount_child to the fs_ops
6619	API; added prototypes for amfs_auto_mount_child and
6620	amfs_error_mount_child
6621
6622	* amd/map.c (init_map): initialize am_mfarray to 0
6623
6624	* amd/amfs_*, amd/ops_*: new API function mount_child, old API
6625	function lookuppn renamed to lookup_child
6626
6627	* amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
6628	amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
6629	amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
6630	amfs_auto_mount_child; moved the freeing of the error mntfs in the
6631	newly allocated am_node from lookup_mntfs to mount_child; make
6632	sure lookup_child returns a negative error if the node needs to be
6633	mounted; removed the call to lookuppn3 from lookup_child
6634
6635	* amd/amfs_error.c: added stub implementations of
6636	amfs_error_lookup_child and amfs_error_mount_child
6637
6638	* amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
6639	conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
6640	call both lookup_child and mount_child, instead of the old
6641	lookuppn API method
6642
66432001-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6644
6645	* amd/get_args.c (get_args): a better way to handle GNU and
6646	non-GNU getopts without strdup-ing the getopt string.
6647
66482001-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6649
6650	* amd/info_ldap.c (amu_ldap_rebind): The first time you called
6651	amu_ldap_init, aldh->ldap is not set.  So when amu_ldap_rebind is
6652	called, this function is absolutely sure to return 0.  Then
6653	amu_ldap_init return 0 without having opened any LDAP connection.
6654	This is not the correct behavior.
6655	(get_ldap_timestamp, amu_ldap_search): error to free an object
6656	("entry") that is automatically freed by the library.  Patch from
6657	Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>.
6658
66592001-07-19  Ion Badulescu  <ionut@moisil.badula.org>
6660
6661	* AUTHORS (variables): added Philippe Troin
6662
6663	* Makefile.am (EXTRA_DIST): added bootstrap
6664
6665	* include/am_compat.h (xfs_args_t): define as u_int if the
6666	filesystem is supported but we can't autodetect the type for
6667	xfs_args_t. This allows Linux to mount xfs filesystems.
6668
66692001-07-12  Philippe Troin  <phil@fifi.org>
6670
6671	* doc/am-utils.texi: Added @dircategory Administration.
6672
66732001-07-12  Philippe Troin  <phil@fifi.org>
6674
6675	* aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
6676	with only the `yes' and `no' as possible answers.
6677
6678	* configure.in: Added support for disabling LDAP and HESIOD even
6679	if the supporting libraries are found.
6680
6681	* Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
6682
66832001-07-12  Philippe Troin  <phil@fifi.org>
6684
6685	* include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
6686	if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
6687	and the linux nodev options are different beasts.
6688
6689	* conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
6690	entry (not really necessary on linux).
6691
66922001-07-12  Philippe Troin  <phil@fifi.org>
6693
6694	* amd/get_args.c (get_args): Prepend "+" to the getopt string if
6695	HAVE_GNU_GETOPT to avoid getting all options (even the ones after
6696	the first non-option argument) slurped in by GNU getopt.
6697
6698	* aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
6699	if GNU/glibc getopt implementation is detected.
6700
6701	* configure.in: Added call to AC_CHECK_GNU_GETOPT.
6702
6703	* acconfig.h: Document HAVE_GNU_GETOPT.
6704
6705	* Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
6706
67072001-06-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6708
6709	* LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
6710	am-utils URL references use www.am-utils.org, not the columbia
6711	URL.
6712
67132001-06-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6714
6715	* conf/transp/transp_sockets.c (create_nfs_service): cast to
6716	u_long to ensure clean compile on freebsd5 and bsdi2.
6717
67182001-05-23  Ion Badulescu  <ionut@moisil.badula.org>
6719
6720	WARNING: WORK IN PROGRESS
6721
6722	It works for me on Linux (both autofs and nfs mounts), for nfs and
6723	link, but I won't make any guarantees outside those.
6724
6725	* amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
6726	point and the device/fileserver are the same. This is an important
6727	change of philosophy, watch out for memory leaks!
6728
6729	* amd/map.c (get_ap_child): helper function for
6730	amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
6731	and inserts it into all necessary structures
6732
6733	* amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
6734	free any of the removed fields
6735	(amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
6736	subfunctions, including some code stolen from bgmount; lookuppn
6737	now generates an array of possible mntfs to try mounting, and
6738	bgmount will actually try to mount each of them.
6739	(amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
6740	(amfs_parse_defaults): new helper function for lookuppn
6741
67422001-05-19  Erez Zadok  <ezk@kosh.dyn.optonline.net>
6743
6744	* conf/mount/mount_linux.c: typo: added comma after '0' element.
6745
67462001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6747
6748	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
6749	autofs-v4 again
6750	(autofs_get_opts): don't pass pgrp, the kernel will get it
6751	automatically anyway, not to mention that we were passing bogus
6752	data if amd was not daemonized.
6753
6754	* conf/mount/mount_linux.c (linux_nfs_error): don't special case
6755	the 0 result, just put it into the translation list
6756
67572001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6758
6759	* conf/mount/mount_linux.c (linux_nfs_error): don't report success
6760	(0) as error (NE_IO)!
6761
67622001-05-18  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6763
6764	* amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
6765	least one share is already mounted
6766
67672001-05-17  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6768
6769	* libamu/util.c (str3cat): updated comment
6770
6771	* include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
6772
6773	* conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
6774	(autofs_mounted): disable autofs support for host f/s if version < 4
6775	(create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
6776	(autofs_umount_succeeded): use rmdirs instead of rmdir
6777	(autofs_mount_failed): ditto
6778
6779	* amd/opts.c (expand_op): align the debugging messages
6780
6781	* amd/map.c (mount_auto_node): use am_node *mp instead of casting
6782	the void *arg; update the comment
6783
6784	* amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
6785	comparing to &amfs_direct_ops
6786	(mount_node): ifs_mount doesn't exist, make note of it in the
6787	comment
6788
6789	* amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
6790
6791	* amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
6792	create the mountpoint directory for auto f/s; it is now handled in
6793	autofs_linux.c
6794	(amfs_auto_bgmount): renamed the mpe parameter to mp_error;
6795	renamed dont_retry to retry and reverted its meaning as well;
6796	moved the mp variable up one scope and made use of it throughout
6797	the function;
6798	(amfs_auto_readdir): whitespace
6799	(amfs_auto_readdir_browsable): whitespace, also some debugging
6800
6801	* amd/am_ops.c (vops): updated a comment
6802
6803	* .cvsignore: added A.i386-pc-linux-rh7.[01]
6804
68052001-05-01  Ion Badulescu  <ionut@gonzales.dev.hydraweb.com>
6806
6807	* conf/mount/mount_linux.c: fixed stupid error in the linux
6808	nfs_errormap[], which was mapping ENOENT to success!!!
6809
68102001-04-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6811
6812	* BUGS: added info about the direct mount problems on Linux and
6813	about the kernel patches on www.am-utils.org.
6814
6815	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
6816	removed obsolete comment
6817
6818	* amd/autil.c (forcibly_timeout_mp): always log a message when the
6819	forced unmount request is ignored
6820	(mf_mounted): don't lstat unless this is an autofs mount point,
6821	lest we deadlock
6822
6823	* amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
6824	MFF_MKMNT to the flags, it causes deadlocks later on when
6825	unmounting
6826
68272001-04-14  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6828
6829	* COPYING: update copyright year
6830
6831	* amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
6832	amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
6833	amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
6834	amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
6835	conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
6836	conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
6837	conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
6838	libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
6839	messages for clarity, to avoid duplication, to better recognize
6840	what the message means and where it ran, and to fix typos.
6841
6842	* amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
6843	function's name to the beginning of the function, before any other
6844	messages are logged.
6845
68462001-04-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6847
6848	* conf/mount/mount_linux.c (do_mount_linux): removed plog() of
6849	binary data
6850
68512001-04-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6852
6853	* include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
6854	MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
6855	work (needed for MacOS X); removed duplicate definition of NFS.
6856
68572001-03-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6858
6859	* amd/amd.h, amd/amfs_auto.c, amd/conf.c,
6860	doc/am-utils.texi,
6861	scripts/amd.conf-sample, scripts/amd.conf.5:
6862	renamed selectors_on_default to selectors_in_defaults,
6863	kept the former as a deprecated option;
6864	renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
6865	renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
6866
68672001-03-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6868
6869	* amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
6870	include/am_utils.h: compile fixes for --enable-debug=no
6871
68722001-03-15  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6873
6874	* NEWS: updated
6875
6876	* README.autofs: updated
6877
6878	* conf/mount/mount_linux.c (linux_version_code): export the fn
6879
6880	* conf/nfs_prot/nfs_prot_linux.h: ditto
6881
6882	* conf/autofs/autofs_linux.c (create_autofs_service): verify the
6883	kernel version here, and turn off bind_works if the kernel is
6884	older than 2.4.0.
6885	(autofs_link_mount): don't touch bind_works here, it's useless
6886	b/c we're in a child process; remove the mountpoint directory if
6887	the bind mount fails
6888
6889	* amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
6890	into dlogs
6891
6892	* conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
6893	mntent struct before initializing it
6894
68952001-03-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6896
6897	* conf/mount/mount_linux.c (parse_opts): added support for lofs
6898	(mount_linux): support lofs through bind mounts and/or FiST lofs
6899
6900	* scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
6901	/var/mail and /usr/spool/mail
6902
6903	* conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
6904	kernel is newer than 2.4.0
6905	(MNTTYPE_LOFS): ditto
6906
6907	* conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
6908	(autofs_lookup_failed): removed stub
6909
6910	* conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
6911	the file, made static;
6912	(autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
6913	and friends to determine if bind mounts can be used and to trigger
6914	further cascading mounts; return proper error codes
6915	(autofs_link_umount): distinguish between symlinks and bind mounts
6916	and handle both correctly
6917	(autofs_umount_succeeded): remove call to autofs_link_umount()
6918
6919	* amd/map.c (umount_exported): try to unmount all mount points on
6920	an autofs filesystem; this isn't really needed and will be removed
6921	when we start handling restarting autofs mounts
6922
6923	* amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
6924	if necessary
6925
6926	* amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
6927	causing the wrong mntfs to be selected when using autofs; removed
6928	call to autofs_link_mount() (moved where it belongs, in
6929	amfs_link.c)
6930
6931	* amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
6932	solution is needed, because background mounting is only necessary
6933	for linux autofs + bind mounts
6934
6935	* amd/amd.h: removed prototype for autofs_lookup_failed (internal
6936	static function for linux autofs); added prototype for
6937	autofs_link_umount
6938
6939	* configure.in: bump up library patchlevel
6940
69412001-02-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6942
6943	* aux/macros/check_mount_trap.m4,
6944	aux/macros/check_nfs_fh_dref.m4,
6945	aux/macros/check_nfs_prot_headers.m4,
6946	aux/macros/type_recvfrom_fromlen.m4,
6947	aux/macros/type_yp_order_outorder.m4:
6948	Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
6949	aix[1-3], osf[1-3] and hpux[6-9].
6950
69512001-02-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6952
6953	* check_mount_style.m4, check_mount_trap.m4,
6954	check_network_transport_type.m4, check_nfs_fh_dref.m4,
6955	check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
6956	check_nfs_socket_connection.m4, os_cflags.m4,
6957	type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
6958	cleanup (use [[0-1]] instead of M4 changequote commands).
6959
6960	* Makefile.am: removed unused conf/trap/trap_hpux11.h
6961
69622001-02-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6963
6964	* aux/macros/check_network_transport_type.m4,
6965	aux/macros/check_mount_style.m4,
6966	aux/macros/check_mount_trap.m4,
6967	aux/macros/check_network_transport_type.m4,
6968	aux/macros/check_nfs_fh_dref.m4,
6969	aux/macros/check_nfs_prot_headers.m4,
6970	aux/macros/check_nfs_sa_dref.m4,
6971	aux/macros/check_nfs_socket_connection.m4,
6972	aux/macros/os_cflags.m4,
6973	aux/macros/type_auth_create_gidlist.m4,
6974	aux/macros/type_recvfrom_fromlen.m4,
6975	aux/macros/type_yp_order_outorder.m4:
6976	Reworked the scripts, so that a new _unknown_ version of a known OS
6977	will use the option for the newest _known_ version of that OS. For
6978	example, when freebsd6 comes out, it will use the stuff for
6979	freebsd5, not the stuff for freebsd2. This makes configure more
6980	likely to succeed on new systems/versions.
6981
6982	* Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
6983
69842001-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6985
6986	* Makefile.am (install-snapshot): use a different symlink target
6987	for the experimental snapshots.
6988
69892001-02-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6990
6991	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
6992	distributions.
6993
69942001-02-22  Erez Zadok  <ezk@earth.cs.columbia.edu>
6995
6996	* released snapshot am-utils-6.1a3
6997
6998	* amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
6999	get_args.c
7000
70012001-02-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7002
7003	* libamu/mtab.c: added the functions hasmnteq and haseq to
7004	ease checks for non-numeric values in opt=value strings.
7005	Recoded hasmntval to qualify input as numeric, allow hex and
7006	octal strings on rhs of =, and log when the value is missing
7007	or invalid.
7008
7009	* conf/mount/mount_linux.c: revised mount_linux to use new
7010	hasmnteq function to extract type of non-nfs mounts, and added
7011	a log message to catch possible failure of strdup.
7012
7013	* amd/am_ops.c: revised merge_ops to use new haseq function
7014
7015	* amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
7016	discover protocol setting.
7017
7018	* include/am_utils.h: added function prototypes for hasmnteq
7019	and haseq
7020
70212001-02-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7022
7023	* include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
7024	pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
7025
7026	* include/am_defs.h (_LINUX_NFS3_H): ditto
7027
7028	* conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
7029
70302001-02-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7031
7032	* aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
7033	command.
7034
70352001-02-18  Erez Zadok  <ezk@earth.cs.columbia.edu>
7036
7037	* aux/macros/mount_headers.m4, include/mount_headers[12].h: split
7038	mount_headers.h in two because one relative header (nfs_prot.h)
7039	file cannot be included inside another from the start directory of
7040	the first (it's relative to the directory of the first).
7041
70422001-02-09  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7043
7044	* AUTHORS: added Ahmon Dancy <dancy@franz.com>
7045
7046	* (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
7047
7048	* aux/macros/mount_headers.m4: moved all the C code into a
7049	separate file, include/mount_headers.h; the effect is that
7050	configure goes down in size by a factor of 2.5!
7051
7052	* include/mount_headers.h: new file, with C code from
7053	aux/macros/mount_headers.m4
7054
70552001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7056
7057	* conf/mount/mount_linux.c: made linux_nfs_error() more robust.
7058
70592001-02-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7060
7061	* released snapshot am-utils-6.1a2
7062
7063	* updated ltmain.sh and ltconfig from latest stable version of
7064	libtool-1.3.5
7065
70662001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7067
7068	* conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
7069	of nfs_error here, from mount_linux.c, so that it can actually be
7070	used.
7071
7072	* conf/mount/mount_linux.c: added unused errno 41 to the
7073	nfs_errormap array, lest the following errno's get shifted up by
7074	one!
7075
7076Sat Jan 13 00:04:38 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7077
7078	* amd/amd.h (autofs_lookuppn): Fixup whitespace.
7079	* amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
7080	* amd/amfs_error.c: (amfs_error_match): Likewise.
7081	* amd/amfs_host.c (fetch_fhandle): Fixup whitespace.  Remove
7082	unnecessary temporary variable.
7083	* amd/info_file.c (read_line): Likewise.
7084	(search_or_reload_file): Likewise.
7085	* amd/info_ldap.c (get_ldap_timestamp): Likewise.
7086	* amd/map.c (get_root_ap): Likewise.
7087	* amd/nfs_prot_svc.c: Likewise.
7088	* amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
7089	foofs_readlink, foofs_ffserver): Likewise.
7090	* amd/ops_autofs.c (autofs_bgmount): Likewise.
7091	* amd/ops_lofs.c (lofs_match): Likewise.
7092	* amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
7093	* amd/ops_xfs.c (xfs_match): Likewise.
7094	* amd/srvr_amfs_auto.c (srvrlog): Line break.
7095	* amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
7096	nfs_srvr_port): Fixup whitespace.
7097	* conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
7098	* conf/nfs_prot/nfs_prot_hpux.h: Likewise.
7099	* conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
7100	* conf/nfs_prot/nfs_prot_irix5.h: Likewise.
7101	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
7102	* conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
7103	* conf/nfs_prot/nfs_prot_osf2.h: Likewise.
7104	* conf/nfs_prot/nfs_prot_osf4.h: Likewise.
7105	* conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
7106	* conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
7107	* conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
7108	* conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
7109	* conf/transp/transp_tli.c (get_mount_client): Likewise.
7110	* hlfsd/nfs_prot_svc.c: Likewise.
7111	* include/am_defs.h (sys_errlist): Likewise.
7112	* include/am_utils.h (am_get_progname, am_get_hostname,
7113	amq_program_1): Likewise.
7114	(nfsxprt): Moved declaration.
7115
7116Fri Jan 12 23:31:45 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7117
7118	Removed support for amq -M.
7119
7120	* acconfig.h (ENABLE_AMQ_MOUNT): Removed.
7121	* aux/macros/opt_amq_mount.m4: Removed.
7122	* Makefile.am (EXTRA_DIST_AUX): Don't distribute
7123	opt_amq_mount.m4.
7124	* configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
7125
7126	* amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
7127	* amd/amq_svc.c (amq_program_1): Removed amq -M support.
7128	* amq/amq.c (mount_map): Removed.
7129	(main): Removed -M option handling.
7130	Removed transport-type specific CLIENT creation.
7131	(get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
7132
7133	* amq/amq.8: Removed -M documentation.
7134	* doc/am-utils.texi (Top-level Filesystem): Removed amq -M
7135	reference, but retain comment on mount -t amd.
7136	(Controlling Amd): Likewise.
7137
7138	* tasks: Removed this task.
7139
7140Fri Jan 12 23:18:26 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7141
7142	* conf/autofs/autofs_*.c: Bump copyright year to 2001.
7143	* hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
7144
7145	* aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
7146	solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
7147	protocol version numbers, not solaris versions.
7148	* conf/autofs/autofs_solaris[12].[ch]: Renamed to
7149	autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
7150	* Makefile.am (EXTRA_DIST_CONF): Likewise.
7151
7152	* aux/macros/check_autofs_style.m4: Use solaris2 style for both
7153	versions 2 and 3 of the AutoFS protocol.
7154
7155	Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
7156	with Solaris 8 mntfs).
7157
7158	* conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
7159	xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
7160	autofs_postmount_2_req ): Don't define for version 3.
7161	(autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
7162	AUTOFS_POSTMOUNT if missing.
7163
7164	* conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
7165
7166	* aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
7167	files on systems without existing autofs port.
7168	* conf/autofs/autofs_default.[ch]: New files, empty.
7169	* Makefile.am (EXTRA_DIST_CONF): Distribute them.
7170	* INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
7171	link.
7172
71732001-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7174
7175	* Makefile.am (EXTRA_DIST): distribute new LDAP files.
7176
7177	* README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
7178	proposed Schema, and internet draft.
7179
7180Fri Jan 12 22:27:07 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7181
7182	* Support Tru64 UNIX V5.1:
7183
7184	* conf/nfs_prot/nfs_prot_osf5_1.h: New file.
7185
7186	* Makefile.am (EXTRA_DIST_CONF): Distribute it.
7187
7188	* aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
7189	AutoFS, need to disable it until a port exists.
7190
7191	* INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
7192	minor port.
7193
71942001-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7195
7196	* ALL: bump copyright year to 2001.
7197
71982001-01-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7199
7200	* acconfig.h: correct comments for NODEV/NONDEV mount options
7201
7202Fri Jan  5 05:12:02 2001  Erez Zadok  <ezk@subzero.cs.columbia.edu>
7203
7204	* libamu/xdr_func.c: removed ugly casts to "groups*", now that
7205	irix6's nfs_prot.h is fixed.
7206
7207	* conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
7208	<rpcsvc/mount.h> here so we don't have to include this header.
7209
72102001-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7211
7212	* conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
7213	struct groups, not the pointer to this struct.
7214
7215	* include/am_xdr_func.h: prototype should take "groups *" as 2nd
7216	arg.
7217
7218	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
7219	casting of second arg of xdr_groups to "groups *".  It's only
7220	needed for irix6, due to problems with xdr_groups on that platform.
7221	(xdr_groups): prototype should take "groups *" as 2nd arg.
7222
7223	* conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
7224	definition.  Report from Ahmon Dancy <dancy@franz.com>.
7225
72262000-12-06  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7227
7228	* include/am_defs.h: force non-inclusion of <linux/fs.h> via
7229	<linux/auto_fs.h>
7230
7231	* conf/autofs/autofs_linux.c (autofs_mounted): rename
7232	AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
7233	previous commit)
7234
7235	* configure.in: fixed libtool version
7236
72372000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7238
7239	* doc/am-utils.texi (opts Option): document lock/nolock
7240
72412000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7242
7243	* conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
7244	modified autofs_fh_t to have a linked list of autofs_pending_mount;
7245	added some support for autofs4
7246
7247	* conf/autofs/autofs_linux.c: use a linked list for pending
7248	request, to allow for handling multiple simultaneous request;
7249	incipient non-functional support for autofs4; incipient
7250	non-functional support for bind-mounting
7251
7252	* amd/amd.c (main): print a warning if PROCLOCK is requested but
7253	the O/S doesn't support it
7254
7255	* libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
7256	option
7257
7258	* include/am_defs.h: don't include <linux/fs.h> on a glibc2
7259	system; include <linux/auto_fs4.h> if it exists, instead of
7260	<linux/auto_fs.h>
7261
7262	* include/am_compat.h: define the "nolock" mnttab option if the
7263	NONLM NFS mount option is defined
7264
7265	* acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
7266
7267	* configure.in: added detection of the NONLM Linux NFS mount
7268	option; added a clarification for the library versioning rules and
7269	increased the minor level; added detection of <linux/auto_fs4.h>
7270	and the MS_BIND generic mount option
7271
72722000-11-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7273
7274	* Enabled Solaris 2.7 autofs support (tested, works)
7275
7276	* Updated NEWS, README.autofs
7277
7278	* Updated Makefile's, make dist is now fixed
7279
7280	* Fixed potential memory leak in map.c
7281
7282	* Fixed autofs style detection for solaris 2.[67]
7283
7284	* Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
7285
72862000-11-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7287
7288	More Solaris 2.[67] work in progress:
7289
7290	* changed the API for the mount/umount methods: fmount/fumount are
7291	gone, and mount/umount now take two arguments (am_node and mntfs)
7292
7293	* changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
7294	means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
7295	means the am_node is a node on a filesystem of type autofs.
7296
7297	* renamed nfs_program_2_transp to current_transp so it can be used
7298	with autofs
7299
7300	* renamed quick_reply() to nfs_quick_reply()
7301
7302	* added two more autofs methods: autofs_umount_failed() and
7303	autofs_compute_mount_flags() -- it turns out that on sol2.6 the
7304	autofs mounts MUST be overlay'ed
7305
7306	* moved the autofs_mount_succeeded() into am_mounted()
7307
7308	* made amd *not* timeout autofs mounts -- the kernel will do it
7309	for us
7310
7311	* store dev and rdev of a mounted filesystem in the mntfs
7312	structure, to help autofs
7313
7314	* moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
7315	prevent deadlocking with autofs
7316
7317	* amd/Makefile.am: shuffled things around to make
7318	update_build_version be the last thing that runs
7319
73202000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7321
7322	* split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
7323	and made configure create a symlink to the appropriate one
7324
7325	* moved the xdr autofs functions from libamu/xdr_func.c into the
7326	system-specific conf/autofs/autofs*.c
7327
7328	* added some more experimental code to the sol2.6 autofs support,
7329	but it's by no means functional
7330
73312000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7332
7333	* libamu/wire.c (getwire_lookup): truncate the hostname to
7334	MAXHOSTNAMELEN characters.
7335
73362000-11-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7337
7338	* include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
7339	256 bytes, not 64.   Suggestion form Kris Kennaway
7340	<kris@FreeBSD.org>.
7341
73422000-11-26  Erez Zadok  <ezk@dmath5.geometrie.tuwien.ac.at>
7343
7344	* configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
7345	options kerb, rdirplus, readdirsize, and xlatecookie
7346	(NetBSD-1.5K).
7347
7348	* acconfig.h: recognize NFS mount options rdirplus, readdirsize,
7349	and xlatecookie (NetBSD-1.5K)
7350
73512000-11-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7352
7353	* amd/srvr_nfs.c: comment on NFS proto search order.
7354
7355	* libamu/xutil.c (real_plog): don't try to write the last byte of
7356	the fmt buf.  security suggtion from NetBSD: Thomas Klausner
7357	<wiz@danbala.ifoer.tuwien.ac.at>
7358
73592000-11-22  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7360
7361	* amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
7362	fattr.na_fileid, it is now done in map.c when the map is initialized
7363
7364	* amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
7365	to 0, to avoid cache aliasing problems on Linux (and to follow the
7366	NFS spec!)
7367
73682000-11-22  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
7369
7370	* libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
7371	(security)
7372
7373	* libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
7374	__attribute__, __format__, and __printf__ for GCC string auditing.
7375
7376	* wire-test/wire-test.8: this is not a section 8L man page.
7377
7378	* libamu/xutil.c (expand_error): don't use sys_nerr on systems
7379	that support strerror().
7380	(dplog): fmt is const
7381	(plog): fmt is const
7382	(real_plog): fmt is const.  use new expand_error function with its
7383	new return value. be more careful about running off the end of
7384	char[] fixed size buffers.
7385
7386	* libamu/wire.c (getwire): fix alignment error on alpha using an
7387	extra automatic storage variable ifrpool.
7388
7389	* hlfsd/hlfsd.c (fatal): use proper printf style to plog.
7390
7391	* fsinfo/fsinfo.c (find_username): getlogin() returns a const.
7392
7393	* fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
7394	vfprintf.
7395
7396	* fsinfo/fsi_lex.l (yyerror): use vfprintf.
7397
7398	* fixmount/fixmount.8: this is not a section 8L man page.
7399
7400	* doc/am-utils.texi (Hesiod maps): fixed typo.
7401
7402	* amd/sched.c (do_task_notify): typo in comment.
7403
7404	* amd/opts.c (expand_op): expand_error[] is a const char *.
7405
7406	* amd/amd.c (main): use proper printf style to plog.
7407
74082000-11-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7409
7410	* libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
7411	proplist mnttab flag.  Bug fix from Wolfram Klaus
7412	<klaus@physik.fu-berlin.de>.
7413
74142000-11-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7415
7416	* updated config.guess, config.sub, and doc/texinfo.tex from
7417	mirrors
7418
7419	* Makefile.am (update): proper updating of config.* and texinfo
7420	from mirrors.
7421
7422	* aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
7423	reports their system name as "netbsdelf" in config.guess.
7424
74252000-11-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7426
7427	* doc/am-utils.texi (opts Option): document new mount option
7428	"proplist"
7429
7430	* include/am_compat.h: define amd mount option "proplist" if the
7431	system doesn't recognize it, but the NFS bit flag exists.
7432
7433	* configure.in, acconfig.h: recognize/support "proplist" NFS mount
7434	option in Amd, useful under DU-4.0 to process ACLs over NFS
7435	mounts.
7436
74372000-11-10  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7438
7439	* conf/mount/mount_linux.c (mount_linux): removed unnecessary
7440	rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
7441
74422000-10-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7443
7444	* scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
7445
74462000-11-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7447
7448	Too many changes to list them here. Here's a high level
7449	description:
7450
7451	* Forward-ported the Linux fixes from 6.0.5pre
7452
7453	* Got rid of a mountain of #ifdef DEBUG, replaced with smart
7454	header-file #ifdef's
7455
7456	* and, the grand finale: initial Solaris 2.6 autofs
7457	support. Compiles, mounts, gets requests; all the
7458	infrastructure is in place to actually implement the calls. Linux
7459	autofs might be a bit broken, but only compile-time so it'll be
7460	easy to fix.
7461
74622000-11-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7463
7464	* MIRRORS (Note): added a mirror at ufl.edu
7465
74662000-10-11  Erez Zadok  <ezk@lorien.dev.hydraweb.com>
7467
7468	* amq/amq.8: synchronize Amq's options with reality
7469
7470	* amq/amq.c (main): synchronize Amq's usage() string with reality
7471
74722000-10-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7473
7474	* scripts/ctl-amd.in: add targets condrestart (redhat) and
7475	reload.
7476
74772000-10-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7478
7479	* scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
7480	defined.
7481
74822000-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7483
7484	* amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
7485	\a.
7486
74872000-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7488
7489	* include/am_utils.h: removed unused field opt_autopref
7490
7491	* amd/opts.c: removed unused variable $autopref
7492
74932000-09-05  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7494
7495	* conf/mtab/mtab_svr4.c (lockfile): function not needed unless
7496	MOUNT_TABLE_ON_FILE is defined.
7497	mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
7498	(update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
7499
75002000-09-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7501
7502	* buildall (Usage): typo in usage string
7503
75042000-08-25  Erez Zadok  <ezk@lynn.soscorp.com>
7505
7506	* conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
7507	is no defined on older Linux systems (kernel 2.0.36)
7508
75092000-08-19  Erez Zadok  <ezk@earth.cs.columbia.edu>
7510
7511	* scripts/amd.conf.5: correct swapped descriptions for ldap_base
7512	and ldap_hostports.
7513
7514	* doc/am-utils.texi: correct swapped descriptions for ldap_base
7515	and ldap_hostports.
7516
7517	* scripts/amd.conf-sample: swap examples for ldap_base and
7518	ldap_hostports.
7519
75202000-08-13  Erez Zadok  <ezk@earth.cs.columbia.edu>
7521
7522	* scripts/amd.conf-sample: -O is CLI equivalent to "os"
7523	amd.conf parameter
7524
75252000-07-30  Erez Zadok  <ezk@earth.cs.columbia.edu>
7526
7527	* scripts/amd.conf-sample (nfs_retransmit_counter): correct
7528	meaning and use of parameter
7529
75302000-07-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7531
7532	* doc/am-utils.texi: updated URLs to www.am-utils.org.
7533
75342000-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7535
7536	* doc/am-utils.texi (Supported Platforms): document osf4.0f
7537
75382000-06-19  Erez Zadok  <ezk@vir.cs.columbia.edu>
7539
7540	* doc/am-utils.texi (dollar Selector Variable): document
7541	${dollar}.
7542
7543	* amd/opts.c: special new variable ${dollar} which expands into a
7544	literal '$' sign.  Otherwise there is no way to include a literal
7545	dollar symbol in an amd map.
7546
75472000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7548
7549	* amd/opts.c (eval_selectors): don't deref opt after it's been
7550	XFREE'd
7551
75522000-06-11  Erez Zadok  <ezk@earth.cs.columbia.edu>
7553
7554	* amd/opts.c: move mount_type expansion until later in the list,
7555	so common variable are "hit" first.
7556
75572000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7558
7559	* amd/opts.c (split_opts, eval_selectors): split old function
7560	eval_opts into two, one that only splits non-selectors and
7561	assigns the values to fs_static, and one that only evaluates
7562	selectors; also simplified the rather obfuscated logic inside
7563	these functions
7564	(expand_op): made it take a char * instead of a structure from
7565	which it was using only one field (a char *). Also now returns a
7566	char * instead of modifying said structure in place
7567	(expand_opts): deal with the change above
7568	(expand_selectors): renamed from expand_key
7569	(expand_options): new function, expands non-selectors; it's the
7570	complement of expand_selectors, both of which are just wrappers
7571	around expand_op()
7572	(eval_fs_opts): use the new split_opts, eval_selectors to allow
7573	using options (like ${rhost}) in selectors
7574
75752000-06-11  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7576
7577	* config.guess.long: munge config.guess' output so that intel
7578	linux appears as i386-pc-linux
7579
7580Fri Jun  9 16:06:56 2000  Erez Zadok  <ezk@defiant.dev.hydraweb.com>
7581
7582	* conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
7583	Don't use it.
7584
75852000-06-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7586
7587	* amd/mapc.c (maptypes): Change default allocation mode to
7588	MAPC_INC where reload support is missing to avoid warning in
7589	mapc_create().
7590
75912000-06-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7592
7593	* conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
7594	solaris 2.5 until a full port can be done.
7595
75962000-06-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7597
7598	* Makefile.am, aux/GNUmakefile: fix maintainer rules to update
7599	config.* and texinfo.tex files.
7600
7601	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
7602	mtime update of the symlinks on the SYMTTL option, but rather
7603	delay unmount of what was looked up using am_timeo_w.  Patch from
7604	Nick Williams <Nick.Williams@msdw.com>.  As Nick says "Basically:
7605	during unmount, increment the parent dir's mtime (fixes
7606	people doing amq -u). During stat, increase the TTL (to fix bad-luck
7607	timeouts), but leave the mtime alone."
7608
7609	(nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
7610	nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
7611	Patch from Nick Williams <Nick.Williams@msdw.com>.
7612
7613	* amd/map.c (unmount_mp): update mtime of amd symlink to further
7614	reduce the chances of race conditions between unmounting and
7615	looking up an entry again.  Patch from Nick Williams
7616	<Nick.Williams@msdw.com>.
7617
7618	* README: updated instructions
7619
7620	* bootstrap: remove log file before existing
7621
76222000-06-06  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7623
7624	* configure.in: no longer using aux/ subdir. don't force autoconf
7625	2.14. comment out (but leave explanation) everything that's needed
7626	for autoconf 2.14, so for now it works with autoconf-2.13, but the
7627	code is ready for 2.14 when it is released.  Similar changes to
7628	make code work with automake-1.4, until the next release comes
7629	out.
7630
7631	* libamu/Makefile.am: include definitions that are required in
7632	automake 1.4, but won't be necessary when the next release of
7633	automake comes out (see XXX comments).
7634
7635	* cache_check_dynamic.m4, check_checkmount_style.m4,
7636	check_mnttab_style.m4, check_mount_style.m4,
7637	check_network_transport_type.m4, check_nfs_prot_headers.m4,
7638	check_umount_style.m4: use symlink creation code that works for
7639	both autoconf 2.13 and 2.14 (when the latter comes out).
7640
7641	* bootstrap: new script for maintainers to run to update autoconf,
7642	automake, and libtool related files.  Has the same effect as
7643	"buildall -K".
7644
7645	* removed dependencies on CVS versions of autoconf, automake, and
7646	libtool, especially the modified automake I had.  This is so that
7647	maintainers could built the auto* files out of the latest released
7648	GNU autoconf, automake, and libtool.  However, without my nice
7649	patches to automake, many files that used to live in the aux/
7650	subdir now were moved to the top level source directory: acconfig.h,
7651	acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
7652	config.guess.long, config.h.in, config.sub, configure.in, depcomp,
7653	install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs.  Also
7654	texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
7655
76562000-06-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7657
7658	* cvs-server.txt: instructions for maintainers to access the CVS
7659	server for am-utils.
7660
76612000-06-03  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7662
7663	* amd/restart.c (restart): grr.. passing around initialized
7664	structures is *really* bad habit. memset(mo, 0) so at least we can
7665	test for NULL pointers...
7666
76672000-06-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7668
7669	* amd/am_ops.c (ops_match): changed XLOG_USER messages about
7670	merging addopts options to the more appropriate XLOG_INFO.  Patch
7671	submitted by Tom Schmidt <tschmidt@micron.com>.
7672
7673	* config.{guess,sub}: make sure chmod'ed a+rx.  Updated from
7674	latest GNU copies.
7675
76762000-05-30  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7677
7678	* aux/configure.in: bump up the version to 6.1a2
7679
76802000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7681
7682	* released snapshot am-utils-6.1a1
7683
76842000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7685
7686	* amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
7687	version and store it in the fh
7688	(autofs_get_opts): support protocol version 4
7689
7690	* amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
7691	releasing it
7692
7693	* conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
7694	svc_getcaller() to sockaddr_in, to appease glibc 2.2
7695
7696	* amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
7697	autofs handling and the parent is already handled by autofs,
7698	handle this filesystem as well
7699	(amfs_auto_mount): create the mountpoint for an autofs mount
7700	(amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
7701
7702	* include/am_utils.h (FS_AUTOFS): new flag signalling that the
7703	filesystem wants autofs handling; toplvl, auto, host and direct
7704	have this flag, at least for now
7705
77062000-05-28  Erez Zadok  <ezk@mulberry.mcl.cs.columbia.edu>
7707
7708	* doc/am-utils.texi (Network Filesystem Group): minor typos
7709
77102000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7711
7712	* amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
7713
7714	* amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
7715	version=2 and proto=udp and try again
7716
7717	* amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
7718	instead of a voidp; handle the NFS_SCALEDOWN case by removing the
7719	cached server entry and re-querying the server
7720
7721	* amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
7722	statement, assign mnttype from the fs-specific mf_ops->fs_type
7723	instead
7724
7725	* amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
7726	defined;
7727	(amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
7728	always exists
7729	(amfs_nfsx_umount): removed the hacked am_node -- umounted() now
7730	takes an mntfs; call umounted() only if it's defined
7731
7732	* amd/amfs_auto.c: removed amfs_auto_umounted and moved its
7733	functionality into am_umounted().
7734	(amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
7735	as needing an "NFS scaledown" and retry the operation
7736
7737	* amd/amfs_*.c: changed all fmount/fumount functions to
7738	mount/umount and made them take an am_node instead of an
7739	mntfs. This is a first step towards an amfs/ops API separation.
7740
7741	* amd/{amfs,ops}_*.c: changed the umounted() function to take an
7742	mntfs instead of an am_node
7743
77442000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7745
7746	* amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
7747	up gcc
7748
7749	* aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
7750	which always defines HIDE_MOUNT_TYPE
7751
7752	* amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
7753	initialization -- now done in init_mntfs()
7754
7755	* amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
7756	mounting an autofs-style map
7757
7758	* amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
7759
7760	* amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
7761	necessarily a string type, so handle the nfs/autofs separation
7762	differently
7763
7764	* amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
7765	opt_mount_type (now done in ops_match())
7766
7767	* amd/am_ops.c (ops_match): need to initialize opt_mount_type if
7768	it's not initialized yet
7769
77702000-05-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7771
7772	* libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
7773	one or two arguments (bsdi3 vs. bsdi4)
7774
77752000-05-27  Ion Badulescu  <ib42@chestnut.mcl.cs.columbia.edu>
7776
7777	* libamu/xutil.c (amu_release_controlling_tty): removed an unused
7778	variable from the previous patch
7779
77802000-05-26  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7781
7782	* aux/macros/check_autofs_style.m4: fixed substitution for default
7783	case
7784
7785	* libamu/xutil.c (amu_release_controlling_tty): close standard
7786	file descriptors, re-open them as /dev/null
7787
7788	* include/am_defs.h: don't try to include both <ndbm.h> and
7789	<db1/ndbm.h>, it really doesn't work
7790
77912000-05-16  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7792
7793	* hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
7794	on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
7795	getattr).  This fixes the problem introduced by the Linux nfsv3
7796	patches.
7797
77982000-05-12  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7799
7800	* Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
7801
78022000-05-10  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7803
7804	* amd/ops_autofs.c (autofs_handle_fdset): call
7805	autofs_lookup_failed instead of autofs_mount_failed, if the name
7806	is not in the map
7807	(autofs_umount_{succeeded,failed}): pass the actual mount point,
7808	not its parent, as it's needed for clean-up;
7809
7810	* amd/autil.c (am_unmounted): notify autofs that the umount
7811	succeeded
7812
7813	* amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
7814	moved elsewhere
7815
78162000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7817
7818	* amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
7819	if necessary;
7820	(amfs_auto_mounted): test if opt_mount_type is NULL first
7821	(amfs_auto_mount): revert earlier change
7822
7823	* amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
7824	if mount failed
7825
78262000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7827
7828	* amd/ops_autofs.c (autofs_link_mount): use am_link as target
7829
7830	* amd/map.c (unmount_mp): release file handle for autofs f/s about
7831	to be unmounted; this leak was preventing the unmount altogether
7832
7833	* amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
7834	code, was broken
7835	(amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
7836	handle it
7837
78382000-05-07  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7839
7840	* Merged changes from stable branch
7841
78422000-04-30  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7843
7844	* include/am_defs.h, aux/macros/mount_headers.m4,
7845	aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
7846	linux/list.h before including linux/fs.h, and define __KERNEL__
7847	for those two headers.  All of this to get a couple of definitions
7848	that are needed in the new struct vfsmount.
7849
7850	* aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
7851
7852	* include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
7853	between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
7854	defining _LINUX_IN_H so it doesn't get included.
7855
78562000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7857
7858	* minor new ports: i686-pc-linux-gnu-rh6.2,
7859	i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
7860
78612000-04-03  Erez Zadok  <ezk@vir.cs.columbia.edu>
7862
7863	* aux/acconfig.h: move all #undef macros above @TOP@, so they can
7864	be recognized by pickier autoconf.
7865
78662000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7867
7868	* aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
7869	or \c.
7870
78712000-03-25  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7872
7873	* include/am_defs.h: ditto
7874
7875	* aux/macros/{mount_headers,try_compile_anyfs}.m4: force
7876	non-inclusion of <linux/string.h>.  Breaks build on newer 2.3
7877	kernels.
7878
78792000-02-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7880
7881	* doc/am-utils.texi (Amq -w option): document new amq -w option.
7882
7883	* amq/amq.8: document new amq -w option.
7884
7885	* amq/amq.c: disable last remains of insecure amq -M code.
7886	(main): add amq -H option to show usage.
7887	(main): new amq -w option, translates getpwd() into an amd path.
7888
78892000-02-25  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7890
7891	* libamu/util.c (get_server_pid): new function
7892
7893	* hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
7894
7895	* conf/transp/transp_sockets.c: removed create_autofs_service
7896
7897	* conf/mount/mount_linux.c: added autofs mount options; split
7898	mount_linux into two functions, itself and do_mount_linux
7899
7900	* aux/macros/check_hide_mount_type.m4: better failover
7901
7902	* aux/configure.in: changed version to 6.1a1; added
7903	AC_CHECK_AUTOFS_STYLE
7904
7905	* aux/aux_conf.h.in: added @am_utils_autofs_style@
7906
7907	* amd/opts.c: added "mount_type" option
7908
7909	* amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
7910	variables in here; split create_autofs_service into sun and linux
7911	specific functions
7912
7913	* amd/nfs_start.c: removed autofs-specific variables
7914
7915	* amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
7916	(get_root_ap): renamed root_ap to get_root_ap
7917
7918	* amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
7919	amfs_toplvl_mounted with amfs_auto_mounted
7920	(mount_amfs_toplvl): moved code around, added autofs handling
7921	(amfs_toplvl_mounted): removed
7922
7923	* amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
7924	replaced with amfs_nfsl_u?mount
7925
7926	* amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
7927	replaced with amfs_link_umount
7928
7929	* amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
7930	replaced with amfs_link_u?mount
7931
7932	* amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
7933	from amfs_toplvl_mounted to amfs_auto_mounted
7934
7935	* all: added autofs hooks throughout the code
7936
7937	* amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
7938
7939	* README.autofs: linux status update
7940
79412000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7942
7943	* minor new port: alphaev6-dec-osf5.0
7944
7945	* doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
7946	but only for UDP.
7947
7948	* released snapshot am-utils-6.0.4s3
7949
7950	* conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11.  Note
7951	that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
7952	kernel!  Must set nfs_proto=udp in amd.conf [global].
7953
7954	* aux/config.guess.long: set and export PATH separately.  DU5
7955	/bin/sh doesn't like setting it on the command line in a
7956	back-tick'ed `script`.
7957
79582000-02-24  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7959
7960	* Makefile.am: removed struct_nfs_mount_data.m4
7961
7962	* aux/macros/struct_nfs_mount_data.m4: deleted
7963
7964	* aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
7965
7966	* aux/configure.in: removed check for struct nfs_mount_data
7967
79682000-02-24  Ion Badulescu  <ib42@beetle.mcl.cs.columbia.edu>
7969
7970	* amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
7971	avoid having 'failed' in a message not indicating a failure
7972	(amfs_auto_lookuppn): ditto
7973
7974	* amd/ops_autofs.c (autofs_bgmount): ditto
7975	(autofs_lookuppn): ditto
7976
79772000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7978
7979	* added .cvsignore files into the CVS repository.
7980
7981	* remove files which can be regenerated: .in, configure, some
7982	files in aux/, and more.
7983
79842000-02-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7985
7986	* doc/am-utils.texi (nfs_vers/nfs_proto): description of two
7987	parameters was reversed.  Reported by Paul Jenner
7988	<p.jenner@eim.surrey.ac.uk>.
7989
79902000-02-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7991
7992	* released snapshot am-utils-6.0.4s2
7993
7994	* amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
7995	as inherit, error, and toplvl (failover code).
7996
7997	* amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
7998	global options in amd.conf: one to set the NFS version globally
7999	(i.e., nfs_vers=2), and one to set the NFS protocol globally
8000	(i.e., nfs_proto=udp).
8001
8002	* amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
8003	so when a matching mount entry failed, try the next one.
8004
80052000-02-15  Erez Zadok  <ezk@moisil.cs.columbia.edu>
8006
8007	* amd/amfs_auto.c: a new debug option "readdir" to trace the
8008	progress of the browsable_dirs code.
8009
8010	* conf/mount/mount_linux.c (mount_linux): ensure that the new
8011	linux NFSv3 code works for v2-only machines.
8012
80132000-02-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8014
8015	* aux/configure.in: cleanup unused dnl entries.
8016
8017	* conf/mount/mount_linux.c (parse_opts): typo: check for string
8018	equality, not string inequality for pcfs and cdfs.
8019
8020	* aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
8021
8022	* libamu/mount_fs.c (compute_mount_flags): check for INTR and
8023	NOINTR options as well (intr was never passed to linux mount
8024	syscall).
8025
80262000-02-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8027
8028	* released snapshot am-utils-6.0.4s1
8029
8030	* aux/GNUmakefile: buildall -k (for maintainers) temporarily now
8031	ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
8032	obsolete".  It is harmless but annoying, and will be fixed when
8033	autoconf and automake in their respective CVS trees are working
8034	and in sync again.
8035
8036	* scripts/amd.conf.5: document -D hrtime,xdrtrace
8037
8038	* all man pages: update copyright to 2000.
8039
8040	* doc/am-utils.texi: update copyright to 2000.
8041
8042Wed Feb  9 14:22:31 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8043
8044	* include/am_utils.h (D_XDRTRACE): Define.
8045	(D_TEST): Disable here.
8046
8047	* libamu/xutil.c (dbg_opt): Handle it.
8048
8049	* doc/am-utils.texi (-D-Option): Document it.
8050
8051	* libamu/xdr_func.c: Use it instead of D_TRACE.
8052
8053	* include/am_utils.h (D_HRTIME): Define.
8054
8055	* doc/am-utils.texi (-D-Option): Document it.
8056
8057	* libamu/xutil.c (show_time_host_and_name): Print high-resolution
8058	timestamp if available and activated.
8059
8060	* aux/configure.in (clock_gettime): Check for it in -lrt and
8061	-lposix4.
8062
8063	* hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
8064	if defined, even for some systems with in kernel mount tables.
8065
80662000-02-08  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8067
8068	* aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
8069	allow compiles against libc5
8070
8071	* aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
8072	linux when the kernel doesn't support it
8073
8074	* include/am_compat.h: add workaround for linux efs
8075
80762000-02-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8077
8078	* aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
8079	Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
8080
80812000-02-07  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8082
8083	* libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
8084	nfs (linux NFSv3).
8085
8086	* include/am_defs.h: avoid reinclusion of some header files under
8087	linux.
8088
8089	* conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
8090
8091	* conf/mount/mount_linux.c (mount_linux): support nfs mount
8092	 (implementation) version 4 for NFSv3.
8093
8094	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
8095
8096	* aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
8097	need to fix the code on other linux machines).
8098
8099	* aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
8100
8101	* aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
8102	under linux (depends on ac_cv variable, is that a good idea?)
8103
8104	* added NFSv3 support for linux
8105
8106	* aux/{configure.in,acconfig.h}: new option ver3
8107
8108	* aux/macros/mount_headers.m4: commented out inclusion of
8109	linux/fs.h, it's not needed on rh61 (and actually generates
8110	conflicts), we should see if it's still needed on libc5 systems
8111
8112	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
8113	try to have its own (out of date) list of headers and ifdef's and
8114	...
8115
81162000-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8117
8118	*******************************************************************
8119	*** Released am-utils-6.0.3					***
8120	*******************************************************************
8121
81222000-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8123
8124	* conf/mount/mount_default.c: dummy empty file to work around a
8125	limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
8126	processes them even if they are optional, enclosed in if/else).
8127
81282000-01-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8129
8130	* released snapshot am-utils-6.0.3s5
8131
81322000-01-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8133
8134	* update to use latest version of autoconf, automake, and libtool.
8135
8136	* aux/GNUmakefile (depcomp): "make update" should also update the
8137	depcomp script.
8138
8139	* Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
8140
8141	* aux/configure.in: use renamed AC_CHECK_AMU_FS.
8142
8143	* aux/macros/check_amu_fs.m4: renamed macro name and file name to
8144	say AMU_FS, not AM_FS.
8145
8146	* aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
8147	latest version of autoconf doesn't handle it (bug in 2.14a)
8148
8149	* aux/configure.in: require version 2.14 of autoconf.
8150
8151	* amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
8152
8153	* doc/am-utils.texi (Automount Filesystem): document type:=auto
8154	map browsability option.
8155
8156	* amd/mapc.c (make_entry_chain): patch from Steven Danz
8157	<sdanz@awc.kc.noaa.gov> to allow browsable auto maps.
8158
81592000-01-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8160
8161	* released snapshot am-utils-6.0.3s4
8162
8163	* amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
8164	are set to mapcache:=sync.  Fix from Nick Williams
8165	<Nick.Williams@msdw.com>.
8166
81672000-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8168
8169	* released snapshot am-utils-6.0.3s3
8170
8171	* minor port to i386-unknown-netbsd1.4.1
8172
8173	* amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
8174	<Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale
8175	file handles when doing rapid mounts and umounts in succession
8176	such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
8177
81782000-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8179
8180	* minor port to i386-pc-bsdi4.1.
8181
81822000-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8183
8184	* libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
8185	argument to irs_gen_acc(), which was changed in bsdi 4.1.
8186
81872000-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8188
8189	* amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
8190	systems with in-kernel mount tables unless this macro is defined
8191	(Solaris 8).
8192
81932000-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8194
8195	* ALL: bump copyright year to 2000.
8196
81971999-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8198
8199	* conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
8200	solaris 7, but should not be used unless MAX_MNTOPT_STR also
8201	exists (solaris 8).
8202
8203	* doc/am-utils.texi (opts Option): document new mount option:
8204	optionstr.
8205
8206Fri Dec 10 01:31:53 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8207
8208	* conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
8209	mount_svr4().
8210	(mount_svr4): Adapt prototype.
8211	* conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
8212	they are evaluated and show up in Solaris 8 in-kernel mnttab.
8213
8214	* aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
8215	option.
8216	* aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
8217
82181999-12-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8219
8220	* released snapshot am-utils-6.0.3s2
8221
82221999-12-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8223
8224	* doc/am-utils.texi (opts Option): document noexec and nomnttab
8225	(new to Solaris 8).
8226
8227	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
8228	distribution.
8229
8230	* applied fixes from Rainer Orth for Solaris 8.
8231
8232	* libamu/wire.c (getwire): increment the cp pointer in the loop
8233	body, because the ioctl() inside the "for" loop will overwrite the
8234	ifr structure, thus not detecting all of the interfaces.  Bug
8235	reported and fixed by Amitha Perera <perera@cs.rpi.edu>.
8236
8237Thu Dec  9 19:09:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8238
8239	* conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
8240	MOUNT_TABLE_ON_FILE.
8241
8242	* amd/get_args.c (get_args): Initialize mnttab_file_name even for
8243	in-kernel mount table.  conf/mtab/mtab_svr4.c (read_mtab) depends
8244	on a non-NULL value.
8245
8246	* amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
8247	LDAP structure to get error code, but use it directly.
8248	(amu_ldap_search): Likewise.
8249
8250	* conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
8251	ldap support.
8252	* conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
8253
8254	* conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
8255	nfsstat, already in <nfs/nfs.h>.
8256	* aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
8257	versions beyond 7.
8258	Allow for micro versions of SunOS 5.[67].
8259
8260	* aux/configure.in: Check for new Solaris 8 Beta Refresh
8261	MS_NOMNTTAB mount(2) option.
8262	* aux/macros/check_mnttab_location.m4: Use it to test for
8263	mntfs-based in-kernel mnttab.
8264
8265	* aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
8266
8267	* aux/macros/check_fs_headers.m4: Revert test for duplicate
8268	objects.
8269	* aux/macros/check_fs_mntent.m4: Likewise
8270
8271	* aux/macros/HEADER: Fixed typo.
8272
8273	* include/am_defs.h: Likewise.
8274
82751999-12-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8276
8277	* aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
8278
82791999-11-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8280
8281	* BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
8282
8283	* amd/info_ldap.c (string2he): updated function which does not
8284	corrupt strings when called more than once.  Patch from
8285	JOHANN.PFEFFERL.JP@germany.agfa.com.
8286
82871999-11-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8288
8289	* MIRRORS (Asia): two new mirrors in Japan.
8290
82911999-11-10  Erez Zadok  <ezk@kosh.cs.columbia.edu>
8292
8293	* doc/am-utils.texi: document new variables for ${uid} and ${gid}.
8294
8295	* amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
8296	last lookup from the RPC credentials.
8297
8298	* aux/configure.in: upped version-info to 4:0:2 because I've added
8299	a new interface to libamu.
8300
8301	* libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
8302	so it can be used by amd.
8303
8304	* amd/opts.c: new variables ${uid} and ${gid}.
8305
83061999-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8307
8308	* scripts/ctl-amd.in: add "status" command that tells you if amd
8309	is running on not (same output as RedHat scripts).
8310	Added start_msg and stop_msg targets as they are used on HPUX.
8311	reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8312
83131999-10-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8314
8315	* released snapshot am-utils-6.0.3s1
8316
83171999-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8318
8319	* amd/amd.c (main): On AIX you must lower the stack size using
8320	ulimit() before calling plock.  Otherwise plock will reserve a lot
8321	of memory space based on your maximum stack size limit.  Since it
8322	is not easily possible to tell what should the limit be, I print a
8323	warning before calling plock(). See the manual pages for
8324	ulimit(1,3,4) on your AIX system.
8325
8326	* include/am_defs.h: define default extern for vsnprintf()
8327
8328	* aux/configure.in: check for extern definition for vsnprintf()
8329
83301999-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8331
8332	* amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
8333	<njw@ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
8334	the correct location, but to the top level of the mountpoint and
8335	an (error-hook) is seen being mounted in the log file. This causes
8336	things to Go Wrong(TM).
8337	CAUSE: When evaluating two locations which are requested
8338	'practically simultaneously', and the two locations resolve to the
8339	same NFS mountpoint (but different sublinks), the later request
8340	will be "deferred" and retried after wakeup when the first mount
8341	succeeds. To do this, it rewinds the options location string to
8342	re-evaluate the location when the mount is retried. However, it
8343	shouldn't rewind the options for two reasons: (a) the semantics of
8344	the map language say you shouldn't and (b) the NFS mount reference
8345	is not reset at the same time, meaning that on the retry it will
8346	have an options structure out-of-sync with the mount
8347	structure. The "shortcut" code when retrying the mount sees the
8348	mount structure is already filled in and does not fully evaluate
8349	the options structure.... so if the first location is not the one
8350	which ties in with the mountpoint (see ordering in the
8351	recreate-by), you're now well messed up.
8352
8353	* BUGS: mention aix4.3 plock() bug (memory usage blows up and
8354	plock fails)
8355
83561999-10-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8357
8358	* aux/GNUmakefile: certain files should be copied if they are
8359	newer, not also if they are bigger: install-sh, ltconfig,
8360	ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
8361
8362	* minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
8363
83641999-10-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8365
8366	* aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
8367
8368	* aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
8369
83701999-09-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8371
8372	*******************************************************************
8373	*** Released am-utils-6.0.2					***
8374	*******************************************************************
8375
83761999-09-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8377
8378	* conf/mount/mount_linux.c (mount_linux): print the updated mount
8379	flags.
8380
8381	* doc/am-utils.texi: document $full_os and $vendor.
8382
8383	* scripts/amd.conf-sample: examples of $full_os and $vendor.
8384
8385	* scripts/amd.conf.5: document $full_os and $vendor.
8386
8387	* amd/conf.c: add support for $full_os and $vendor.
8388
83891999-09-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8390
8391	* doc/am-utils.texi (netgrp Selector Function): don't give
8392	examples with old single '=' assignment variable.  Use foo:=bar.
8393
8394	* amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
8395	comment describing this complex function.
8396
8397	* doc/Makefile.am (alldocs): do install-ps last (because distiller
8398	is slow) and install-html next to last (because texi2html is also
8399	slow).
8400
8401	* amd/amd.8: Major fixes to the description of the option -t
8402	timeout.retransmit.
8403
8404	* doc/am-utils.texi: better description of "trace" debug option.
8405	amd -H (not -v) shows log_options and debug_options.  Major fixes
8406	to the description of amd -t timeout.retransmit, and the amd.conf
8407	parameters nfs_retransmit_counter and nfs_retry_interval.
8408
8409	* scripts/amd.conf.5: better description of "trace" debug option.
8410	amd -H (not -v) shows log_options and debug_options.  Major fixes
8411	to the description of the parameters nfs_retransmit_counter and
8412	nfs_retry_interval.
8413
84141999-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8415
8416	* doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
8417	option, but a mount map option.
8418
8419	* libamu/xutil.c (switch_to_logfile): log the name of the log file
8420	we switched into, after the log file had been [re]opened.
8421
84221999-09-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8423
8424	* amd/mapc.c (mapc_reload_map): count and show the number of times
8425	a map was reloaded.  Only reload a map if its modify-time was
8426	updated.  But amq -f forced a reload no matter what.
8427
8428	* amd/amd.h: new flag to struct mnt_map to count number of times a
8429	map was reloaded.
8430
8431	* amd/mapc.c (mapc_reload_map): attempt to reload the map without
8432	losing current data by reloading into a temp copy, and switching
8433	the hashes round only if the reload was successful.  Patch from Jon
8434	Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8435	(mapc_sync): mapc_reload_map() always succeeds.
8436
84371999-09-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8438
8439	* amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
8440	rebind to an LDAP server forever.  Try up to 10 times.
8441
8442	* fsinfo/fsi_lex.l (yyerror): rework code that will never happen
8443
8444	* released snapshot am-utils-6.0.2s2
8445
8446	* aux/configure.in: bumped library version-info to 3:2:1, since
8447	some libamu code got changed.
8448
8449	* libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
8450	is better and more secure.  Fix from "David O'Brien"
8451	<obrien@NUXI.com>.
8452
8453	* aux/configure.in: check for vsnprintf.
8454
84551999-09-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8456
8457	* aux/macros/linux_headers.m4: use AC_MSG_ERROR.
8458
8459	* aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
8460	not optional.  Make sure ARG is supplied else flag an error.
8461
84621999-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8463
8464	* minor port i386-unknown-freebsdelf3.3
8465
8466	* released snapshot am-utils-6.0.2s1
8467
84681999-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8469
8470	* aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
8471
8472	* include/am_defs.h: extern definition for getitimer().
8473
8474	* aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
8475	extern.
8476
8477	* aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
8478	that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
8479	configure.
8480
8481	* aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
8482	'int' as the 5th arg to authunix_create().
8483
8484	* aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
8485	size_t for the 6th arg of recvfrom().
8486
8487	* aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
8488	aix4.x systems.
8489
8490	* libamu/mount_fs.c (print_nfs_args): cast some values to int, to
8491	avoid gcc -Wall errors.
8492
8493	* scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
8494	in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
8495	results in byte-misaligned values.   Bug fix from Jeffrey C Honig
8496	<jch@BSDI.COM>.
8497
8498	* libamu/mount_fs.c (compute_automounter_mount_flags): turn on
8499	automntfs (ignore on bsdi-4.1) flag.
8500	(compute_automounter_nfs_args): ditto.
8501
8502	* aux/acconfig.h: add new flag for automntfs (ignore)
8503
8504	* aux/configure.in: check for new automntfs flag (bsdi-4.1).
8505
85061999-09-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8507
8508	* MIRRORS: added new site in Germany.  Updated status of umn.edu
8509	and ferginc.com, who may no longer be mirroring am-utils.
8510
85111999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8512
8513	*******************************************************************
8514	*** Released am-utils-6.0.1					***
8515	*******************************************************************
8516
85171999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
8518
8519	* aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
8520	netexport defined.
8521
8522	* aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
8523	struct netexport defined.
8524
85251999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8526
8527	* aux/macros/check_field.m4 (ac_upcase_var_name): include
8528	<ifaddrs.h> so we can detect fields within struct ifaddrs.
8529
8530	* libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
8531	getifaddrs() and struct ifaddrs has no ifa_next field.
8532
8533	* aux/configure.in: check if 'struct ifaddrs' has a field
8534	ifa_next.
8535
8536	* include/amq_defs.h (AMQ_STRLEN): double size of amq string
8537	length to 2048 bytes.
8538
8539	* conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
8540	header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
8541	Zoulas> christos@zoulas.com.
8542
8543	* aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
8544	Bug reported by <Christos Zoulas> christos@zoulas.com.
8545
8546	* aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
8547
85481999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8549
8550	* libamu/xutil.c (expand_error): use strerror if available instead
8551	of sys_errlist.  Bug reported by <Christos Zoulas>
8552	christos@zoulas.com.
8553
8554	* hlfsd/hlfsd.c (fatal): use strerror if available instead of
8555	sys_errlist.
8556
8557	* amq/amq.c (show_mi): use strerror if available instead of
8558	sys_errlist.
8559
8560	* aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
8561	nfs_prot header is used for any future (1.5 etc.) netbsd systems.
8562
8563	* amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
8564	"Andrew J. Korty" <ajk@purdue.edu>
8565
85661999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8567
8568	* doc/am-utils.texi (Supported Platforms): updates for redhat
8569	systems.
8570
8571	* INSTALL: updates for redhat systems.
8572
8573	* libamu/wire.c (getwire_lookup): spell "succeeded" correctly
8574
85751999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8576
8577	* scripts/ctl-amd.in: sleep 1 second between killing amd and
8578	restarting it, because amq may respond that amd is down, where in
8579	fact it is still trying to unmount itself after unmapping itself
8580	from the portmapper.
8581
8582	* aux/config.guess.long: new script to print long version of
8583	config.guess output.
8584
8585	* buildall (host_alias): use long version of config.guess.
8586
85871999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8588
8589	* scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
8590	scripts.
8591
85921999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8593
8594	* released snapshot am-utils-6.0.1s11
8595
8596	* libamu/xutil.c (expand_error): make sure expanding the string
8597	with textual version of errno doesn't overrun the 1024 bytes
8598	buffer.
8599	(real_plog): null terminate msg, just in case.
8600
8601	* amq/amq.c (main): don't getopt -M option and don't process it
8602	unless ENABLE_AMQ_MOUNT is on.
8603
8604	* amd/amq_svc.c (amq_program_1): all code that relates to amq -M
8605	is conditional on #ifdef ENABLE_AMQ_MOUNT.
8606
8607	* amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
8608	when amq -M code is disabled.  Not taking any chances.
8609
86101999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8611
8612	* released snapshot am-utils-6.0.1s10
8613
8614Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
8615
8616	* libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
8617	128.59.16.0), try to shift the network out of zeros (e.g.,
8618	128.59.16) and try again.  Irix 6.4 requires short network
8619	numbers.
8620
86211999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8622
8623	* libamu/wire.c (getwire_lookup): correctly compute subnet using
8624	netmask.
8625
8626	* libamu/mount_fs.c (compute_automounter_nfs_args): require that
8627	Amd's own NFS mounts use reserved ports (if possible).  IP packet
8628	security fix from Jeffrey C Honig <jch@BSDI.COM>.
8629
8630	* conf/transp/transp_tli.c (create_autofs_service): use correct
8631	autofs_port.  IP packet security fix from Jeffrey C Honig
8632	<jch@BSDI.COM>.
8633
8634	* conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
8635	function.  IP packet security fix from Jeffrey C Honig
8636	<jch@BSDI.COM>.
8637	(create_nfs_service): use bind_resv_port() directly.  ensure that
8638	privileged ports are used.  IP packet security fix from Jeffrey C
8639	Honig <jch@BSDI.COM>.
8640
8641	* amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
8642	from reserved ports and from a local IP address.  IP packet
8643	security fix from Jeffrey C Honig <jch@BSDI.COM>.
8644
8645	* amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
8646	hard-coded 1024.  IP packet security fix from Jeffrey C Honig
8647	<jch@BSDI.COM>.
8648	(amqproc_mount_1_svc): provide information on the caller making an
8649	amq -M request.  IP packet security fix from Jeffrey C Honig
8650	<jch@BSDI.COM>.
8651
8652	* amd/map.c (free_map_if_success): If the program doing an unmount
8653	of a program filesystem fails, amd tries to interpret the return
8654	code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
8655
8656	* amd/info_nis.c (determine_nis_domain): don't always print
8657	warning about NIS domain name not being set, even if NIS is not in
8658	use.
8659
86601999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8661
8662	* amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
8663	(amu_ldap_search): initialize variable err.
8664
86651999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8666
8667	* libamu/wire.c: written using getifaddrs() for BSD systems,
8668	contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
8669
86701999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8671
8672	* include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
8673
8674	* aux/configure.in: check for irs.h and ifaddrs.h.
8675	Increase libamu.so --version-info to 3:1:1 since we've changed the
8676	source code for the library.
8677	Check for getifaddrs() function.
8678
86791999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8680
8681	* libamu/mount_fs.c (print_nfs_args): print fields namlen and
8682	bsize if they exist.
8683
8684	* conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
8685	and ->bsize fields correctly, if those fields exist.  This is a
8686	bug in that amd neglected to set these fields, but told the
8687	kernel it is mounting the nfs_args_t structure using mount version
8688	3 (which requires both bsize and namlen fields).
8689
8690	* aux/configure.in: test for two new nfs_args_t fields (used on
8691	newer linux with mount versions 2 and 3): bsize and namlen.
8692
8693	* doc/am-utils.texi (netgrpd Selector Function): document new
8694	selector function.
8695
8696	* amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
8697	test if the current host (fully-qualified name) is in the ARG host
8698	netgroup.  The netgrp() function uses the short form of a host
8699	name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
8700
8701	* doc/am-utils.texi (automount2amd): document new script.
8702
8703	* scripts/Makefile.am: create, install, and distribute
8704	automount2amd perl script and its man page.
8705
8706	* scripts/automount2amd.8: new man page for automount2amd.
8707
8708	* scripts/automount2amd.in: new file, contributed a in 1993 by
8709	Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
8710	any automount map options specified.
8711
87121999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8713
8714	* released snapshot am-utils-6.0.1s9
8715
87161999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8717
8718	* amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
8719	1.
8720	(amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
8721	(amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
8722	(u_int)~0.
8723
8724	* amd/mapc.c (make_entry_chain): NFS cookies should be
8725	monotonically increasing, because Linux 2.3 expects that, even
8726	though it is not in the spec (RFC-1094) for NFS V2.
8727
87281999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8729
8730	* aux/macros/check_lib_funcs.m4: removed unused macro.
8731
8732	* aux/macros/linux_headers.m4: new macro to ensure that linux
8733	kernel headers match running kernel version.
8734
8735	* aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
8736	amd is configured on linux hosts that run one kernel but have
8737	headers for a different version.
8738
8739	* amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
8740	logic which uses nis_isup and has_yp_order.  Make sure it is used
8741	correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
8742	Peter Breitenlohner <peb@mppmu.mpg.de>.
8743
8744	* include/am_defs.h: fix conflicts on linux 2.2 systems with older
8745	libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
8746
8747	* scripts/lostaltmail.in: use sockaddr_in(), not pack() to
8748	correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
8749	using pack() results in byte-misaligned values.
8750
87511999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8752
8753	* conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
8754	mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
8755	better macros for case statement.
8756
8757	* conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
8758	unless ldap is actually available.
8759
8760	* use updated config.guess and config.sub.  Use newer automake
8761	that fixes problems with distributing optional libamu files
8762	(clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
8763	and ualarm.c)
8764
87651999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8766
8767	* minor port i386-unknown-openbsd2.5
8768
87691999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8770
8771	* minor ports to freebsdelf 3.[0-2] and 4.0 completed
8772
8773	* aux/macros/check_nfs_prot_headers.m4: support freebsdelf
8774
8775	* aux/macros/check_nfs_socket_connection.m4: support freebsdelf
8776
87771999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8778
8779	* released snapshot am-utils-6.0.1s8
8780
87811999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8782
8783	* include/am_defs.h: avoid various header conflicts on
8784	RedHat/Linux 6.0 and kernels 2.2.10 or newer.
8785
8786	* aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
8787	kernel 2.2.10)
8788
8789	* amd/amfs_program.c (amfs_program_exec): make sure logfp is
8790	initialized dynamically to stderr if needed.
8791
8792	* libamu/xutil.c (dplog): make sure logfp is initialized
8793	dynamically to stderr if needed.
8794	(plog): ditto.
8795
8796	* amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
8797	not initialized.
8798
8799	* libamu/xutil.c: don't initialize logfp statically to stderr,
8800	because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
8801	be manipulated like a variable.
8802
8803	* include/am_defs.h: avoid more conflicts between <linux/fs.h> and
8804	<sys/mount.h> on 2.2 linux kernels.
8805	include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
8806
88071999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8808
8809	* all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
8810
8811	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
8812	renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
8813	won't attempt to add it to the header files to distribute.
8814
88151999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8816
8817	* aux/GNUmakefile: invoke aclocal with new --altdir flag.
8818
88191999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8820
8821	* minor new port: i386-unknown-netbsd1.4 (ALPHA)
8822
8823	* aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
8824	and <isofs/cd9660/cd9660_mount.h> because they are also included
8825	from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
8826	headers on netbsd-1.4_ALPHA.
8827
88281999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8829
8830	* aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
8831	sys_errlist extern doesn't end with [].
8832
8833	* aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
8834
88351999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8836
8837	* newer automake wants texinfo.tex to be in aux/ not doc/
8838
88391999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8840
8841	* amd/conf_parse.y: alloca support.
8842
8843	* fsinfo/fsi_gram.y: alloca support.
8844
8845	* libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
8846	needed.
8847
8848	* aux/configure.in: test for alloca support.  Needed because bison
8849	generates parsers that use alloca, and hpux9 does have alloca and
8850	its /bin/cc doesn't support it builtin (the way gcc does).
8851
8852	* libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
8853	verbatim from bison-1.25.
8854
8855	* include/am_defs.h: fixed typo #errir -> #error
8856
8857	* released snapshot am-utils-6.0.1s7
8858
8859	* README.y2k: more information about am-utils' compatibility, from
8860	Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
8861
8862	* scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
8863	compliant format.  Patch from Paul Balyoz
8864	<pbalyoz@sedona.ch.intel.com>
8865
8866	* doc/am-utils.texi (Supported Platforms): hpux10.20 could have
8867	nfs v.3 support (with some vendor patches), but it is turned off.
8868
8869	* aux/macros/os_cflags.m4: use ansi compiler options on hpux.
8870
8871	* conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
8872	confusing am-utils.  10.20 with some patches has incomplete
8873	support.  Patch from Jon Peatfield
8874	<J.S.Peatfield@damtp.cam.ac.uk>.
8875
88761999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8877
8878	* minor port i386-pc-bsdi4.0.1
8879
88801999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8881
8882	* doc/am-utils.texi (Supported Platforms): add forgotten listing
8883	for powerpc-linux.
8884
88851999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8886
8887	* scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
8888	<jch@BSDI.COM>.
8889
8890	* doc/am-utils.texi: document iso9660 options norrip, gens, and
8891	extatt.
8892	(opts Option): documented dumbtimr and noauto options.  From
8893	Jeffrey C Honig <jch@BSDI.COM>.
8894
8895	* include/am_compat.h: define default strings for options norrip,
8896	gens, and extatt.
8897
8898	* amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
8899	extatt.
8900
8901	* aux/macros/mount_headers.m4: also include
8902	<isofs/cd9660/cd9660_mount.h> as needed.
8903
8904	* aux/configure.in: check for isofs mount options for bsdi4:
8905	norrip, gens, and extatt.  Reported by Jeffrey C Honig
8906	<jch@BSDI.COM>.
8907
8908	* aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
8909	(bsdi4).
8910
89111999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8912
8913	* conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
8914
8915	* conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
8916	for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
8917
89181999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8919
8920	* get latest copies of config.guess, config.sub, ltconfig, and
8921	ltmain.sh from libtool-1.2f.
8922
8923	* all Makefile.am: don't use continuation lines (using \) for
8924	short lists of files.
8925
8926	* libamu/Makefile.am (DISTCLEANFILES): make distclean should
8927	remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
8928	Reported by Jeffrey C Honig <jch@BSDI.COM>.
8929
8930	* fixmount/Makefile.am (DISTCLEANFILES): make distclean should
8931	remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
8932
8933	* Makefile.am (DISTCLEANFILES): make distclean should remove
8934	amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
8935	Jeffrey C Honig <jch@BSDI.COM>.
8936
89371999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8938
8939	* released snapshot am-utils-6.0.1s6
8940
89411999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8942
8943	* INSTALL: document freebsdelf.
8944
8945	* doc/am-utils.texi (Supported Platforms): document freebsdelf.
8946
89471999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8948
8949	* minor new ports: i386-unknown-freebsdelf3.1 and
8950	i386-unknown-freebsdelf4.0
8951
8952	* aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
8953
8954	* aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
8955
8956	* aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
8957
8958	* amd/opts.c (eval_opts): changed log level of "executing
8959	negated..." message from USER to INFO, as per Guntram Wolski
8960	<gwolsk@sei.com>.
8961
89621999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8963
8964	* */Makefile.am (LDADD): force linking against an installed
8965	libamu.{a,so}.
8966
8967	* doc/am-utils.texi (addopts Option): document remopts interaction
8968	with addopts.
8969
8970	* amd/am_ops.c (ops_match): if addopts are specified, apply them
8971	to the value of remopts as well as opts.
8972
8973	* amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
8974
89751999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8976
8977	* released snapshot am-utils-6.0.1s5
8978
8979	* conf/mount/mount_linux.c (mount_linux): set default nfs_args
8980	options for ac{reg,dir}{min,man} as per the mount-2.8a package,
8981	but only if noac option was not used.
8982
89831999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
8984
8985	* conf/mount/mount_linux.c (mount_linux): print nfs_args again
8986	since it was updated.
8987	(mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
8988	and newer.  Bug was found by Neil Conway
8989	<nconway.list@ukaea.org.uk>
8990
89911999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8992
8993	* released snapshot am-utils-6.0.1s4
8994
89951999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8996
8997	* amq/amq.c (main): don't list -M as a valid amq option unless
8998	configure'd with --enable-amq-mount.
8999
9000Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9001
9002	* amd/nfs_start.c (amd_use_autofs): Define.
9003	(mount_automounter): Create autofs service listener only if
9004	necessary to avoid unnecessary clashes with e.g. automountd.
9005
9006	* amd/amd.h (amd_use_autofs): Declare.
9007
9008	* amd/conf.c (gopt_mount_type): Set amd_use_autofs.
9009	(ropt_mount_type): Likewise.
9010
90111999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9012
9013	* aux/macros/check_mnt2_nfs_opt.m4:: ditto
9014
9015	* aux/macros/check_mnt2_cdfs_opt.m4: ditto
9016
9017	* aux/macros/check_mnt2_gen_opt.m4: ditto
9018
9019	* aux/macros/check_mnttab_opt.m4: new macro in this file to loop
9020	over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
9021
9022	* conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
9023	nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
9024	christos@zoulas.com (Christos Zoulas).
9025
9026	* amd/info_hesiod.c: some forward declarations.  Patch from
9027	christos@zoulas.com (Christos Zoulas).
9028
90291999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9030
9031	* libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
9032	option if it was already in that state.  Patch from David
9033	Wolfskill <dhw@whistle.com>.
9034
90351999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9036
9037	* aux/configure.in: automake nowadays supports LTLIBOBJS (but not
9038	LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
9039	rebuild make rules.
9040
9041	* Makefile.am: new rules to remake libtool (maintainers only)
9042
9043	* amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
9044	if -D trace was used.
9045
90461999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9047
9048	* buildall: all if statements should have an else clause because
9049	of Ultrix's /bin/sh.
9050
90511999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9052
9053	* amq/amq.c: removed dummy variables.
9054
9055	* amq/pawd.c: removed dummy variable.s
9056
9057	* fixmount/fixmount.c (usage): removed dummy variables.
9058
9059	* fsinfo/fsinfo.c: removed dummy variables.
9060
9061	* hlfsd/hlfsd.c: removed dummy variables.
9062
9063	* wire-test/wire-test.c: removed dummy variables.
9064
9065	* mk-amd-map/mk-amd-map.c: removed dummy variables.
9066
9067	* doc/texinfo.tex: updates from GNU mirror.
9068
9069	* aux/GNUmakefile (../doc/texinfo.tex): new rule to update
9070	doc/texinfo.tex from GNU mirror.
9071
9072	* released snapshot am-utils-6.0.1s3
9073
9074	* Makefile.am (install-snapshot): better snapshot and new
9075	install-snapshot and test-snapshot rules (maintainer).
9076
9077	* amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
9078	args may be NULL.
9079	Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
9080	Bill Paul <wpaul@ctr.columbia.edu>
9081
90821999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9083
9084	* check for experimental generic 'ignore' mount flag on freebsd3.
9085
9086	* Update library -version-info to 3:0:1 (will result in 2.1.0 .so
9087	version, which is backwards compatible with older versions.)  Only
9088	one new interface was added to libamu.
9089
9090	* amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
9091	that are specific to automounter mounts.
9092
9093	* aux/configure.in: update libamu.so age and revision since a new
9094	interface was added to libamu/mount_fs.c
9095	(compute_automounter_mount_flags).
9096
9097	* libamu/mount_fs.c (compute_automounter_mount_flags): new
9098	function to compute generic mount flags that are specific to mount
9099	points only.
9100
9101	* aux/{configure.in,acconfig.h}: add support for generic mount
9102	entry ignore option.
9103
9104	* released snapshot am-utils-6.0.1s2
9105
9106	* amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
9107
9108	* libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
9109	of knc_semantics from u_long to u_int.
9110
9111	* aux/macros/check_mount_style.m4: freebsd3 no longer needs a
9112	special mount helper.
9113
91141999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9115
9116	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
9117	amu_nfs_conf.h should always be found in $top_builddir.
9118
9119Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9120
9121	* conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
9122	to avoid wrong reports from show_fstypes.
9123
9124	* conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
9125
9126	* conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
9127
9128Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9129
9130	* BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
9131
9132Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9133
9134	* hlfsd/homedir.c (delay): Cast child to long, adapt format.
9135	(hlfsd_getpwent): Likewise for pw_uid.
9136
9137	* amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
9138	format.
9139
9140	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
9141	tv_sec to int to match format.
9142	(get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
9143	formats.
9144
9145	* amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
9146	long, adapt format.
9147
9148	* include/am_defs.h: Handle __attribute__ if available.  From
9149	GNU fileutils 4.0 lib/errors.h.
9150
9151Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9152
9153	* libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
9154	match format.
9155
9156	* hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
9157	adapt format.
9158	(nfsproc_lookup_2_svc): Likewise.
9159	(nfsproc_readlink_2_svc): Likewise for userid, groupid.
9160
9161	* hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9162	format.
9163
9164	* hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
9165	format.
9166
9167	* amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
9168	long, adapt format.
9169
9170	* amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
9171	unsigned long, adapt format.
9172	(got_nfs_fh): Likewise.
9173	(prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
9174	format.
9175	(call_mountd): Likewise, mnt_version also.
9176	(mount_nfs_fh): Likewise.
9177
9178	* amd/ops_autofs.c (autofs_program_1): Cast args to int to match
9179	format.
9180	(autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
9181	unsigned long, adapt formats.
9182	(autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
9183	(autofs_bgmount): Use long format to match arg.
9184	(autofs_lookuppn): Removed superfluous arg.
9185
9186	* amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
9187	format.
9188	(got_portmap): Likewise for port.
9189	(recompute_portmap): Likewise for fs->fs_version, mnt_version.
9190	(find_nfs_srvr): Likewise for nfs_version.
9191
9192	* amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
9193	format.
9194
9195	* amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
9196	to unsigned long, adapt format.
9197	Cast tvv.tv_sec to int to match format.
9198
9199	* amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9200	format.
9201
9202	* amd/map.c (root_fh): Cast pid to long, adapt format.
9203	(timeout_mp): Cast time_t to long, adapt format.
9204
9205	* amd/clock.c (reschedule_timeouts): Use long format, cast time_t
9206	arg.
9207
9208	* amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
9209	match format.
9210	(amfs_host_fmount): Likewise.
9211	(amfs_host_umounted): Likewise.  Removed superfluous arg.
9212
9213	* amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
9214	long, adapt format.
9215	(amfs_auto_bgmount): Use long format, cast time_t arg.
9216	(amfs_auto_lookuppn): Removed superfluous arg.
9217
9218	* amd/amd.c (main): Cast geteuid() result to long, adapt format.
9219
9220	* conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
9221	to int to match format.
9222
9223	* include/am_utils.h: Declare plog, dplog as printf-like.
9224
9225	* conf/mount/mount_irix6.c (mount_irix): Print type as char *.
9226
9227Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9228
9229	* amd/info_hesiod.c (hesiod_isup): New function.
9230	* amd/mapc.c (maptypes): Add it.
9231
92321999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9233
9234	* released snapshot am-utils-6.0.1s1
9235
92361999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9237
9238	* ALL: bump copyright year to 1999.
9239
9240Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9241
9242	* aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
9243	too.
9244
9245	* aux/macros/check_mtype_printf_type.m4: Adapt corresponding
9246	printf type.
9247
9248Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9249
9250	* aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
9251
9252	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
9253
9254	* conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
9255
9256	* conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
9257
9258	* Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
9259	automake.
9260
9261Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9262
9263	* aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
9264	in current automake.
9265
9266Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9267
9268	* doc/am-utils.texi: Added some missing inter-punctation after
9269	@xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
9270	from texinfo 3.12b.
9271
92721999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9273
9274	* doc/texinfo.tex: updated off of latest GNU mirror.
9275
92761999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9277
9278	* doc/am-utils.texi (Supported Platforms): update platforms that
9279	support NFS v.3.  Nicer postscript printing on double-sided pages.
9280
9281	* amd/info_hesiod.c: add extern definition for hesiod_init()
9282
92831999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9284
9285	*******************************************************************
9286	*** Released am-utils-6.0					***
9287	*******************************************************************
9288
92891998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9290
9291	* conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
9292
92931998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9294
9295	* conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
9296	bsdi4 for NFS V3/nfs mounts.
9297
92981998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9299
9300	* using latest libtool (1.2e + patches), now supporting shared
9301	libraries on many more systems.  Also using latest autoconf and
9302	automake (unreleased GNU CVS'd versions.)
9303
9304	* minor new ports: hppa2.0w-hp-hpux11.00,
9305	i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
9306
9307	* fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
9308	have /usr/bin/flex but not libfl.
9309
93101998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9311
9312	* lots of code cleanup, to make sure libamu.so does not use
9313	undefined symbols.  Some system's shared libraries cannot handle
9314	that.
9315
93161998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9317
9318	* include/am_defs.h: only defined seteuid extern if function also
9319	exists and is not superceded by setresuid (hpux).
9320
9321	* amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
9322	braces to avoid confusion with nested if-then-else clauses.
9323
9324	* aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
9325	updated from latest versions.
9326
93271998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9328
9329	* minor new port: i386-pc-bsdi4.0
9330
9331	* conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
9332	definitions for bsdi4.
9333
9334	* {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
9335	some make programs (bsdi4) do not support VPATH correctly.
9336
93371998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9338
9339	* conf/mount/mount_aix.c: minor code cleanup
9340
9341	* aux/configure.in: check for extern definition to xdr_groups.
9342
93431998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9344
9345	* minor new port: powerpc-ibm-aix4.3.1.0
9346
9347	* aux/macros/*.m4: updates for aix 4.3
9348
93491998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9350
9351	* minor new port: i386-unknown-openbsd2.4
9352
9353	* aux/configure.in: don't check for xfs on openbsd because
9354	openbsd-2.4 introduces a new file system named xfs, but different
9355	than Irix's XFS.  Sigh.
9356
9357	* minor new port: i386-unknown-freebsd2.2.8
9358
93591998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9360
9361	* amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
9362	name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
9363
93641998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9365
9366	* scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
9367	avoid race conditions when shutting down systems running amd.
9368
9369	* Makefile.am: add a dist-hook to change modes of the directories
9370	in the tar file so they are not world writable.
9371
9372	* conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
9373	since it is now finally defined in the header files and
9374	(hopefully) stable.
9375
9376	* amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
9377	is specified in mount options.  freebsd patches from David
9378	O'Brien.
9379
9380	* amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
9381	(main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
9382	amd/get_args.c (get_args): posix: use -1 to check for return from
9383	getopt() (not EOF), as per posix.
9384
9385	* amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
9386	O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
9387	real variable whose pointer is on the stack for decoding a long
9388	int.
9389
93901998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9391
9392	* scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
9393	chkconfig utility.
9394
93951998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9396
9397	* released snapshot am-utils-6.0b2s3
9398
9399	* conf/transp/transp_sockets.c (create_nfs_service): remove C++
9400	style comments.
9401
94021998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9403
9404	* released snapshot am-utils-6.0b2s2
9405
9406	* created CVS package
9407
9408	* amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
9409	condition between unmounting and re-mounting an entry, by
9410	increasing the ttl of a looked up entry before unmounting it.
9411	Patch from Mike Mitchell <mcm@unx.sas.com>.
9412
9413	* All files: spell comments and strings.
9414
94151998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9416
9417	* aux/configure.in: look for yp_all in libnsl only if yp_all not
9418	already found elsewhere (in libc or other default libraries).
9419	This is so RedHat 5.1 systems could find yp functions in libnsl,
9420	but also so AIX 4.2.1 will NOT include libnsl, because the latter
9421	has broken nis functionality that also exists and works ok in libc.
9422
94231998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9424
9425	* amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
9426	from Danny Rathjens <dkr@cs.fiu.edu>.
9427
94281998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9429
9430	* released snapshot am-utils-6.0b2s1
9431
94321998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9433
9434	* aux/macros/*.m4: support bsdi4 as bsdi3.
9435
9436	* aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
9437	2.7 (libraries located in /usr/lib/fn).  This is off until Sun
9438	includes LDAP header information.
9439
94401998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9441
9442	*******************************************************************
9443	*** Released am-utils-6.0b1					***
9444	*******************************************************************
9445
94461998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9447
9448	* mk-amd-map/mk-amd-map.c (main): use perror not strerror.
9449	(main): set return type to int if no ndbm maps.
9450
9451	* include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
9452	kernels.
9453
94541998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
9455
9456	* A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
9457	for netbsd 1.3.2.
9458
94591998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9460
9461	* aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
9462	systems put NIS functions there.
9463
9464	* mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
9465	<obrien@NUXI.com> merged in.  Use POSIX -1 return code from
9466	getopt(), not EOF.  Use .db extentions for systems that use it,
9467	instead of .{pag,dir}.
9468
94691998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9470
9471	* wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
9472	amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
9473	"David O'Brien" <obrien@NUXI.com>.
9474
9475	* scripts/amd.conf.5: minor typo reported by "David O'Brien"
9476	<obrien@NUXI.com> in .TH section of man page.
9477
9478	* amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
9479	from Thomas Richter <richter@chemie.fu-berlin.de>.
9480
94811998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9482
9483	* doc/am-utils.texi (Program Filesystem): minor typo fixed as per
9484	Andreas Stolcke <stolcke@speech.sri.com>.
9485
9486	* minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
9487	and sparc-sun-solaris2.7.
9488
9489	* conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
9490	a 4.4lite kernel, and somethings were removed, such as
9491	INITMOUNTNAMES.
9492
9493	* amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
9494	processing /defaults.  Free temporary opts.  Patch from
9495	dsr@mail.lns.cornell.edu (Daniel S. Riley)
9496
9497	* amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
9498	processing /defaults.  Free temporary opts.  Patch from
9499	dsr@mail.lns.cornell.edu (Daniel S. Riley)
9500
9501	* conf/mtab/mtab_osf.c (read_mtab): patch from
9502	 dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
9503	 uninitialized memory on Digital Unix.
9504
95051998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9506
9507	* aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
9508	systems now use "char *" as their mount type.
9509
95101998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9511
9512	* amd/conf.c (gopt_map_type, ropt_map_type): check if map type
9513	exists.
9514
9515	* amd/mapc.c (mapc_type_exists): function to test if a map of
9516	certain type exists.
9517
95181998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
9519
9520	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9521	include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
9522	in RH-5.1 sparc64 between <netinet/in.h> and
9523	<linux/byteorder/generic.h> (2.1 kernels).
9524
95251998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9526
9527	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
9528	5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
9529	from yp_all().
9530
95311998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9532
9533	* conf/mount/mount_linux.c (parse_opts): check for pcfs support
9534	only if autoconfigured.
9535
95361998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9537
9538	* Makefile.am (EXTRA_DIST): distribute README.yk2 file.
9539
9540	* README.y2k: explain y2k compliance status of am-utils.
9541
95421998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
9543
9544	* amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
9545	amfs_host_umounted): clnt_sperrno() may return a const.
9546
9547Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9548
9549	* aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
9550	Zoulas. Turned on checking for mount options: async, synchronous,
9551	deadthresh, leasterm, nqnfs, and readahead.
9552
9553	* amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
9554	to include prototype definition for nis_isup().
9555
9556Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9557
9558	* hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
9559
9560Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9561
9562	* released snapshot am-utils-6.0a17s1
9563
9564Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9565
9566	* aux/macros/host_macros.m4: all x86 hosts should have $arch be
9567	i386, not i[456]86.
9568
9569Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9570
9571	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9572	include/am_defs.h: include <linux/posix_types.h> before
9573	<linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
9574	headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
9575	__KERNEL_STRICT_NAMES).
9576
9577	* aux/configure.in: check for <linux/posix_types.h> because it is
9578	need for RedHat 5.1.
9579
9580Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9581
9582	* scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
9583	.in as well, so it doesn't get removed by make clean.
9584
9585Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9586
9587	* aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
9588	check_mount_type.m4}: redhat 5.1 puts some modules in
9589	/lib/modules/preferred/.
9590
9591Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9592
9593	* amd/ops_autofs.c (mount_autofs): cast pid to long.
9594
9595Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9596
9597	* conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
9598	conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
9599	avoid amd/am_ops.c (show_fstypes) from erroneously claiming
9600	support.
9601
9602Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9603
9604	* libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
9605	unconditionally, may be missing on Ultrix V4.3.
9606
9607Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9608
9609	* conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
9610	missing from <sys/mntent.h>.
9611
9612	* conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
9613	without KERNEL defined here.
9614
9615	* aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
9616	<cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
9617	ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
9618
9619	* amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
9620
9621	* ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
9622	Removed purely local (and obsolete) entry.
9623
9624Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9625
9626	*******************************************************************
9627	*** Released am-utils-6.0a16					***
9628	*******************************************************************
9629
9630Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9631
9632	* aux/macros/check_mount_style.m4: define freebsd3 mount style.
9633
9634	* aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
9635
9636	* aux/macros/check_mtype_printf_type.m4,
9637	aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
9638	of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
9639	integers, but I'll keep them as integers and do the mapping in
9640	conf/mount/mount_freebsd3.c
9641
9642	* minor new port to i386-pc-bsdi3.1.
9643
9644	* minor new port to i386-unknown-netbsd1.3.1.
9645
9646	* amd/opts.c: new option addopts:=ARG, which smartly merges ARG
9647	options with whatever the /default ones for a key are.  This
9648	allows adding or overriding /default options individual keys.
9649
9650	* amd/am_ops.c (ops_match): strdup/malloc string assigned to
9651	opt_opts because it'll get free()'d upon next use.
9652	(merge_opts): new function to merge two sets of options.
9653	(ops_match): if addopts option exist, append and merge it to the
9654	current default options.
9655
9656Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9657
9658	* wire-test/wire-test.c (main): use dynamically allocated returned
9659	string with list of interfaces.
9660
9661	* amd/get_args.c (get_version_string): allocate enough space for
9662	header version string and a list of network interfaces of any
9663	length.
9664
9665	* libamu/wire.c (print_wires): return dynamically allocated string
9666	containing list of networks.  Must be dynamic because some sites
9667	had potentially dozens of network interfaces.  Patch from Matthew
9668	Crosby <mcrosby@ms.com> slightly modified.
9669
9670Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9671
9672	* conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
9673	irix 5.3 does not have full header definitions for it.
9674
9675	* fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
9676	undefined it when not needed (similar to amd/conf_tok.l)
9677
9678	* hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
9679	of these to unsigned short (because uid_t on some linux systems is
9680	small).
9681
9682	* released snapshot am-utils-6.0a16s10
9683
9684	* doc/am-utils.texi (opts Option): documented resvport mount
9685	option.
9686
9687Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9688
9689	* doc/am-utils.texi (-D-Option): document behavior of -D info and
9690	especially what it does to hesiod (turn on RES_DEBUG).
9691
9692	* scripts/amd.conf.5: document info debugging option.
9693
9694	* libamu/xutil.c (dbg_opt): parse info debugging option.
9695
9696	* include/am_utils.h (D_INFO): define new trace option.
9697
9698	* Makefile.am (EXTRA_DIST): include list of official mirrors in
9699	distribution.
9700
9701	* libamu/wire.c (SIZE): in the simple case, just compute
9702	sizeof(struct ifreq).
9703
9704Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9705
9706	* amd/amd.c (daemon_mode): set a temporary secure umask(0022)
9707	before writing log file and restore it afterwards.  Patch from
9708	Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9709
9710	* amd/get_args.c (get_args):
9711
9712	* doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
9713	file specified by -F is always processed last.
9714
9715	* amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
9716	won't be reused.  Allows startup script to redirect stdout.  Patch
9717	from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9718
9719	* libamu/xutil.c (switch_to_logfile): compare logfile name and
9720	syslog string with correct length.  Patch from Donald Buczek
9721	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9722
9723	* amd/restart.c (restart): correctly inherit existing NFS V.3
9724	mounts upon restart.  Patch from Donald Buczek
9725	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9726
9727Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9728
9729	* using libtool 1.2 and automake 1.3 (with my patches).
9730
9731	* aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
9732	AMU_CFLAGS to avoid conflicts with automake-1.3.
9733
9734Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9735
9736	* converted to using libtool-1.2.
9737
9738Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9739
9740	* fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
9741	for loop (ITER) which used to run only to initialize the variable
9742	dd once and then break; with a simple assignment.
9743
9744	* hlfsd/hlfsd.h: cleanup so it compiles with Solaris
9745	/opt/SUNWspro/bin/cc, and use gid_t not int.
9746
9747	* amd/mapc.c (mapc_sync): don't dereference pointer (so it
9748	compiles with Solaris /opt/SUNWspro/bin/cc)
9749
9750Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9751
9752	* aux/config.{guess,sub}: used from gcc-2.8.1.
9753
9754Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9755
9756	* released snapshot am-utils-6.0a16s9
9757
9758	* INSTALL, doc/am-utils.texi (Supported Platforms): updated names
9759	based on new output of new config.guess.
9760
9761	* aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
9762
9763	* amd/amd.8,doc/am-utils.texi: document correct usage of default
9764	/etc/amd.conf file.
9765
9766	* fixmount/fixmount.c (inetresport,privsock): use some more
9767	portable code from amq/amq.c.
9768
9769	* amd/get_args.c (get_args): use default /etc/amd.conf file only
9770	if no arguments had been passed to amd.
9771
9772	* fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
9773	ala amq/amq.c so that fixmount will work on both types of systems.
9774
9775	* amq/amq.c (main): do no close tcp socket before running udp try,
9776	because we're not sure if it was opened at all.
9777
9778	* mips-dec-ultrix* port merged in and cleaned up.
9779
9780	* aux/configure.in: up minor shared library revision number, since
9781	it has changed enough.
9782
9783	* hlfsd/hlfsd.c (main): don't check for overlay mount option here,
9784	as it is now done in compute_nfs_args().  Remove ultrix specific
9785	code also because it was moved to compute_nfs_args().
9786
9787	* conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
9788	we have more generic code in print_nfs_args().
9789
9790	* libamu/mount_fs.c (print_nfs_args): print maxlen of
9791	nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
9792	struct knetconfig from nfs_args->knconf.
9793
9794	* aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
9795	headers here, but in try_compile_anyfs.m4.
9796
9797	* aux/macros/type_ufs_args.m4: move test for struct ufs_specific
9798	(for ultrix) here from its own macro.
9799
9800	* aux/macros/type_cdfs_args.m4: move test for struct iso_specific
9801	(for ultrix) here from its own macro.
9802
9803	* amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
9804	for overlay mount option.  Remove code which checks for overlay
9805	option, as it is now done in compute_nfs_args().
9806
9807	* libamu/mount_fs.c (compute_mount_flags): move here code which
9808	checks for overlay mount option which was in amd/amfs_toplvl.c:
9809	mount_amfs_toplvl().
9810
9811Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
9812
9813	* The following are Rainer's ChangeLog entries for his ultrix
9814	port, added manually. -Erez.
9815
9816	* merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
9817	(mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
9818
9819	* include/am_defs.h: include cdfs specific mount headers
9820	avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
9821
9822	* include/am_compat.h: define several mount options corresponding
9823	to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
9824	noversion, rrip (cdfs), nocache, quota, sync (generic) removed
9825	duplicate MNTTAB_OPT_RO definition
9826
9827	* aux/macros/try_compile_anyfs.m4: include Ultrix specific
9828	ufs/cdfs mount headers
9829
9830	* aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
9831	specific mount headers
9832
9833	* aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
9834	mount types in mount headers (Ultrix)
9835
9836	* aux/configure.in: Ultrix/Digital UNIX specific checks: new
9837	headers, mount structures and fields, filesystem and mount types,
9838	mount flags
9839
9840	* aux/acconfig.h: placeholders for new mount options: quota
9841	(generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
9842	cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
9843	structures
9844
9845	* amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
9846	ufs_args.ufs_flags and has ufs specific pgthresh option
9847
9848	* amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
9849	CDFS mount flags and options
9850
9851	* amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
9852	hlfsd/hlfsd.c (main): store generic mount flags in
9853	nfs_args.gfs_flags, handle separate NFS ro flag
9854
9855	* aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
9856	struct_ufs_specific}.m4: new files; check for Ultrix specific
9857	mount structures
9858
9859	* conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
9860
9861	* aux/macros/type_auth_create_gidlist.m4 (ultrix*):
9862	AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
9863	comment in <rpc/auth.h>
9864
9865	* include/am_defs.h: #define KERNEL to avoid definition of
9866	gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
9867	<config.h> to force single definition here
9868
9869	* libamu/mount_fs.c (compute_nfs_args): Ultrix support for
9870	nfs_args.gfs_flags moved to callers store mount options in
9871	nap->optstr
9872
9873	* include/am_defs.h: fix _am_mntent mnt_{type, opts} field
9874	descriptions
9875
9876	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
9877	include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
9878	definition in prototypes
9879
9880	* aux/macros/mount_headers.m4: include <sys/errno.h> before
9881	AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
9882	definitions
9883
9884	* conf/nfs_prot/nfs_prot_ultrix.h: new file
9885
9886	* aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
9887
9888	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
9889	aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
9890	inclusion of <rpc/xdr.h>
9891
9892Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9893
9894	* aux/configure.in: save state of config.cache and confdefs.h
9895	(as dbgcf.h) at various points of the configure.
9896
9897	* aux/macros/save_state.m4: new macro to save state of configure,
9898	esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
9899	cache variables that are known so far.
9900
9901	* released snapshot am-utils-6.0a16s8
9902
99031998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
9904
9905	* fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
9906	it, but only for flex.
9907
9908Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9909
9910	* hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
9911	to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
9912	to write the dump file.
9913
9914	* doc/am-utils.texi,amd/opts.c: rename all references to nomadic
9915	functions to boolean functions, which is what they really are.
9916
9917	* aux/configure.in: don't look for strcasecmp in libucb at all,
9918	but rather complete it from libamu/strcasecmp.c as needed.
9919
9920Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9921
9922	* conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
9923
9924	* libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
9925	which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
9926	Schmidt <tschmidt@micron.com>.
9927
9928	* released snapshot am-utils-6.0a16s7
9929
9930	* conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
9931	hppa1.0-hp-hpux11.00.tgz.
9932
9933Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9934
9935	* converted all sources to use mntent field names, and map mnttab
9936	field names to mntent's.
9937
9938	* include/am_defs.h (mnt_special): map struct mnttab field names
9939	to struct mntent field names.
9940
9941	* aux/macros/check_mount_trap.m4: hpux11's mount trap style is
9942	identical to svr4/solaris2.
9943
9944	* aux/macros/check_mount_style.m4: hpux11's mount style is
9945	identical to svr4/solaris2.
9946
9947	* aux/macros/check_network_transport_type.m4: hpux11 is a TLI
9948	system!
9949
9950	* aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
9951	dereferencing style is same as svr4.
9952
9953	* aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
9954	dereferencing style is same as svr4.
9955
9956	* conf/transp/transp_tli.c (create_nfs_service): if failed to
9957	getnetconfigent() of ticlts, then try udp (hpux11).
9958
9959	* conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
9960	struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
9961	2.5.1 (HP used them).
9962
9963	* amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
9964	because hpux11 doesn't like it. if t_open failed, print error
9965	based on t_errlist, not sys_errlist.
9966
9967Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9968
9969	* doc/am-utils.texi: lots of documentation fixes from Rainer Orth
9970	<ro@TechFak.Uni-Bielefeld.DE>.
9971
9972Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
9973
9974	* fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
9975	later.
9976
9977	* include/am_defs.h: defined the extern for ualarm() if it isn't
9978	found, regardless if the function isn't found in standard
9979	libraries, because otherwise libamu will include it.
9980
99811998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
9982
9983	* initial port to hpux-11 completed.  Compiles cleanly, but
9984	probably does not work, because of missing NFS V.2/3 headers.
9985
9986	* amd/conf_tok.l: cast yytext to char* when passed to strlen and
9987	strdup, for hpux-11's ansi-cc compiler.
9988
9989	* include/am_utils.h: renamed all xfree() to XFREE() to avoid
9990	conflict with hpux-11's system headers.  Also move (voidp) cast
9991	from sources to inside the macro itself.
9992
9993Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9994
9995	* released snapshot am-utils-6.0a16s6
9996
9997	* amd/info_nis.c (nis_isup): new function to test if NIS is up
9998	without hanging amd.  Used to ensure that amd does not clear the
9999	maps when the expiration period arrived, if the service is down.
10000	Otherwise it would be left with empty maps.  It is better to stay
10001	with possibly old information than none at all.
10002
10003	* amd/mapc.c (mapc_sync): check to see if map service is up.
10004
10005Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10006
10007	* aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
10008	includes auxiliary library only if needed.
10009
100101998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10011
10012	* amd/conf_tok.l: undefine ECHO again, so it doesn't get used
10013	later.
10014
10015Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
10016
10017	* conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
10018	completed.
10019
10020	* conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
10021
10022Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10023
10024	* doc/am-utils.texi (Network Host Filesystem): correct example for
10025	type:=host map.
10026
10027	* aux/macros/os_cflags.m4: only osf4 should compile with
10028	-D_SOCKADDR_LEN.
10029
10030	* aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
10031	and OSF4.
10032
10033	* BUGS: include a new file listing known bugs.
10034
10035Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10036
10037	* conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
10038	versions.
10039
10040	* aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
10041	size_t for recvfrom fromlen arg.
10042
10043Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10044
10045	* scripts/ctl-hlfsd.in: turn -D fork so primary process never
10046	hangs.
10047
10048Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10049
10050	* include/am_defs.h: don't include <sys/stat.h> and
10051	<linux/stat.h>, just remaining definitions in <statbuf.h>
10052
10053Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10054
10055	* released snapshot am-utils-6.0a16s5
10056
10057	* conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
10058	mount(2).
10059
10060	* check for <sys/fs/xfs_clnt.h> and include it when needed.
10061
10062	* conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
10063	efs and xfs separately from "ufs".
10064
10065	* amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
10066
10067	* aux/configure.in: look for irix efs and xfs file systems.
10068
10069	* scripts/amd.conf.5: new unmount_on_exit option documented.
10070
10071	* doc/am-utils.texi (unmount_on_exit): new option documented.
10072
10073	* amd/conf.c (gopt_unmount_on_exit): new function to handle new
10074	amd.conf option.
10075
10076	* amd/map.c (umount_exported): if global amd.conf flag
10077	unmount_on_exit is on, then try to unmount all mounted (or
10078	restartable) file systems.
10079
10080	* amd/amd.c: if print_pid option is on, then normally print it to
10081	stdout.  If also pid_file is specified, then print the process ID
10082	into that file.
10083
10084	* amd/get_args.c (get_args): print correct -l option depending if
10085	system supports syslog and/or syslog facilities.  Patch from
10086	Tom Schmidt <tschmidt@micron.com>.
10087
10088	* doc/am-utils.texi (opts Option): updates for documentation for
10089	new cdfs options defperm, nodefperm, noversion, rrip.
10090
10091	* amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
10092	nodefperm, noversion, rrip.
10093
10094	* conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
10095	on osf.
10096
10097	* aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
10098	expand_cpp_string.m4}: use #error to make failed compilations
10099	fail faster, rather than have the program fail during a run.
10100
10101	* include/am_compat.h: added a few new cdfs options: rrip,
10102	noversion, defperm, and nodefperm (used in OSF).
10103
10104Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10105
10106	* released snapshot am-utils-6.0a16s4
10107
10108	* doc/am-utils.texi (Global Parameters): update manual for new
10109	amd.conf global variable hesiod_base.
10110
10111	* scripts/amd.conf.5: update man page for new amd.conf global
10112	variable hesiod_base.
10113
10114	* amd/get_args.c (get_args): use /etc/amd.conf file if exists by
10115	default, else try command line options.  Patch from Randall
10116	S. Winchester <rsw@Glue.umd.edu>.
10117
10118Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10119
10120	* amd/info_hesiod.c (hesiod_search), amd/conf.c
10121	(gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
10122	included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
10123	support a hesiod base name in the amd.conf file.
10124
10125	* doc/am-utils.texi (pid_file Parameter): document new global
10126	amd.conf parameter.
10127
10128	* scripts/amd.conf.5: document new global option pid_file.
10129
10130	* amd/amd.c (daemon_mode): if cannot open pid_file, continue to
10131	run, but print error message.
10132
10133	* amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
10134	init_global_options): Included patch from Randall S. Winchester
10135	<rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
10136
10137	* amd/get_args.c (get_args): correct usage info on amd -t.
10138
10139	* amd/*.c: massive file name and symbol name changes.  All amd
10140	file systems files and symbols are prefix with amfs_*.  Now using
10141	real name of file system: amfs_auto instead of afs, amfs_inherit
10142	instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
10143	clear distinction between amd file system and generic ones like
10144	nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
10145	f/s) and DFS (Distributed f/s).
10146
10147	* amd/amfs_union.c: unionfs for amd is always defined, no need to
10148	#ifdef it.
10149
10150Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10151
10152	* libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
10153	or off, based on the particular quirks of the OS in question.
10154
10155	* aux/macros/check_nfs_socket_connection.m4: new macro to set the
10156	correct wait of handling un/connected NFS sockets.
10157
10158	* scripts/wait4amd.in: use rlogin instead of rsh.
10159
10160	* amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
10161	-v, always show "nfs3" for NFS V.3.
10162
101631998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10164
10165	* lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
10166	more picky than 2.7.2.3 did.
10167
101681998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10169
10170	* include/am_utils.h (dlog): amuDebug macros reduced to shorter
10171	forms.
10172
10173Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
10174
10175	* released snapshot am-utils-6.0a16s3
10176
10177	* include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
10178	in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
10179	must not, fake a definition for varargs.
10180
10181Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10182
10183	* README: show how to configure in additional support such as
10184	hesiod using various --enable-* flags.
10185
10186Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10187
10188	* aux/configure.in: look for strcasecmp(), and replace it if not
10189	available.
10190
10191	* amd/ops_nfsl.c (nfsl_match): host names should be compared using
10192	case insensitive.
10193
10194	* amd/opts.c: for each map variable, define if the comparison
10195	needs to be done case insensitive.
10196
10197	* include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
10198	Patch from Thomas Richter <richter@chemie.fu-berlin.de>
10199
102001998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
10201
10202	* aux/configure.in: look for "isofs" as a possible mount type for
10203	cdfs (RedHat Linux).
10204
10205Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10206
10207	* conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
10208	type if not defined.
10209
10210	* conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
10211	already defined.
10212
10213	* aux/configure.in: look for ext2fs before ufs, b/c some linux
10214	have both.
10215
10216Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10217
10218	* Makefile.am (snapshot): allow me to install snapshots into the
10219	ftp directory.
10220
10221	* scripts/ctl-hlfsd.in: don't turn on -D mem by default.
10222
10223	* amd/get_args.c (get_args): minor bug in output of amd -H.
10224
10225Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10226
10227	*******************************************************************
10228	*** Released am-utils-6.0a15					***
10229	*******************************************************************
10230
10231Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10232
10233	* amd/conf.c (*_browsable_dirs): allow specifying
10234	browsable_dirs=full, which will print *all* entries (other than
10235	/default), including  those with '*' and '/' characters.
10236
10237	* amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
10238	to 1500.
10239
10240	* doc/am-utils.texi: fixed reversed documentation for NFS mount
10241	options vers and proto.
10242
10243	* doc/Makefile.am (install-html): separate target just for
10244	installing html files.  Another new target "alldocs" is just for
10245	installing all files needed for the am-utils home page.
10246
10247	* scripts/amd.conf-sample: updated example for log_file.
10248
10249	* scripts/amd.conf.5: updated for new way to declare new syslog
10250	facility in the log_file option.
10251
10252	* amd/amd.8: updated for new way to declare new syslog facility in
10253	the -l option.
10254
10255	* libamu/xutil.c (get_syslog_facility): allow users to specify the
10256	syslog facility as an appended string to the log device.  Ex. amd
10257	-l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
10258	will use the default LOG_DAEMON facility.
10259
10260	* amd/get_args.c (get_args): updated new syntax for amd -l
10261	syslog:facility.
10262
10263Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10264
10265	* aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
10266	(intel).
10267
10268	* libamu/wire.c (print_wires): bug fix.  Nullify output buffer
10269	before appending to it, on systems with two or more network
10270	interfaces.
10271
10272	* conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
10273	the mntent for cachefs.
10274
10275	* include/am_defs.h: external definition for strstr() should use
10276	const for both arguments.
10277
10278	* aux/configure.in: add extern definitions for getwd() if missing.
10279
10280	* include/am_defs.h: define the extern for strdup() even if the
10281	function does not exist, for it will be filled in by
10282	libamu/strdup.c
10283
10284	* amq/pawd.c (cluster_server): don't use getccent() if the extern
10285	for it isn't there.  On hpux 10.20, the function is in libc, but
10286	<cluster.h> and struct cct_entry do not exist.
10287
10288	* aux/configure.in: check for an extern for getccent() b/c some
10289	hpux systems don't have it (hpux 10.20).
10290
10291Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10292
10293	* doc/am-utils.texi (Amq -T option): manual documentation updates
10294	for new amq options -T/-U.
10295
10296	* amq/amq.8: updated man page for new amq options -T/-U.
10297
10298	* amq/amq.c: two new switches to amq. -U will contact amd using
10299	UDP only.  -T will use TCP only.  Normally amq will try TCP and
10300	if that failed, will try UDP.
10301
10302	* doc/am-utils.texi (pawd): manual documentation for pawd.
10303
10304	* amq/pawd.1: new man page for pawd.
10305
10306Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10307
10308	* amq/pawd.c: a new program, Print Automounter Working Directory,
10309	to print the proper pathname of the cwd or any other pathname,
10310	adjusted for automounter paths, while avoiding mount points.
10311
10312	* aux/macros/localconfig.m4: trivial support for am-utils
10313	maintainers to adjust some of the configuration of am-utils after
10314	it has been auto-configured by putting whatever definitions you
10315	wish in a file called localconfig.h, located in the top build
10316	directory (the same one where config.h is created for you).
10317
10318	* doc/am-utils.texi (Caching Filesystem): updated documents for
10319	cachefs file system.
10320
10321	* amd/ops_cachefs.c: initial cachefs support, for solaris.
10322	type:=cachefs, requires cachedir:=/cache/dir/name to be defined
10323	and initialized with cfsadmin -c.  $rfs is backdir to be cached
10324	from, and $fs is the local mount point of the cachefs.
10325
10326	* conf/mount/mount_svr4.c (mount_svr4): support mounting of
10327	cachefs file systems.
10328
10329	* amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
10330	mnttab type is.
10331
10332Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10333
10334	* amd/opts.c: added support for new variable $cachedir.
10335
10336	* include/am_utils.h: added opt_cachedir field to struct am_opts.
10337
10338Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10339
10340	* amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
10341	local hostname does not match $rhost, and if so, also assume
10342	type:=nfs.
10343
10344Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10345
10346	* updated all source files to add 1998 as a copyright year.
10347
10348	* amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
10349	like type:=linkx if the pathname denoted by $fs exists, and like
10350	type:=nfs if it does not.  A convenient shortcut for the most
10351	popular amd map entry.
10352
10353	* amd/amd.c (main): amd should chdir to / before starting, to
10354	avoid hanging on other NFS server if started elsewhere.
10355
10356	* amd/ops_TEMPLATE.c: added an empty template file for developers
10357	who wish to write new amd pseudo file systems.
10358
10359Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10360
10361	* hlfsd/homedir.c (plt_init): make function exported, to save on
10362	the unnecessary init_homedir() function which was removed.
10363	(table_add): don't use xmalloc() when you can use strdup()
10364	instead.
10365
10366Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10367
10368	* hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
10369	because we will be making more passwd calls afterwards.  On
10370	Solaris 2.5.1, making getpwent() calls after calling endpwent()
10371	results in a memory leak! (and no, even Purify didn't detect
10372	it...)
10373
10374Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10375
10376	* hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
10377	automatically allocated address.
10378
10379	* amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
10380	automatically allocated address.
10381
10382	* ALL SOURCES: change every direct call to free() to xfree(), so
10383	it can be mapped to the right debugging function as needed.
10384
10385	* include/am_utils.h: new free() policy.  If debugging memory,
10386	call dxfree(), which will print the file name and line number
10387	where the free occurred and the pointer address.  if only regular
10388	debugging, then free() and reset  the pointer to NULL so it cannot
10389	be used afterwards inadvertently.  If not DEBUG at all, then just
10390	run free().  Three different #define macros set the right mapping.
10391
10392	* libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
10393	be called only when debugging the memory.
10394
10395Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10396
10397	* wire-test/wire-test.c (main): use xmalloc() not malloc().
10398
10399	* conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
10400	calloc().
10401
10402	* conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
10403
10404	* conf/mount/mount_linux.c (parse_opts): use xmalloc() not
10405	malloc().
10406
10407	* amd/info_ldap.c: use xmalloc() not malloc().
10408
10409	* libamu/xutil.c (xzalloc): new function to allocate memory and
10410	zero its bytes.
10411
10412	* amq/amq.c: amq does not need its own definition of xfree().
10413
10414	* aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
10415	look for function malloc_verify() in libmapmalloc.a, and function
10416	mallinfo() in libmalloc.
10417
10418	* libamu/xutil.c (checkup_mem): do not use mallinfo field
10419	uordbytes, because it does not always exist.  Rather, compute it
10420	from other fields..
10421
10422	* include/am_utils.h: add external definition to xfree() function
10423	used when debugging memory references.
10424
10425Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10426
10427	* amd/ops_afs.c (afs_readdir_browsable): reduce the number of
10428	bytes heuristically computed to be returned to the kernel.
10429	Otherwise browsable_dirs fails on OpenBSD 2.2.
10430
10431	* amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
10432	mf_private field to AFTER it gets used.
10433
10434Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10435
10436	* amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
10437	on systems that don't support it.
10438
10439	* include/am_defs.h: add missing extern definition for free().
10440
10441	* aux/configure.in: check for external definition for free().
10442
10443	* libamu/Makefile.am: add to comment a mention of strstr as an
10444	optional function.
10445
10446	* libamu/xutil.c (switch_to_logfile): use openlog() options only
10447	if they exist.
10448
10449	* conf/transp/transp_sockets.c (get_nfs_version): don't use
10450	clnt_spcreateerror if it does not exist.
10451
10452	* aux/configure.in: check for missing functions clnt_create and
10453	clnt_spcreateerror.  Check for missing strstr, and complete
10454	its code.  Check for missing external definition for strstr.
10455
10456	* aux/macros/host_macros.m4: normalize sun3* names.
10457
10458	* Makefile.am: updates for new sunos3 files distributed.
10459
10460	* conf/nfs_prot/nfs_prot_sunos3.h: new file.
10461
10462	* conf/fh_dref/fh_dref_sunos3.h: new file.
10463
10464	* aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
10465
10466	* aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
10467
10468	* doc/am-utils.texi (wire Selector Variable): updated manual for
10469	adjusted variables wire, network, and netnumber, all using the
10470	in_network() function.
10471
10472Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10473
10474	* amd/opts.c: allow options to be processed by executing arbitrary
10475	functions.  Converted wire, network, and netnumber all to use the
10476	nomadic function in_network.  So from now on they perform a match
10477	against all networks, not just primary.
10478
10479	* initial port to alpha-unknown-linux-gnu, probably works, but
10480	untested yet.
10481
10482	* conf/nfs_prot/nfs_prot_linux.h: add special definitions for
10483	__FD_* macros which for som strange reason do not get included
10484	from <selectbits.h> on redhat alpha linux.  Also turn off usage of
10485	<rpc/des_auth.h> because it is incomplete on the same systems.
10486
10487	* hlfsd/homedir.c (table_add): cast uid field to int, for
10488	comparison.
10489
10490	* include/am_defs.h: more coflicts with redhat alpha linux
10491	"resolved".
10492
10493	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
10494	There's a conflict of definitions on redhat alpha linux between
10495	<netinet/in.h> and <linux/fs.h> which must be avoided.
10496
10497	* aux/configure.in: check for <socketbits.h>, which is in use on
10498	redhat alpha linux.
10499
10500	* doc/am-utils.texi (Selectors): added documentation to describe
10501	the new "!" (negated) nomadic functions.
10502
10503	* amd/opts.c (f_in_network): print debugging info that is correct,
10504	rather than saying that any ARG is on a local network.
10505	(eval_opts): added support for negating nomadic functions, by
10506	prepending "!" to their name.  Example, !exists(/foo/bar).
10507
10508Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10509
10510	* include/am_compat.h: ensure that all NFS3 systems have the mount
10511	table entries (and amd opts switches) "proto" and "vers".
10512
10513	* hlfsd/homedir.c (table_add): added some debugging info to try
10514	and track down a serious memory leak in hlfsd.
10515
105161997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
10517
10518	* libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
10519	you do NOT set the noconn option, and use connected sockets
10520	always.  So I'm now forced not to set it at all, and have the user
10521	specify it as "conn" or "noconn" in their /default entry.  Argh...
10522	Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
10523	buggy (TCP hangs with "short receive" kernel errors).  I'd better
10524	wait until they get it working in their version of the automounter
10525	first.  So I'm putting the "noconn" option back.
10526
10527Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10528
10529	* libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
10530	nfs_args field maxgrouplist accordingly.
10531
10532	* include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
10533	for mount table entry for maxgroups based on NFS mount option
10534	maxgrp.
10535
10536	* aux/configure.in: put back testing for NFS mount option
10537	"maxgrps".  Added test for mount table entry "maxgroups".
10538
10539	* libamu/mount_fs.c (compute_nfs_args): perform more careful tests
10540	on nfs_proto, because it could be NULL.
10541
10542	* doc/am-utils.texi (Selectors): added example of in_network()
10543	selector.
10544
10545	* aux/macros/check_hide_mount_type.m4: all hpux versions,
10546	including 9.x, should use "ignore" as the mount type to hide from
10547	amd.
10548
10549Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10550
10551	* include/am_utils.h (NSTREQ): use new macro instead of strncmp()
10552	every where in the sources.
10553
10554Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10555
10556	* libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
10557	print as much info that is given in struct nfs_args as possible.
10558	useful for detecting internal flags and options, as well as the
10559	file handle used.
10560
10561	* scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
10562	after /etc and before /etc/local.
10563
10564Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10565
10566	* aux/configure.in, libamu/Makefile.am: added support for linking
10567	with specific versions of libamu.  Upped shared library version of
10568	libamu to 1 (libamu.so.1.0.0)
10569
10570	* include/am_defs.h: added external definition for mkstemp() as
10571	needed.
10572
10573	* minor new port to i386-unknown-netbsd1.3 (BETA version of
10574	netbsd).
10575
10576	* aux/config.guess: don't leave a trailing '.' on the system name
10577	for NetBSD-1.3_BETA and similarly for OpenBSD.
10578
10579	* conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
10580	differences in ypall calling conventions.
10581
10582	* mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
10583	in preference over mktemp(), b/c it is more secure.
10584
10585	* aux/configure.in: check for mkstemp(), a more secure version of
10586	mktemp().
10587
10588Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10589
10590	* amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
10591	table "vers" option generally do not set the mnttab entry to
10592	"nfs3", but to "nfs" and then they set "vers=3".  Setting it to
10593	"nfs3" works, but it may break some things like "df -t nfs" and
10594	the "quota" program (esp. on Solaris and Irix).  So on those
10595	systems, set it to "nfs".
10596
10597Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10598
10599	* doc/am-utils.texi (Distrib): updates for new ports, location of
10600	am-utils' home page, and URL cross references (now supported by my
10601	version of texi2html).
10602
10603	* aux/macros/check_mtype_type.m4: also use string type for file
10604	system mount types under nextstep for mount(2).
10605
10606	* aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
10607	integer and string types for file system mount types in mount(2),
10608	but it is better to use string types.
10609
10610	* conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
10611	0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10612	(EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
10613	works.
10614
10615	* conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
10616	not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10617	(EPERM) instead of 0 (OK).
10618
10619	* libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
10620	by -D trace (protocol trace).
10621
106221997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
10623
10624	* A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
10625	macro based on existence on others, and include <sys/stat.h>.
10626
10627Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10628
10629	* aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
10630	inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
10631	which this header is broken (it tries to include non-existing
10632	headers).
10633
10634Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10635
10636	* libamu/mount_fs.c (mnt_flags): support either nfs or generic
10637	mount option for grpid.
10638
10639	* aux/configure.in: turn back on NFS mount option grpid.
10640
10641Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10642
10643	* doc/Makefile.am (install-ps): added target to install postscript
10644	file in the am-utils' home page, as well as a few other useful
10645	files for the new am-utils Web page.
10646
10647Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10648
10649	*******************************************************************
10650	*** Released am-utils-6.0a14					***
10651	*******************************************************************
10652
10653Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10654
10655	* doc/am-utils.texi (Supported Platforms): updated table of new
10656	ports.
10657
10658Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10659
10660	* libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
10661	options so that they can be printed in logs as needed.
10662
10663	* doc/am-utils.texi (osver Parameter): updated for the correct
10664	usage of the -o/-O options.
10665
10666	* scripts/amd.conf.5: corrected info for -o/-O options.
10667
10668	* amd/amd.8: updated man page for new -O op_sys_name option, and
10669	corrected the usage of the -o op_sys_ver option
10670
10671	* amd/get_args.c (get_args): added new amd option -O to override
10672	OS name.
10673	(get_args): updated usage string.  Removed old -m option.  Added
10674	-o and -O options.
10675
10676	* conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
10677	it is not there.  Reportedly, irix 5.2 does not define it.
10678
10679	* scripts/lostaltmail.in: removed references to unused $hack
10680	variable.
10681
10682	* aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
10683	<metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
10684	for solaris2.5.
10685
10686	* doc/am-utils.texi (Distrib): typo in the subscription
10687	instructions to amd-dev.  Patch from Stefan Vogel
10688	<vogel@physik-rzu.unizh.ch>.
10689
106901997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
10691
10692	* NFS3 works on powerpc-ibm-aix4.2.1.0.
10693
10694	* libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
10695	static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
10696	stack of an automatic variable when pointer to it is passed around
10697	several times.
10698
10699Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10700
10701	* libamu/xutil.c (real_plog): syslog like behavior for normal
10702	logging.  Will not print repeated strings, only a count "last
10703	message repeated N times", but will always print something if
10704	message is repeated more than 100 times.
10705
10706	* scripts/lostaltmail.in: look for lostaltmail.conf files also in
10707	/etc/global, /etc/os, and /etc/local (in that order).
10708
10709Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10710
10711	* conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
10712	mounts.
10713
10714	* aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
10715	aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
10716
10717	* conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
10718	NFS_SA_DREF macro is a pointer to the structure that used to be
10719	passed to it before.  So now I have to dereference the pointer
10720	before accessing its values.
10721
10722	* hlfsd/hlfsd.c (main): use the new and cleaner
10723	compute_nfs_args() and compute_automounter_nfs_args() functions.
10724
10725	* amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
10726	compute_nfs_args() and compute_automounter_nfs_args() functions.
10727
10728	* amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
10729	and cleaner compute_nfs_args() and compute_automounter_nfs_args()
10730	functions.
10731
10732	* libamu/mount_fs.c (compute_nfs_args): major code cleanup that
10733	relates for struct nfs_args.  A new function sets the numerous
10734	possible flags and fields of nfs_args_t in an orderly fashion.
10735	Code cleaned up, organized, and moved from amd/hlfsd into
10736	libamu.  This saves on overall size of code.
10737	(compute_automounter_nfs_args): A variant of compute_nfs_args()
10738	which sets special options/flags that need to be used when NFS
10739	mounting an automounter's mount point.  Used by hlfsd and amd.
10740
10741	* amq/amq.c (get_secure_amd_client): don't print any more
10742	"get_secure_amd_client: using TCP, port 12345".  It's more
10743	annoying than useful a message, even when assumed to be compiled
10744	under DEBUG only.
10745
10746Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10747
10748	* aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
10749	mount table entries.  The code used to define the /etc/mnttab name
10750	for file systems based on physical media (disk, cdrom, floppy) to
10751	the generic name, rather than the OS specific name.  For example
10752	autoconf searches for all these types of mount table entries for a
10753	floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
10754	it found any, it hard-coded the mnttab name to "pcfs" rather than
10755	the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
10756	nullfs, unionfs, and umapfs.
10757
10758	* aux/configure.in: also test for xfs (for newer Irix) when
10759	looking for mount type names, numbers, etc of a disk-based ufs.
10760
10761Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
10762
10763	* amq/amq.c (main): use pmap_ping() to test if remote host is up.
10764	This works better on bsdi2 and bsdi3, because their portmapper
10765	does not appear to like forwarding operations (it is generaly
10766	insecure).
10767
10768Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10769
10770	*******************************************************************
10771	*** Released am-utils-6.0a13					***
10772	*******************************************************************
10773
10774Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10775
10776	* conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
10777	struct datum typedef.
10778
10779	* conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
10780	ypall_callback_fxn_t for netbsd.
10781
10782	* aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
10783	the 5th arg to authunix_create(), while before and after they used
10784	gid_t.
10785
10786	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
10787	clnt_create_timed() on older Solaris 2.3 systems that did not have
10788	it.
10789
10790	* conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
10791	kernel only on bsdi2, so do not include it.
10792
10793Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10794
10795	* hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
10796	messages about resolution of mailboxes based on uid/gid.
10797
10798	* scripts/ctl-hlfsd.in: check for alternate password file in
10799	${prefix}/etc/passwd and use it in hlfsd's startup.
10800
10801Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10802
10803	* hlfsd/homedir.c (hlfsd_getpwent): added support for -P
10804	passwdfile option.  If hlfsd is started with -P passwdfile, then
10805	the passwdfile is read and parsed just as a standard unix
10806	passwd(4) file.  Only the username, uid, and homedir fields are
10807	read and checked.  All the rest are ignored.  No NIS/netgroup
10808	support!
10809
10810	* hlfsd/hlfsd.c (main): check if hlfsd is run as root after
10811	parsing command line options, so that usage() can be printed when
10812	-h is invoked.
10813
10814Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10815
10816	* amd/nfs_start.c (mount_automounter): if autofs service listener
10817	fails to initialize it is OK if using a test amd.
10818
10819	* amd/opts.c (f_in_network): new nomadic function in_network(arg),
10820	which returns TRUE if 'arg' is any one of this host's networks.
10821
10822	* libamu/wire.c (getwire): rewritten parts of function, to store
10823	all networks names and numbers in the order of the interface (not
10824	in reverse).
10825
10826Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10827
10828	* aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
10829	would have worked had it not been due to AIX's buggy /bin/sh.
10830
10831	* doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
10832	am-utils.ps in the distribution sources.
10833	(html): generate html documentation for
10834	http://www.am-utils.org
10835
10836Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10837
10838	* conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
10839	ypall_callback_fxn_t.  The NetBSD team compiles all sources with
10840	gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
10841
10842	* amd/info_nis.c: allow for override of ypall_callback_fxn_t
10843	function typedef.
10844
10845	* libamu/xutil.c (amu_release_controlling_tty): new function to
10846	release the controlling tty in a clean and sane manner.  No longer
10847	using setpgid() b/c it may not work.  Uses setsid(),
10848	and ioctl() (in order).  This new function is used in amd/amd.c
10849	and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
10850	systems, but on others it is the same as setpgid().
10851
10852Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10853
10854	* aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
10855	it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
10856	never used, because the configure test for fsname flag wasn't
10857	used.  This fixed a bug in HPUX 10, where syncer and manual mounts
10858	left blank lines in /etc/mnttab.
10859
10860	* aux/configure.in: check for nfs mount option 'fsname'.
10861
10862Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10863
10864	* amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
10865	mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
10866	hpux-10 will mount amd's mounts points as 'ignore' (by df).
10867
10868	* aux/configure.in: check for NFS mount option 'ignore', useful in
10869	HPUX 10.
10870
10871Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10872
10873	* aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
10874	mount type and not NFS, for the amd mount points.
10875
10876	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
10877	an RPC timeout as an error, but just an info message.  From
10878	Andreas Stolcke <stolcke@speech.sri.com>
10879
10880	* If the NFS server is down or does not support the portmapper
10881	call (such as certain Novell NFS servers) we mark it as version 2
10882	and we let the nfs code deal with the case that is down.  If when
10883	the server comes back up, it can support NFS V.3 and/or TCP, it
10884	will use those.  From christos@deshaw.com (Christos Zoulas).
10885
10886	* hlfsd/homedir.c (plt_print): various compile time cleanups to
10887	printfs that take a long, but pass an int to print.  From
10888	christos@deshaw.com (Christos Zoulas).
10889
10890	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
10891	macro to determine if the OS has a bad yp_all(), based on the host
10892	OS name.  So far only irix (all versions) have a bad yp_all, so
10893	they will use am_yp_all() instead (which is slower as it
10894	enumerates manually all of the map's entries).
10895
10896Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
10897
10898	* amd/info_nis.c (am_yp_all): code for a replacement yp_all that
10899	avoids using a file-descriptor leaking yp_all() on some systems
10900	like irix.
10901
10902Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
10903
10904	* fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
10905	systems using /usr/bin/flex.
10906
10907	* amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
10908	that have a modified GNU flex which does define yywrap (DU-4.x).
10909
10910Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10911
10912	* conf/checkmount/checkmount_bsd44.c: include prototype.
10913
10914Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10915
10916	*******************************************************************
10917	*** Released am-utils-6.0a12					***
10918	*******************************************************************
10919
10920Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10921
10922	* conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
10923	code in irix6 until it can be tested correctly
10924
10925	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
10926	on clnt_create for 3 seconds, rather than wait for the much longer
10927	default.
10928
10929	* conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
10930	Includes NFS3, untested.
10931
10932Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10933
10934	* amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
10935	pcfs_args_t if they exist.
10936
10937	* amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
10938	cdfs_args_t if it exists.
10939
10940	* new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
10941	hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
10942
10943Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10944
10945	* doc/am-utils.texi (wire-test): updated documentation for the new
10946	option.
10947
10948	* wire-test/wire-test.8: updated man page for new option.
10949
10950	* wire-test/wire-test.c (main): added a test for various
10951	combinations of NFS proto/vers to a remote/local host.
10952
10953	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
10954	<isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
10955	freebsd will correctly set mount options for pcfs and cdfs.
10956
10957	* amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
10958	0777 (if field exists).
10959
10960	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
10961	<msdosfs/msdosfsmount.h> if available.
10962
10963	* minor new port: rs6000-ibm-aix4.1.4.0.
10964
10965	* libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
10966	write the "time" field in /etc/mnttab.
10967
10968	* conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
10969	detecting mnt_time field of mntent_t.
10970
10971	* libamu/mtab.c (mnt_free): fixed typo in macro names for
10972	detecting mnt_time field of mntent_t.
10973
10974Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10975
10976	* conf/mtab/mtab_file.c (lock): Use flock() in preference over
10977	fcntl() to lock the mtab file.
10978
10979Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10980
10981	* conf/transp/transp_sockets.c (get_nfs_version): define
10982	the try_again goto label only for NFS3.
10983	(pmap_ping): assume timeout failure of clnt_stat.
10984
10985	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
10986	"groups *".
10987
10988Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10989
10990	* conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
10991	<dsr@mail.lns.cornell.edu> to make sure that amd works with more
10992	secure portmappers that do not allow forwarding of RPC messages to
10993	other services.
10994
10995	* */Makefile.am: all source files should also depend on the new
10996	include/am_xdr_func.h header.
10997
10998	* include/am_xdr_func.h: new file as part of the code cleanup from
10999	Christos Zoulas <christos@deshaw.com>.
11000
11001	* Lots of fixes from Christos Zoulas <christos@deshaw.com> that
11002	involved missing prototypes, cleaned up ones, and removal of
11003	unused variables.
11004
11005	* libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
11006	statement with only one case is unclean.
11007
11008Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11009
11010	* amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
11011	0 so that all fields are initialized to zero at first.  This way
11012	SunOS 4.x and other systems don't get /etc/mtab entries with
11013	random integers for the fsck/freq fields. Patch from Andreas
11014	Stolcke <stolcke@speech.sri.com>.
11015
11016Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11017
11018	* conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
11019	that the important definition for HOSTNAMESZ will be found.
11020
11021	* amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
11022	(inside the nfs_args structure) if the system uses that macro.
11023	Otherwise systems like SunOS refuse to NFS mount long pathnames
11024	and result in ENAMETOOLONG errno's.
11025
11026Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11027
11028	* doc/am-utils.texi (Supported Platforms): specify new support for
11029	solaris 2.6, and hlfsd running on 2.5.1 too.
11030
11031Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11032
11033	* conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
11034	mount if it is not supported or was turned off.
11035
11036Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11037
11038	* conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
11039	again.  Apparently at some previous release SunOS 4 supported was
11040	broken and all nfs mounts resulted in ESTALE.
11041
11042Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11043
11044	* conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
11045	solaris 2.6.
11046
11047	* aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
11048	protocol header selection.
11049
11050Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11051
11052	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
11053	infinite loop.
11054
11055Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11056
11057	*******************************************************************
11058	*** Released am-utils-6.0a11					***
11059	*******************************************************************
11060
11061Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11062
11063	* amd/amd.c (main): if plock() succeeded, don't try to display
11064	errno message.   Patch from Chris Metcalf
11065	<metcalf@catfish.lcs.mit.edu.
11066
11067Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11068
11069	* hlfsd/homedir.c (table_add): make sure duplicate passwd entries
11070	are ignored.   Only the first entry should ever be used, because
11071	that's how lookup in passwd database works.
11072
11073	* conf/transp/transp_sockets.c (get_nfs_version): when determining
11074	if a remote host is up or down, use NFS v.2.  Fix suggested by
11075	Enami Tsugutomo <enami@cv.sony.co.jp>.
11076
11077	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
11078	function to get the best possible NFS version, but also timeout
11079	faster than normal defaults, so remote hosts which are down can be
11080	detected in a reasonable time.
11081	(get_nfs_version): use the new "best" function.
11082
11083Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11084
11085	*******************************************************************
11086	*** Released am-utils-6.0a10					***
11087	*******************************************************************
11088
11089Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11090
11091	* conf/transp/transp_tli.c (get_nfs_version): don't use
11092	clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
11093	and earlier).
11094
11095	* aux/configure.in: test for existence of clnt_tp_create_timed(),
11096	since Solaris 2.4 (and possibly earlier) do not have it.
11097
11098Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11099
11100	* amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
11101	field if it exists (solaris 2.4's autofs does not have it).
11102
11103Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11104
11105	* aux/macros/type_auth_create_gidlist.m4: a new test to determine
11106	the correct type to the 5th argument of authunix_create().
11107
11108Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11109
11110	* libamu/xdr_func.c (xdr_umntrequest): add test for autofs
11111	structure umntrequest, if it has the field rdevid.  Seems Solaris
11112	2.4 and earlier didn't have it.
11113
11114Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11115
11116	* hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
11117	can be done before primary process forks.
11118	(main): bug fix: wait a bit to give child a chance to initialize.
11119	Without this, hlfsd got into a busy infinite loop while, never
11120	completing the mount.
11121
11122	* amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
11123	to make amd works when talking to NIS+ servers in NIS
11124	compatibility mode.
11125
11126Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11127
11128	* amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
11129
11130Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11131
11132	* amd/conf.c (gopt_fully_qualified_hosts): a new function to
11133	process another new global variable.
11134
11135	* amd/ops_nfs.c (make_nfs_auth): if a new global variable
11136	fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
11137	Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
11138
11139	* amd/conf.c (process_last_regular_map): If the amd.conf file only
11140	has a [global] section (pretty useless IMHO), do not try to
11141	process a map that does not exist.
11142
11143	* scripts/amd.conf.5: fixed typos (repeated 'as' word).
11144
11145	* doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
11146
11147	* amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
11148	structure, so it does not carry over from map entry to another.
11149
11150Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11151
11152	* amd/amd.c (main): fixed the meaning of the plock option.  A bug
11153	caused it to be reversed.
11154
11155Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11156
11157	* hlfsd/stubs.c: don't initialize some statics here.  They are
11158	better initialized in hlfsd_init_filehandles().
11159
11160Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11161
11162	* amd/conf.c (gopt_show_statfs_entries): new function and a global
11163	amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
11164	then all maps flagged as browsable will also show a count of the
11165	number of entries (keys) in that map.
11166
11167	* amd/nfs_subr.c (count_map_entries): new function to count number
11168	of entries in a map.  Now used if browsable is turned on in a map,
11169	to return a count of available keys in a given map.
11170
11171	* hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
11172	confused the file handles for ".", "..", and the symlink, causing
11173	mess.
11174
11175	* aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
11176	but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
11177	with bad memcmp() in libc's (nextstep3).
11178
11179Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11180
11181	* aux/configure.in: check if autofs_args_t has a field named
11182	addr.  Solaris has it for specifying the address of the daemon,
11183	but Irix does not.  So how does irix tell the kernel the daemon's
11184	address?  I suspect that it is hardcoded to "localhost" using a
11185	"private well-known port" (#define AUTOFS_PORT 2048).
11186
11187	* conf/nfs_prot/nfs_prot_linux.h: added missing autofs
11188	definitions.
11189
11190	* README.autofs: new file listing autofs support notes
11191
11192	* very preliminary autofs code working.  Call it pre-alpha
11193	quality.
11194
11195Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11196
11197	* amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
11198	"autofs" if system does not support it.
11199
11200	* amd/amd.c (main): log am-utils version string (same as amd -v)
11201	at start of run.
11202
11203	* conf/transp/transp_sockets.c (get_nfs_version): in order to tell
11204	if a remote host is available, try to contact its portmapper and
11205	timeout if no answer is received in 3 seconds.
11206
11207Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11208
11209	* aux/macros/check_extern.m4 (pattern): use a simpler pattern for
11210	match for external function definitions.  The function could span
11211	multiple lines, so only match the opening parenthesis, not the
11212	closing one too.
11213
11214	* aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
11215	posix mode for nextstep3.  It is broken.
11216
11217	* amd/amd.c (init_global_options): run uname() only if
11218	<sys/utsname.h> and uname(2) exist.
11219
11220	* amd/rpc_fwd.c (fwd_packet): if remote host is down, the
11221	forwarding socket is null, so declare this an error.
11222
11223	* include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
11224	for when a remote host is down.  Try, in order, "host down", "host
11225	unreachable", "invalid argument".
11226
11227	* amd/ops_nfs.c (discard_fh): don't dereference a null pointer
11228	(happens when remote host is down, and fp->fh_fs is NULL).
11229	(prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
11230	and FSF_DOWN.
11231
11232	* amd/sched.c: nobody uses "union wait" any more, or so it
11233	appears, so clean up that code.
11234
11235	* conf/transp/transp_tli.c (get_nfs_version): if remote host is
11236	down, time it out faster than default (3 seconds).
11237	(get_mount_client): free netconfig entry when done with it.
11238
11239	* conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
11240	port to nextstep3 (m68k-next-nextstep3).
11241
11242	* fsinfo/Makefile.am (LDADD): needs to link with libamu in case
11243	system does not have strdup().
11244
11245	* include/am_defs.h: complete external definition for getlogin()
11246	if needed.
11247
11248	* conf/transp/transp_tli.c (get_nfs_version): no need to keep
11249	static versout variable.
11250
11251	* amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
11252	server is probably down.  Don't use sendto() in that case.
11253
11254	* buildall (default): run gmake if found, before trying plain
11255	make.  GNU make is always preferable.
11256
11257Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11258
11259	* aux/macros/host_macros.m4: cleanup of os_version and os
11260	overrides.  Solaris 2.5.1 for example will come up as solaris2 and
11261	2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
11262	the amd.conf file.
11263
11264Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11265
11266	*******************************************************************
11267	*** Released am-utils-6.0a9					***
11268	*******************************************************************
11269
11270Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11271
11272	* conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
11273	(i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
11274	from <ndbm.h> and <sys/resource.h>.
11275
11276	* scripts/amd.conf.5: new map page.
11277
11278	* amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
11279	does not.
11280
11281	* amd/amd.8: updated man page.
11282
11283	* amd/get_args.c (get_args): removed defunct -h option to amd.
11284
11285	* amq/amq.8: updated man page.
11286
11287	* amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
11288	SparcCompiler CC won't complain.
11289
11290	* amd/info_hesiod.c (hesiod_search): small fixes to compile with
11291	hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
11292
11293	* aux/macros/opt_ldflags.m4: new option added to configure
11294	--enable-ldflags, to specify -L option for configuring/compiling.
11295	The older one --enable-libs is now to be used only for -l options.
11296
11297	* amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
11298	nc_protoname from nfs_proto if available for all TLI systems, not
11299	just those that have NFS V3.
11300
11301	* amd/info_ldap.c: ldap patches from Leif Johansson
11302	<leifj@matematik.su.se>, adding two new amd.conf ldap variables:
11303	ldap_cache_seconds and ldap_cache_maxmem.
11304
11305	* hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
11306	htons().
11307
11308Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11309
11310	* amd/nfs_start.c (mount_automounter): register amd with the rpc
11311	program number that may have been overridden by amd.conf.
11312
11313	* libamu/xutil.c (set_amd_program_number, get_amd_program_number):
11314	allow storing and retrieving alternate amd program numbers.
11315
11316	* amd/conf.c (gopt_portmap_program): new function to parse
11317	amd.conf entry portmap_program=1234.
11318
11319	* amq/amq.c (main): allow specifying an alternate rpc program
11320	number for amd via -P prognum.
11321
11322	* new amq RPC to get the process id of the running amd.  This is
11323	used in ctl-amd to quickly find the pid of the amd that is to be
11324	killed.
11325
11326	* expanded shared libraries support.  Using GNU libtool-1.0,
11327	am-utils now builds shared libraries on many platforms that have
11328	support for it and proper compilers/linkers.  See "INSTALL" file
11329	for compatibility chart.
11330
11331Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11332
11333	* fsinfo/fsi_lex.l: removed code that was in support of very old
11334	versions of flex.  No longer needed.
11335
11336Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11337
11338	* amd/amd.c (init_global_options): find the kernel architecture
11339	from uname() if possible.
11340
11341Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11342
11343	* new working port: i386-unknown-openbsd2.1
11344
11345Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11346
11347	* working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
11348	structure to actual char[], because the structure was passed to
11349	xdr_fhandle as data and not a pointer.  Surprisingly, gcc
11350	-fpcc-struct-return did not help.
11351
11352	* conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
11353	definitions for solaris 2.4 have to be different from 2.3, and
11354	different from 2.5.
11355
11356	* libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
11357
11358Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11359
11360	* conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
11361	types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
11362
11363	* mk-amd-map/mk-amd-map.8: man page taken from bsd44.
11364
11365Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11366
11367	* conf/mount/mount_linux.c: made the nfs error mapping code into a
11368	small function.
11369
11370Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11371
11372	* conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
11373	error mappings from errno numbers to NFS errors.  From Debian
11374	Linux.
11375
11376	* scripts/am-eject.in (fs): new script (taken from Debian Linux
11377	folks) to auto-unmount floppy/cd devices before ejecting them.
11378
11379	* fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
11380	'5' as second arg to show_area_being_processed.  I'm not sure why.
11381
11382	* fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
11383	second arg to show_area_being_processed.  I'm not sure why.
11384
11385	* conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
11386	ensure that you have a buffer in *xopts to strcat onto.
11387	(mount_linux): fixed from Debian folks to ensure that NFS mount
11388	sockets are connected only for kernels prior to 1.3.10 (avoids
11389	hangs for multi-homed hosts).
11390
11391	* amd/mapc.c (make_entry_chain): from Debian folks: don't skip
11392	over amd map keys that have a prefix, and include the prefix in
11393	the returned readdir().
11394
11395	* amd/info_passwd.c (passwd_init, passwd_search): format
11396	enhancements from the Debian Linux folks.  They added
11397	- var0:=pw-prefix:=anydir
11398	- var1:=pw-rhost:=dom3.dom2.dom1
11399	- var2:=pw-user:=user
11400	- var3:=pw-home:=/anydir/dom1/dom2/dom3/user
11401
11402	* new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
11403
11404	* amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
11405	afs_mount timed out, then explicitly forbid further retries after
11406	the timeout.  (afs_bgmount): bug fix from Debian Linux.  Timeout
11407	values (17 and 5) were mistakenly swapped.
11408
11409Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11410
11411	* conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
11412	support for Solaris 2.4 (the header files incorrectly define parts
11413	of the NFS V.3 protocol, but the kernel does not support it).
11414
11415Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11416
11417	* amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
11418	for determining if using old or new hesiod libraries,
11419	respectively.
11420
11421	* amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
11422	V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
11423	they cause hangs of mounts from multi-homed hosts when the return
11424	route is not the same as the outgoing route (esp. on NetBSD
11425	1.2.1).  If "conn" option was supplied, then don't turn on the
11426	"noconn" mount option.  Otherwise default to "noconn" mount
11427	option.
11428
11429	* aux/configure.in: better check for systems that need libgdbm and
11430	<ndbm.h>
11431
11432Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11433
11434	* hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
11435	mounts are hidden from df(1) on systems that keep mount tables in
11436	kernel, such as osf1.
11437
11438Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11439
11440	*******************************************************************
11441	*** Released am-utils-6.0a8					***
11442	*******************************************************************
11443
11444Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
11445
11446	* hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
11447	AF_INET when hlfsd mounts itself, thus getting an errno "protocol
11448	family not supported".
11449
11450Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11451
11452	* verified that amd on NetBSD 1.2.1 (i386) works, but the OS
11453	itself is flaky.
11454
11455	* verified that amd AIX 3 works w/ the new readdir() code.
11456
11457Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
11458
11459	* amd/mapc.c (maptypes): changed the default map caching type for
11460	nis and ndbm maps to "MAPC_ALL", so that all possible entries will
11461	be available to amd for browsable_dirs=yes.
11462
11463Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11464
11465	* amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
11466	afs_readdir into a browsable version and a non-browsable one.
11467	Fixed bugs that resulted in an infinite nfs_readdir loop on the
11468	localhost for some operating systems.
11469
11470Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11471
11472	* amd/ops_afs.c (afs_readdir): fixed up the browsable code to
11473	comply with nfs_readdir specs.  It was returning all entries at
11474	once, even if there was not enough space in the RPC packet.  Now,
11475	it sends a reasonably sized chunk, and sets static state to resume
11476	it for the next continuation RPC of readdir.
11477
11478	* amd/conf.c (set_conf_kv): fixed bug that resulted in the first
11479	regular map not getting all of the [global] options defaulted from.
11480
11481Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11482
11483	* amq/amq.c (main): fixed so that portmapper "ping" will only fail
11484	upon an RPC timeout
11485
11486	* scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
11487	amd/hlfsd process to kill.
11488
11489	* amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
11490	determine how to avoid df from seeing amd's toplvl mounts.  Moved
11491	from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
11492	is hidden from df.
11493	(mount_toplvl): fixed df types for irix.
11494
11495Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11496
11497	* amq/amq.c (main): fixed bug that caused the 5 second timeout for
11498	TLI amq using udp to be ignored.
11499	(main): if amq cannot contact remote host's portmapper within 5
11500	seconds, timeout and fail faster than the default longer timeout
11501	(this is for non-TLI systems).
11502
11503Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11504
11505	* amq/amq.c (get_secure_amd_client): if amq cannot contact
11506	remote host's portmapper within 5 seconds, timeout and fail faster
11507	than the default TLI timeout of over 4 minutes.
11508
11509	* amd/am_ops.c (ops_showfstypes): added styles for new bsd44
11510	file systems nullfs, unionfs, and umapfs.
11511	(ops_show1): cleanup code and and reuse this function.
11512	(vops): empty placeholders for nullfs, unionfs, and umapfs.
11513
11514	* amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
11515	bsd44 style file systems.
11516
11517	* fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
11518	sources.
11519
11520	* amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
11521	conflict with systems that define it in <sys/ioctl.h> and also
11522	define a conflicting one via lex.  Newer versions of f/lex are ok.
11523
11524Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11525
11526	* amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
11527	acdirmin/max and acregmin/max only if they exist.
11528
11529	* aux/configure.in: test for nfs_args fields acdirmin and
11530	acregmin.
11531
11532Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11533
11534	* aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
11535	"nondev" and commented back in checking for "nodev".  This was a
11536	typo.
11537
11538	* include/am_compat.h: more compatibility options: define "ro"
11539	mnttab option all the time.  Define "overlay" as needed.  Added
11540	more fillers of mnttab options (as per Daniel S. Riley
11541	<dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
11542	acregmin, noac, grpid, nosuid, and actimo.
11543
11544	* libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
11545	per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
11546	the same code for other options in struct opt_tab.
11547
11548Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11549
11550	* amd/get_args.c (get_args): moved amd.conf file parsing to before
11551	the switching the default log/debug options.  Suggested by
11552	dsr@mail.lns.cornell.edu (Daniel S. Riley).
11553
11554	* aux/update_build_version: new script to record the build version
11555	of amd, along with the rest of the info thet comes up with amd -v.
11556
11557Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
11558
11559	* aux/macros/os_cflags.m4: new macro, to add additional
11560	compilation options (also used during configuration), based on the
11561	OS and the compiler.  Used for solaris-2.6, osf, and irix6.
11562
11563Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11564
11565	* amd/conf_tok.l, conf_parse.y: allow values of keys to include
11566	white spaces, if they are double-quoted (key="some value")
11567
11568	* amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
11569	of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
11570
11571Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11572
11573	*******************************************************************
11574	*** Released am-utils-6.0a7					***
11575	*******************************************************************
11576
11577Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11578
11579	* include/am_defs.h: fill in extern definition of innetgr() in
11580	case system headers don't.
11581
11582	* aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
11583	will show the full pathname to yacc/bison and f/lex.  Some systems
11584	have older or bad versions of those and this way the user will
11585	know for sure what is being invoked.
11586
11587	* tasks: file populated with todo items.
11588
11589	* scripts/amd2ldif.in: Script to convert amd maps to plain text
11590	LDAP object files.  Contributed by Leif Johansson
11591	<leifj@matematik.su.se>.
11592
11593	* aux/config.guess: added recognition for sun3's running 4.2bsd,
11594	from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
11595
11596	* amd/conf.c: several variables that were local to a map, were
11597	also added to [global], where they apply to all maps.  Each map
11598	can then individually override those defaults.  Flags
11599	affected: browsable_dirs and mount_type.  Options affected:
11600	map_type, map_options, and search_path.
11601
11602	* amd/amd.h: eliminated several global flags each of which took an
11603	int, in favor of one global flags variable used as a bit field.
11604
11605	* amd/amd.c (init_global_options): moved all global variables into
11606	a single struct amu_global_options, so it is easier to add new
11607	ones and/or identify existing ones.
11608
11609	* amd/get_args.c (get_args): removed unused amd -m option.
11610
11611	* amd/conf.c (gopt_cluster): added new amd.conf option for cluster
11612	name, same as amd -C.
11613
11614	* amd/info_ldap.c: LDAP info map functions from Leif Johansson
11615	<leifj@matematik.su.se>.
11616
11617	* amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
11618	amd.conf options for ldap_base and ldap_hostports.
11619
11620	* amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
11621	if the current host is in the ARG host netgroup.
11622
11623	* aux/configure.in: some systems replaced dbm in libc with GNU's
11624	libgdbm, so check for libgdbm, but only if dbm_open is not in
11625	libc already.  This was a recommendation from Tom Schmidt
11626	<tschmidt@micron.com>.
11627
11628	* conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
11629	completed.
11630
11631Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11632
11633	* port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
11634	V.3.
11635
11636Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
11637
11638	* port to i386-unknown-freebsd3.0 done and working.  Includes NFS
11639	V.3.
11640
11641	* aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
11642	file handle dereferencing style similar to freebsd22.
11643
11644	* include/am_defs.h: need to include <net/if_var.h> before
11645	<netinet/if_ether.h> on freebsd3.
11646
11647	* conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
11648	for freeBSD 3.0.
11649
11650Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11651
11652	* amd/info_nis.c (nis_reload): cast nis' callback function so
11653	picky compilers won't complain.
11654
11655	* libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
11656	gets compiled only if the system has NFS V3 and does not have
11657	xdr_mountres3.
11658
11659Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11660
11661	* COPYING: put in some legal stuff in this file.
11662
11663Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11664
11665	* NFS V3 now works under Irix5, thanks to patches from
11666	Andreas Stolcke <stolcke@speech.sri.com>.
11667
11668	* conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
11669	version and an irix6 version, since irix5's NFS V3 code is broken
11670	and hacky.
11671
11672	* amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
11673	sizes for some hesiod queries.  Patch from Danny Braniss
11674	<danny@cs.huji.ac.il>.
11675
11676Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
11677
11678	* amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
11679
11680Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
11681
11682	* aux/{configure.in,acconfig.h}: added checks for struct
11683	nfs_args's fields proto and sotype (bsdi3).
11684
11685	* amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
11686	nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
11687	to SOCK_STREAM or SOCK_DGRAM.
11688
11689	* aux/macros/check_mount_style.m4: add case for bsdi3.
11690
11691	* amd/info_hesiod.c: got hesiod support for bsdi3.
11692
11693Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11694
11695	* aux/configure.in: look for hesiod on libc (bsdi3)
11696
11697	* amd/get_args.c (get_args): reformat usage so it fits in 80
11698	columns.
11699
11700	* scripts/ctl-amd.in: changed directory name for optional tftpboot
11701	map to /tftpboot/.amd.
11702
11703Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11704
11705	*******************************************************************
11706	*** Released am-utils-6.0a6					***
11707	*******************************************************************
11708
11709Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11710
11711	* scripts/ctl-amd.in: include -T tag for tftpboot.
11712
11713	* new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
11714	is broken and needs work on the specific nfs_args that irix5 uses
11715	for V3 mounts.
11716
11717Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11718
11719	* amd/get_args.c (get_args): new options amd -T tag.  A map with
11720	tag=foo matching the -T tag will be processed.  All untagged maps
11721	get processed all the time.
11722
11723Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11724
11725	* aux/configure.in: need to check for strcasecmp in libucb (ncr2)
11726
11727	* aux/macros/check_os_libs.m4: a new macro to set the usage of
11728	libnsl and libsocket based on the OS.
11729
11730	* libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
11731	defined (problem on osf4).
11732
11733	* conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
11734
11735	* include/am_defs.h, aux/macros/try_compile_nfs.m4,
11736	aux/macros/mount_headers.m4: do include <sys/proc.h> because it
11737	failes on irix5.  Rather, put in the individual
11738	conf/nfs_prot/nfs_prot_*.h headers.
11739
11740	* amd/conf.c: AIX3 doesn't like strdup() being passed a constant
11741	char*, so cast all strdup()'s args to a non-const char*.
11742
11743	* amd/mapc.c (root_newmap): don't try to strdup only a "const
11744	char *".
11745
11746Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11747
11748	* conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
11749	sys/errno.h.
11750
11751Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11752
11753	* made sure am-utils compiles, links, and runs properly on Irix
11754	6.2 using "cc -32 -Wl,-woff,"
11755
11756	* aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
11757	AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
11758	them to $LIBS.
11759
11760	* aux/configure.in: some cleanup of which libraries are needed.
11761	Espectially ensure that libnsl is included only on Solaris, where
11762	so far it is the only system on which it is absolutely necessary.
11763	Also no longer need to include libc explicitly.
11764
11765	* amd/amd.c,wire-test/wire-test.c (main): convert IP address to
11766	network-long order before printing it.
11767
11768	* wire-test/wire-test.c (main): also check and report on the IP
11769	address of the local host, since some systems have bad versions of
11770	get_myaddress, or ones that conflict with other versions in
11771	multiple libraries (SunOS 4 and Irix especially).
11772
11773Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
11774
11775	* scripts/ctl-amd.in: don't use full pathname so killproc() works
11776	better.  Also run bsd44 and irix style ps programs.
11777
11778	* aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
11779	of library no matter if it was found or not.
11780
11781Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11782
11783	* aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
11784	for M_* macros, but ensure that <sys/stream.h> is not included at
11785	all so it won't conflict with other M_* macros.
11786
11787Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
11788
11789	* conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
11790	irix should be "spec" (host:/path), not the dir of the mnt point.
11791
11792	* amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
11793	fixed.  If on, it essentially ignored the setting in a
11794	selector-controlled /defaults if there were 2 or more entries in it.
11795
11796Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11797
11798	* scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
11799	using BSD style ps, then try SVR4 style ps.
11800
11801	* include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
11802	etc., to avoid conflicts with similar named macros in <ldap.h>.
11803
11804	* aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
11805	support needed for LDAP.  Now the code has to be written mostly in
11806	amd/info_ldap.c.
11807
11808	* Included additional patches from Andreas Stolcke
11809	<stolcke@speech.sri.com> to support using the best possible
11810	combination of NFS version (2,3) and protocol (udp,tcp) for any
11811	given host, since it appears that some Irix versions have NFS V3,
11812	but do not support TCP.
11813
11814	* scripts/ctl-amd.in: updated amd control script to look for and
11815	use amd.conf file.
11816
11817Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11818
11819	* amd/mapc.c (mapc_create): now, each map in the amd.conf can be
11820	initialized off of a different type, or default to cycling through
11821	all maps until one of them matches.
11822
11823Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11824
11825	* amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
11826	if browsable_dirs=yes is set in the map section in amd.conf, that
11827	map will return all entries back to a readdir(2).
11828
11829Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11830
11831	* rudimentary amd.conf file support included.  You may even
11832	override things like os=sos5, to get "backwards" compatibility with
11833	upl102.
11834
11835Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11836
11837	* amd/conf.c: new file to process amd.conf file.
11838
11839	* amd/get_args.c (get_args): new options -H to print help.
11840
11841	* moved enable_default_selectors to be amd.conf controlled, and
11842	not compiler controlled.
11843
11844	* amd/get_args.c (get_args): new options -F <conf-file> to parse an
11845	amd configuration file.
11846
11847Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11848
11849	* converted all files that used strcmp() == 0 or != 0  to using
11850	the STREQ() macro.
11851
11852Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11853
11854	* aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
11855	search for any number of functions in any given library.
11856
11857Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11858
11859	* amd/mapc.c: Included patch from Leif Johansson
11860	<leifj@matematik.su.se> to ensure that systems without an RE
11861	library can compile.
11862
11863	* libamu/mount_fs.c (mount_fs): Included patch from Andreas
11864	Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
11865	table are properly delimited by a comma.
11866
11867	* amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
11868	Stolcke <stolcke@speech.sri.com>, to allow users to override the
11869	proto= and vers= mount options.
11870
11871Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
11872
11873	* conf/nfs_prot/nfs_prot_svr4.h: port completed to
11874	i486-ncr-sysv4.3.03.  Assorted source cleanups done.
11875
11876	* include/am_defs.h, aux/macros/mount_headers.m4: don't include
11877	mnttab.h if sys/mnttab.h was already included, because on ncr2,
11878	they contain conflicting entries for struct mnttab.
11879
11880Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
11881
11882	* aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
11883
11884Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
11885
11886	* amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
11887
11888	* aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
11889	on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
11890
11891Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
11892
11893	* aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
11894	nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
11895	better.
11896
11897Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11898
11899	* amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
11900	NULL, set the maxlen and len fields in netbuf to zero.
11901
11902Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11903
11904	* scripts/fix-amd-map.in (name): replace all matching patterns on
11905	line.
11906
11907Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11908
11909	*******************************************************************
11910	*** Released am-utils-6.0a5					***
11911	*******************************************************************
11912
11913Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11914
11915	* amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
11916	procedure now returns the full string that amd -v returns.
11917
11918	* amd/get_args.c (get_version_string): new function to return
11919	complete version/info string so it could be used more flexibly.
11920
11921	* amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
11922	of Fs types into a string buffer, rather than a FILE*.
11923
11924	* amd/mapc.c (mapc_showtypes): put the list of map types into a
11925	string buffer, rather than a FILE*.
11926
11927Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11928
11929	* amd/get_args.c (get_args): amd -v also prints user who built
11930	amd, hostname built on, and date of configuration.
11931
11932Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11933
11934	* scripts/lostaltmail.conf-sample: sample lostaltmail
11935	configuration file.
11936
11937	* scripts/lostaltmail.in: new script lostaltmail used to redeliver
11938	"lost" mail that hlfsd redirected to a temp location because the
11939	primary home file system of the user was full.
11940
11941	* scripts/amd2sun.in: new script amd2sun. Used to convert Sub
11942	automount maps to amd maps.
11943
11944	* scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
11945	stop, or restart hlfsd.
11946
11947	* scripts/expn.1: man page for expn command.
11948
11949	* scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
11950	restart amd.
11951
11952	* scripts/expn.in: new script expn.  Actually taken from David
11953	Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
11954	script.
11955
11956	* scripts/wait4amd.in: new script wait4amd added.  Waits for amd
11957	to come up on a host, and then runs a command (rsh $hostname by
11958	default).
11959
11960	* scripts/Makefile.am: new directory now holds all shell/perl
11961	scripts that belong to am-utils.
11962
11963	* conf/mount/mount_linux.c (parse_opts): new parser for
11964	linux-specific mounts.  Handles fs-type specific mount-options
11965	correctly.  Currently implemented: msdos, iso9660.
11966
11967	* amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
11968	(fix for linux).
11969
11970	* amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
11971	(fix for linux).
11972
11973	* amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
11974	core dumps upon "ls" of a mount point; an invalid pointer was
11975	being returned and dereferenced.
11976
11977	* port to Linux sparc working!
11978
11979	* hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
11980	failed to write test file, or else the fd will leak.
11981
11982Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11983
11984	* amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
11985	instead of strcmp().
11986
11987	* Port to Digital Unix 4.0 (OSF) done.
11988
11989	* hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
11990	with dirname() function in <string.h> on OSF systems.
11991
11992	* fsinfo/fsi_util.c (set_ether_if): take out extern definition of
11993	inet_addr().  It should come from <arpa/inet.h> instead.
11994
11995	* conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
11996
11997	* include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
11998	avoid conflicts with DU 4.0 system header.
11999
12000Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
12001
12002	* libamu/mount_fs.c (mount_fs): pass along NFS version so I can
12003	determine if to include additional options in the mount table file
12004	entry (such as proto=tcp, and vers=3).
12005
12006Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12007
12008	* libamu/mount_fs.c (mount_fs): include NFS version number in the
12009	mount table options, as well as proto={tcp,udp}.
12010
12011Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12012
12013	* NFS V3 code ported to most other systems, so it compiles for V2
12014	and V3 NFS systems.
12015
12016	* NFS VERSION 3 support, first pass.  Working for Solaris and
12017	using TCP.
12018
12019Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12020
12021	* amq/amq.c: many newline characters were missing from various
12022	stderr printfs.
12023
12024Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12025
12026	* conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
12027	Solaris, which include NFS V3 support.
12028
12029	* conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
12030
12031	* conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
12032	protocol version while getting a mount client.
12033
12034	* amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
12035	file handle size, and proper file handle based on the correct NFS
12036	version number.
12037
12038	* conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
12039	Solaris and other SVR4 systems.
12040
12041	* amd/ops_nfs.c: store NFS file handle version and version
12042	specific handle in struct fh_cache.
12043	(got_nfs_fh): pick the correct RPC reply based on the NFS version
12044	of the server.
12045	(prime_nfs_fhandle_cache): figure out the right NFS file handle
12046	for a node, but now include NFS protocol version information.
12047	(call_mountd): set the correct version for the mount protocol,
12048	based on the NFS protocol version.
12049	(nfs_init): use the NFS protocol generic structure
12050	am_nfs_handle_t.
12051
12052	* include/am_utils.h: new structure am_nfs_handle_t to contain all
12053	possible versions of NFS file handles.
12054
12055	* amd/srvr_nfs.c (start_ping): ping program performs NFS version
12056	specific pings.
12057	(recompute_portmap): figure out the correct portmap version mount.
12058	(nfs_keepalive): call start_ping() with the correct NFS version.
12059	(find_nfs_srvr): if mount option "vers=" is given, use it.  Get
12060	the NFS server version and verify that it is up.
12061
12062	* conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
12063	function to find the best NFS version for a particular host.
12064
12065	* libamu/amu.h: determine what is the highest version of NFS we
12066	should try.
12067
12068	* include/am_utils.h (NFS_VERSION3): added definition for NFS V3
12069	protocol number.
12070	Added field fs_version to struct fserver, so we can now store the
12071	server protocol version.
12072
12073Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12074
12075	* aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
12076	underscores too, so I can test for sub-fields.
12077
12078	* libamu/wire.c: use test that checks for sub-fields of struct
12079	ifreq.
12080
12081Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
12082
12083	* port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
12084	into smaller files.  M4 macros fixed to test for existence of
12085	file systems using getvfsbyname().
12086
12087	* amd/sched.c (sigchld): signal handler must waitpid() for all
12088	possible children.
12089
12090	* hlfsd/homedir.c: signal handler must waitpid() for all possible
12091	children.
12092
12093	* aux/macros/check_restartable_signals.m4: new macro to determine
12094	if need to reinstall signal handlers per OS is better than trying
12095	to figure these out based on system macros.
12096
12097Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
12098
12099	* amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
12100
12101	* amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
12102
12103	* amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
12104	(must be supplied for bsdi 3.0)
12105
12106	* libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
12107	associated new macro) for determining the right way to compute the
12108	size of the interface structure.
12109
12110Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12111
12112	* aux/configure.in: need to include libc before libnsl if
12113	get_myaddress() is available because on irix libnsl has a buggy
12114	get_myaddress().
12115
12116	* include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
12117	on Irix 6 (an SVR4 variant)
12118
12119Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12120
12121	*******************************************************************
12122	*** Released am-utils-6.0a4					***
12123	*******************************************************************
12124
12125Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12126
12127	* amd/amq_subr.c (ok_security): turned off insecure code unless
12128	user explicitly runs configure --enable-amq-mount.
12129
12130	* hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
12131
12132	* amd/nfs_start.c (mount_automounter): use code that separately
12133	creates the NFS and the amq service.  Register tcp and udp
12134	services for amd.
12135
12136	* conf/transp/transp_*.c (create_amq_service): new function to
12137	separately create the amq service for amd.  Simplified prototypes
12138	for create_nfs_service().
12139
12140Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12141
12142	*******************************************************************
12143	*** Released am-utils-6.0a3					***
12144	*******************************************************************
12145
12146Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12147
12148	* new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
12149	of small changes to support these two.
12150
12151Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
12152
12153	* conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
12154	should run if MOUNT_TABLE_ON_FILE, not otherwise.
12155
12156Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12157
12158	* hlfsd/hlfsd.c (main): fill in fhsize field if exists
12159	(freebsd-2.2).
12160
12161	* amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
12162	exists (freebsd-2.2).
12163
12164Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12165
12166	* new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
12167	changed the filehandle type in struct nfs_args from nfsv2fh_t to
12168	u_char.
12169
12170Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12171
12172	* SHARED LIBRARIES: too many changes to list individually.  Now,
12173	libamu can be built as a shared library, and other programs link
12174	with it.
12175
12176Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12177
12178	* aux/macros/opt_shared.m4: new macro for setting options for
12179	building shared am-utils libraries.
12180
12181Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12182
12183	* fixmount/fixrmtab: cleaned up the script.
12184
12185	* fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
12186	fixrmtab gets distributed too.
12187
12188	* conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
12189	Added extern for xdr_mountlist().
12190
12191	* aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
12192	MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
12193	the sources.
12194
12195Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12196
12197	* fixmount/hlfsd ported to bsd44, hpux, and linux systems.
12198
12199	* aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
12200
12201	* conf/fixmount/fixmount_default.c: use lockf() if flock() is
12202	unavailable.
12203
12204	* include/am_defs.h: include <string.h> even if don't have
12205	STDC_HEADERS defined (sunos4).
12206	(seteuid): define seteuid() to be setresuid() for systems that
12207	have but not the other (hpux).
12208
12209	* aux/macros/check_extern.m4: test should include <strings.h>.
12210
12211Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12212
12213	* lib/xutil.c (debug_option): moved from amd/getargs.c to this
12214	more proper file.
12215
12216	* include/am_utils.h: put in structure for debug options, for all
12217	progams to use.
12218
12219	* amd/get_args.c: moved structure for debug options out.
12220
12221Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12222
12223	* ported fixmount.
12224
12225	* lib/ualarm.c: replacement function for systems that don't have a
12226	ualarm().
12227
12228	* ported fsinfo.
12229
12230Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12231
12232	* ported mk-amd-map.
12233
12234	* buildall: added -K option to buildall, to run mkconf.
12235
12236Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12237
12238	*******************************************************************
12239	*** Released am-utils-6.0a2					***
12240	*******************************************************************
12241
12242Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12243
12244	* all *.[hcyl] files: add copyright line.
12245
12246	* aux/macros/check_mount_type.m4: test for mount type for
12247	linux-like systems, by checking for loadable or statically linked
12248	kernel filesystem modules.
12249
12250	* aux/macros/check_mnttab_type.m4: test for mount table entry
12251	for linux-like systems, by checking for loadable or statically
12252	linked kernel filesystem modules.
12253
12254	* aux/configure.in: pcfs filesystems can use vfat type (linux)
12255
12256	* aux/macros/check_fs_mntent.m4: test for filesystem existence for
12257	linux-like systems, by checking for loadable or statically linked
12258	kernel filesystem modules.
12259
12260	* conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
12261	9.0 header files.  This should be removed when HPUX 9.0 is deemed
12262	defunct.
12263
12264	* aux/acconfig.h: set an undefined variable for having an extern
12265	to clnt_sperrno().
12266
12267	* include/am_defs.h: define extern for clnt_sperrno() if needed.
12268
12269	* aux/configure.in: test for extern clnt_sperrno().
12270
12271	* aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
12272	similar to irix.
12273
12274	* aux/macros/check_mount_style.m4: use mount helper on HPUX.
12275
12276	* aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
12277	not integer (but may be mapped to one later).
12278
12279	* conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
12280	files.  They have mount(2) and vfsmount(2) which don't take same
12281	arguments, and they have string mount types MNTTYPE_* as well as
12282	integer types MOUNT_*.  So I need this new mount function to map
12283	from string types to integer types for the vfsmount() function.
12284
12285	* conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
12286	vfsmount(), call mount_hpux().
12287
12288Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12289
12290	* lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
12291	both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
12292
12293Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12294
12295	* conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
12296	hpux.
12297
12298	* include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
12299
12300	* aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
12301
12302	* buildall: added ability to configure using other shells than
12303	/bin/sh, on those systems where /bin/sh is buggy or limited
12304	(HPUX).
12305
12306	* aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
12307	defined am_nfs_fh, and also test for plain typedef "nfs_fh".
12308
12309	* aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
12310	reinstated macro.
12311
12312	* aux/configure.in: check for <nfs/export.h>
12313
12314	* include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
12315
12316	* aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
12317	exists.
12318
12319	* aux/macros/mount_headers.m4 (define): removed some non-working
12320	(on HPUX) code that attempts to recreate the fhandle_t rather than
12321	load it up from system headers.  Also added some NFS protocol
12322	header inclusion.  include <nfs/export.h> (HPUX) if exists.
12323
12324Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12325
12326	* aux/macros/mount_headers.m4 (define): Use M4 changequote to
12327	ensure [] brackets are correctly used.
12328
12329	* aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
12330	multi-line M4 inclusions in [].
12331
12332Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12333
12334	* conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
12335	it exists.
12336
12337	* aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
12338	config.h macro for field f_fstypename of struct statfs.
12339
12340	* aux/configure.in: testing for field f_fstypename field of struct
12341	statfs (NetBSD).
12342
12343	* aux/acconfig.h: moved all of the "static" definitions out to a
12344	fixed file called include/am_defs.h.  Added to all */Makefile.am
12345	files a dependency on am_defs.h.  Created am_defs.h of course, and
12346	then added #include <amd_defs.h> to all of the source and header
12347	files that required it.
12348
12349Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
12350
12351	* aux/acconfig.h: two more externals for xdr functions that may be
12352	implemented by libamu.
12353
12354	* conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
12355	definitions.
12356
12357Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12358
12359	* buildall (default): added -D option for turning on even stricker
12360	developer options.
12361
12362	* */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
12363	determine dependencies on optional NFS protocol headers.
12364
12365	* aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
12366
12367	* aux/macros/check_nfs_prot_header.m4: new test to determine what
12368	NFS protocol headers to use.
12369
12370	* conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
12371	complete missing system headers for NFS protocol definitions.
12372
12373Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12374
12375	* amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
12376	#ifdef's as needed.
12377
12378	* amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
12379	suitable #ifdef'ed.
12380
12381	* include/am_compat.h: a couple more mnttab options
12382	(timeo/retrans) setting just in case.
12383
12384	* amd/autil.c (host_normalize): make sure hostent->h_name is
12385	passed a non-const char *.
12386
12387	* conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
12388
12389	* {lib,amq,amd}/*.c (many functions): cast xdr_entry to
12390	XDRPROC_T_TYPE.
12391
12392	* lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
12393	XDRPROC_T_TYPE.
12394
12395	* lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
12396	XDRPROC_T_TYPE.
12397
12398	* lib/wire.c (getwire): Make sure safe assignment from const to
12399	none is done.
12400
12401Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12402
12403	* aux/macros/expand_cpp_int.m4: new macro for expanding integers.
12404
12405	* aux/configure.in: added linux/fs.h support in configure and
12406	several M4 macros.
12407
12408	* conf/mount/mount_linux.c (mount_linux): use macro instead of
12409	"ugly" fixed hex number for mount() arguments.
12410
12411Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12412
12413	* amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
12414	turned all of its code always on.  That code always seems to
12415	compile, as long as you have hesiod and libresolv.
12416
12417	* amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
12418	of its code always on.
12419
12420	* aux/configure.in: removed superfluous test for hs_zone_transfer
12421	function (will never find it because it is an amd-internal
12422	function).
12423
12424	* amd/mapc.c (maptypes): must used correct new name for am-utils'
12425	hesiod initialization function: hesiod_am_init.
12426
12427	* amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
12428	hesiod_am_init so as not to conflict with libhesiod's
12429	hesiod_init() function.
12430
12431	* aux/configure.in: added test and explicit inclusion of
12432	libresolv.a for later resolution of library references with
12433	libhesiod.
12434
12435	* aux/macros/opt_cppflags.m4: new file.  configure/compile C
12436	preprocessor flags.
12437
12438	* aux/macros/opt_libs.m4: new file.  configure/compile library
12439	flags.
12440
12441	* Makefile.am (EXTRA_DIST_AUX): include two new macros
12442	opt_cppflags.m4 and opt_libs.m4.
12443
12444	* aux/configure.in: test for libhesiod needs to additional
12445	libresolv to link completely.  Additional configuration time
12446	options added for setting initial CPPFLAGS and LIBS.
12447
12448Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12449
12450	*******************************************************************
12451	*** Released am-utils-6.0a1					***
12452	*******************************************************************
12453
12454Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12455
12456	* amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
12457	it works on freebsd, where they map dbm_pagfno a non-existing
12458	macro on purpose, to force you to port the code to Berkeley DB.
12459
12460Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12461
12462	* amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
12463	actual mount_toplvl, to avoid some possible race conditions.
12464
12465Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12466
12467	* amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
12468
12469Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12470
12471	* lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
12472
12473	* amd/amd.c (main): fix local address using htonl(). Free up
12474	buffers allocated by netdir_*() functions.
12475
12476Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12477
12478	* amd/fix-amd-map.in: new script that will convert old-style amd
12479	maps to new one.
12480
12481Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12482
12483	* FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
12484	and replies back to simple nfs/link type mount queries).
12485
12486	* conf/mtab/mtab_svr4.c: reorganized the code in this file to be
12487	easier to read, and fixed a few bugs with un/setting the lock file
12488	descriptor.
12489
12490Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12491
12492	* amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
12493	signals in Svr3 systems.  Only stellix ever used this.
12494
12495	* amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
12496	by DYNAMIC_BUFFERS, since it was not in use.
12497
12498Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12499
12500	* amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
12501	takes '=' sign as old selector.  Fix your maps.
12502	(deslashify): removed APOLLO code that treated two '//' as one.
12503
12504Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12505
12506	* amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
12507	was not used.  It made any submount error fail the whole group.
12508
12509	* amd/ops_nfs.c (make_nfs_auth): removed code dependent on
12510	HAS_NFS_QUALIFIED_NAMES.
12511	(mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
12512	is never on.  So code that was triggered by #ifndef
12513	NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
12514	be fixed later.
12515	Removed all ULTRIX_HACK code.  Ultrix is DEAD!
12516	removed all PRESET_AC code, which was only on for Linux to preset
12517	the attribute cache values (otherwise they default to zero).
12518	(nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
12519	have to fixed up later.
12520	(mount_nfs_fh): removed code that was never included, which
12521	attempted to set the port on which amd's nfs mounts on.  This
12522	isn't supported by the ping algorithm yet.  In any case, it is all
12523	done in nfs_init().
12524
12525	* amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
12526	removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
12527	specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
12528	have to be addressed later.
12529
12530	* amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
12531	on PRECISE_SYMLINKS.
12532
12533	* amd/mapc.c (mapc_meta_search): removed code that depended on
12534	HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
12535	to be rethought.
12536	(mapc_add_kv): ported code to use standard regular expression
12537	(regexp) library.
12538
12539	* amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
12540	FLUSH_KERNEL_NAME_CACHE and the macro itself.
12541
12542Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12543
12544	* amd/map.c (exported_ap_alloc): removed all code triggered by
12545	SHRINK_EXPORTED_AP and the macro itself.
12546
12547	* amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
12548	in all the time.  Assuming that there is always NIS realod
12549	available.
12550	(yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
12551	function is broken such that it does not release filedescriptors
12552	it created, then you are hosed.  Get a fix for yp_all from your
12553	vendor or switch operating systems.
12554
12555Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12556
12557	* amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
12558	HAVE_HS_ZONE_TRANSFER.
12559
12560Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12561
12562	* amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
12563	always included.  We should always try to inform the remove mount
12564	daemon of mounts we performed.  If we want an option for this, it
12565	should be a run-time option.
12566
12567	* amd/host_ops.c: removed all that optionally did not make the
12568	directory mount points for amd.
12569
12570	* HOST_EXEC code removed from everywhere.  There is no indication
12571	that it was used anywhere.  If it needs to be used, then a
12572	run-time switch should control it.
12573
12574Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12575
12576	* amd/*_ops.c: removed all references to mntent_t's fields
12577	mnt_freq and mnt_passno, since they are no longe rused (and never
12578	have been).
12579
12580	* amd/am_ops.c: removed function sunos4_match, which was off
12581	anyway.  This was one of the places where an '=' sign was allowed
12582	as an assignment operator (which is now ':=').
12583
12584	* amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
12585	was off anyway.  This was one of the places where an '=' sign was
12586	allowed as an assignment operator (which is now ':=').
12587
12588Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12589
12590	* amq/amq.c: ported to am-utils.  Working.
12591
12592	* conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
12593	to be string, as it should be (rather than a string mapped to int
12594	and back mapped to string).
12595
12596Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12597
12598	* lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
12599
12600	* lib/umount_fs.c: split this into three files: default, osf, and
12601	bsd44, that are in conf/umount/umount_*.c.
12602
12603Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12604
12605	* aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
12606	macro to automatically figure out if an external definition for
12607	sys_errlist[] exists.
12608
12609	* lib/xutil.c (xfree): removed "#undef free" because it's not
12610	needed there.  Any system that redefines free() needs help.
12611
12612	* conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
12613	was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
12614	in active use anywhere.  If added later, it should be a run-time
12615	configuration option.
12616
12617	* conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
12618	be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
12619	in a file in /etc.
12620
12621	* lib/util.c (str3cat): removed _AIX code.  AIX should have a
12622	working realloc, or else find a cleaner solution to this.
12623	(mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
12624	after immediately making directories so that fsck will be able to
12625	fix the filesystem in the event of an immediate crash.  This was
12626	because a bug in UFS which is fixed by now.
12627
12628	* lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
12629	code.  Does not appear to be on and used anywhere.
12630	(dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
12631
12632	* lib/resvport.c: split the binding of reserved ports code to a
12633	separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
12634	from the BSD code.
12635
12636Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12637
12638	* lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
12639	in by automake and configure, for optional sources that need to be
12640	built as part of libamu.a.
12641
12642	* aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
12643	to LIBOBJS.
12644
12645	* lib/memcmp.c (memcmp): new file added to replace a possible bad
12646	implementation of memcmp.
12647
12648Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12649
12650	* converted the sources to use memset/memmove/memcmp instead of
12651	bzero/bcopy/bcmp.
12652
12653	* ran all sources through gnu Indent w/ options specified in
12654	aux/amindent.
12655
12656Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12657
12658	* At this point the initial generation of config.h via autoconf and
12659	some preliminary makefiles via automake is done.  I will not begin
12660	modifying sources, so it's a good time to document from here.
12661
12662Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12663
12664	*******************************************************************
12665	*** Initial ChangeLog Entry					***
12666	*******************************************************************
12667