xref: /netbsd-src/external/bsd/am-utils/dist/ChangeLog (revision 6a1508dad3515842aa76bf5ec8fc2daab5f5af02)
12009-01-02  Christos Zoulas <christos@zoulas.com>
2
3	* add nocasetrans, nojoliet, rrcaseins for cd9660 filesystems
4
52008-09-17  Christos Zoulas <christos@zoulas.com>
6
7	* fix manual page section issues (sorting, non-existant)
8
9	* add missing forward declarations
10
11	* avoid null pointer derefs (coverity)
12
13	* more portable endian detection support
14
15	* implement tmpfs support
16
17	* use sizeof var instead of constant
18
19	* fix yyerror declaration and definition
20
21	* fix yy function renaming, and correct some renaming issues.
22
23	* work around automake < 1.9 issue where ylwrap is not being run
24	  for a single yacc or lex file.
25
26	* NetBSD
27	  - handle headers that need other headers to compile
28	  - add exfs and tmpfs specific glue
29	  - add options log, noatime, nocoredump, nodevmtime, softdep,
30	    symperm, union
31	  - NetBSD's new mount system call needs the size of the opaque
32	    filesystem specific structure, but passing 0 for now works.
33	    We would need to change a lot more code to pass the size from
34	    the fs-specific calls, so for now punt.
35	  - recvfrom takes socklen_t * on NetBSD
36	  - handle newer NetBSD using statvfs
37	  - NetBSD calls its ufs ffs
38
39	* Linux
40	  - Most recent kernels have trouble with trying to parse the pid
41	    hostname and do locking. What before was a silent failure, now
42	    there is a warning printed and the mount is rejected. This is
43	    the simplest fix:
44	    (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884)
45
462007-04-13  Erez Zadok  <ezk@cs.sunysb.edu>
47
48	* amd/sun_map.c (sun_append_str): When translating '&' from Sun
49	automounter maps, replace it with "${key}" in the Amd map, not
50	with the value of the key at the time.  This way '*' maps work
51	too.
52
53	* config.guess.long: don't use -q option to grep because some
54	systems don't support it.  Bug fix for solaris.
55
562007-03-11  Christos Zoulas  <christos@zoulas.com>
57
58	* amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a
59	string.  It causes spurious xstrlcpy() syslog() errors.  Use
60	memcpy() and explicitly terminate the string.
61
622007-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
63
64	* updated copyright year to 2007 on all files.
65
662006-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
67
68	* minor new port: ia64-hp-hpux11.23
69
70	* m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller
71	needs to define rfc931_timeout.
72
73	* amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for
74	libwrap.
75
76	* amd/amq_svc.c: some versions of libwrap require the caller to
77	define rfc931_timeout in addition to allow/deny_severity.
78
79	* amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when
80	forced unmount functionality exists for all systems.
81
82	* libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf
83	only if field exists.
84
85	* conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from
86	including <tiuser> or <sys/tiuser> (TLI definitions are already
87	included from elsewhere).
88
89	* configure.in: detect nfs_args_t->pathconf field.
90
912006-11-27  Erez Zadok  <ezk@cs.sunysb.edu>
92
93	* doc/Makefile.am: properly publish html files using newer
94	text2html.
95
962006-11-27  Erez Zadok  <ezk@shekel.local>
97
98        * doc/Makefile.am: obfuscate emails in ChangeLog before it is
99        published on web site.
100
101	* obfuscate many more emails in the distro, esp. of files which get
102        posted on the am-utils web site.
103
1042006-11-26  Erez Zadok  <ezk@shekel.local>
105
106	* minor new port: i386-apple-darwin8.8.1.
107
108        * doc/am-utils.texi: remove obvious URLs used by spammers, and
109        replace them with links to the am-utils web site, which uses PNG
110        images to obfuscate the actual email/mailman URLs.
111
1122006-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
113
114	* doc/am-utils.texi (Password maps): minor typo reported by
115	Christoph P. Kukulies.
116
1172006-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
118
119	* minor new port: i386-pc-linux-fc6.
120
121	* m4/macros/linux_headers.m4: handle newer Linux kernels which
122	removed UTS_RELEASE from <linux/version.h>.
123
1242006-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
125
126	* minor new ports: i386-pc-linux-centos4.4 and
127	powerpc-apple-darwin8.7.0.
128
129	* config.guess.long: recognize CentOS Linux.
130
1312006-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
132
133	* minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris).
134
135	* config.guess.long: recognize NexentaOS (GNU/OpenSolaris)
136
137	* config.guess, config.sub: updates from latest official GNU
138	distributions.
139
1402006-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
141
142	* Minor new ports: i386-unknown-freebsd6.1 (RELEASE),
143	powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
144
1452006-05-10  Erez Zadok  <ezk@cs.sunysb.edu>
146
147	* libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
148	problems on IRIX-6.5.
149
150	* conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
151	signedness problems on IRIX-6.5.
152
1532006-05-01  Erez Zadok  <ezk@cs.sunysb.edu>
154
155	* configure.in: check if libc already includes dbm functionality
156	(as in FreeBSD 6), then don't bother to check specific libraries
157	such as libdbm, gdbm, etc.
158
1592006-04-21  Erez Zadok  <ezk@cs.sunysb.edu>
160
161	* configure.in: detect G/DBM support via gdbm_compat library
162	(Debian 3.1).
163
164	* minor new port: powerpc-apple-darwin8.5.0
165
1662006-04-20  Erez Zadok  <ezk@cs.sunysb.edu>
167
168	* scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
169	NEWS: document new nfs_allow_any_interface parameter.
170
171	* include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
172	not defined, since some systems don't have it.
173
1742006-04-20  Nick Williams <Nick.Williams@morganstanley.com>
175
176	* libamu/wire.c (is_interface_local): new boolena function to
177	determine if address represents any of the local interfaces.
178	(getwire): more properly check if address equals INADDR_LOOPBACK,
179	not if IFF_LOOPBACK is not (the latter isn't as correct).
180
181	* include/am_utils.h: extern for new is_interface_local() function.
182
183	* conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
184	here but in am_compat.h
185
186	* amd/nfs_prot_svc.c (nfs_program_2): if
187	nfs_allow_any_interface=yes, then allow NFS packets from any local
188	interface (not just 127.0.0.1).
189
190	* amd/conf.c (gopt_nfs_allow_any_interface): implement the new
191	amd.conf parameter nfs_allow_any_interface.
192
193	* amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
194	al interfaces are acceptable for local NFS packets.
195
1962006-04-18  Christos Zoulas  <christos@zoulas.com>
197
198	* amd/opts.c: Add support for optionally specifying the hostname
199	to match against the netgroup in the netgrp and netgrpd selectors.
200
2012006-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
202
203	* libamu/mtab.c (hasmntval): fix inverted meaning of error from
204	hasmntvalerr().
205
2062006-04-14  Erez Zadok  <ezk@cs.sunysb.edu>
207
208	* libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
209	hasmntvalerr() function to set attribute cache values only if they
210	were set (regardless whether they were set to zero or a non-zero
211	value).  Before, we were unable to distinguish between an error to
212	parse an option, and a user who actually wanted to set an
213	attribute-cache value to 0.  This now fixes an important
214	performance bug that Amd was turning off the attribute caches even
215	for regular (non-automounter) NFS mounts.
216
217	* libamu/mtab.c (hasmntvalerr): new function to set the value of
218	an option into an integer, but ONLY if that options was set and
219	parsed correctly.  This function returns 1 on error, 0 on success
220	(instead of always setting the option value to 0).
221	(hasmntval): wrapper function around hasmntvalerr, which maintains
222	backwards compatibility (always sets option value to 0, even on
223	error to parse the option).
224
225	* amd/nfs_subr.c (fh_to_mp3): use long int printf format for
226	fhh_pid.
227
2282006-04-05  Christos Zoulas  <christos@zoulas.com>
229
230	* amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
231	(Coverity).
232
2332006-03-27  Erez Zadok  <ezk@cs.sunysb.edu>
234
235	* doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
236	document new nfs_retransmit_counter_toplvl and
237	nfs_retry_interval_toplvl global amd.conf parameters.
238
239	* amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
240	(gopt_nfs_retry_interval_toplvl): parse amd.conf
241	nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
242	parameters.
243
244	* amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
245	timeo/retrans parameters for Amd's toplvl mounts, separately from
246	all other UDP or NFS mounts.
247
248	* amd/amd.h: define a new timeo/retrans parameter for toplvl
249	mounts.
250
2512006-03-22  Erez Zadok  <ezk@cs.sunysb.edu>
252
253	* minor new port: i386-pc-linux-suse10.1 (beta 8).
254
2552006-03-21  Christos Zoulas  <christos@zoulas.com>
256
257	* amd/am_ops.c (merge_opts): Remove useless check found by
258	Coverity; xmalloc never returns NULL.
259
2602006-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
261
262	* minor new ports: i386-pc-linux-fc5.
263
264	* amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
265	openldap-2.3.9), the ldap.h headers deprecate several functions
266	used in this file, such as ldap_unbind.  You get compile errors
267	about missing extern definitions.  Those externs are still in
268	<ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED.  I am
269	turning on that ifdef at the top of info_ldap.c, under the
270	assumption that the functions may be deprecated, but they still
271	work for this (older?) version of the LDAP API.  It gets am-utils
272	to compile, but it is not clear if it will work perfectly.
273
274	* libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
275	(xdr_amq_mount_tree, xdr_amq_mount_tree_p,
276	xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
277	(show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
278	xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
279	libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
280	GCC-4.1 from complaining about "dereferencing type-punned pointer
281	will break strict-aliasing rules" here (but not elsewhere).
282
2832006-03-20  Christos Zoulas  <christos@zoulas.com>
284
285	* libamu/wire.c: avoid potential dereferencing of a NULL pointer
286	(Coverity).
287
288	* hlfsd/homedir.c (delay): remove unnecessary check for NULL
289	pointer (Coverity).
290
291	* fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
292	analyze_mounts): avoid potential dereferencing of a NULL pointer
293	(Coverity).
294
295	* conf/transp/transp_sockets.c (create_amq_service): avoid
296	potential dereferencing of a NULL pointer (Coverity).
297
298	* amd/sched.c (sigchld): properly check for the end of the waiting
299	process list (Coverity).
300
301	* amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
302
303	* amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
304	dereferencing of a NULL pointer (Coverity).
305
306	* amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
307	reusing it (memory leak bug detected by Coverity).
308	(amfs_bgmount): avoid potential dereferencing of a NULL pointer
309	(Coverity).
310
311	* amd/am_ops.c (merge_opts): no need to check if newstr is NULL
312	(bug detected by Coverity).
313
3142006-03-08  Ion Badulescu  <ionut@moisil.badula.org>
315
316	* amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
317	comparison was failing.
318
3192006-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
320
321	* configure.in: properly test for either <gdbm/ndbm.h> or
322	<gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
323	same $ac_cv_* variable name).  Some systems support one header or
324	another.  Patch inspired by work Debian did.
325
3262006-02-16  Daniel P. Ottavio  <ottavio@vm.fsl.cs.sunysb.edu>
327
328	* amd/sum_map_tok.l: Fixed a bug in a regular expression that
329	prevented dashes in hostnames.  This was posted in BZ by Thomas
330	A. Fine.
331
332	* README.sun2amd: Fixed a typo.  Sentence mentions use of autofs
333	type when it should be host type.
334
3352006-01-04  Erez Zadok  <ezk@cs.sunysb.edu>
336
337	* doc/am-utils.texi (auto_attrcache Parameter): revise discussion
338	to mention pros and cons of turning on/off this parameter,
339	including impact on Amd's performance, and ways to improve
340	performance while minimizing the window of vulnerability in which
341	kernel may return the wrong (cached) attributes.
342
3432006-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
344
345	* updated copyright year to 2006 on all files.
346
3472005-12-20  Erez Zadok  <ezk@cs.sunysb.edu>
348
349	* include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
350	register_autofs_service): use a consistent prototype for the
351	dispatch function of the autofs service de/registration functions.
352
3532005-12-03  Erez Zadok  <ezk@cs.sunysb.edu>
354
355	* minor new ports: i386-unknown-netbsdelf2.1,
356	i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
357
3582005-12-02  Erez Zadok  <ezk@cs.sunysb.edu>
359
360	* m4/macros/check_field.m4: remove double inclusion of msdosfs
361	headers, which are included in mount_header1.h (netbsd 2.1 doesn't
362	protect <msdosfs/msdosfsmount.h> which causes compile errors).
363
3642005-11-08  Erez Zadok  <ezk@cs.sunysb.edu>
365
366	* minor new port: i386-unknown-freebsd6.0 (RELEASE)
367
3682005-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
369
370	* amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
371	Amd, not in pawd (to avoid repeated network RPCs).
372
373	* amq/pawd.c (transform_dir): move repeated path resolution into Amd.
374
3752005-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
376
377	* amq/pawd.c (transform_dir): resolve path repeatedly until
378	finished.  Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
379	Added safety check to prevent infinite loops.
380
3812005-10-19  Erez Zadok  <ezk@cs.sunysb.edu>
382
383	* doc/am-utils.texi (opts Option): document new pcfs options
384	longname, nowin95, shortname, user=N, group=N, mask=N, and
385	dirmask=N.
386
387	* amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
388	nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
389
390	* include/am_compat.h: provide compatibility mnttab string names,
391	if needed, for pcfs mount options longname, nowin95, shortname,
392	user=N, group=N, mask=N, and dirmask=N.
393
394	* include/am_utils.h: extern for hasmntstr().
395
396	* libamu/mtab.c (hasmntstr): new function to return the string
397	value following a mount option, up to the next comma-delimited
398	options.
399
400	* configure.in: check for mnttab and pcfs options longname,
401	nowin95, and shortname.
402
403	* Makefile.am (EXTRA_DIST_M4): distribute new macro
404	check_mnt2_pcfs_opt.m4.
405
406	* m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
407	mnttab and mount options.
408
4092005-10-18  Erez Zadok  <ezk@cs.sunysb.edu>
410
411	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
412	correctly, depending if it's a pointer or not.
413
414	* conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
415	#define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
416	or an embedded structure, so we can tell how to print it.
417
418	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
419	field, if it exists.
420
421	* configure.in: check for nfs_args->addrlen field.
422
423	* wire-test/wire-test.c (main), libamu/mount_fs.c
424	(print_nfs_args), fixmount/fixmount.c (inetresport,
425	clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
426	(main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
427	(amfs_mount): document that as per POSIX, we don't need to set the
428	sa_len/sin_len fields in struct sockaddr/sockaddr_in.  The field
429	is used only internally in the kernel.  See
430	www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
431
432	* fixmount/fixmount.c (inetresport): initialize sockaddr_in
433	structure before filling in some fields.
434
4352005-10-11  Erez Zadok  <ezk@cs.sunysb.edu>
436
437	* doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
438	correct mistaken description of nfs_proto.
439
4402005-10-10  Erez Zadok  <ezk@cs.sunysb.edu>
441
442	*******************************************************************
443	*** Released am-utils-6.1a1					***
444	*******************************************************************
445
446	* README.sun2amd: revised.
447
4482005-10-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
449
450	* amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make
451	sure that sun_entry2amd() is not called when yp_match() returns an
452	error, this is done by checking that 'res' is 0.  Bug fix (same
453	BZ#); free the output allocated by yp_match() instead of freeing
454	the return value of sun_entry2amd().
455
456	* amd/sun_map.c (sun_entry2amd): Fix a comment.
457
458	* README.sun2amd: Made a first pass at describing the status of
459	the sun2amd feature.
460	Moved the date.
461
4622005-10-09  Erez Zadok  <ezk@cs.sunysb.edu>
463
464	* README.sun2amd: place holder.
465
466	* Makefile.am (EXTRA_DIST): distribute new README.sun2amd file.
467
4682005-10-07  Erez Zadok  <ezk@cs.sunysb.edu>
469
470	* m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
471	very end, after the test using getvfsbyname().
472
473	* m4/macros/expand_run_string.m4: if the string value returned is
474	empty, consider it invalid.
475
476	* m4/macros/check_varargs_macros.m4: rewrite macro so it'll
477	try and compile the varargs test, not just cpp it.  Some systems
478	pass the old cpp test, but not when you actually try to compile
479	the code (Tru64's cc).
480
481	* conf/autofs/autofs_solaris_v1.h: redefine
482	autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
483	This works everywhere and we avoid linking problems, inline
484	functions, etc.
485
486	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
487	autofs_strdup_space_hack() function altogether.
488
489	* m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
490
491	* configure.in: test for <sys/immu.h> header.
492	Test for pte_t, but only on IRIX6 systems.
493
494	* Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
495
496	* m4/macros/type_pte_t.m4: new test for existence of pte_t
497	typedef, needed on some IRIX-6.5/gcc systems.
498
499	* m4/macros/header_templates.m4: add missing templates for
500	HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
501	HAVE_EXTERN_UALARM.
502
503	* amd/info_exec.c (exec_map_open): break assignment from inside
504	conditional, to work around an IRIX-6.5 cc bug.
505
506	* amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a
507	before libamu.la.  Some linkers (e.g., IRIX-6.5) incorrectly
508	complain about undefined symbols.
509
510	* fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
511	libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
512	comparison between signed and unsigned integers.
513
514	* conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
515	(autofs_strdup_space_hack): move "space_hack" function from static
516	inline in header, into the only source file that needs it.  This
517	is cleaner and also prevents linking problem with some compilers
518	that won't apply CPP macros inside static inline functions (for
519	the strl* functions).
520
521	* amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
522	code.
523	(transform_dir): call the new, efficient amqproc_pawd_1() routine.
524
525	* amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
526
527	* amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
528	wrapper routine.
529
530	* amd/amq_svc.c (amq_program_1): dispatch point for
531	amqproc_pawd_1_svc.
532
533	* amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
534	functionality into Amd, where it can be done a lot more
535	efficiently.  We don't have to construct and ship a whole export
536	tree from Amd to pawd.  We just get a variable-length
537	xdr_wrapstring for the user's path, iterate over the entire export
538	list inside Amd, and return only a matched string if found
539	(otherwise we return "" to indicate that there was no match, and
540	let pawd printf the same string it sent over).
541
542	* amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
543	the AMQPROC_PAWD RPC.
544
5452005-10-06  Erez Zadok  <ezk@cs.sunysb.edu>
546
547	* ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
548	Fixes Tru64 bugs when using ksh.
549
550	* amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
551	into two sections, to workaround a C99 varargs-macro bug in
552	gcc-3.2.2 (RH9).
553
554	* libamu/wire.c (print_wires): convert argument-less xsnprintf to
555	xstrlcpy.
556
557	* include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
558	HAVE_GCC_VARARGS_MACROS to pass file name and line number to
559	xsnprintf/xvsnprintf.
560
561	* libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
562	then also print the source file name and line number that called
563	xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
564	likely an am-utils bug).
565
566	* Makefile.am (EXTRA_DIST_M4): distribute new
567	check_varargs_macros.m4 file.
568
569	* configure.in: execute new AMU_VARARGS_MACROS test.
570
571	* m4/macros/check_varargs_macros.m4: new test to check what style
572	of variable-length argument macros, if any, does the
573	compiler/pre-processor supports.
574
575	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
576	conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
577	amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
578	(mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
579	amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
580	use sizeof() instead of fixed SIZEOF_* macros.
581
582	* libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
583	(DEBUG): if debugging is on, then also print the source file name
584	and line number that called xstrl* with a buffer that wasn't large
585	enough (most likely an am-utils bug)
586
587	* include/am_compat.h (INADDR_NONE): define in a common location,
588	if OS doesn't have it, use 0xffffffffU which should work with any
589	ANSI compiler.
590
591	* fixmount/fixmount.c, libamu/wire.c: remove local definition of
592	INADDR_NONE.
593
594	* amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
595	(amfs_auto_mount): use common SIZEOF_OPTS in definition and call
596	to autofs_get_opts.
597
598	* amd/amd.h (SIZEOF_OPTS): moved #define to common header.
599
6002005-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
601
602	* amd/opts.c (expand_op): Need to check BUFSPACE for env for
603	vlen+1.  Likewise for cp and strlen(cp)+1.
604
605	* amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
606	size argument to autofs_get_opts.
607
6082005-10-05  Erez Zadok  <ezk@cs.sunysb.edu>
609
610	* amq/pawd.c (transform_dir): was using UDP only.  Now will also
611	try TCP if UDP failed.  Destroy client after use to avoid leftover
612	TCP sockets in the kernel.
613
614	* libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
615	from 128 to to 256, because some users have really long option
616	strings.  Suggestion from jon+amd-at-spock.org.
617
618	* amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
619	just vlen.  Bug discovered when started using xstrlcpy().
620
621	* ALL: convert from using strcat to the safer xstrlcat, and from
622	strcpy to safer xstrlcpy.
623
6242005-10-04  Erez Zadok  <ezk@cs.sunysb.edu>
625
626	* hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
627
628	* hlfsd/hlfsd.c (fatalerror): new function instead of macro.
629	Easier to use xstrlcat in this new function.
630
631	* amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
632	from am_utils.h to amd.h, and define its size as a macro that
633	could be passed to xstrl*().
634
635	* ALL: convert from using sprintf to the safer xsnprintf.
636
637	* mk-amd-map/Makefile.am (LDADD): link with libamu to get
638	xsnprintf().
639
640	* amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
641	extern from am_utils.h to amd.h, and define its size as a macro
642	that could be passed to xsnprintf().
643
6442005-10-02  Erez Zadok  <ezk@cs.sunysb.edu>
645
646	* libamu/Makefile.am: use strutil.c, not util.c.
647
648	* libamu/strutil.c: rename from util.c to explain better purpose
649	of file.  Move xvsnprintf and xsnprintf from xutil.c to this file.
650
651	* libamu/xutil.c: explain purpose of file.  Move mkdirs/rmdirs
652	code from old util.c.
653
6542005-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
655
656	* m4/macros/header_templates.m4: templates for FFS.
657
658	* m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
659	system mount table name via the MOUNT_* mount(2) macros (because
660	BSD44 keeps the mount table in the kernel).
661
662	* configure.in: synchronise order of searching for mnttab entries
663	and mount names.  The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
664	efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
665	ufs, and ext3 instead of ext2 on Linux).
666
667	* include/am_defs.h: include <sys/statvfs.h> if it exists.
668
669	* conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
670	and statvfs(), but the latter is preferred, so #define to use
671	statvfs.
672
673	* configure.in: check for statfs(), statvfs(), and
674	<sys/statvfs.h>.
675
676	* config.guess.long: strip trailing '.' on "netbsdelf3.0."
677	(Beta).  Workaround for bug in config.guess.
678
679	* config.{guess,sub}: update to latest versions.
680
6812005-09-30  Christos Zoulas  <christos@zoulas.com>
682
683	* fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
684	hard-coded value of -1.
685
686	* include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
687	to 16KB.  We can afford it these days.
688
689	* libamu/strcasecmp.c (strcasecmp): use unsigned chars in
690	tolower() to avoid sign/size promotion bugs.
691
692	* libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
693	default (it's unfriendly).  If user really wants to, they can set
694	it in /etc/syslog.conf.
695
6962005-09-29  Erez Zadok  <ezk@cs.sunysb.edu>
697
698	* amq/pawd.c (find_mt): if the auto mount type is used, pawd could
699	go into an infinite loop since the mt_directory and mt_mountpoint
700	fields are the same for auto mounts.  Solution: ignore type auto
701	mounts, similar to toplvl.  Bug fix from Jonathan Chen
702	<jon+amd@spock.org>.
703
704	* README.attrcache: document test-attrcache script.
705
706	* scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
707	script.
708
709	* configure.in: build scripts/test-attrcache script and chmod it
710	so it can be executed in place.
711
712	* scripts/test-attrcache.in: script to test the NFS attribute
713	cache using Amd.
714
7152005-09-26  Erez Zadok  <ezk@cs.sunysb.edu>
716
717	* hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
718	nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
719	(hlfsd_init): use new clocktime() function.
720
7212005-09-18  Erez Zadok  <ezk@cs.sunysb.edu>
722
723	* README.attrcache: document netbsd's patchs to support noac.
724
725	* libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
726	code that sets the ac{reg,dir}{min,max} fields so it also sets the
727	appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
728
729	* configure.in: check for nfs_args fields acregmax and acdirmax.
730
731	* README.attrcache: new file documenting in detail OS bugs
732	relating to attribute caching, which can affect Amd's reliability
733	under heavy load.
734	Update status of freebsd and openbsd.
735
736	* doc/Makefile.am: install README.attrcache file as attrache.txt
737	file on am-utils Web site.
738
739	* Makefile.am (EXTRA_DIST): include README.attrcache in distro.
740
741	* BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
742	scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
743	cache bugs on some OSs.
744
7452005-09-17  Erez Zadok  <ezk@cs.sunysb.edu>
746
747	* libamu/xutil.c (clocktime): newly implemented routine.  Uses
748	gettimeofday() each time to return a high-resolution clock time,
749	and does not "cache" the last time.  Returns time in seconds, just
750	like the old implementation.  If passed a non-null argument, will
751	fill it in with the current time in seconds+microseconds.
752
753	* libamu/xutil.c: remove actual declaration of clock_valid, and
754	another never-used declaration for xclock_valid.
755
756	* include/am_utils.h: remove defunct definition of clocktime()
757	macro and clock_valid variable.  Add extern for new definition.
758
759	* libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
760	hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
761	hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
762	conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
763	(open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
764	amd/autil.c (host_normalize): remove defunct clock_valid.
765
766	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
767	node's mtime.
768	(fh_to_mp3): use new clocktime() to update mtime and get a better
769	time resolution.
770
771	* amd/mapc.c (mapc_reload_map): change prototype from returning
772	void to returning an int.  If reloading was needed and succeeded,
773	return 1; else return 0.
774	(mapc_sync): update mtime of parent node if needed.  This is a
775	CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
776	when we run "amq -f" manually or when a map is reloaded.
777
778	* amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
779	(init_map): use new clocktime().
780	(unmount_mp): if the OS doesn't support a "symttl" option, then
781	update the mtime of the parent node using the clocktime(); but if
782	the time hasn't gotten changed because of rapid Amd accesses on
783	systems that don't have a micro-second NFS-client resolution, then
784	increment mtime by one arbitrarily (this could, on some systems
785	and under pathological cases, result in mtime's that are in the
786	future).
787
788	* amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
789	update of parent dir, to prevent DNLC/dcache from caching the old
790	entry, which could result in ESTALE errors, bad symlinks, and
791	more.
792	(am_mounted): record mount time, and update am_stats at the same
793	time, using the double-action redone clocktime() routine.
794	(am_mounted): update parent's mtime from that of the child.
795	(am_unmounted): when unmounting an entry, update mtime of parent
796	node.
797
798	* amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
799	remember it's last non-zero value, save it in a temporary variable
800	to avoid a TOCTOU problem (between an "if" and a "dlog").
801
802	* libamu/xutil.c (show_time_host_and_name),
803	conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
804	amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
805	(find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
806	(nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
807	amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
808	amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
809	amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
810	exec_search), amd/clock.c (timeout, softclock), amd/autil.c
811	(forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
812	amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
813	NULL to clocktime().
814
8152005-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
816
817	* amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just
818	in case.
819	(fh_to_mp3): increment amd_stats.d_stale counter only if we are
820	actually returning ESTALE.
821
822	* amd/info_exec.c (exec_parse_qanswer), amd/info_file.c
823	(file_search_or_reload), amd/info_hesiod.c (hesiod_search),
824	amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm),
825	amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search,
826	nisplus_search): don't dereference mnt_map->cfm which may be null
827	if we're not using an amd.conf file.
828
8292005-09-14  Erez Zadok  <ezk@cs.sunysb.edu>
830
831	* libamu/xutil.c (unregister_amq): if failed to de-register Amd
832	from portmapper, report it under dlog (debugging), not as an
833	annoying plog that always shows up.
834
8352005-09-13  Erez Zadok  <ezk@cs.sunysb.edu>
836
837	* mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c
838	(strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c
839	(sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert),
840	amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload),
841	amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii()
842	arg to unsigned char, which is safer as per Christos.
843
844	* amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char.
845
846	* configure.in: keep a dummy unused AM_PROG_LEX, because old
847	Automake (1.6.3) looks for it if you refer to LEX in your
848	Makefile.am files.  Silly thing, fixed in newer versions of
849	Automake (1.9.2).
850
8512005-09-11  Erez Zadok  <ezk@cs.sunysb.edu>
852
853	* Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro.
854
855	* configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX.
856
857	* m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc
858	exist, but exist with an error if none found.
859
860	* m4/macros/prog_lex.m4: new macro to check if f/lex exist, but
861	exit with an error if not found (am-utils requires f/lex).
862
8632005-09-07  Erez Zadok  <ezk@cs.sunysb.edu>
864
865	* minor new port: powerpc-apple-darwin8.2.0.
866
867	* m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
868	but all newer ones (10.4+) use int.
869
870	* m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
871	6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
872
873	* minor new port: i386-pc-linux-deb3.1.
874
8752005-09-02  Erez Zadok  <ezk@cs.sunysb.edu>
876
877	* conf/mount/mount_linux.c: If autoconf didn't find any disk-based
878	file system on this system (probably because /proc isn't mounted),
879	then provide some default definition for this file to compile.
880
8812005-08-28  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
882
883	* amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white
884	spaces or '\n' before passing strings to the parser.
885
886	* amd/amd.h : oops, reverting bad changes
887
888	* amd/info_file.c : oops, reverting bad changes
889
890	* amd/mapc.c : oops, reverting bad changes
891
892	* amd/sun_map_parse.y : oops, reverting bad changes
893
8942005-08-27  Erez Zadok  <ezk@cs.sunysb.edu>
895
896	* libamu/xutil.c: amd_program_number is a u_long now.
897	(unregister_amq): if pmap_unset failed to de-register Amd from the
898	portmapper, print an error message.
899	(get_amd_program_number): returns a u_long now.
900	(set_amd_program_number): take a u_long now.
901
902	* include/am_utils.h: get_amd_program_number() returns u_long now.
903	set_amd_program_number() takes a u_long now.
904
905	* amq/amq.c: amd_program_number is a u_long, not int.
906
907	* amd/nfs_start.c (mount_automounter): when registering Amd with
908	the portmapper (for Amq service), don't fail if just one of TCP or
909	UDP failed to register, but only if both transports failed.  That
910	way Amq can still contact Amd using the transport that did
911	register correctly.  However, now, if both transports failed to
912	register, then set amd_state to "Done" so it would shutdown
913	cleanly.
914
915	* conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better
916	comments.
917
918	* libamu/xutil.c: debug_flags should always be initialized to
919	D_CONTROL (amq,daemon,fork).
920	(debug_option): allow setting initial immutable debug_flags via
921	amd.conf; afterward, prevent it (i.e., one tries it via "amq -D").
922
923	* Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
924	config.cache.old, and dbgcf.h on "make distclean".
925	(CLEANFILES): remove dbgcf on plain "make clean".
926
927	* amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
928	"make distclean".
929
9302005-08-27  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
931
932	* amd/info_file.c (file_search_or_reload): Changed the key
933	variable that is passed to the sun_entry2amd.
934
935	* amd/mapc.c (mapc_add_kv): Add support for multiple entries
936	packed into one line.  This is a workaround for handling Sun style
937	mounts that contains multiple entries on one line: "multi-mount
938	entries".  The sun2amd conversion tools will convert such entries
939	into type:=auto and pack each of the auto-entries into one line
940	separated by '\n'.  The mapc_add_kv function will now recognize
941	such entries and add then.
942
943	* amd/sun2amd.c (sun2amd_convert): Add print statement that
944	includes the line number during a parser failure.
945
946	* sun_map.c: Fix the AMD_MAP_PREF_KW definition.  Fix spelling.
947	(sun_mountpts2amd): removed this function
948	(sun_hsfs2amd): added some more comments
949	(sun_nfs2amd): moved support for multi-mount entries from this
950	function to sun_multi2amd().
951	(sun_multi2amd): New function to handle multi-mount entries.  This
952	function will convert the Sun version to an Amd type:=auto.  Each
953	extra auto entry will be appended to the same line separated by a
954	'\n'.
955	(sun_entry2amd): Fixed a bug if-statement.  This function now
956	checks for multi-mount entries.
957
958	* amd/sun_map.h: Add a fstype member to the sun_mountpt struct.
959
960	* amd/sun_map_parse.y: Parser now supports fstype for multi-mount
961	entries.
962
963	* amd/sun_map_tok.l: No longer print the line and column number
964	when parsing.  This is because the parser is handed strings not
965	files.  Therefore, the line number will always be 1.  It is now up
966	to the higher level tools to echo line information during error
967	when they feed the parser.
968
9692005-08-24  Erez Zadok  <ezk@cs.sunysb.edu>
970
971	* configure.in: wrap all LDAP and HESIOD tests in test whether
972	--with-OPT was used.
973
9742005-08-20  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
975
976	* amd/sun_map.c: Clean up #defines
977	(sun_entry2amd) : Verify that the key and entry values passed are
978	not NULL.  Free the Sun entry struct when done.
979
980	* amd/sun_map.h: Add some "not implemented yet" comments to the
981	map and mmap structures.
982
983	* amd/sun_map_parse.y: Removed automap include functionality, it
984	will need to be re-implemented using a pre-processor.
985	Clean up function calls.
986
9872005-08-16  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
988
989	* amd/sun2amd.c (sun2amd_convert): If the input line is too long
990	don't return an error just null terminate and continue.  Fix bug:
991	the map key was not written.
992
993	* amd/sun_map.c: Add a new Amd device, and cdfs constant.
994	(sun_locations2amd): Write the NFS type keyword
995	for each host of the mount entry.  Add a space between each mount
996	location.
997	(sun_hsfs2amd): New function to support hsfs to
998	cdfs.
999	(sun_nfs2amd): Don't write the nfs type here.  Fix
1000	comments.
1001	(sun_entry2amd): Change function parameter var for
1002	clarity.  Add support for hsfs.
1003
1004	* amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list
1005	after it has been returned.
1006
10072005-08-16  Erez Zadok  <ezk@cs.sunysb.edu>
1008
1009	* amd/get_args.c (get_args): initialize debug_flags if they've
1010	never been set.
1011
10122005-08-15  Erez Zadok  <ezk@cs.sunysb.edu>
1013
1014	* amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount
1015	point.  Now, we can properly initialize the cfm structure of the
1016	mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX)
1017	inside each info_*.c file.
1018	(mapc_find): takes 4rd arg (mntpt) and passes it to calls to
1019	mapc_create.
1020	(root_newmap): pass NULL as 4th arg (mntpt).
1021
1022	* amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to
1023	initialize map cfm structure (including flags) so late.
1024
1025	* amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to
1026	mapc_find.
1027
1028	* amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to
1029	mapc_find.
1030
1031	* amd/amd.h: extern for mapc_find changed to pass the mount point.
1032
1033	* libamu/xutil.c: debug_flags should be unsigned.
1034	(dbg_opt): fix comments for updated debug_flags, add "defaults".
1035	(debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be
1036	changed, because they could mess Amd's state and only make sense
1037	to be set once when Amd starts.  Currently these immutable flags
1038	are "daemon," "fork," "amq," and "mtab."  If Amd not compiled with
1039	debugging, set default "control" options (daemon,fork,amq).
1040	(unregister_amq): proper use of D_AMQ.
1041
1042	* include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT,
1043	D_IMMUTABLE, and D_MASK.  Updated definitions of D_ALL and D_TEST.
1044	debug_flags extern should be unsigned.
1045
1046	* scripts/amd.conf-sample (debug_options): mention new "defaults"
1047	option.
1048
1049	* scripts/amd.conf.5,doc/am-utils.texi: document new debug option
1050	"defaults" and properly explain the corrected meanings of
1051	"daemon," "fork," "amq," and their "no" inversions.  Better
1052	explain "all" and "test" too.  Correct default debug_mtab file to
1053	/tmp/mtab.
1054
1055	* hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK.
1056
1057	* hlfsd/homedir.c (homedir): proper use of D_FORK.
1058
1059	* hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of
1060	D_DAEMON.
1061
1062	* amd/nfs_start.c (mount_automounter): proper use of D_AMQ.
1063
1064	* amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab,
1065	which is more common on more systems (instead of /tmp/mnttab).
1066
1067	* amd/amd.c (main): properly use D_DAEMON.
1068
10692005-08-14  Erez Zadok  <ezk@cs.sunysb.edu>
1070
1071	* libamu/xutil.c (xlog_opt): define new pseudo log_option named
1072	"defaults", which is an alias for "fatal,error,user,warning,info".
1073
1074	* scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new
1075	log_option "defaults".
1076
1077	* amq/amq.8: typo.  Arg name for -D is "debug_options" not
1078	"log_options".
1079
1080	* libamu/xutil.c: make xlog_level static, and initialize it to
1081	XLOG_DEFAULT.
1082	(cmdoption): take unsigned int as flags argument, and print any
1083	errors as XLOG_ERROR (which cannot be turned off).
1084	(switch_option): remove old code which disallowed you from turning
1085	off flags that were set when Amd started up.  Now, you can turn
1086	any log option on/off at start time or later on (via amq -x),
1087	other than the two mandatory options (fatal+error).
1088
1089	* include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR.  Define
1090	XLOG_MASK to mask out unused flag bits.  Define XLOG_DEFAULT to be
1091	what it was before (fatal + error + user + warning + info), but
1092	use the new mask.  Remove extern's for xlog_level and
1093	xlog_level_init.  Change extern for cmdoption() to take an
1094	unsigned flags argument.
1095
1096	* doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8:
1097	document mandatory log options
1098	(fatal+error) which cannot be turned off and are always on by
1099	default.  They must be on so that Amd can report crucial errors,
1100	including those related to setting flags on/off.
1101
1102	* hlfsd/hlfsd.c (main): remove hack to initialize log_options.
1103
1104	* wire-test/wire-test.c: remove reference to unused xlog_level.
1105
1106	* amd/mapc.c (mapc_create): 'alloc' flags variable should be
1107	unsigned.
1108
1109	* amd/get_args.c (get_args): no need for hack using
1110	xlog_level_init.
1111
1112	* amd/Makefile.am: separate sources common to amd and sun2amd into
1113	a special, locally-built only, static library called libaminfo.a.
1114
1115	* libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf()
1116	wrapper function.
1117	(xvsnprintf): new function which already gets a va_list.  This was
1118	needed to avoid nesting va_list's (which apparently isn't
1119	allowed).
1120
1121	* include/am_utils.h: prototype for new xvsnprintf wrapper.
1122
1123	* configure.in: sinclude([vers.m4]) version number file.
1124
1125	* vers.m4: new file to separate version number out of
1126	configure.in, useful for nightly snapshot script to generate
1127	nightly version string.
1128
1129	* Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
1130
11312005-08-14  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1132
1133	* amd/info_file.c: add key to sun_entry2amd()'s parameters
1134
1135	* amd/info_hesiod.c: add key to sun_entry2amd()'s parameters
1136
1137	* amd/info_ldap.c: add key to sun_entry2amd()'s parameters
1138
1139	* amd/info_ndbm.c: add key to sun_entry2amd()'s parameters
1140
1141	* amd/info_nis.c: add key to sun_entry2amd()'s parameters
1142
1143	* amd/info_nisplus.c: add key to sun_entry2amd()'s parameters
1144
1145	* amd/sun_map.c: New functions to support sun translation to amd.
1146	The function sun_entry2amd's parameters were expanded to include
1147	the key value.  sun_entry_2amd() now returns NULL on error.
1148
1149	* amd/sun_map.h: Expand sun_entry2amd's parameters to include key
1150	value.
1151
1152	* amd/sun_map_parse.y: Change how file system types are parsed out
1153	of the list of options for each entry.  The previous way was not
1154	working properly so now we just look for the 'fstype' keyword in
1155	each option.  If it exists we copy its key value.
1156	Added some comments to sun_map_parse_read().
1157
1158	* amd/amd.h: Added an extern from info_file.c called
1159	file_read_line().  Previously this function was static but is now
1160	used in sun2amd.c.
1161
1162	* amd/info_file.c: Changed the static function read_line() to a
1163	public function called file_read_line().  This function is now
1164	used in sun2amd.c
1165
1166	* amd/sun2amd.8: Filled in the contents of this man page.  This is
1167	a conversion utility that converts Sun maps to Amd maps.
1168
1169	* amd/sun2amd.c: Implemented a working version of this utility.
1170
11712005-08-11  Erez Zadok  <ezk@cs.sunysb.edu>
1172
1173	* amd/sun_map_parse.y: instead of using a custom FOO_alloc()
1174	function, use Amd's CALLOC(struct FOO) macro.
1175
1176	* amd/sun_map.h: remove extern definitions to functions no longer
1177	needed.
1178
1179	* amd/sun_map.c: removed superfluous *_alloc() functions, some of
1180	which caused conflicts with same-named symbols in the parser
1181	(since we rename 'yyalloc' to 'sun_map_alloc').
1182
1183	* configure.in: keep AC_INIT on same line, for nightly snapshot
1184	build script.
1185
1186	* amd/Makefile.am: f/lex libraries are incompatible with multiple
1187	scanners, so don't link Amd with libl.a/libfl.a.
1188
11892005-08-10  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1190
1191	* amd/sun_map_tok.l: Clean up regular expression so HPUX stops
1192	whining.
1193
11942005-08-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1195
1196	* amd/sun_map_parse.y: Moved license below special yacc bracket to
1197	be portable with HPUX's yacc.  Clean up externs.
1198
1199	* amd/sun_map_tok.l: Moved license below special lex bracket to be
1200	portable with HPUX's lex.  Fixed definitions to allow for a
1201	non-flex lex to parse strings instead of files.  Added some casts
1202	to strlcpy usage to silence warnings.  Moved the % options because
1203	HPUX was complaining,
1204
12052005-08-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1206
1207	* amd/sun_map_tok.l: Applied some definition goop to handle the
1208	ECHO symbol that lex defines.  This symbol causes problems on
1209	RedHat-EL-powerPC platforms.  Replaced strncpy with strlcpy.
1210	Renamed the function sun_map_yyinput to sun_map_input.  This
1211	function is a utility function that is not generated by lex.
1212	Therefore, the 'yy' may cause confusion.
1213
12142005-08-08  Erez Zadok  <ezk@cs.sunysb.edu>
1215
1216	* amd/sun_map_tok.l: allocate more output slots so lex scanners
1217	don't run out of memory.
1218
1219	* amd/sun_map_parse.y: declare extern for sun_map_parse().
1220
1221	* libamu/xutil.c (xsnprintf): ensure proper comparisons between
1222	signed and unsigned quantities.
1223
12242005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1225
1226	* libamu/util.c, amd/autil.c (strsplit): moved strsplit() function
1227	from Amd code to to libamu, so sun2amd could use it.
1228
1229	* amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man
1230	page.
1231	(EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files
1232
1233	* amd/sun2amd.8: placeholder for man page.
1234
1235	* amd/sun2amd.c: placeholder for C version of translator from Sun
1236	syntax maps to Amd maps.
1237
1238	* */*.[0-9]: include file name in nroff source comment.
1239
1240	* ALL: use '0' properly when assigning or passing it to functions.
1241	If in the context pointer, use NULL.  If in the context of a
1242	single char (say within a string), the use '\0'.  This is just to
1243	make the code clearer.
1244
1245	* m4/macros/header_templates.m4: template for HAVE_MAP_SUN.
1246
1247	* amd/mapc.c (maptypes): add placeholder for Sun-syntax map
1248	methods.
1249
1250	* amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c
1251
1252	* amd/info_sun.c: placeholder for meta info parser to get info
1253	from Sun automount-style /etc/auto_master, possibly following
1254	into multiple info services (via /etc/nsswitch.conf).
1255
1256	* libamu/xutil.c (xsnprintf): if vsnprintf truncated the output
1257	string to avoid an overflow, print an error.  Include some code to
1258	break out any possible infinite loop between plog() and
1259	xsnprintf().
1260	(real_plog): now we can use (carefully) xsnprintf() directly.
1261
1262	* amd/sun_map.[hc]: cleanup and formatting.
1263
1264	* amd/sun_map_parse.y: to match the literal string "fstype=" use
1265	double quotes, not single quotes.
1266
1267	* amd/get_args.c (get_args): call conf_parse() using conf_in.
1268
1269	* amd/amd.h: use renamed parser symbols (yyparse -> conf_parse;
1270	yyin -> conf_in).
1271
1272	* ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb,
1273	and suggested by the Automake manual.  This enhanced parser will
1274	prefix each conflicting yacc/lex symbol with a unique name
1275	produced from INPUT.  For example, if INPUT is foo_parse.y, then
1276	yyparse() becomes foo_parse().  This requires that both your .l
1277	and corresponding .y files have the same prefix (e.g., foo_parse.y
1278	and foo_tok.l).
1279
1280	* amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c
1281	source files are built automatically, and therefore should not be
1282	in the distro (IMHO), and should be cleaned upon "make clean".
1283	(amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files.
1284
1285	* ylwrap: new file needed because we have two parsers now.
1286
1287	* amd/sun_map_{parse.y,tok.l}: cleanup and formatting.
1288
12892005-08-06  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1290
1291	* amd/Makefile.am: Added new files sun_map.h, sun_map.c,
1292	sun_map_parse.y, and sun_map_tok.l.  These files add support for
1293	parsing Sun style maps.  The yacc/lex files needed custom rules so
1294	they don't cause symbol conflicts with each other.
1295
1296	* amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the
1297	line limit for info services.
1298
1299	* amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN
1300
1301	* amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN,
1302	added support for parsing Sun style maps.  The support for Sun
1303	maps is done using the sun_entry2amd() function.  This function is
1304	called for each entry line that is read only when Sun parsing is
1305	enabled.  For each entry line that is passed to the function a
1306	copy of the Amd equivalent is returned.
1307
1308	* amd/sun_map.h: new header file for Sun style map support
1309
1310	* amd/sun_map.c: new source file for Sun style map support, clean
1311	up comments, additional sun2amd conversion routines
1312
1313	* amd/sun_map_parse.y: new yacc file for parsing Sun style maps,
1314	fix copyright notice, put filename below license.
1315
1316	* amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix
1317	copyright notice, put filename below license.
1318
1319	* amd/get_args.c: replace usage of strlcat with xstrlcat
1320
1321	* include/am_utils.h: added 'extern void xstrlcat()'
1322
1323	* libamu/util.c: Added a xstrlcat() function that wraps the
1324	syscall strlcat() so that string truncations can be logged.
1325
13262005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1327
1328	* amd/info_file.c (file_search, file_reload): pass mnt_map to
1329	file_search_or_reload.
1330	(file_search_or_reload): ensure that mnt_map is never NULL.
1331
1332	* amd/info_nis.c (nis_search): call sun_entry2amd() if
1333	sun_map_syntax=yes.
1334
1335	* amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if
1336	sun_map_syntax=yes.
1337
1338	* amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if
1339	sun_map_syntax=yes.
1340
1341	* amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm.
1342	(search_ndbm): call sun_entry2amd() if sun_map_syntax=yes.
1343
1344	* amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if
1345	sun_map_syntax=yes.
1346
1347	* amd/info_exec.c (exec_search): pass mnt_map to
1348	exec_parse_qanswer.
1349	(exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes.
1350
1351	* doc/am-utils.texi (sun_map_syntax Parameter): document new
1352	common parameter.
1353
1354	* scripts/amd.conf.5: selectors_in_defaults is a common parameter,
1355	not just [global].  Use consistent capitalization of Amd/Amq.
1356	Document new sun_map_syntax parameter.
1357
1358	* scripts/amd.conf-sample: properly list all of the parameters
1359	which are common to both the [global] and the per-map sections.
1360	(sun_map_syntax): example of new parameter.
1361
1362	* doc/am-utils.texi (Common Parameters): selectors_in_defaults is
1363	a common parameter, not just [global].
1364
1365	* scripts/amd.conf-sample (sun_map_syntax): example of new flag.
1366
1367	* amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse
1368	sun_map_syntax flag (global or per map).
1369
1370	* amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the
1371	map uses Sun automounter syntax.
1372
1373	* cvs-server.txt: update instructions after branching 6.1-stable.
1374
13752005-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
1376
1377	*******************************************************************
1378	*** Released am-utils-6.1.1					***
1379	*******************************************************************
1380
1381	* libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
1382	vsprintf, not sprintf.
1383
1384	* conf/umount/umount_osf.c (umount_fs): refer to proper formal
1385	parameter name.
1386	(umount2_fs): pass second arg to umount().
1387
1388	* ALL: remove CVS ID and put actual file name in source.
1389
1390	* conf/autofs/*.[hc]: proper copyright headers.
1391
1392	* whitespace reformatting.  Remove remaining '%W%' SCCS IDs.
1393
1394	* amd/mntfs.c (free_mntfs): don't discard the last reference to an
1395	mntfs that had been mounted already.  It won't have the
1396	MFF_RESTARTED flag on, as it gets turned off after the entry is
1397	mounted, but it will have the MFF_RSTKEEP flag on.
1398
1399	* amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
1400	show the mntfs's flags.
1401
14022005-08-01  Erez Zadok  <ezk@cs.sunysb.edu>
1403
1404	* conf/mtab/mtab_linux.c: removed unused code.  Cleanup.
1405	(handler): removed this bad signal handler.
1406	(lock_mtab): Redhat's original code set a signal handler called
1407	"handler()" for all non-ALRM signals.  The handler called
1408	unlock_mntlist(), plog'ed the signal name, and then exit(1)!
1409	Never, ever, exit() from inside a utility function.  This messed
1410	up Amd's careful signal-handling code, and caused Amd to abort
1411	uncleanly only any other "innocent" signal
1412	(even simple SIGUSR1), leaving behind a hung Amd mnt point.  That
1413	code should have at least restored the signal handlers' states
1414	upon a successful mtab unlocking.  Anyway, that handler was
1415	unnecessary, because will call unlock_mntlist() properly anyway on
1416	exit.
1417
1418	* conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
1419	message that we're inside the unlock_mntlist function.
1420
1421	* amd/amd.c (main): use new setup_sighandler() for Amd's four main
1422	signals (INT, TERM, HUP, and CHLD).
1423	(main) Add SIGINT and SIGTERM to masked_sigs, used in
1424	nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
1425	to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
1426	HAVE_SIGACTION.  So this change makes Amd behave consistently.
1427
1428	* include/am_utils.h: extern for new setup_sighandler().
1429
1430	* libamu/xutil.c (setup_sighandler): new utility function to setup
1431	a single signal-handler regardless of what method is supported by
1432	this OS.
1433	(going_down): call unlock_mntlist() when exiting, to ensure that
1434	Amd will remove any leftover mtab lock files, if any.
1435
1436	* amd/restart.c (restart_automounter_nodes): cleanup function.
1437
1438	* minor new port: i386-pc-linuxoldld-deb3.1.
1439
1440	* configure.in: include <sys/types.h> before <linux/socket.h> to
1441	get the definition of size_t on Debian-3.1r0a.
1442
14432005-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
1444
1445	* amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
1446	IP address.  First check if it differs from the existing one of
1447	the fserver, and copy only if it changed.  If it did change, flush
1448	the fhandle cache to avoid a stale fhandle being reused.  This
1449	allows Amd to detect IP address changes even for an fserver that
1450	lost one or more NFS pings, but not enough to be declared totally
1451	down.  We handle the "totally down" fserver case in
1452	check_fs_addr_change().
1453
1454	* amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
1455	amd/nfs_subr.c (nfs_quick_reply): code clarity.
1456
1457	* conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
1458	errnos to NFS errors.
1459
1460	* conf/umount/umount_linux.c (umount2_fs): cleanup code.  Trying
1461	stat() seems doomed to hang at times, so don't try stat at all,
1462	because umount2() appears to be clever enough to never hang.
1463
14642005-07-25  Erez Zadok  <ezk@cs.sunysb.edu>
1465
1466	* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
1467	particular fserver may need forced/lazy unmounts when it's mntfs's
1468	are unmounted.
1469
1470	* amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
1471	the user specified forced_unmounts=yes in amd.conf, and this
1472	fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
1473	forced/lazy unmounts, then try forced/lazy unmounts.  This should
1474	allow a hung mount point to be removed.
1475
1476	* amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
1477	detection code to its own function.
1478	(check_fs_addr_change): new function to detect if the IP address
1479	of a downed host has changed, and do various cleanups and fixups
1480	to try and recover as best from that situation (e.g., flushing
1481	various caches).  Also set the FSF_FORCE_UNMOUNT flag for the
1482	fserver in question.
1483	(flush_srvr_nfs_cache): pass fserver as argument, so we can
1484	selectively flush the NFS cache for a single fserver (or all of
1485	them, if you pass NULL).
1486
1487	* libamu/xutil.c (switch_to_logfile): truncate a regular-file log
1488	file if user passed non-zero "truncate_log" flag.
1489
1490	* include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
1491
1492	* amd/get_args.c (get_args): pass "truncate_log" flag as per
1493	amd.conf global settings.
1494
1495	* amd/conf.c (gopt_truncate_log): store global value of
1496	truncate_log flag.
1497
1498	* amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
1499	reload): don't truncate log file when calling switch_to_logfile().
1500
1501	* amd/amd.h (CFM_TRUNCATE_LOG): new flag.  Fix comment typo.
1502
1503	* NEWS, doc/am-utils.texi (truncate_log Parameter),
1504	scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
1505	new truncate_log amd.conf parameter.
1506
1507	* amd/conf.c (gopt_forced_unmounts): check Linux kernel version
1508	and alert if your version may be too old for MNT_FORCE to work
1509	(before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
1510	Otherwise it may be impossible to pin down the exact kernel
1511	version in which we should enable this feature.
1512
1513	* conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
1514	EBUSY, then don't try to stat(2) before MNT_DETACH because it
1515	could hang.
1516
15172005-07-21  Erez Zadok  <ezk@cs.sunysb.edu>
1518
1519	* conf/umount/umount_linux.c (umount_fs): cleanup this function,
1520	breaking long "if" statements using "goto out".
1521
1522	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
1523	call new utility function umount2_fs() as needed (EBUSY, EIO, or
1524	ESTALE).
1525
1526	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
1527	define a new utility function to invoke forcible/lazy unmounts
1528	without touching any mtab files.  This separate utility function
1529	is useful because it can be called from elsewhere.
1530
1531	* amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
1532	before Amd mounts toplvl mounts, which gives us a hook for cleanup
1533	of a previously dead Amd.  In our case, if the user asked for
1534	forced_unmounts, and the OS supports it, then we try forced/lazy
1535	unmounts on any previous toplvl mounts.  This is useful if a
1536	previous Amd died and left behind toplvl mount points (this Amd
1537	will clean them up!).  WARNING: Don't use forced/lazy unmounts if
1538	you have another valid Amd running, because this code WILL force
1539	those valid toplvl mount points to be detached as well!
1540
1541	* amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
1542	try forced/lazy unmounts because it will prevent a normal Amd from
1543	terminating and cleaning up properly (self-deadlocking: detached
1544	mounts hang the parent Amd on a stat).  Since we already do
1545	unmounts in the background, then try a safer policy: after trying
1546	the normal unmounts a few times (5 sec), escalate and try forced
1547	unmounts a few times (5 more seconds), and if even that failed,
1548	then try the ultimate -- detached unmounts (which always succeed).
1549	This allows Amd to first try and shutdown cleanly, and gradually
1550	try more forcible ways to shutdown.  On Linux, this procedure will
1551	cleanly shutdown Amd even if there are processes with their CWD on
1552	Amd's mount points (which normally result in EBUSY).
1553
15542005-07-20  Erez Zadok  <ezk@cs.sunysb.edu>
1555
1556	* Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
1557
1558	* conf/umount/umount_aix.c: easier if AIX has its own unmount
1559	helper file.
1560
1561	* m4/macros/check_umount_style.m4: AIX needs its own unmount style
1562	file.
1563
1564	* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
1565
15662005-07-19  Erez Zadok  <ezk@cs.sunysb.edu>
1567
1568	* conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
1569	forced-unmount flag.
1570
1571	* conf/umount/umount_default.c (umount_fs): if regular umount got
1572	EBUSY, EIO, or ESTALE, then try forced unmount, if supported.  Try
1573	umount2 (Solaris) or uvmount (AIX).
1574
1575	* conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
1576	umount() failed with EIO or ESTALE, also try forced unmount.
1577
15782005-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
1579
1580	* amd/autil.c (amfs_mount), amd/amfs_toplvl.c
1581	(amfs_toplvl_umount): enable forced/lazy unmounts only if user
1582	asked for it (and dlog it).
1583
1584	* scripts/amd.conf.5: document new force_unmount global parameter.
1585
1586	* doc/am-utils.texi (forced_unmounts Parameter): document new
1587	global parameter.
1588
1589	* amd/conf.c (gopt_forced_unmounts): process forced_unmounts
1590	option (default "no").  Exit with an error if user specified the
1591	option as "yes" but configure couldn't find support for either the
1592	MNT_FORCE or MNT_DETACH flags.
1593
1594	* scripts/amd.conf-sample (forced_unmounts): example usage of new
1595	option.
1596
1597	* amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
1598	option.
1599
1600	* m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
1601
1602	* configure.in: check for generic u/mount options "detach" and
1603	"force".
1604
1605	* include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
1606	Define AMU_UMOUNT flags for force, detach, and autofs.
1607
1608	* amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
1609	unmount flags unconditionally.  Pass them to UMOUNT_FS().
1610
1611	* conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
1612	if needed, because some Linux systems don't define them
1613	(presumably because it would be too dangerous to expose these
1614	flags to users).
1615
1616	* amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
1617	then assume that we're in trouble, possibly because a previous
1618	mount is hung.  So, first try to force a lazy unmount of the old
1619	mount.  If the forced unmount worked, then try again to mount the
1620	desired file system.  If the forced unmount failed, then don't
1621	retry: just return an error.
1622
1623	* amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
1624	(amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
1625	amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
1626	amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
1627	amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
1628	amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
1629	(umount_fs), conf/umount/umount_default.c (umount_fs),
1630	conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
1631	(umount_fs): compute and use unmount specific flags.
1632
16332005-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
1634
1635	* configure.in: better help for users, if nfs_args can't be found.
1636
16372005-07-15  Erez Zadok  <ezk@cs.sunysb.edu>
1638
1639	* BUGS: more details on AIX's need to install bos.net.nfs.adt
1640	before configuring am-utils (else configure cannot find struct
1641	nfs_args on AIX).
1642
16432005-07-10  Erez Zadok  <ezk@cs.sunysb.edu>
1644
1645	* amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
1646	address of a down server had changed.
1647
1648	* amd/info_union.c (union_reload): use safer xsnprintf() routine.
1649
1650	* amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
1651	of a named but down fserver changed (i.e., the previous IP address
1652	is no longer responding).  If so, then reset the fserver to the
1653	new IP address, and set the fserver's flags such that the function
1654	will fall through to doing the usual NFS version/proto checks and
1655	pinging.  (This should fix one case of bug #308.)
1656
1657	* conf/umount/umount_linux.c (umount_fs): warn if plain umount()
1658	failed, before we try to ignore any errors or try optional
1659	umount2(), possibly with forced/lazy unmount.
1660	(umount_fs): dlog when unmount succeeded.
1661
16622005-07-08  Erez Zadok  <ezk@cs.sunysb.edu>
1663
1664	* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
1665	that are compatible with NFSv3.
1666
16672005-07-07  Erez Zadok  <ezk@cs.sunysb.edu>
1668
1669	* m4/macros/header_templates.m4: extern template for strlcat().
1670
1671	* amd/get_args.c (get_version_string): use safer strlcat (or
1672	replacement strlcat).  Use new wrapper xsnprintf() function, which
1673	will use the safer vsnprintf() if available, else default to plain
1674	sprintf.
1675
1676	* configure.in: check for existence of strlcat() and its extern,
1677	replacing with libamu/strlcat.c as needed.
1678
1679	* libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
1680
1681	* include/am_defs.h: optional strlcat() extern.
1682
1683	* include/am_utils.h: extern for new xvsnprintf().
1684
1685	* configure.in: overdue new major libtool shlib version.
1686	Check for snprintf function and extern.
1687
16882005-07-06  Erez Zadok  <ezk@cs.sunysb.edu>
1689
1690	* conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
1691	aix4_nfs_args_bis.
1692
1693	* Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
1694	distribution.
1695
1696	* conf/mount/mount_aix.c: mount style for aix 5.x and newer.
1697
1698	* conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
1699
1700	* m4/macros/check_mount_style.m4: split mount styles for
1701	aix3.x/4.x and the newer (and better) aix 5.x code.
1702
17032005-07-05  Erez Zadok  <ezk@cs.sunysb.edu>
1704
1705	* amq/pawd.c (getawd): avoid buffer overflow.  Bug fix from Graeme
1706	Wilford <G.Wilford@surrey.ac.uk>.
1707
17082005-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
1709
1710	* amd/map.c (get_next_exported_ap): Avoid running off the end of
1711	the exported_ap[] array.  Patch from jon+amd-at-spock.org.  Fixed
1712	bug #301.
1713
17142005-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
1715
1716	* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
1717
1718	* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
1719	must come before C code.
1720
1721	* conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
1722	that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
1723	Patch from Red Hat, which they adapted from mtab_file.c.  Minor
1724	fixes to this file.
1725
1726	* m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
1727	handling.
1728
17292005-06-24  Erez Zadok  <ezk@cs.sunysb.edu>
1730
1731	* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
1732	copying code.
1733
17342005-06-23  Erez Zadok  <ezk@cs.sunysb.edu>
1735
1736	* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
1737	be missing from older hpux10 systems.
1738
1739	* configure.in: update bug-reporting address to list
1740	https://bugzilla.am-utils.org/ as well as the mailing list.
1741
1742	* Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
1743	macro.
1744
1745	* conf/transp/transp_tli.c (get_nfs_version): always use
1746	rpcvers_t, now that it'll be automatically discovered.
1747
1748	* configure.in: check for rpcvers_t type.
1749
1750	* m4/macros/type_rpcvers_t.m4: new macro to check for type of
1751	rpcvers_t (Some Solaris versions need it).
1752
1753	* conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
1754	here, but in the actual source files that may need it.
1755
1756	* libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
1757	already.
1758
1759	* include/am_defs.h: define extern for sleep(3) if needed.
1760
1761	* m4/macros/header_templates.m4: template for sleep(3) extern.
1762
1763	* configure.in: check for extern for sleep(3), which is missing
1764	from some old (and buggy) versions of gcc's fixinc'ed headers.
1765
1766	* conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
1767	nfs_args from actual system headers.
1768
1769	* conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
1770	structure.
1771
17722005-06-22  Erez Zadok  <ezk@cs.sunysb.edu>
1773
1774	* BUGS: update Solaris information about use of f/lex and
1775	yacc/bison.
1776
17772005-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
1778
1779	* minor new port: i386-pc-linux-suse9.3.
1780
17812005-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1782
1783	* configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
1784	so u32 is available for <linux/sunrpc/msg_prot.h>.
1785
17862005-06-16  Erez Zadok  <ezk@cs.sunysb.edu>
1787
1788	* amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
1789	exec maps will always match when users use amd with command line
1790	args (not amd.conf).  Using that legacy way, unfortunately, means
1791	that Amd will use it's hard-coded info-service search path, which
1792	doesn't work for everyone.  It's much better to use amd.conf and
1793	specify what you want exactly.
1794
17952005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1796
1797	* minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
1798
1799	* m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
1800	int as the type of recvfrom()'s 6th argument.
1801
1802	* m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
1803	int as the type of yp_order()'s 3rd argument.
1804
18052005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1806
1807	* scripts/amd.conf-sample (map_type): typo, said mount_type
1808	instead of map_type for the 'exec' example.
1809
18102005-06-11  Erez Zadok  <ezk@cs.sunysb.edu>
1811
1812	*******************************************************************
1813	*** Released am-utils-6.1					***
1814	*******************************************************************
1815
18162005-06-04  Erez Zadok  <ezk@cs.sunysb.edu>
1817
1818	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
1819	only if the user specified them in amd.conf or elsewhere.  If they
1820	were not specified, don't do anything, which would let the OS use
1821	its own defaults.
1822
1823	* amd/get_args.c (get_args): negative timeo/retrans are "good" in
1824	that they represent uninitialized values (meaning to let the OS
1825	use it's default values).  So only check if user specified a value
1826	equal to zero (invalid).
1827
1828	* amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
1829	specify timeo/retrans at all.
1830
18312005-06-03  Erez Zadok  <ezk@cs.sunysb.edu>
1832
1833	*******************************************************************
1834	*** Released am-utils-6.1-rc7					***
1835	*******************************************************************
1836
1837	* m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
1838	configuring, not just for building.  That way the two phases
1839	(configure and compile) are in sync.  This fixes getwire() on
1840	OSF/1 systems.
1841
1842	* conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
1843	defined in system headers.
1844
18452005-06-01  Erez Zadok  <ezk@cs.sunysb.edu>
1846
1847	* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
1848	longer needed.
1849
18502005-05-28  Erez Zadok  <ezk@cs.sunysb.edu>
1851
1852	* completed set of fixes for irix6.5.
1853
1854	* Minor new ports alpha-unknown-linux-gentoo1.4.16
1855	alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
1856	sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5.  Test
1857	those systems with both cc and gcc, where possible.
1858
1859	* include/am_xdr_func.h: remove trailing comma at end of enum
1860	list.
1861
1862	* m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
1863	undefined.  So give it a dummy value.
1864
1865	* libamu/alloca.c: remove file from distro.
1866
1867	* configure.in: don't call AC_FUNC_ALLOCA any more.
1868
1869	* include/am_defs.h: remove header fixups for <alloca.h>, now that
1870	we don't need it.
1871
1872	* amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
1873	avoid only use of alloca() in am-utils, and to use strdup
1874	explicitly.  This way we can avoid using alloca, a feature that's
1875	not portable on various systems.
1876
1877	* amq/amq.c: remove unused lint/rcsid cruft.
1878
18792005-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
1880
1881	* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
1882	extra parentheses around assignments in "if" expressions (gcc
1883	complains).
1884
1885	* conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
1886	for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
1887	xdr_groups.
1888
1889	* configure.in: check for <linux/socket.h>, which, if found,
1890	appears to be preferable to <sys/socket.h>.  Use it to find
1891	<linux/nfs_mount.h>.  On some Linux systems
1892	(Gentoo), both exist but only one must be included, or else you
1893	get redefined structure errors.
1894
1895	* libamu/wire.c (is_network_member): check if masknum is
1896	INADDR_NONE, not "< 0" because it's an unsigned quantity.
1897
1898	* libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
1899	because it's an unsigned quantity.
1900
19012005-05-26  Erez Zadok  <ezk@cs.sunysb.edu>
1902
1903	*******************************************************************
1904	*** Released am-utils-6.1-rc6					***
1905	*******************************************************************
1906
19072005-05-25  Erez Zadok  <ezk@cs.sunysb.edu>
1908
1909	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
1910	missing definition of struct thread_credentials in <sys/vfs.h>
1911	but trying to bring that definition in drags a whole lot of other
1912	messy stuff.  So just provide a dummy definition for this
1913	structure.
1914
19152005-05-24  Erez Zadok  <ezk@cs.sunysb.edu>
1916
1917	* Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
1918
1919	* m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
1920
1921	* m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
1922	systems, so we can find extern definition for mntctl().
1923
1924	* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
1925	define an extern for mntctl() if needed.
1926
1927	* amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
1928	style comments in C code.  Some C compilers don't accept it.
1929
1930	* amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
1931	of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
1932	xlC.
1933
1934	* amd/get_args.c: rename symbol conf_file to amu_conf_file to
1935	avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
1936	Oh, when will people who develop libraries learn to always prefix
1937	their exported symbols with a library-specific name?
1938
1939	* configure.in: check for mntctl() extern on AIX systems.
1940
1941	* ltmain.sh: update from latest libtool-1.5.18, so we can properly
1942	build on AIX 5.2/5.3 with cc and with gcc.
1943
1944	* m4/macros/libtool.m4: update from latest libtool-1.5.18.  This
1945	time, and from now on, we must include libtool.m4 from the libtool
1946	distribution itself.  That way we ensure that we use an ltmain.sh
1947	that matches the appropriate libtool M4 macros.  This makes
1948	am-utils no longer dependent on having libtool installed on a
1949	given system on which you run bootstrap.
1950
19512005-05-23  Erez Zadok  <ezk@cs.sunysb.edu>
1952
1953	* minor new port: i386-pc-linux-deb3.0.
1954
19552005-05-22  Erez Zadok  <ezk@cs.sunysb.edu>
1956
1957	* minor new ports: i386-unknown-netbsdelf2.0.2 and
1958	i386-unknown-openbsd3.7.
1959
19602005-05-20  Erez Zadok  <ezk@cs.sunysb.edu>
1961
1962	* minor new ports: i386-pc-linux-gentoo1.4.16 and
1963	powerpc-unknown-linux-yellowdog2.3.
1964
1965	* include/{mount_headers2.h, am_defs.h}: safer setup before
1966	inclusion of <linux/nfs_mount.h>, which is broken on several
1967	systems.
1968
1969	* configure.in: test for <linux/nfs2.h>.  Separate special test
1970	for <linux/nfs_mount.h> because we need to define __KERNEL__ for
1971	that test, as well as optionally define struct nfs2_fh for some
1972	systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
1973
1974	* config.guess.long: support Gentoo and Yellow Dog Linux distros.
1975
19762005-05-18  Erez Zadok  <ezk@cs.sunysb.edu>
1977
1978	* minor new ports: i386-pc-linux-suse9.2 and
1979	i386-unknown-freebsd5.4.
1980
1981	* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
1982
19832005-05-17  Erez Zadok  <ezk@cs.sunysb.edu>
1984
1985	*******************************************************************
1986	*** Released am-utils-6.1-rc5					***
1987	*******************************************************************
1988
1989	* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
1990	sending annoying warning for a minor issue.
1991
19922005-05-17  Ion Badulescu <ionut@moisil.badula.org>
1993
1994	* amd/nfs_subr.c: check for NULL pointer before dereferencing it.
1995
19962005-05-16  Erez Zadok  <ezk@cs.sunysb.edu>
1997
1998	* minor new ports: powerpc-apple-darwin7.9.0.
1999
2000	* m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
2001	from OS name because it's no longer relevant.  Also, don't include
2002	the major OS version number in the OS name because that's also
2003	unnecessary (and users can always use $osver in maps).
2004
2005	* amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
2006	struct am_fh, because it's the most portable method.  Bug fix
2007	suggestion from Dan Riley <dsr at mail.lns.cornell.edu>.  Better
2008	fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
2009	actual size we use.
2010
2011	* amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
2012	def_opts to options given in -opts, appended with the /default
2013	options.  Bug fix suggestion from Dan Riley <dsr at
2014	mail.lns.cornell.edu>.
2015
20162005-05-13  Erez Zadok  <ezk@cs.sunysb.edu>
2017
2018	*******************************************************************
2019	*** Released am-utils-6.1-rc4					***
2020	*******************************************************************
2021
20222005-05-11  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2023
2024	* amd/amd.c (main) : fixed memory leak detected by valgrind
2025
2026	* amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
2027	valgrind
2028
20292005-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
2030
2031	* m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
2032	check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
2033	check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
2034	for "macosx" as valid OS string, so we compile properly on Darwin
2035	systems.
2036
2037	*******************************************************************
2038	*** Released am-utils-6.1-rc3					***
2039	*******************************************************************
2040
2041	* rerun bootstrap to get a working configure script that actually
2042	checks for limits.h and dependent linux autofs/nfs headers.
2043
2044	* configure.in: remove redundant check for limits.h.
2045
20462005-05-09  Erez Zadok  <ezk@cs.sunysb.edu>
2047
2048	*******************************************************************
2049	*** Released am-utils-6.1-rc2					***
2050	*******************************************************************
2051
20522005-05-08  Erez Zadok  <ezk@cs.sunysb.edu>
2053
2054	* amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
2055	old_def_opts variable.
2056
20572005-05-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2058
2059	* amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
2060	entry has a single dash '-', that the default options are reset.
2061	This functionality was somehow lost from earlier releases and
2062	reported by Dan Riley <dsr@mail.lns.cornell.edu>.
2063
20642005-05-05  Erez Zadok  <ezk@cs.sunysb.edu>
2065
2066	* config.guess.long: detect SuSE Enterprise Server and call it
2067	"sles" not "suse".
2068
20692005-05-02  Erez Zadok  <ezk@cs.sunysb.edu>
2070
2071	* doc/am-utils.texi (amd): document proper use of
2072	/etc/hosts.allow.  Don't spawn a new Amd process because Amd will
2073	get confused if someone else waitpid's on its children (which
2074	often do important un/mount work).  Issue reported by Francis
2075	Montagnac <Francis.Montagnac at sophia.inria.fr>.
2076
2077	* minor new ports: powerpc64-unknown-linux-rhel4, and
2078	powerpc64-unknown-linux-sles9.
2079
20802005-05-01  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2081
2082	* amd/amfs_host.c (amfs_host_umount): We do not want to pass
2083	ENOENT as an error because if the directory does not exists our
2084	work is done anyway.
2085
2086	* conf/umount/umount_linux.c (umount_fs): If we are successful or
2087	there was an ENOENT, remove the mount entry from the mtab file.
2088
20892005-05-01  Ion Badulescu  <ionut@moisil.badula.org>
2090
2091	* amd/nfs_subr.c: am_fh definition moved here from amd.h;
2092	restructured to better reflect its duality (old/new filehandles)
2093	(fh_to_mp3): fhh_gen is always used, even for new style f/h
2094	(mp_to_fh): ditto
2095
2096	* amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
2097	only place where it's used)
2098
20992005-04-30  Erez Zadok  <ezk@cs.sunysb.edu>
2100
2101	* m4/macros/host_macros.m4: use sw_vers on Apple machines to find
2102	out more appropriate OS name (macosx) and OS version (10.3.x) than
2103	uname(3) reports.
2104
21052005-04-29  Erez Zadok  <ezk@cs.sunysb.edu>
2106
2107	* config.guess, config.sub, doc/texinfo.tex: updates from latest
2108	official GNU distributions.
2109
2110	* m4/macros/host_macros.m4: for macosx, change architecture value
2111	from "Power Macintosh" to "powerpc".
2112
2113	* libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
2114	int (it's a size_t).
2115
21162005-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
2117
2118	* scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
2119	Parameter), scripts/amd.conf-sample: document new
2120	normalize_slashes global configuration parameter.
2121
2122	* amd/opts.c (deslashify, normalize_slash): don't touch trailing
2123	slashes, even if multiples of them, if user said
2124	normalize_slashes=no in amd.conf.
2125
2126	* amd/conf.c (gopt_normalize_slashes): new function to record if
2127	to normalize slashes or not.
2128
2129	* amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
2130	normalize double-slashes or not ("yes" by default).
2131
2132	* amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
2133	This is the parent mntfs which does the mf->mf_fo
2134	(am_opts type), and we're passing TRUE here to tell mf_mounted to
2135	actually free the am_opts.
2136
2137	* amd/autil.c (mf_mounted): Be careful when calling free_ops and
2138	XFREE here.  Some pseudo file systems like nfsx call this
2139	function, even though it would be called by the lower-level amd
2140	file system functions.  nfsx needs to call this function because
2141	of the other actions it takes.  So we pass a boolean from the
2142	caller (yes, not so clean workaround) to determine if we should
2143	free or not.  If we're not freeing (often because we're called
2144	from a callback function), then just to be sure, we'll zero out
2145	the am_opts structure and set the pointer to NULL.  The parent
2146	mntfs node owns this memory and is going to free it with a call to
2147	mf_mounted(mntfs,TRUE).
2148
2149	* amd/amd.h: pass flag to mf_mounted, to free or not to free the
2150	am_opts.
2151
2152	* amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
2153	tell it not to free the am_opts, to avoid double free.
2154
2155	* include/am_defs.h: include limits.h if found.
2156
2157	* configure.in: check for limits.h.  Check for certain Linux
2158	headers such as auto_fs.h after checking for limits.h, and include
2159	the latter if it exists, because some Linux headers depend on
2160	limits.h.  This prevents warnings during configure time.
2161
21622005-04-12  Erez Zadok  <ezk@cs.sunysb.edu>
2163
2164	* amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
2165	values from default global UDP settings, because it can cause
2166	unexpected timeouts in Amd on slow systems.  The default that each
2167	OS provides for these toplvl NFS mounts should be OK, or else you
2168	can use the map_options entry.
2169
21702005-04-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2171
2172	* amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
2173	source buffer is treated more as a filehandle than a string.
2174
2175	* amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
2176	source buffer is treated more as a filehandle than a string.
2177
2178	* amd/opts.c (free_op): No longer need to assign pointer to NULL
2179	after XFREE.
2180
2181	* amd/opts.c (expand_op): Revert back to using strncpy() instead
2182	of xstrlcpy.  The code is correct and relies on the semantics of
2183	strncpy.
2184
2185	* libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
2186	of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
2187	truncate our concocted "hostname:/path" string prematurely if the
2188	nap->hostname field is ever less than 64 bytes long
2189	(MAXHOSTNAMELEN).
2190
2191	* libamu/util.c (xstrlcpy): Return immediately if len is 0 to
2192	avoid unnecessary work.  Log an error and return if len is less
2193	than 0.
2194
21952005-04-07  Erez Zadok  <ezk@cs.sunysb.edu>
2196
2197	* include/am_utils.h (XFREE): XFREE() should nullify the pointer
2198	even when compiling without debugging.  It's safer this way.
2199
2200	* libamu/xutil.c (am_set_hostname),
2201	hlfsd/stubs.c (nfsproc_lookup_2_svc),
2202	fsinfo/fsinfo.c (fsi_get_args),
2203	fixmount/fixmount.c (is_same_host, remove_mount, main),
2204	conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
2205	conf/mount/mount_svr4.c (mount_svr4),
2206	conf/mount/mount_linux.c (setup_loop_device),
2207	conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
2208	conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
2209	amd/opts.c (expand_op),
2210	amd/ops_nfs.c (mount_nfs_fh),
2211	amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
2212	amd/amfs_host.c (amfs_host_mount),
2213	amd/am_ops.c (merge_opts):
2214	use the new xstrlcpy instead of strncpy.
2215
2216	* conf/checkmount/checkmount_{default,svr4}.c
2217	(fixmount_check_mount): document why NOT to use xstrlcpy.
2218
2219	* libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
2220	more, just MAXHOSTNAMELEN.
2221
2222	* libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
2223	recursion, since xstrlcpy may use plog).
2224
2225	* libamu/util.c (xstrlcpy): truncating a string is serious.  Use
2226	XLOG_ERROR not XLOG_WARNING.
2227
22282005-04-06  Erez Zadok  <ezk@cs.sunysb.edu>
2229
2230	* include/am_utils.h: external definition for new xstrlcpy
2231	function.
2232
2233	* libamu/util.c (xstrlcpy): new function.  Similar to strncpy, but
2234	uses strlcpy to guarantee that the resulting string is null
2235	terminated, and also warn if the resulting string was truncated.
2236
2237	* libamu/xutil.c (get_server_pid): move this function from util.c
2238	which is for general-purpose utilities.
2239
2240	* m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
2241
2242	* include/am_defs.h: provide extern definition for strlcpy, if
2243	needed.
2244
2245	* libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
2246
2247	* configure.in: search for strlcpy and its extern.
2248
2249	* amq/pawd.c (find_mt): It only handles *some* filesystem types,
2250	so it breaks on direct xfs mounts for example.  The fix (from
2251	Christos Zoulas) is simple: We need to exclude toplvl to avoid
2252	infinite recursion, but all other fs's are game.
2253
22542005-03-31  Erez Zadok  <ezk@cs.sunysb.edu>
2255
2256	* amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
2257	copying exactly len bytes, so add null just to be safe.
2258
22592005-03-30  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2260
2261	* amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
2262	to make sure it null terminates.
2263
22642005-03-29  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2265
2266	* amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
2267	the memset can be removed because strncpy() should padd the
2268	buffer with NULLs anyway.
2269
22702005-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2271
2272	* include/am_defs.h: Clarify comment.
2273
22742005-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
2275
2276	* include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
2277	won't complain about a conflict for this definition between
2278	<rpcsvc/nis.h> and <sys/acl.h>.
2279
22802005-03-20  Erez Zadok  <ezk@cs.sunysb.edu>
2281
2282	* amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
2283
2284	* libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
2285	%lx.
2286
22872005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2288
2289	*******************************************************************
2290	*** Released am-utils-6.1-rc1					***
2291	*******************************************************************
2292
22932005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2294
2295	* conf/transp/transp_tli.c (get_nfs_version): use proper type for
2296	versout on Solaris (rpcvcers_t).
2297
2298	* amd/mapc.c (mapc_showtypes): if last map type to print, don't
2299	append newline or comma to it.
2300
2301	* libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
2302	to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
2303	casting it to an int (size is different).
2304
2305	* configure.in, NEWS: prepare for 6.1-rc1 release.
2306
23072005-03-17  Erez Zadok  <ezk@cs.sunysb.edu>
2308
2309	* scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
2310	<adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
2311	the ldap.schema expects.
2312
2313	* amd/map.c (exported_ap_free): We're using a free-list data
2314	structure and re-using malloc'ed objects.  So, to be safe, memset
2315	entire structure when it's freed, not just the pointer.
2316	(umount_exported): bug fix to on-exit code.  Don't run
2317	am_unmounted() unless unmount_mp() didn't run, since the latter
2318	already calls am_unmounted().  This way we avoid a double-free
2319	bug.
2320
23212005-03-15  Erez Zadok  <ezk@cs.sunysb.edu>
2322
2323	* tasks: updates.  Executable maps is supported.  NFSv4 and
2324	FreeBSD autofs isn't.
2325
2326	* Makefile.am (EXTRA_DIST): include FAQ in distro.
2327
2328	* doc/Makefile.am (alldocs): install README.lda and README.osx.
2329
2330	* FAQ: new file, better late than never.
2331
23322005-03-14  Erez Zadok  <ezk@cs.sunysb.edu>
2333
2334	* scripts/amd2ldif.in: patch to add the amdMapName attribute to
2335	the amdMapTimestamp object when amd2ldif converts it.  This is
2336	necessary if you are using type:=auto mounts and want those
2337	mountmaps looked up through LDAP.  Patch from Jim Zajkowski
2338	<jim.zajkowski@gmail.com>.
2339
23402005-03-12  Erez Zadok  <ezk@cs.sunysb.edu>
2341
2342	* minor new ports: i386-pc-linux-rhel4.
2343
2344	* minor new ports: powerpc-apple-darwin7.8.0.
2345
23462005-03-10  Erez Zadok  <ezk@cs.sunysb.edu>
2347
2348	* amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
2349	cleaner.
2350
2351	* ltmain.sh: upgrade from libtool-1.5.6.
2352
2353	* m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
2354	Linux 2.6 kernel modules, which have a .ko extension, not .o.  Now
2355	we can properly detect which file systems exist on Linux 2.6 based
2356	systems (SLES9, RHEL4, Fedora, etc.).
2357
23582005-03-09  Erez Zadok  <ezk@cs.sunysb.edu>
2359
2360	* m4/macros/host_macros.m4: find out what's the OS software
2361	distribution name, if any.
2362
2363	* m4/macros/header_templates.m4: template for DISTRO_NAME.
2364
2365	* amd/get_args.c (get_version_string): print again full_os, os,
2366	osver, and vendor (bug fix).
2367	(get_version_string): print distribution name, if known (e.g.,
2368	rh9, suse8, etc.).
2369
2370	* amd/mapc.c (mapc_showtypes): wrap around list of supported map.
2371
23722005-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
2373
2374	* amd/map.c (umount_exported): when unmounting file systems on
2375	exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
2376	instead of unmount_node() because the latter always unmounts in
2377	the foreground, whereas the former unmounts in the bg/fg as
2378	needed.  Unmounting always in the foreground has two problems: (1)
2379	if the unmount hangs, amd hangs, and (2) for type:=program, the
2380	unmount script is execve'd(!) thus replacing the main amd process,
2381	which never gets to finish up, leaving the amd mount points hung.
2382
2383	* NEWS: mention new feature of executable maps.
2384
2385	* AUTHORS: Acknowledge Erik Kline.
2386
2387	* scripts/amd.conf.5: document executable maps and
2388	exec_map_timeout parameter.
2389
2390	* scripts/amd.conf-sample: examples of an executable map and
2391	exec_map_timeout.
2392
2393	* m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
2394
2395	* doc/am-utils.texi: document Executable maps and exec_map_timeout
2396	parameter.
2397
2398	* amd/conf.c (gopt_exec_map_timeout): function to parse
2399	exec_map_timeout [global] parameter.
2400
2401	* amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
2402	timeout to 10 seconds, and a global placeholder for the
2403	configurable value.
2404
2405	* amd/amd.c (init_global_options): initialize default executable
2406	map timeout.
2407
2408	* amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
2409	tarball.
2410
2411	* configure.in: enable executable maps.
2412
2413	* amd/mapc.c: define executable map functions and behavior.
2414
2415	* amd/info_exec.c: executable map implementation from Erik Kline
2416	<ekline at ekline dot com>, modified, cleaned-up, and fixed.
2417
24182005-03-07  Erez Zadok  <ezk@cs.sunysb.edu>
2419
2420	* amd/info_file.c (file_init_or_mtime): consolidate identical
2421	file_init and file_mtime into one function.
2422
24232005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2424
2425	* doc/am-utils.texi (Program Filesystem): if umount/unmount are
2426	not specified, Amd uses "umount ${fs}" by default.
2427
2428	* amd/amfs_program.c (amfs_program_match): if neither unmount nor
2429	umount parameters are specified, use the default userland umount
2430	program with "umount ${fs}".  This way type:=program doesn't have
2431	to specify the umount program for basic unmounting actions.
2432	(amfs_program_init): save unmount program string in mf_private
2433	only if it's NULL, not based on mf_refc.
2434
2435	* configure.in: auto-detect name of userland unmount program.
2436
2437	* aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
2438	unmount program.
2439
2440	* amd/ops_cachefs.c (cachefs_init): save unmount program string in
2441	mf_private only if it's NULL, not based on mf_refc.
2442
2443	* configure.in: don't "discover" inheritance file system any more,
2444	since we don't have the .c file for it.
2445
2446	* amd/get_args.c (get_version_string): hack to still show that we
2447	support the inherit file system in output of amd -v.
2448
24492005-03-05  Ion Badulescu  <ionut@moisil.badula.org>
2450
2451	* amd/amfs_inherit.c: removed, dead code
2452
2453	* amd/Makefile.am,
2454	amd/am_ops.c,
2455	amd/amd.h,
2456	conf/autofs/autofs_linux.h,
2457	conf/autofs/autofs_solaris_v1.h,
2458	conf/autofs/autofs_solaris_v2_v3.h,
2459	m4/macros/header_templates.m4: removed references to amfs_inherit.c
2460
24612005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2462
2463	* amd/autil.c (am_mounted): completely rewrite the unmount
2464	no/timeout code to (1) make more sense for odd conditions, and (2)
2465	allow utimeout=N mount options to override FS_NOTIMEOUT default
2466	flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
2467
2468	* libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
2469
2470	* conf/umount/umount_linux.c (umount_fs): strtok is destructive,
2471	so use strdup'ed string.
2472
2473	* conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
2474	use strdup'ed string.
2475
24762005-03-04  Erez Zadok  <ezk@cs.sunysb.edu>
2477
2478	* scripts/amd.conf.5, doc/am-utils.texi (cache_duration
2479	Parameter): clarify actual behavior: this Parameter affects
2480	initial mount timeout as well as the linear backoff what happens
2481	the initial failed EBUSY unmount.
2482
2483	* doc/am-utils.texi (opts Option): better explanation of
2484	utimeout=N mount pseudo-option.
2485
2486	* amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
2487
24882005-03-02  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2489
2490	* AUTHORS: add Dan Ottavio.
2491
2492	* scripts/amd.conf.5: document new debug_mtab_file option.
2493
2494	* scripts/amd.conf-sample (debug_mtab_file): show example.
2495
2496	* doc/am-utils.texi (debug_mtab_file Parameter): document new
2497	option.
2498
2499	* conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
2500	doesn't exist by the time Amd tries to exist, return a 0 rather
2501	than hang indefinitely.
2502
2503	* amd/conf.c (gopt_debug_mtab_file): new function to parse
2504	debug_mtab_file option.
2505
2506	* amd/amd.h: placeholder for debug_mtab_file string.
2507	Define default debug_mtab_file to "/tmp/mtab".
2508
2509	* NEWS: document new debug_mtab_file option.
2510
25112005-03-02  Erez Zadok  <ezk@cs.sunysb.edu>
2512
2513	* conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
2514	users want Amd's NFS service to bind to some arbitrary "localhost"
2515	address, show which address was actually resolved and bound to.
2516
25172005-03-01  Erez Zadok  <ezk@cs.sunysb.edu>
2518
2519	* amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
2520	(update_nfs_pingval) that initializes the pinger, as well as turns
2521	it on/off as needed, and handles changing its value.  This is to
2522	avoid races and other infinite-loop conditions that could result
2523	in ping storms.
2524
2525	* amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
2526	new file server structure, default the ping value to AM_PINGER
2527	(30sec) and set the FSF_PING_UNINIT flag.
2528
2529	* amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
2530	pinger had been initialized for a given file server.
2531
2532	* scripts/ctl-amd.in (stop): no need to check if
2533	/var/lock/subsys/amd file exists if you do an rm -f afterward.
2534	Ensure that proper return value is returned from script.
2535
2536	* NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
2537	so that if N=-1, pings are off; if N=0, pings are set to the
2538	default value (currently 30 seconds).
2539
25402005-02-28  Erez Zadok  <ezk@cs.sunysb.edu>
2541
2542	* amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
2543	__rpc_get_local_uid to verify if the RPC call through the
2544	local host interface came from UID 0.
2545
2546	* configure.in: look for internal libnsl function
2547	__rpc_get_local_uid (seems to be available on all known TLI
2548	systems, Solaris and HP-UX 11).
2549
2550	* conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
2551	function for TLI systems (and it violated a array's bounds,
2552	discovered with libumem.so).
2553	(bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
2554	just to be on the safe side, set struct t_bind's qlen field to non
2555	zero (64 by default).  This value cannot be zero for TCP
2556	connections, and it's unclear if it's good to have it zero for UDP
2557	connections, so setting it to 64 is safer.
2558
25592005-02-27  Erez Zadok  <ezk@cs.sunysb.edu>
2560
2561	* doc/am-utils.texi (opts Option, Keep-alives): update text on
2562	ping option.
2563
2564	* amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
2565	server ping values, turn them off, or re-enable them.
2566	(find_nfs_srvr): call update_nfs_pingval() as needed.
2567
2568	* hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
2569	handler, but use _exit(2) instead.
2570
2571	* amd/amd.c (parent_exit): This signal handler is called during
2572	Amd initialization.  The parent forks a child to do all the hard
2573	automounting work, and waits for a SIGQUIT signal from the child.
2574	When the parent gets the signal it's supposed to call this handler
2575	and exit(3), thus completing the daemonizing process.  Alas, on
2576	some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
2577	always terminate the parent process.  Worse, the parent process
2578	now refuses to accept any more SIGQUIT signals -- they are
2579	blocked.  What's really annoying is that this doesn't happen all
2580	the time, suggesting a race condition somewhere.
2581	(This happens even if I change the logic to use another signal.)
2582	I traced this to something which exit(3) does in addition to
2583	exiting the process, probably some atexit() stuff or other
2584	side-effects related to signal handling.  Either way, since at
2585	this stage the parent process just needs to terminate, I'm simply
2586	calling _exit(2).  Note also that the OpenGroup doesn't list
2587	exit(3) as a recommended "Base Interface" but they do list
2588	_exit(2) as one.  This fix seems to work reliably all the time.
2589
2590	* scripts/wait4amd2die.in: change default to recognize that amd is
2591	down more quickly (check every 3 seconds instead of 5).
2592
25932005-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
2594
2595	* libamu/xutil.c (amu_release_controlling_tty): warn if closing
2596	stdin/stdout/stderr failed.  No need for tempfd.
2597
2598	* scripts/ctl-{amd,hlfsd}.in: before running any real program in
2599	these shell scripts, chdir to "/" to avoid possible hangs with
2600	existing NFS mounts.  This was causing ctl-amd's forked
2601	grand-child amd process to hang if restartable_mounts=no.  Go
2602	figure.
2603
26042005-02-25  Erez Zadok  <ezk@cs.sunysb.edu>
2605
2606	* minor new port ia64-unknown-linux-rhel4
2607
2608	* fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
2609	(RHEL4 gcc 3.4.3 ia64 compiler complains).
2610
26112005-02-24  Erez Zadok  <ezk@cs.sunysb.edu>
2612
2613	* minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
2614
26152005-02-23  Erez Zadok  <ezk@cs.sunysb.edu>
2616
2617	* minor new port: i386-pc-linux-rhel3.
2618
2619	* INSTALL: major update of the compatibility list.
2620
2621	* m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
2622
26232005-02-22  Erez Zadok  <ezk@cs.sunysb.edu>
2624
2625	* scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
2626	document new preferred_amq_port [global] option.
2627
2628	* scripts/amd.conf-sample (preferred_amq_port): example.
2629
2630	* include/am_utils.h: add preferred_amq_port to prototype.
2631
2632	* conf/transp/transp_tli.c (bind_preferred_amq_port): new function
2633	to bind the Amq RPC service for UDP and TCP to a preferred port
2634	(or to any port if preferred_amq_port==0).
2635	(create_amq_service): decide if to bind to RPC_ANYFD, or to a
2636	requested port.
2637
2638	* conf/transp/transp_sockets.c (create_amq_service): if
2639	preferred_amq_port is greater than 0, then bind to that port for
2640	both UDP and TCP.  If preferred_amq_port==0, then bind to any
2641	port.
2642
2643	* amd/nfs_start.c (mount_automounter): pass global
2644	preferred_amq_port value to create_amq_service().
2645
2646	* amd/conf.c (gopt_preferred_amq_port): new function to parse
2647	amd.conf value for preferred_amq_port.
2648
2649	* amd/amd.h: placeholder for preferred_amq_port.
2650
26512005-02-21  Erez Zadok  <ezk@cs.sunysb.edu>
2652
2653	* conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
2654	bindnfs_port to a more proper name.  This function binds the NFS
2655	service to a specified port, and only for UDP.
2656
2657	* conf/transp/transp_tli.c: cleanup some code, rename some
2658	functions, in preparation for RPC amq port specification code.
2659
26602005-02-19  Erez Zadok  <ezk@cs.sunysb.edu>
2661
2662	* */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
2663	reserved for users to pass them on the command line.  Instead, use
2664	autoconf's internal AM_CFLAGS and AM_LDFLAGS.
2665
2666	* depcomp, install-sh, missing, mkinstalldirs: update from latest
2667	versions of Automake 1.9.2.
2668
2669	* m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
2670	regexp/patsubst M4 commands.  Newer versions of autoconf (e.g.,
2671	v2.59) complain about those.
2672
26732005-02-17  Erez Zadok  <ezk@cs.sunysb.edu>
2674
2675	* amd/opts.c (f_xhost): if we don't have hstrerror, just print the
2676	value of h_errno.
2677
2678	* configure.in: include -lresolv if it defines the hstrerror()
2679	function and not already available in existing libraries.
2680
2681	* minor new port: powerpc-apple-darwin7.7.0.
2682
2683	* amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
2684	later compared against an unsigned quantity (complaint from gcc
2685	3.3 on SuSE 8.2)
2686
2687	* include/am_utils.h: remove unnecessary (and conflicting) extern
2688	for bind_resv_port2(), which is declared as static in
2689	transp_tli.c.
2690
2691	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
2692	NEWS: document four new amd.conf options: nfs_retry_interval_udp,
2693	nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
2694	nfs_retransmit_counter_tcp.
2695
2696	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
2697	wether nfs_proto was "udp" or "tcp".
2698
2699	* amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
2700	from default UDP settings (because toplvl mounts are UDP for now).
2701
2702	* amd/get_args.c (get_args): use parameters to -t option to set
2703	both UDP and TCP timeo/retrans values.
2704
2705	* amd/conf.c: (gopt_nfs_retransmit_counter_udp,
2706	(gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
2707	(gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
2708	retrans/timeo parameters separately.
2709	(gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
2710	specified, use it to set defaults for both UDP and TCP.
2711
2712	* amd/amd.c (init_global_options): initialize default values of
2713	both UDP and TCP retrans/timeo values to -1.
2714
2715	* amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
2716	timeo values, one for udp mounts and another for tcp mounts.
2717
27182005-02-16  Erez Zadok  <ezk@cs.sunysb.edu>
2719
2720	* README.osx: new file with some instructions for Mac OS-X users,
2721	courtesy Kevin Layer.
2722
2723	* amd/get_args.c (get_args): move call to switch_to_logfile()
2724	after processing -v, so we don't print "no logfile defined; using
2725	stderr" when we're about to print version info and exit anyway.
2726
2727	* minor new port: powerpc-ibm-aix5.3.0.0.
2728
2729	* hlfsd/hlfsd.c (main): rewrite code to avoid negative array
2730	references.
2731
2732	* conf/checkmount/checkmount_aix.c: remove extern definition for
2733	mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
2734
2735	* amd/info_union.c (union_reload): rewrite code to avoid negative
2736	array references.
2737
2738	* amd/opts.c (split_opts, expand_op): rewrite code to avoid
2739	negative array references.
2740
2741	* conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
2742	since AIX 5.3 has it in <sys/vmount.h>.
2743
2744	* libamu/xutil.c (real_plog): rewrite code to avoid negative array
2745	references.
2746
2747	* libamu/wire.c (is_network_member): rearrange code slightly to
2748	avoid negative array references (AIX 5.3 xlC 7.0 compiler
2749	complains about it).
2750
27512005-01-26  Erez Zadok  <ezk@cs.sunysb.edu>
2752
2753	* doc/am-utils.texi (xhost Selector Function): document new
2754	selector function.
2755
2756	* amd/opts.c (f_xhost): new function for use when matching the
2757	"host" selector for the current host's name.  This function will
2758	now match the primary host name as well as all known aliases
2759	(CNAMES) that gethostbyname() returns.  This function now supports
2760	a new function selector called xhost(ARG); the old host==ARG
2761	selector is unharmed.
2762
27632005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2764
2765	* NEWS: document the ability to restart old mount points
2766
2767	* amd/map.c (mount_auto_node): force the fileid of the
2768	root to be 1, so that it won't change between restarts; use the
2769	root filesystem's own methods instead of hard-coding the use of
2770	the default methods
2771
2772	* conf/transp/transp_tli.c (create_nfs_service): better cleanup on
2773	error conditions.
2774	(bind_resv_port2): allow the caller to request a certain port.
2775
2776	* conf/transp/transp_sockets.c (bind_resv_port): allow the caller
2777	to request a certain port.
2778	(create_nfs_service): better cleanup on error conditions.
2779
2780	* amd/restart.c (restart_automounter_nodes): new function, takes
2781	care of restarting automounter NFS mount points (autofs will come
2782	later).
2783	(restart): skip all automounter mount points.
2784
2785	* amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
2786	implementation: if the path to the node is shorter than sizeof(fh)
2787	chars (currently 32 chars for a NFSv2 fh), simply store it inside
2788	the fh. For longer paths, keep the old implementation.
2789
2790	* amd/nfs_start.c (mount_automounter): reorder things so that
2791	restarting the toplvl filesystems occurs before anything else (so
2792	that we can grab all the ports we need before we accidentally use
2793	them for something else).
2794
2795	* amd/mntfs.c (locate_mntfs): remove dead code; add special
2796	handling of restarted toplvl filesystems.
2797
2798	* amd/mapc.c (root_keyiter): fix up a comment.
2799
2800	* amd/map.c (path_to_exported_ap): new function, searches for and
2801	returns a node by the path to it.
2802	(get_root_nfs_fh): remove unnecessary fiddling with the root fh.
2803
2804	* config.guess.long: support Red Hat Enterprise Linux
2805
28062005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2807
2808	* libamu/util.c (rmdirs): prevent amd from logging 'Read-only
2809	filesystem' errors when the mount point has an ancestor (i.e. '/')
2810	that is mounted read-only.  Patch from David Rage <rage@ucl.ac.uk>.
2811
28122005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2813
2814	* conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
2815	autofs space hack
2816
2817	* conf/umount/umount_default.c (umount_fs): there is no need for
2818	HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
2819
28202005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2821
2822	* doc/am-utils.texi (Automatic Unmounting): document new umount2()
2823	behavior on Linux.
2824
2825	* conf/umount/umount_linux.c (umount_fs): new file.  On Linux, if
2826	umount(2) failed with EIO or ESTALE, try umount2(2) with
2827	MNT_FORCE+MNT_DETACH.  Based on patch from Christos Zoulas
2828	<christos@zoulas.com>.
2829
2830	* m4/macros/check_umount_style.m4: pick new linux umount style.
2831
2832	* Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
2833	file.
2834
28352005-01-16  Erez Zadok  <ezk@cs.sunysb.edu>
2836
2837	* conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
2838	m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
2839	of "nfs_args" test.
2840
28412005-01-13  Erez Zadok  <ezk@cs.sunysb.edu>
2842
2843	* amd/get_args.c (show_usage): separate function to print usage
2844	string.
2845	(get_args) Call show_usage() from get_args when needed, then exit.
2846
2847	* amd/get_args.c (get_version_string): print also domain, host,
2848	and hostd.
2849	(get_args): print version string at the very end, after all other
2850	values had been initialized.  Patch from Christos Zoulas
2851	<christos@zoulas.com>.
2852
2853	* conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
2854	conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
2855	in timeouts in the RPC code between socket and TLI
2856	implementations.  The clntudp_create timeout has a different
2857	meaning than the clnt_call timeout.  Set the timeout of the create
2858	to 2 seconds which means retry if no answer in two seconds, and
2859	the timeout call to 6 seconds, which will give us consistently 2
2860	to 3 pings.  This is useful on occasional network UDP loss where a
2861	single packet loss would wrongfully mark a server down.  (The TLI
2862	code is the one that had the problem occurs.)  Patch from Christos
2863	Zoulas <christos@zoulas.com>.
2864
2865	* libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
2866	compiles even for systems that don't have the nfs_args
2867	ac{reg,dir}{min,max} fields.
2868
2869	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
2870	add "noac" if amd.conf option auto_attrcache was set to 0.  This
2871	should hopefully make the compute_nfs_attrcache_flags patch even
2872	safer.
2873
2874	* libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
2875	function to compute attribute-cache values.  This function now
2876	computes attribute-cache flags for BOTH Amd's automount points
2877	(NFS) as well as any normal NFS mount that Amd performs.
2878	(compute_nfs_args, compute_automounter_nfs_args): call
2879	compute_nfs_attrcache_flags to figure out attribute-cache related
2880	flags.  Patch from Christos Zoulas <christos@zoulas.com>.
2881
2882	* scripts/amd.conf-sample: show examples of new global options
2883	domain_strip and auto_attrcache.
2884
2885	* scripts/amd.conf.5: document new global options domain_strip and
2886	auto_attrcache.  Add warning to auto_attrcache use in case of
2887	ESTALE.
2888
2889	* doc/am-utils.texi: minor cleanups and document new global
2890	options domain_strip and auto_attrcache.  Add warning to
2891	auto_attrcache use in case of ESTALE.
2892
2893	* amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
2894	option auto_attrcache.
2895	(gopt_domain_strip): parse new global amd.conf option
2896	domain_strip.  Part of a patch from Christos Zoulas
2897	<christos@zoulas.com>.
2898
2899	* amd/autil.c (host_normalize): don't call domain_strip()
2900	unconditionally, but depend on the new global amd.conf flag
2901	domain_strip.
2902
2903	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
2904	set attribute cache timeout value given other configured global
2905	defaults.
2906	(amfs_toplvl_mount): set automount point attribute cache option
2907	value to "noac" if attrcache=0, else set it to whatever
2908	set_auto_attrcache_timeout() returns.
2909
2910	* amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
2911	if to strip the domain from the host name or not, default options
2912	set to strip the domain.
2913	Store global value of automount attribute cache timeout value.
2914
2915	* amd/amd.c (init_global_options): add flag to record automount
2916	point attribute cache value.
2917
2918	* amd/amd.c (do_memory_locking): new function to encapsulate all
2919	of the memory-locking functionality, which was in main() before.
2920	Also added a call to madvise(), just in case.
2921	(main): call do_memory_locking() to pin process memory if amd.conf
2922	asked for it, but do so after the main Amd process daemonizes,
2923	because mlock/mlockall is not inherited by fork() by default.
2924	Slightly restructured patch from Jonathan Chen
2925	<jon+amd@spock.org>.
2926
2927	* configure.in: check for madvise(2).
2928
2929	* config.guess, config.sub: updates for latest official GNU
2930	versions.
2931
2932	* m4/GNUmakefile: update paths to "make update"
2933
29342005-01-12  Erez Zadok  <ezk@cs.sunysb.edu>
2935
2936	* conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
2937	that's compatible for HPUX11 as well as NFSv3.
2938
2939	* include/am_defs.h: On AIX 5.2, both <resolv.h> and
2940	<arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
2941	-D_USE_IRS (so that we get extern definitions for hstrerror() and
2942	others).  So undef MAXDNAME before it gets redefined.
2943
2944	* include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
2945	<sys/acl.h>, which is included in many other header files.
2946	<rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes.  So if you're
2947	unlucky enough to include both headers, you get a compile error
2948	because the two symbols conflict.  Temp hack: undefine acl.h's
2949	GROUP_OBJ before including nis.h, because we don't need acl.h for
2950	am-utils.
2951
2952	* m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
2953	certain extern definitions of resolver functions become available.
2954
2955	* amd/opts.c (expand_op): use #define for expand_error string
2956	because some compilers complain about the use of static const
2957	char[] inside a varargs function.
2958
2959	* minor new port i386-unknown-netbsdelf1.6.2.
2960
2961	* new port i386-unknown-netbsdelf2.0.
2962
2963	* minor port i386-unknown-freebsd5.3.
2964
2965	* libamu/mount_fs.c (compute_nfs_args): don't compare
2966	nap->maxgrouplist against NULL but against 0 directly, because on
2967	FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
2968	about a type mismatch.
2969
2970	* minor port i386-pc-linux-fc3 (Fedora Core 3).
2971
29722005-01-11  Erez Zadok  <ezk@cs.sunysb.edu>
2973
2974	* hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
2975	FC3 doesn't have proper extern definition for the defunct
2976	sigpause().
2977
2978	* configure.in: look for sigsuspend().
2979
29802005-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
2981
2982	* updated copyright year to 2005 on all files.
2983
29842004-11-29  Erez Zadok  <ezk@cs.sunysb.edu>
2985
2986	* scripts/amd.conf.5: Small fixes to typos in man page, from
2987	Thomas Klausner <tk@giga.or.at>.
2988
29892004-10-22  Erez Zadok  <ezk@cs.sunysb.edu>
2990
2991	* ldap.schema: add this file to distribution.
2992
29932004-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
2994
2995	* doc/am-utils.texi: fix old URLs.
2996
29972004-09-01  Erez Zadok  <ezk@cs.sunysb.edu>
2998
2999	* conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
3000	multiple calls to mntctl().  Patch suggested by Michael van Elst
3001	<M.van.Elst@science-computing.de>.
3002
30032004-08-07  Erez Zadok  <ezk@cs.sunysb.edu>
3004
3005	* doc/am-utils.texi (Program Filesystem): document how to get
3006	double slashes in Amd maps.
3007
3008	* amd/opts.c (normalize_slash): support escaped slashes, needed
3009	for SMB mounts.  Use '\\\/\\\/' in a string to get a double slash.
3010
30112004-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
3012
3013	* amd/amfs_program.c (amfs_program_match): bug fix.  Complain if
3014	both opt_unmount and opt_umount are missing, not when just one of
3015	them is missing.
3016
30172004-08-03  Erez Zadok  <ezk@cs.sunysb.edu>
3018
3019	* amq/pawd.c (find_mt): recognize "linkx" type mounts.  Patch from
3020	Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>.  Support "nfsx" while
3021	we're at it.
3022
3023	* doc/am-utils.texi: mention bugzilla.  Fix broken URL HREF's.
3024
30252004-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
3026
3027	* amq/pawd.c (find_mt): recognize "host" type mounts.  Patch from
3028	Dan Nelson <dnelson@allantgroup.com>.
3029
30302004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3031
3032	* doc/am-utils.texi, NEWS: minor typos fixed.
3033
30342004-07-30  Erez Zadok  <ezk@play.cs.columbia.edu>
3035
3036	* include/am_xdr_func.h: cannot have field-less structure; put a
3037	dummy field in.
3038
3039	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
3040	2nd arg of xdr_u_int to a u_int*, not int*.
3041	(autofs_mount_2_req): don't use C++ // comments.
3042
30432004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3044
3045	* m4/macros/{try_compile_anyfs,check_field}.m4: include
3046	<fs/msdosfs/msdosfsmount.h> if it exists.  Part of a set of
3047	FreeBSD 5 patches from Martin Blapp <mb@imp.ch>.
3048
3049	* include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
3050	exists.
3051
3052	* amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
3053	0777 by default.
3054
3055	* configure.in: check for pcfs_args_t.dirmask field.  Check for
3056	existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
3057
30582004-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
3059
3060	* minor new port: i386-pc-linux-fc2 (Fedora Core 2).
3061
3062	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
3063	unless the function exists in libldap and the extern is in
3064	<ldap.h>.  Recently, openldap removed the extern from ldap.h, but
3065	left the function in libldap, for binary compatibility; however
3066	ldap_enable_cache and related functions have been deprecated (and
3067	no longer listed in the header files), and therefore should be
3068	avoided.
3069
3070	* m4/macros/check_extern_ldap.m4: new macro to check for
3071	LDAP-specific externs.  This is separate from check_extern.m4 so
3072	as to avoid breaking the general-purpose macro with LDAP-specific
3073	headers.
3074
3075	* m4/macros/header_templates.m4: extern template for new
3076	HAVE_EXTERN_LDAP_ENABLE_CACHE.
3077
3078	* configure.in: call new check_extern_ldap.m4 macro.
3079
3080	* Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
3081	macro.
3082
3083	* config.guess.long: distinguish between redhat and fedora-core
3084	releases.
3085
30862004-07-23  Erez Zadok  <ezk@cs.sunysb.edu>
3087
3088	* Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
3089	8.2.  This systems' latest GCC (gcc version 3.3 20030226
3090	prerelease) correctly caught a lot of possibly bad comparisons
3091	between signed and unsigned quantities.
3092
3093	* hlfsd/homedir.c (table_add, plt_search): changed first arg of
3094	both functions to u_int.
3095
3096	* hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
3097	Changed proto for plt_search arg to u_int.
3098
3099	* amq/amq.c (show_mi, main): change 'i' to u_int.
3100
3101	* amq/pawd.c (find_mlp): change 'i' to u_int.
3102
3103	* amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
3104	u_int.
3105
3106	* amd/amd.h: change prototype of vreaddir and amfs_error_readdir
3107	to use u_int count parameter.
3108
3109	* amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
3110	(amfs_error_readdir): change 'count' parameter in proto to u_int.
3111
3112	* amd/amd.h: change proto of amfs_generic_readdir() to use u_int
3113	count parameter.
3114
3115	* amd/readdir.c (make_entry_chain): preflen should be u_int.
3116	(amfs_readdir_browsable): change 'count' to u_int.
3117	(amfs_generic_readdir): change 'count' to u_int.
3118
3119	* amd/amd.h: amu_global_options's portmap_program field should be
3120	u_long, not int (to match RPC conventions).  Change am_fh's
3121	fhh_gen field to u_int, to match am_gen field in struct am_node.
3122
3123	* amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
3124	to avoid size differences.
3125
3126	* conf/mount/mount_linux.c (find_unused_loop_device): cast to int
3127	to avoid comparison between chars and integers.
3128
3129	* libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
3130	comparisons between signed and unsigned integers.
3131
31322004-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
3133
3134	* minor new port: i386-pc-linux-suse9.1.
3135
3136	* include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
3137	because SuSE wants __kernel_old_dev_t.  Instead, just define it
3138	directly to what they both use: an unsigned short.
3139
31402004-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
3141
3142	* minor new port: i386-unknown-freebsd4.10
3143
31442004-04-29  Ion Badulescu  <ionut@moisil.badula.org>
3145
3146	* amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
3147	mountpoints for autofs-based sublinks the right way
3148
31492004-04-28  Ion Badulescu  <ionut@moisil.badula.org>
3150
3151	Fixes for various memory management problems discovered by
3152	Rainer's purify run:
3153
3154	* conf/transp/transp_tli.c (check_pmap_up): zero out struct
3155	timeval before using;
3156	(get_nfs_version): ditto
3157
3158	* amd/map.c (umount_exported): make sure we don't try to free the
3159	same am_node multiple times, by setting its corresponding
3160	exported_ap slot to null
3161
3162	* amd/get_args.c (get_version_string): a static pointer is pretty
3163	pointless, make it automatic
3164
3165	* amd/conf.c (gopt_debug_options): remove unnecessary strdup();
3166	(gopt_log_options): ditto
3167	(gopt_print_version): free version string after using it
3168
3169	* amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
3170	it
3171
3172	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
3173	(amfs_lookup_mntfs): free def_opts on return
3174
3175	* amd/amd.c (daemon_mode): zero out struct sigaction before using
3176	it;
3177	(main): ditto
3178
31792004-04-27  Ion Badulescu  <ionut@moisil.badula.org>
3180
3181	* amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
3182	the real mount of an autofs-based sublink
3183
31842004-04-25  Ion Badulescu  <ionut@moisil.badula.org>
3185
3186	* amd/map.c (free_map_if_success): avoid dereferencing a pointer
3187	to potentially freed memory
3188
31892004-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
3190
3191	* minor new port: i386-unknown-freebsd5.2.1.
3192
31932004-01-30  Ion Badulescu  <ion@guppy.limebrokerage.com>
3194
3195	* scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
3196
31972004-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
3198
3199	* minor new port: sparc64-unknown-linux-deb3.0
3200
3201	* config.guess.long: recoognize Debian Linux.
3202
32032004-01-22  Erez Zadok  <ezk@cs.sunysb.edu>
3204
3205	* conf/transp/transp_tli.c (amu_get_myaddress): use
3206	htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
3207	available.
3208
32092004-01-21  Erez Zadok  <ezk@cs.sunysb.edu>
3210
3211	* wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
3212	parameter to amu_get_myaddress().
3213
3214	* conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
3215	localhost_address amd.conf parameter, if defined (else default to
3216	HOST_SELF_CONNECT).
3217	Removed htonl() around socket address copying (I think it was
3218	wrong) since plog("My IP address is...") in amd.c was printing
3219	addresses wrong on Solaris x86..
3220
3221	* conf/transp/transp_sockets.c (amu_get_myaddress): comment out
3222	old DEBUG code that warns if 127.0.0.1 isn't the same as what
3223	get_myaddress() reports.  Add code to resolve value of
3224	localhost_address amd.conf parameter, if defined (else default to
3225	127.0.0.1).
3226
3227	* amd/conf.c (gopt_localhost_address): new function to parse
3228	amd.conf parameter localhost_address.
3229
3230	* amd/amd.h: global field to store amd.conf localhost_address
3231	parameter.
3232
3233	* amd/amd.c (main): call amu_get_myaddress with global option,
3234	which could have been set in amd.conf.
3235
3236	* NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
3237	scripts/amd.conf.5: document new option localhost_address.
3238
32392004-01-20  Ion Badulescu  <ionut@moisil.badula.org>
3240
3241	* amd/conf.c (gopt_nfs_allow_insecure_port): support function for
3242	the new "nfs_allow_insecure_port" amd.conf directive
3243
3244	* amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
3245	port and drop the request only if the "nfs_allow_insecure_port"
3246	option is not set in amd.conf
3247
3248	* doc/am-utils.texi (Global Parameters): documented the new
3249	amd.conf directive "nfs_allow_insecure_port"
3250
3251	* scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
3252
3253	* scripts/amd.conf-sample (nfs_allow_insecure_port): added the
3254	"nfs_allow_insecure_port" directive
3255
32562004-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
3257
3258	* doc/am-utils.texi: amd-workers is defunct.
3259
32602004-01-19  Erez Zadok  <ezk@cs.sunysb.edu>
3261
3262	* cvs-server.txt: updated instructions
3263
32642004-01-18  Erez Zadok  <ezk@cs.sunysb.edu>
3265
3266	* minor new port: i386-unknown-freebsd5.2.
3267
32682004-01-05  Erez Zadok  <ezk@cs.sunysb.edu>
3269
3270	* MIRRORS.{txt,html}: verify each mirror site, update to new
3271	locations (if found), and remove stale mirrors URLs.
3272
3273	* updated copyright year to 2004 on all files.
3274
32752004-01-03  Erez Zadok  <ezk@cs.sunysb.edu>
3276
3277	* MIRRORS.txt: track status.
3278
3279	* Makefile.am (install-snapshot): new directory to install
3280	snapshots (now that am-utils home page is moved).
3281
32822004-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
3283
3284	* INSTALL, README.autofs: remove forced text-mode.
3285
3286	* doc/am-utils.texi: fix Amd book URL.
3287
3288	* Makefile.am (EXTRA_DIST): include new mirror files in tarball.
3289
3290	* AUTHORS, BUGS, README, README.y2k, configure.in,
3291	doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
3292	and mailing lists.
3293
3294	* MIRRORS.{html,txt}: updates.
3295
3296	* doc/Makefile.am: install mirror lists officially.
3297
32982004-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3299
3300	* tasks: things to do after migrating ftp/Web sites.
3301
33022003-12-09  Erez Zadok  <ezk@cs.sunysb.edu>
3303
3304	* fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page.  Bug
3305	report from Eric S. Raymond <esr@thyrsus.com>.
3306
33072003-11-18  Erez Zadok  <ezk@cs.sunysb.edu>
3308
3309	* Makefile.am (EXTRA_DIST_M4): exclude removed file
3310	m4/macros/struct_nfs_fh3.m4 from distro.
3311
33122003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3313
3314	* libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
3315	FHSIZE3 (may be undefined).
3316
33172003-10-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
3318
3319	Compile fix for Solaris7 with LDAP:
3320
3321	* include/am_defs.h: moved the ldap headers before am_nfs_prot.h
3322	to facilitate using ldap types in it
3323
3324	* conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
3325	definitions that Sun left out of their headers
3326
33272003-10-24  Ion Badulescu  <ionut@moisil.badula.org>
3328
3329	* conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
3330	definitions, they are now defined globally
3331
3332	* libamu/xdr_func.c: unconditionally define all xdr functions
3333	needed for NFSv3, but with an am_ prefix to prevent namespace
3334	collisions
3335
3336	* amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
3337	libamu/mount_fs.c: added the am_ prefix to all
3338	structures and functions having to do with NFSv3 to prevent
3339	namespace collisions
3340
3341	* include/am_utils.h: moved definition of am_nfs_handle to ...
3342
3343	* include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
3344	am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
3345	am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
3346	am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
3347	am_LOOKUP3res here; remove cross-platform compile helper macros
3348	AMU_LOOKUP3RES_*.
3349
3350	* include/am_defs.h: include am_xdr_func.h before am_utils.h to
3351	provide definitions for NFS filehandles
3352
3353	* amd/amd.h: removed declaration for xdr_mountres3
3354
3355	* doc/am-utils.text: minor warning fix
3356
3357	* BUGS: document the autoconf warnings when trying to compile
3358	system header files in isolation
3359
33602003-10-23  Ion Badulescu  <ionut@moisil.badula.org>
3361
3362	* m4/macros/struct_nfs_fh3.m4: removed, not needed
3363
3364	* configure.in: check if struct mounta has the optptr field;
3365	removed all NFSv3-related checks, we implement everything
3366	internally now
3367
3368	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
3369	touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
3370
33712003-10-22  Ion Badulescu  <ionut@moisil.badula.org>
3372
3373	* m4/macros/struct_nfs_fh3.m4: removed, not used anymore
3374
3375	* libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
3376	comments
3377
3378	* configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
3379	always use our own
3380
33812003-10-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3382
3383	* BUGS: document the limitations of bind mounts on Linux
3384
33852003-10-21  Ion Badulescu  <ionut@moisil.badula.org>
3386
3387	* buildall: added support for -i (make install)
3388
33892003-10-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3390
3391	* NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
3392	* INSTALL: Mention its test status.
3393
33942003-10-16  Erez Zadok  <ezk@cs.sunysb.edu>
3395
3396	* amd/ops_nfs.c (nfs_init): declare as static to match forward
3397	definition at top of file.
3398
3399	* conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
3400	added missing definitions for LOOKUP3res, diropargs3, etc.
3401
34022003-10-15  Erez Zadok  <ezk@cs.sunysb.edu>
3403
3404	* libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
3405	libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
3406	(got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
3407	webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
3408	cleanup some inconsistencies with how we treat NFSv3 file handles.
3409	Whenever we need to get data out of a filehandle given to us, we
3410	assume that it uses the OS's native fhandle structure
3411	(often struct nfs_fh3).  When we store the fhandle data for our
3412	own use, however, we store it in one of two ways.  The first, is
3413	that we use the system's default nfs_fh3 structure; the second is
3414	that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
3415	through an elaborate autoconf song-and-dance to "discover" it as a
3416	native fh3 handle structure).  It appears that we do the latter,
3417	instead of using the system's default fhandle structure, simply to
3418	avoid extra malloc's and free's, because whereas nfsv2's fhandle
3419	structure is a simple 32-byte buffer, nfsv3's fhandle structures
3420	often just define a "char *" for the fhandle data, and the caller
3421	must malloc/free the space inside as needed.  Our code was never
3422	written with constructor/destructor callbacks for these nfsv3
3423	filehandles.  Moreover, we carefully wrote our own am_nfs_fh3
3424	structure so IT JUST SO HAPPENS to align with most (hopefully all)
3425	of the fhandle structures for v3: first four bytes are the length
3426	fields and the next four bytes are the fhandle data.  Sigh.
3427	Having this inconsistent use of v3 filehandles can be a real bear,
3428	because we simply cannot avoid using the system's default fhandle
3429	structure indirectly, through things like diropargs3 in
3430	xdr_diropargs3(), which has inside of it a reference to the
3431	system's default nfs_fh3 structure.  ANYWAY, the current fix I've
3432	come up with is to generalize the way we dereference field names
3433	within the nfs_fh3 structure (whether ours or the system's) and
3434	the same for the system's LOOKUP3res structure.  I'm not pleased
3435	with this fix; I'd rather we don't use our own am_nfs_fh3
3436	structure at all.
3437
3438	* libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
3439	function if we have NFS3, because we often use our own,
3440	incompatible am_nfs_fh3 structure.
3441
3442	* include/am_xdr_func.h: We cannot use the native system's
3443	xdr_nfs_fh3 because we are defining our own incompatible
3444	am_hfs_fh3 structure for some systems.
3445
3446	* include/am_xdr_func.h: Define default values for field names of
3447	struct nfs_fh3 and LOOKUP3res.
3448
3449	* doc/am-utils.texi (debug_options Parameter): minor typo fixed.
3450
3451	* conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
3452	names for struct nfs_fh3 and LOOKUP3res, so override the default
3453	names here.
3454
3455	* configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
3456	AMU_STRUCT_NFS_FH3, because the latter depends on the former.
3457
3458	* amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
3459	and clarify if-the-else clauses.
3460
34612003-10-13  Ion Badulescu  <ionut@moisil.badula.org>
3462
3463	* amd/get_args.c (get_version_string): change "Built by" to
3464	"Configured by", and add a new "Built by" line using the variables
3465	below
3466
3467	* m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
3468	BUILD_DATE to build_version.h
3469
3470	* amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
3471	must be initialized even for them, otherwise we lose opt_sublink
3472	(and perhaps other options as well). Report from Rainer Orth.
3473
3474	* amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
3475	pointer dereferencing was a bit too aggressive and could end up
3476	not processing the sublink option if the filesystem was already
3477	mounted.
3478
34792003-10-11  Ion Badulescu  <ionut@moisil.badula.org>
3480
3481	Fix restarted filesystem by disabling the amfs_inherit filesystem
3482	and moving the restarting logic into the generic code. The old
3483	code is still there, will be removed sometime in the near future.
3484
3485	* amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
3486	return the pointer to the restarted filesystem
3487	(free_mntfs): check for the MFF_RESTART flag instead of the
3488	amfs_inherit ops
3489
3490	* amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
3491	filesystem is in use
3492
3493	* amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
3494	filesystem is not being restarted
3495	(amfs_nfsx_remount): if the filesystem is already mounted,
3496	short-circuit the code and just continue
3497
3498	* amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
3499	filesystem is not being restarted; remove hack that was used to
3500	work around an amfs_inherit problem
3501
35022003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3503
3504	Use WebNFS to obtain file handles for mount(2).
3505
3506	* NEWS: Document WebNFS support.
3507
3508	* configure.in: Check for public mount option.
3509	* include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
3510	* doc/am-utils.texi (opts Option): Renamed webnfs to public,
3511	update description.
3512
3513	* amd/amd.h (FSF_WEBNFS): New mntfs flag.
3514	* include/am_utils.h (RPC_XID_WEBNFS): New XID type.
3515
3516	* amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
3517	WebNFS mount/umount attempts.
3518	* amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
3519	(got_nfs_fh_webnfs): New function.
3520	(flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
3521	(prime_nfs_fhandle_cache): Likewise.
3522	Remove unconditional return of public file handle for WebNFS, but
3523	get NFS file handles via mountd or WebNFS instead.
3524	(webnfs_lookup): New function.
3525	(nfs_umounted): Don't inform mountd if MFF_WEBNFS.
3526	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
3527	packets.
3528	* amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
3529	WebNFS servers.
3530	Mention host in info message.
3531	(find_nfs_srvr): Handle public mount option.
3532	Prefer NFSv3/tcp if the client supports it.
3533	Allow port mount option to override default or result from portmap
3534	lookup.
3535
3536	* libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
3537	xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
3538	xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
3539	* include/am_xdr_func.h: Declare them.
3540	* configure.in: Check for them.
3541	* conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
3542	definitions and types.
3543
35442003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3545
3546	Support IRIX 6 private mount option.
3547
3548	* configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
3549	name string.
3550	(AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
3551	* aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
3552	MNT2_NFS_OPT_PRIVATE): Provide templates.
3553	* include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
3554	* doc/am-utils.texi (opts Option): Document it.
3555
35562003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3557
3558	* doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
3559	mount option.
3560
35612003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3562
3563	* libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
3564	Don't reference removed fh3.
3565
35662003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3567
3568	* NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
3569
3570	* INSTALL: Mention test status of various ports.
3571	Describe IRIX 6 autofs status.
3572
35732003-10-09  Ion Badulescu  <ionut@moisil.badula.org>
3574
3575	* NEWS: updated
3576
3577	* amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
3578	we've done all the tests and we know we have a valid and mountable
3579	mntfs. Otherwise we could end up dereferencing null pointers.
3580
3581	* amd/amd.h: fixed a copy&paste comment bug
3582
3583	* amd/am_ops.c (ops_match): minor code cleanup
3584
3585	* doc/am-utils.texi: fixed various typos; added warning about the
3586	racy nature of nfsx; removed duplicated listing of debug options;
3587	added paragraph about signals supported by hlfsd; removed the long
3588	list of (maybe) supported platforms since it duplicates the list
3589	in INSTALL.
3590
35912003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3592
3593	Simplify FD_SET etc. use.
3594
3595	* include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
3596	if missing.
3597	(rpc_pending_now, run_rpc): Use them.
3598	* configure.in: Check for fds_bits field in fd_set.
3599	* amd/nfs_start.c (run_rpc): Use it.
3600
36012003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3602
3603	Improve RPC XID handling.
3604
3605	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
3606	Convert xid to/from host/network byte order.
3607
36082003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3609
3610	Use NFS V2/V3 file handles instead of mount results.
3611
3612	* include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
3613	only, not MOUNTPROC_MNT results.
3614	* amd/amfs_host.c (fetch_fhandle): Use local variables to store
3615	MOUNTPROC_MNT results.
3616	* amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
3617	* amd/ops_nfs.c (struct fh_cache): New member fh_status.
3618	(got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
3619	Store MOUNTPROC_MNT errors in fh_status.
3620	(prime_nfs_fhandle_cache): Get fh_error from fh_status.
3621	* hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
3622	* libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
3623	handles straight from new am_nfs_fhandle_t.
3624
36252003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3626
3627	* amd/clock.c (CID_ALLOC): Remove unused argument.
3628	(timeout): Likewise.
3629
3630	* amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
3631	(prime_nfs_fhandle_cache): Likewise.
3632	(call_mountd): Use UDPMSGSIZE instead of magic constant.
3633
3634	* amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
3635	(fwd_packet): Likewise.
3636	Handle TLOOK error from t_rcvudata().
3637
36382003-09-30  Ion Badulescu  <ionut@moisil.badula.org>
3639
3640	* NEWS: updated
3641
3642	* libamu/mount_fs.c (mount_fs): don't try to recreate the mount
3643	point if the mount fails with ENOENT: in the best case we would be
3644	papering over a bug, and in the worst case we could cause a
3645	deadlock (with autofs). If there are races, they need to be
3646	exposed and fixed properly.
3647
3648	* conf/autofs/autofs_solaris_v1.h,
3649	  conf/autofs/autofs_solaris_v2_v3.h,
3650	  conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
3651	semantics don't allow us to mount nfsx directly onto an autofs
3652	mountpoint, so disallow it
3653
3654	* amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
3655	to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
3656	map entries...
3657	(amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
3658	in the upper layer, so don't do anything else beside wakeup() on
3659	success
3660	(amfs_nfsx_remount): only create the mountpoints as we need them,
3661	avoids creating them on the wrong filesystem in the case of
3662	hierarchical mounts; fix crash-generating typo (m should really be
3663	mf and I swear I hate single-character variable names)
3664
3665	* amd/amfs_generic.c (amfs_cont): one more dlog
3666	(amfs_bgmount): amazingly enough, even foreground mounts can be
3667	backgrounded (in the case of nfsx), so account for this
3668	possibility and permit retries
3669
3670	* m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
3671	and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
3672
3673	* amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
3674	@AMU_AUTOFS_PROT_HEADER@
3675
36762003-09-29  Erez Zadok  <ezk@urd.fsl.cs.sunysb.edu>
3677
3678	* minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
3679	PlayStation 2)
3680
3681	* amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
3682	"char protocols[]" unless MNTTAB_OPT_PROTO is defined.
3683
36842003-09-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3685
3686	Consolidate alloca support.
3687
3688	* amd/amq_svc.c: Move alloca support ...
3689	* include/am_defs.h: ... here.
3690	* amd/conf_parse.y: Remove alloca support.
3691	* fsinfo/fsi_gram.y: Likewise.
3692
36932003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3694
3695	Handle Solaris 10.
3696	* m4/macros/check_nfs_prot_headers.m4
3697	(AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
3698	sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
3699	Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
3700
3701	* m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
3702	solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
3703	micro releases to cope with Solaris 2.5.1.
3704	Explicitly match solaris2*, sunos5*.
3705
37062003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3707
3708	* amd/amq_svc.c: Provide alloca prerequisites.
3709
3710	* conf/transp/transp_tli.c (register_autofs_service): Fix typo.
3711
37122003-09-23  Ion Badulescu  <ion@opteron.tower-research.com>
3713
3714	* minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
3715	Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
3716
37172003-09-22  Ion Badulescu  <ionut@buggy.badula.org>
3718
3719	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
3720
37212003-09-19  Ion Badulescu  <ionut@moisil.badula.org>
3722
3723	* amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
3724	enough, we should lstat() the sublink if it's defined.
3725	(amfs_nfsl_ffserver): ditto
3726	(ALL): Removed some obsolete comments. The nfsl code is now little
3727	more than a very straight-forward switch between link and nfs.
3728
3729	* amd/amfs_link.c (amfs_link_match): more up-to-date explanation
3730	for the prepend-the-dot hack for type link; also, the sublink is
3731	already normalized and absolute, so take advantage of that
3732
3733	* amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
3734	already normalized and absolute, so take advantage of that
3735
3736	* amd/am_ops.c (ops_match): normalize the sublink here, early into
3737	the matching process
3738
3739	* amd/autil.c (am_mounted): be consistent and accept both
3740	"nounmount" and "noumount" as pseudo mount options (same as
3741	"unmount" and "umount" nearby)
3742
3743	* amd/Makefile.am (build_version.h): fixed dependencies (depends
3744	on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
3745
37462003-09-19  Erez Zadok  <ezk@dhcp8.fsl.cs.sunysb.edu>
3747
3748	* amd/amq_subr.c (amqproc_export_1_svc): force double casting to
3749	avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
3750	type-punned pointer will break strict-aliasing rules".
3751
37522003-09-16  Ion Badulescu  <ionut@moisil.badula.org>
3753
3754	* Released beta version 6.1b4
3755
37562003-09-15  Ion Badulescu  <ionut@moisil.badula.org>
3757
3758	* doc/am-utils.texi (opts Option): removed documentation for old
3759	ignore_portmapper mount option, documented the new webnfs option
3760
3761	* NEWS: webnfs support
3762
3763	* amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
3764	(former "ignore_portmapper") mount option is present
3765
3766	* amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
3767	filehandle (all zeros) if MFF_WEBNFS is set
3768	(nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
3769
3770	* amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
3771
37722003-09-13  Ion Badulescu  <ionut@moisil.badula.org>
3773
3774	* amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
3775	NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
3776	to create_ping_payload; renamed nfs_pinged to
3777	nfs_keepalive_callback; renamed nfs_timed_out to
3778	nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
3779	made ping_buf and ping_len arrays with one element for each
3780	supported nfs version
3781
3782	* amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
3783
3784	* amd/amfs_host.c (amfs_host_init): ditto
3785
3786	* amd/ops_nfs.c (call_mountd): ditto
3787
37882003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3789
3790	* BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
3791	patches.
3792
37932003-08-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3794
3795	* amd/autil.c (strealloc): don't call malloc_verify() unless it
3796	exists.
3797
3798	* configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
3799	after we figure out PROG_CC and other compiler features, because
3800	some of the option processing macros need a compiler to function.
3801
3802	* libamu/xutil.c: don't define variables that won't be used unless
3803	mallinfo() and malloc_verify() exist.
3804	(real_plog): don't call checkup_mem unless
3805	mallocinfo() and malloc_verify() exist.
3806	(checkup_mem): don't define this function unless mallocinfo() and
3807	malloc_verify() exist.
3808
3809	* m4/macros/opt_debug.m4: check for functions malloc_verify and
3810	mallinfo in general libraries and then in libmapmalloc and
3811	libmalloc.  These seem to have disappeared in FreeBSD 5.x.
3812
3813	* libamu/xutil.c (dxfree): print pointer using %p
3814
38152003-08-29  Erez Zadok  <ezk@a-opendarwin.fsl.cs.sunysb.edu>
3816
3817	* configure.in: start 6.1b4-pre officially (belated)
3818
3819	* minor new port: i686-apple-darwin6.6
3820
38212003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3822
3823	* conf/autofs/autofs_solaris_v1.c: convert relative targets to
3824	absolute paths when using lofs mounts
3825
3826	* conf/autofs/autofs_solaris_v2_v3.c: ditto
3827
3828	* conf/autofs/autofs_linux.c: ditto
3829
38302003-08-27  Ion Badulescu  <ionut@buggy.badula.org>
3831
3832	* README.autofs: added a paragraph about the resource consumption
3833	of auto maps over autofs
3834
3835	* amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
3836	the MFF_IS_AUTOFS flag from init_mntfs() to
3837	amfs_lookup_one_mntfs(), where it belongs
3838
3839	* amd/mntfs.c (init_mntfs): ditto
3840
38412003-08-27  Ion Badulescu  <ion@guppy.limebrokerage.com>
3842
3843	* amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
3844	denied a filehandle by the server (used to be EIO)
3845
38462003-08-27  Erez Zadok  <ezk@a-bsdi42.fsl.cs.sunysb.edu>
3847
3848	* conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
3849
38502003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3851
3852	* conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
3853	daemon-initiated timeouts on autofs filesystems, since apparently
3854	they appear as "always busy" to the kernel-based expiration routine
3855
38562003-08-26  Ion Badulescu  <ionut@buggy.badula.org>
3857
3858	* NEWS: updated
3859
3860	* conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
3861	FS_ON_AUTOFS
3862	(AUTOFS_LINKX_FS_FLAGS): ditto
3863
3864	* conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
3865	FS_ON_AUTOFS
3866	(AUTOFS_LINKX_FS_FLAGS): ditto
3867
3868	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
3869	FS_ON_AUTOFS
3870	(AUTOFS_LINKX_FS_FLAGS): ditto
3871
3872	* amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
3873	original opt_fs, instead store the new mount point for autofs in a
3874	temporary variable and pass it around. Fixes a problem with the
3875	link side of nfsl.
3876
38772003-08-25  Ion Badulescu  <ionut@moisil.badula.org>
3878
3879	* NEWS: updated
3880
3881	* amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
3882	initialize the fh_wchan member of the cache entry
3883	(prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
3884	argument of call_mountd()
3885
3886	* amd/map.c (free_map_if_success): use get_mntfs_wchan for the
3887	wchan_t argument of wakeup()
3888
3889	* amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
3890	wchan_t argument of wakeup_task() and wakeup()
3891
3892	* amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
3893	wchan_t argument of nfs_srvr_port()
3894
3895	* amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
3896	argument of sched_task() and wakeup()
3897	(amfs_retry): minor cleanup
3898	(amfs_bgmount): call nfs_quick_reply on failure
3899
3900	* amd/sched.c (get_mntfs_wchan): new function which calls the
3901	member function get_wchan if defined, otherwise returns the mntfs
3902	pointer itself
3903
3904	* amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
3905	calls get_mntfs_wchan() on the inherited filesystem
3906
3907	* amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
3908	of the ops to 0
3909
3910	* amd/amd.h: new function type vget_wchan
3911	(struct mntfs): new member get_wchan which returns the waiting
3912	channel associated with the mntfs (normally itself)
3913
39142003-08-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3915
3916	* conf/mount/mount_linux.c (parse_opts): minor cleanup
3917
3918	* conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
3919	break in case autofs_ptype_expire_multi
3920
39212003-08-22  Ion Badulescu  <ionut@moisil.badula.org>
3922
3923	* conf/autofs/autofs_solaris_v1.h: undefine autofs support if
3924	autofs_args_t cannot be determined (hopefully fixes a reported
3925	IRIX 6.5.4 problem).
3926
3927	* conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
3928	HAVE_FS_AUTOFS / #endif (see above)
3929
3930	* conf/autofs/autofs_linux.h: undefine autofs support if the
3931	necessary header files are not found (fixes a reported RedHat 6.2
3932	Sparc problem).
3933
3934	* conf/autofs/autofs_linux.c: wrap entire file in #ifdef
3935	HAVE_FS_AUTOFS / #endif (see above)
3936
3937	* libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
3938	if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
3939
3940	* amd/map.c (unmount_mp, unmount_exported): move the code that
3941	changes the fattr from NFLNK to NFDIR from unmount_mp to
3942	unmount_exported, it was causing troubles (ESTALE) after failed
3943	unmounts. This is still very very unclean, but it's the same as the
3944	old 6.0 code.
3945
39462003-08-22  Nick Williams <Nick.Williams@morganstanley.com>
3947
3948	* amd/info_ldap.c (amu_ldap_init): don't try to pass a null
3949	pointer as a string to plog, Solaris (and other OS's) don't like
3950	it and will dump core.
3951
39522003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
3953
3954	* amd/amd.h: introduced two new types, wchan_t and opaque_t, as
3955	aliases of voidp. This makes reading the code easier on the eyes. :)
3956
3957	* ALL: replace various instances of voidp with wchan_t and
3958	opaque_t, as appropriate
3959
39602003-08-13  Ion Badulescu  <ionut@nicu.badula.org>
3961
3962	* NEWS, configure.in: bumped version up to 6.1b4-pre
3963
39642003-08-13  Ion Badulescu  <ionut@moisil.badula.org>
3965
3966	* Released beta version 6.1b3
3967
39682003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
3969
3970	* conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
3971	symlinks for host mounts; assorted fixes for the symlink mode
3972
39732003-08-05  Ion Badulescu  <ionut@moisil.badula.org>
3974
3975	* conf/umount/umount_default.c (umount_fs): enable space hack
3976	handling for autofs v1
3977
3978	* amd/map.c (get_first_exported_ap, get_next_exported_ap): new
3979	functions that facilitate iterating through the list of
3980	mountpoints
3981
3982	* amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
3983	and get_next_exported_ap
3984
3985	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
3986
39872003-08-04  Erez Zadok  <ezk@ulkesh.dyn.optonline.net>
3988
3989	* configure.in: check if system stores mount tables in files
3990	(usually in /etc), and configure couldn't find a definition for
3991	either struct mntent or struct mnttab.  If so, abort configure
3992	because this could be a new/misconfigured system, or a bug in
3993	am-utils.
3994
39952003-08-04  Ion Badulescu  <ionut@moisil.badula.org>
3996
3997	* conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
3998	compile warning
3999
40002003-08-04  Ion Badulescu  <ionut@buggy.badula.org>
4001
4002	* conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
4003	ops->mount_fs() for an already mounted filesystem
4004	(autofs_umount_fs): only call ops->umount_fs() if we're holding
4005	the last reference to the filesystem
4006
4007	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4008	(autofs_umount_fs): ditto
4009
4010	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4011	(autofs_umount_fs): ditto
4012
4013	* amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
4014	already-mounted filesystems
4015	(amfs_cont): only release the autofs_fh if the filesystem is not
4016	mounted; add another comment about the NFS_SCALEDOWN hack
4017	(amfs_bgmount): if the mntfs is already mounted, skip just the
4018	filesystem initialization, but do call mount_node()
4019
4020	* amd/map.c (mount_node): always call autofs_mount_fs(), but only
4021	call ops->mount_fs() if the mntfs is not yet mounted
4022	(unmount_node): always call autofs_umount_fs(), but only call
4023	ops->umount_fs() if the refcount on the mntfs equals 1.
4024
40252003-08-02  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4026
4027	* conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
4028	here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
4029	define dummy struct netexport, and include <ufs/ufs/extattr.h>
4030	wrapped in _KERNEL).
4031
4032	* conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
4033	here with the proper workarounds for freebsd5.1 (define dummy
4034	struct ufs_extattr_per_mount).
4035
4036	* conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
4037	here with the proper workarounds for bsdi2 (define MAXQUOTAS and
4038	dummy struct netexport).
4039
4040	* include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
4041	here, b/c every *BSD system has some sort of problem in including
4042	this header file, which includes ugly workarounds.  Inclusion of
4043	this header was already moved out of am_defs.h (used to compile
4044	amd), but we forgot to move it out of mount_headers1.h (used to
4045	configure).  The specific inclusion of ufsmount.h is now in the OS
4046	specific nfs_prot.h file.
4047
4048	* configure.in: if configure could not find any definition for
4049	"struct nfs_args", abort configure with an explanatory message.
4050	There's no point in continuing, as this could be a system bug,
4051	buggy am-utils, or a new system to which am-utils wasn't ported to
4052	yet.
4053
4054	* minor new port: i386-pc-solaris2.9
4055
40562003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4057
4058	* doc/am-utils.texi (NFS-Link Filesystem): make the documentation
4059	match the code (as well as basic logic operations: the negation of
4060	'a or b' is 'not a and not b', not 'not a or not b')
4061
40622003-08-01  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4063
4064	* minor new port: i386-unknown-openbsd3.3.
4065
4066	* m4/macros/check_libwrap_severity.m4: new macro to check if
4067	libwrap includes the integer variables deny_severity and
4068	allow_severity, since some libwrap implementations do and others
4069	don't.  The test tries to compile and run a simple empty main()
4070	program, then the same program while defining these two variables:
4071	comparing the results of the two tests, we can tell whether we
4072	should define NEED_LIBWRAP_SEVERITY_VARIABLES.
4073
4074	* Makefile.am (EXTRA_DIST_M4): distribute new macro
4075	check_libwrap_severity.m4.
4076
4077	* m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
4078	we must define explicitly since we've overridden the
4079	action-if-found in AC_CHECK_LIB(wrap).  Also template for
4080	NEED_LIBWRAP_SEVERITY_VARIABLES.
4081
4082	* amd/amq_svc.c: if libwrap does not include the severity
4083	variables, then define and initialize them here.
4084
4085	* amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
4086	Amd binary.  Other am-utils binaries don't need -lwrap.
4087
4088	* configure.in: if libwrap is found, only define it in @WRAPLIB@,
4089	so we don't automatically link every am-utils binary with -lwrap.
4090	Run test for existence of severity variables in libwrap.
4091
40922003-07-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4093
4094	* conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
4095	and gid.
4096
4097	* configure.in: move check for AC_CHECK_LIB(libwrap) as far down
4098	as possible because on modern tcpwrapper systems such as openbsd,
4099	the caller must provide two symbols: deny_severity and
4100	allow_severity, which determine the logging level of rejected and
4101	requested requests, respectively.  If this check happens too
4102	early, then $LIBS includes -lwrap, which causes many subsequent
4103	tests that need to run a compiled program to fail with missing
4104	symbols.
4105
4106	* m4/macros/header_templates.m4: fix typo in template for
4107	readdirplus.
4108
4109	* configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
4110
4111	* minor new port: i386-unknown-netbsdelf1.6.1.
4112
4113	* configure.in: save state before system-specific tests are run.
4114
4115	* m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
4116	because the compiled test program failed to run.
4117
41182003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4119
4120	* NEWS, README.autofs: updated
4121
4122	* libamu/mount_fs.c (mount_fs): added support for the space hack
4123
4124	* doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
4125	are not expired by default; correct and expand the section
4126	describing the program filesystem
4127
4128	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
4129	FS_ON_AUTOFS for supported filesystems
4130
4131	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
4132	mf->mount_fs()
4133	(autofs_umount_fs): call mf->umount_fs()
4134
4135	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
4136	prototype for malloc()
4137	(AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
4138	supported filesystems
4139
4140	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
4141	for the space hack; call mf->mount_fs()
4142	(autofs_umount_fs): add support for the space hack; call
4143	mf->umount_fs()
4144	(autofs_mount_succeeded): add support for the space hack
4145
4146	* conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
4147	FS_ON_AUTOFS for supported filesystems
4148
4149	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
4150	AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
4151	(autofs_mounted): host mounts are now supported on all autofs
4152	versions, remove the hack to turn it off on v3
4153	(autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
4154	as needed
4155	(autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
4156	success
4157	(ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
4158	'#ifdef autofs_ptype_expire_multi'
4159
4160	* amd/map.c (mount_node): autofs_mount_fs() now calls
4161	mf->mount_fs() internally
4162	(unmount_node): autofs_umount_fs() now calls mf->umount_fs()
4163	internally
4164
4165	* amd/autil.c (am_mounted): minor cleanup
4166
4167	* amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
4168	nfs_fs_flags
4169
4170	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
4171	flag instead of hardcoding filesystem types
4172	(amfs_bgmount): better mount_type logging
4173
4174	* amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
4175	this filesystem can be mounted directly onto an autofs mountpoint
4176
41772003-07-31  Ion Badulescu  <ionut@buggy.badula.org>
4178
4179	* amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
4180	calling amfs_link_ops.umount_fs() for NFS filesystems)
4181	(amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
4182	properly elsewhere
4183	(amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
4184	using link (not NFS)
4185
41862003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4187
4188	* README.autofs: Correct IRIX spelling.
4189	AutoFS support exists only on IRIX 6.
4190	Update IRIX 6 status.
4191
4192	Allow AutoFS V1 support to compile on IRIX 6.
4193	* conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
4194	SVCXPRT * arg.
4195	Remove superfluous \n from dlog messages.
4196	(autofs_unmount_1_req): Likewise.
4197	Switch to get_exported_ap.
4198	(autofs_program_1): Invoke handlers with additional transp arg.
4199	* conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
4200	autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
4201
4202	* conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
4203	AutoFS mounts.
4204	[HAVE_FS_LOFS]: Likewise for lofs mounts.
4205
4206	* conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
4207	Don't disable AutoFS support any more.
4208
4209	* conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
4210	(register_autofs_service): Define autofs_xprt.
4211
4212	* m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
4213	Solaris 8+ comment to mention AutoFS V4.
4214	(irix6*): Enable AutoFS V1 support on IRIX 6.
4215
42162003-07-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4217
4218	* NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
4219	of autofs_use_lofs.
4220
42212003-07-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4222
4223	* amd/ops_efs.c (efs_mount): Replace on_autofs arg with
4224	MFF_ON_AUTOFS flag.
4225	(efs_umount): Likewise.
4226
42272003-07-30  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4228
4229	* conf/umount/umount_bsd44.c (umount_fs): convert to new way of
4230	unmounting which takes autofs into account.
4231
42322003-07-30  Ion Badulescu  <ionut@moisil.badula.org>
4233
4234	* ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
4235	hack; pass a new on_autofs argument to mount/umount function,
4236	based on the MFF_ON_AUTOFS mntfs flag
4237
4238	* NEWS, README.autofs: updated
4239
4240	* scripts/amd.conf.5: document new option autofs_use_lofs
4241
4242	* scripts/amd.conf-sample (autofs_use_lofs): document new option
4243
4244	* m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
4245	the autofs header as amu_autofs_prot.h instead of slurping it into
4246	aux_conf.h
4247
4248	* libamu/mount_fs.c (mount_fs): removed old stub, renamed
4249	mount_fs2 to mount_fs, added new argument on_autofs
4250
4251	* doc/am-utils.texi (Direct Automount Filesystem): document
4252	problems with nfs direct mounts on modern kernels, document good
4253	autofs support for direct mounts on Solaris
4254	(autofs_use_lofs Parameter): document this new option
4255	(browsable_dirs Parameter): note that mount storms are avoided
4256	when using autofs
4257
4258	* conf/umount/umount_bsd44.c (umount_fs): removed old stub,
4259	renamed umount_fs2 to umount_fs
4260
4261	* conf/umount/umount_osf.c (umount_fs): removed old stub,
4262	renamed umount_fs2 to umount_fs, added new argument on_autofs
4263
4264	* conf/umount/umount_default.c (umount_fs): ditto as above; return
4265	an error on ENOENT instead of faking success
4266
4267	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
4268	simplified, now only consults the map for existance of the key and
4269	returns success if key is found
4270	(autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
4271	not on;
4272	(autofs_mount_2_free): implemented
4273	(autofs_unmount_2_req): use get_exported_ap() instead of
4274	referencing export_ap directly
4275	(autofs_mount_succeeded): remove code for replying to lookup
4276	requests, now only mount requests can end up here
4277	(autofs_mount_failed): ditto
4278
4279	* conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
4280	FS_AUTOFS
4281	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4282
4283	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
4284	FS_AUTOFS
4285	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4286	(AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
4287
4288	* conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
4289	factored out of autofs_umount_fs()
4290	(autofs_mount_fs): renamed from autofs_link_mount() and expanded
4291	to deal with filesystems mounted indirectly (via lofs/bind
4292	mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
4293	(autofs_umount_fs): ditto, from autofs_link_umount()
4294
4295	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4296	* (autofs_umount_fs): ditto
4297
4298	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4299	* (autofs_umount_fs): ditto
4300
4301	* amd/opts.c: made fs_static static
4302
4303	* amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
4304	and nfs_umounted static
4305	(mount_nfs_fh): removed unnecessary arguments
4306
4307	* amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
4308	the ffserver method, because using NULL causes problems
4309
4310	* amd/ops_cdfs.c (cdfs_ops): ditto
4311
4312	* amd/ops_efs.c (efs_ops): ditto
4313
4314	* amd/ops_lofs.c (lofs_ops): ditto
4315
4316	* amd/ops_pcfs.c (pcfs_ops): ditto
4317
4318	* amd/ops_ufs.c (ufs_ops): ditto
4319
4320	* amd/ops_xfs.c (xfs_ops): ditto
4321
4322	* amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
4323	map.c
4324
4325	* amd/nfs_start.c: use get_exported_ap() instead of referencing
4326	exported_ap directly
4327
4328	* amd/mntfs.c (locate_mntfs): new function, factored out of
4329	find_mntfs
4330	(locate_mntfs): special-case FS_DIRECT filesystems: for direct
4331	mounts we will have two filesystems mounted on the same m/p
4332	(realloc_mntfs): removed the old EZK hack for failovers
4333
4334	* amd/map.c (get_exported_ap): new function that returns an
4335	exported_ap member by its index
4336	(root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
4337	made static
4338	(fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
4339	(get_root_ap): removed unused second argument
4340	(unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
4341	to catch more cases
4342	(mount_node): call autofs_mount_fs after ops->mount_fs for autofs
4343	nodes
4344	(unmount_node): call autofs_umount_fs before ops->umount_fs for
4345	autofs nodes
4346
4347	* amd/conf.c: new global option "autofs_use_lofs", takes yes/no
4348	values
4349
4350	* amd/autil.c (amfs_mount): take an extra argument (mf)
4351	(amfs_mount): call autofs_compute_mount_flags() for mounts
4352	directly on autofs m/p
4353	(am_unmounted): document and avoid the race between am_umounted()
4354	at shutdown time and amfs_cont()
4355
4356	* amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
4357	instead of referencing internal map variables directly
4358
4359	* amd/amq_subr.c (amqproc_export_1_svc): ditto
4360
4361	* amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
4362	nfs_fs_flags
4363	(amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
4364	(amfs_toplvl_umount): refuse to attempt the unmount if the
4365	mountpoint is not a directory
4366
4367	* amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
4368	flag into the nfs f/s at the bottom of the stack
4369
4370	* amd/amfs_nfsl.c: call nfs and link member functions through
4371	their respective am_ops structures, not directly
4372
4373	* amd/amfs_linkx.c (amfs_linkx_umount): new static stub
4374
4375	* amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
4376	static functions
4377	(amfs_link_mount): removed call to autofs_link_mount()
4378	(amfs_link_umount): removed call to autofs_link_umount()
4379
4380	* amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
4381	nfs_fs_flags
4382	(do_mount): removed superfluous function arguments
4383
4384	* amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
4385	nfs_fs_flags
4386
4387	* amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
4388	nfs_fs_flags
4389	(amfs_auto_mount): pass extra argument (mf) to amfs_mount
4390
4391	* amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
4392	use lofs-mounts or symlinks when mounting on autofs
4393	(CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
4394	(VLOOK_LOOKUP): new flag, will merely check if a key exists
4395	(MFF_IS_AUTOFS): renamed from MFF_AUTOFS
4396	(MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
4397	on an autofs m/p, or indirectly via a lofs mount/symlink
4398	(fh_to_mp2): macro expanded throughout the code and removed
4399	(mntfs): removed mf_real_mount hack
4400	(autofs_mount_fs): renamed from autofs_link_mount
4401	(autofs_umount_fs): renamed from autofs_link_umount
4402	(mount_lofs): exposed
4403	various other cleanups, functions/variables made static and removed
4404
4405	* aux_conf.h.in: removed @am_utils_autofs_style@, it is now
4406	included directly as amu_autofs_prot.h
4407
44082003-07-24  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4409
4410	* doc/am-utils.texi, scripts/amd.conf.5: document that
4411	use_tcpwrappers is "yes" by default.
4412
4413	* amd/amd.c (init_global_options): set default global options.
4414
4415	* amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
4416	are always on (plock and use_tcpwrappers).
4417
4418	* scripts/amd.conf-sample: reorganize values per option so default
4419	one is listed first.
4420
44212003-07-23  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4422
4423	* tasks: trim old stuff.  Discuss new parser.
4424
4425	* amd/conf.c (set_conf_kv): initialize the very first map in conf
4426	file from global defaults.  Bug fix which was introduced after
4427	conf.c code restructuring.
4428
44292003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4430
4431	* m4/macros/header_templates.m4: template for
4432	HAVE_EXTERN_HOSTS_CTL.
4433
4434	* include/am_defs.h: define extern for hosts_ctl() if needed.
4435
4436	* configure.in (AMU_CHECK_EXTERNS): check for extern definition
4437	for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
4438
4439	* m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
4440
44412003-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
4442
4443	* hlfsd/hlfsd.h: redundant extern for mboxfile removed.
4444
4445	* amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
4446	amd.conf global option use_tcpwrappers=yes.
4447
4448	* scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
4449	doc/am-utils.texi (use_tcpwrappers Parameter): document new
4450	amd.conf global option.
4451
4452	* amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
4453	option called use_tcpwrappers ("no" by default).
4454
4455	* amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
4456	code only if both libwrap and tcpd.h exist.
4457	(amq_program_1): log warning when an Amq service client is denied,
4458	and a debug message when a client is allowed.
4459
4460	* amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
4461	(AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
4462
4463	* include/am_defs.h: include tcpd.h if available and libwrap
4464	available.
4465
4466	* configure.in: check for tcpd.h.
4467
44682003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4469
4470	* scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
4471	hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
4472	because it removes useful spaces in between paragraphs.  Based on
4473	smaller patch from Philippe Troin <phil@fifi.org>.
4474
44752003-07-17  Philippe Troin  <phil@fifi.org>
4476
4477	* amq/amq.8: Document the libwrap/amd behavior.
4478
4479	* amd/amq_svc.c (libwrap_check_client): New function to validate
4480	an amq connection with libwrap.
4481	(amq_program_1): Call libwrap_check_client() and close the
4482	connection if libwrap does not allow it.
4483
4484	* configure.in: Check for the tcp wrappers library.
4485
44862003-07-17  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4487
4488	* amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
4489	amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
4490	(hlfsd_init): cast pointers to void* before casting them to
4491	another type, to avoid gcc-3.3 -Wall warnings.
4492
4493	* fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
4494	avoid conflict with builtin function in gcc-3.3.
4495
44962003-07-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4497
4498	* scripts/amd.conf-sample: Remove obsolete comment.
4499
45002003-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
4501
4502	* amd/info_file.c (read_line): check for errors from fgets().
4503	Although rare, they can occur upon disk or network failures.
4504	Patch from Nick Williams <Nick.Williams@morganstanley.com>.
4505
45062003-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4507
4508	* BUGS (Solaris 8): Update patch revisions, mention old autofs
4509	patches, fix filenames and rpcgen command.
4510
45112003-07-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4512
4513	* doc/am-utils.texi (map_defaults Parameter): document new
4514	map_defaults option.
4515
4516	* scripts/amd.conf.5: document new map_defaults option.
4517
4518	* scripts/amd.conf-sample (map_type): show examples of new
4519	map_defaults option.
4520
4521	* amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
4522
4523	* amd/get_args.c (get_args): call process_all_regular_maps().
4524
4525	* amd/conf.c: keep head and tail of cfm list.
4526	(init_cf_map): reworked reset_cf_map.  This one doesn't reset a
4527	globaly reused cfm, but rather just inherits [global] options.
4528	(set_conf_kv): just store global/map options without actually
4529	creating any mnt_map's.  Essentially, we now parse the whole
4530	amd.conf file, and then try to process the maps one at a time.
4531	(process_one_regular_map): new function to process one map, just
4532	renamed from process_regular_map.
4533	(process_all_regular_maps): new exported function to process all
4534	maps.  No need for hacky process_last_map().
4535	(find_cf_map): new exported function to return a cf_map_t given a
4536	map's mount point (e.g., /home or /net).
4537
4538	* amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
4539	specificed a map_defaults for a given map.  If so, use that
4540	instead of the /defaults that came from the map itself.  Also
4541	restructure code a bit so it's not one huge long "if" statement.
4542
4543	HACK ALERT: there's no easy way to find out what the map mount
4544	point is at this point, so I am forced to initialize the
4545	mnt_map->cfm field here for the first time, upon the very first
4546	search for a /defaults entry in this map.  This initialization is
4547	much better done in mapc_create(), but it's impossible to do that
4548	there with the current code structure.
4549
4550	* amd/amd.h: struct cf_map becomes linked list.  struct mnt_map
4551	includes pointer to cf_map_t, amd.conf defaults and options for a
4552	given map. extern cleanups.
4553
45542003-07-15  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4555
4556	* amd/info_hesiod.c (hesiod_search): It's not possible to have a
4557	key such as ".access" in a hesiod map as that would imply a null
4558	node in the DNS tree.  So a lookup for such a key must clearly
4559	fail.  With the current info_hesiod.c it does (after calling
4560	hes{,iod}_resolve) but returns an error that confuses some
4561	programs - eg. apache.  This patch shortcuts the process and just
4562	returns ENOENT for any key starting with ".".  Patch submitted by
4563	by Mark Davies <mark@mcs.vuw.ac.nz>.
4564
4565	* include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
4566	fsinfo's own xcalloc.
4567
4568	* fsinfo/fsi_util.c (xcalloc): remove redundant function.
4569
45702003-07-14  Erez Zadok  <ezk@cs.sunysb.edu>
4571
4572	* include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
4573	xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
4574	never defined.  Define it as needed.  Patch from Mark Davies
4575	<mark@mcs.vuw.ac.nz>.
4576
45772003-07-14  Ion Badulescu  <lionut@gonzales.badula.org>
4578
4579	* BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
4580	v4 without updating all the header files)
4581
45822003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4583
4584	* NEWS, tasks: updated
4585
4586	* amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
4587	the am_mfarray, unconditionally
4588	(amfs_bgmount): call free_mntfs when we're done with a mntfs, call
4589	dup_mntfs when starting processing of a new one; make sure we
4590	always go through 'goto failed' for a failed mntfs; use the error
4591	code returned by autofs_get_fh()
4592
4593	* conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
4594	codes in case of problems
4595
45962003-07-13  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4597
4598	* BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex.  In
4599	short, use flex.
4600
46012003-07-13  Erez Zadok  <ezk@a-hpux11.fsl.cs.sunysb.edu>
4602
4603	* fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
4604	lex scanners don't run out of mem.
4605
46062003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4607
4608	* amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
4609	special provision
4610
4611	* amd/mntfs.c (find_mntfs): compare the filesystem type
4612	(i.e. mf_ops) in addition to mf_info; the special provision
4613	mentioned below is really for any filesystem already mounted on
4614	our mount point, not just for inherited filesystems
4615
46162003-07-13  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4617
4618	* doc/Makefile.am (install-html): build per-chapter HTML manual,
4619	as well as manual in one big HTML file.
4620
4621	* doc/am-utils.texi: Minor corrections.  Ack Ion's autofs work.
4622	Ack maintainers.  New section on How to get additionl info,
4623	including the Amd book.  Correct stale URLs and Emails.
4624
4625	* amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
4626	fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
4627	scripts/amd.conf.5, scripts/automount2amd.8,
4628	wire-test/wire-test.8: include references to info pages, proper
4629	authors, am-utils Web page, and amd book.
4630
46312003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4632
4633	* amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
4634	a special provision for inherited filesystems. This unbreaks the
4635	handling of parallel mounts
4636
4637	* amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
4638	filesystems, there can be no alternative mntfs to try to mount
4639
46402003-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
4641
4642	* amd/amd.8: reference am-utils info page in amd man page, as per
4643	Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
4644
4645	* fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
4646	yywrap() if it doesn't exist.
4647
4648	* amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
4649	fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
4650	newer flex 2.5.31 (beta development).  These include resolving
4651	conflicts with yylineno, unput() vs. nounput(), etc.
4652
46532003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4654
4655	* amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
4656	calling assign_error_mntfs()
4657	(amfs_generic_mount_child): ditto
4658
4659	* amd/autil.c (assign_error_mntfs): move the check for
4660	(am_error > 0) up into the caller, it's less confusing that way
4661
4662	* tasks: some updates
4663
4664	* conf/transp/transp_tli.c (check_pmap_up): new function which
4665	detects if the remote portmapper is functional
4666	(amu_clnt_create_best_version): removed
4667	(get_nfs_version): use a much simplified version of the old
4668	amu_clnt_create_best_version(), based on clnt_create_vers() and
4669	its _timed() counterpart
4670
4671	* conf/transp/transp_sockets.c (check_pmap_up): new function which
4672	detects if the remote portmapper is functional
4673	(pmap_ping): deleted
4674	(get_nfs_version): removed calls to pmap_ping, already done by
4675	caller
4676
4677	* amd/srvr_nfs.c: call check_pmap_up() before continuing with
4678	get_nfs_version()
4679
4680	* amd/amfs_generic.c: updated a couple of log messages
4681
4682	* configure.in: detect clnt_create_vers and clnt_create_vers_timed;
4683	changed LIBTOOL versioning to 3:0:0
4684
46852003-07-12  Ion Badulescu  <lionut@gonzales.badula.org>
4686
4687	* conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
4688	FS_AUTOFS because the host mount cannot be a top level mount
4689	(AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
4690	doesn't support direct mounts
4691
46922003-07-12  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4693
4694	* amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
4695	macros.
4696
46972003-07-10  Ion Badulescu  <ionut@buggy.badula.org>
4698
4699	* include/am_utils.h (dlog): improved version for gcc, using
4700	vararg macros
4701
4702	* amd/rpc_fwd.c (fwd_packet): unused variable when compiling
4703	without debugging
4704
47052003-07-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4706
4707	* include/am_utils.h (dlog): change the #define of non-debugging
4708	dlog to "nothing" so that all that'll be left behind is a list of
4709	args in parenthesis (arg,arg,...).  GCC and other native C
4710	compilers seem OK with it, even if it doesn't optimize away the
4711	whole debugging line.
4712
4713	* ltmain.sh: was from libtool 1.4.2.  updated to libtool 1.4.3,
4714	the latest on RH9 systems (but is not the latest libtool
4715	available).  Stay with stable version in preparation for 6.1
4716	release.
4717
4718	* config.{guess,sub}, doc/texinfo.tex: update to latest off of
4719	ftp.gnu.org.
4720
47212003-07-09  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4722
4723	* amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
4724	style comments: breaks non-C++ compilers (like AIX xlC 6)
4725
47262003-07-02  Ion Badulescu  <ionut@buggy.badula.org>
4727
4728	* doc/am-utils.texi (opts Option): document ignore_portmapper option
4729
4730	* conf/transp/transp_sockets.c (get_nfs_version): better
4731	protocol/version cycling while probing remote server; better log
4732	messages
4733
4734	* amd/srvr_nfs.c (start_ping): improved log message
4735	(find_nfs_srvr): always use requested nfs_version/nfs_proto; make
4736	sure we have a valid NFS port; start the server as "valid, down" if
4737	the remote portmapper tells us the NFS service is not running;
4738	implement the "ignore_portmapper" pseudo-mount option
4739
4740	* amd/rpc_fwd.c (fwd_packet): better debug messages
4741
4742	* amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
4743	denied; call wakeup even if mountd call fails
4744
4745	* amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
4746	instead of checking the flags directly
4747	* amd/srvr_amfs_auto.c (free_srvr): ditto
4748
4749	* amd/amfs_generic.c (amfs_bgmount): refined some error/debug
4750	messages
4751
4752	* amd/amd.h (FSRV_ERROR): new macro
4753	(FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
4754	local filesystem) is always up
4755
47562003-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
4757
4758	* amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
4759	umount options are present.
4760
4761	* doc/am-utils.texi (Program Filesystem): document alias options
4762	to unmount:=, umount:=.
4763
4764	* amd/opts.c (expansions): initialize opt_umount.
4765	(to_free): initialize opt_umount.
4766
4767	* amd/amfs_program.c (amfs_program_match): ensure that only one of
4768	umount:= or unmount:= options are specified, but that at least one
4769	of them is listed.
4770
4771	* amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
4772	annoying in type:program, when one forgets the 'n' in "unmount").
4773	They are two separate fields, so we can catch mistakes when
4774	someone tries to define both options.
4775
4776	* doc/am-utils.texi (Program Filesystem): explain that both mount
4777	and unmount options must be specified.  Correct example to show
4778	both.
4779
47802003-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
4781
4782	* XXX: beginning of new amd.conf option map_defaults: will parse
4783	the option and set remember it in the right places.  Need to
4784	document this and actually hook it up with the rest of the code.
4785	Any volunteers? :-)
4786
4787	* scripts/amd.conf-sample (map_defaults): example of map_defaults
4788	amd.conf option.
4789
4790	* amd/conf.c (reset_cf_map): initialize global and per-mount
4791	map_defaults.
4792	(gopt_map_defaults): parse global map_defaults.
4793	(process_regular_option,ropt_map_defaults): parse per-map
4794	map_defaults amd.conf option.
4795
4796	* amd/amd.h: a place to store global and per-mount map_defaults.
4797
4798	* BUGS: more notes about AIX 5.2 problems and how to overcome
4799	them.
4800
48012003-06-10  Erez Zadok  <ezk@cs.sunysb.edu>
4802
4803	* doc/Makefile.am: force version.texi to be rebuilt regardless of
4804	maintainer mode.  Silly Automake will not build version.texi if
4805	maintainer mode is off (this is hardcoded into the automake perl
4806	script!).  According to the Automake maintainers, users should
4807	always build in CVS trees with maintainer-mode on; but what if I
4808	don't want to?!  I don't want to distribute Makefiles with
4809	maintained rules in them to users.  The Automake maintainers also
4810	say that "make dist" will rebuild version.texi no matter what.  I
4811	find that not to be the case.  It failed to run a "make" before
4812	"make dist" because version.texi doesn't exist!  Chicken and Egg
4813	situation.  So, until Automake deals with version.texi in a more
4814	flexible and friendly manner, I adapted a rule to build
4815	version.texi and inserted it in this Makefile.am.
4816
48172003-06-09  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4818
4819	* mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
4820	next best thing to using mkstemp().  Patch from Hendrik Scholz
4821	<hscholz@raisdorf.net>.
4822
48232003-05-08  Ion Badulescu  <ion@guppy.limebrokerage.com>
4824
4825	* libamu/mount_fs.c (compute_automounter_mount_flags): use
4826	MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
4827
4828	* m4/macros/header_templates.m4: added template for
4829	MNT2_GEN_OPT_AUTOMOUNTED
4830
48312003-05-01  Ion Badulescu  <ionut@nicu.badula.org>
4832
4833	* amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
4834
48352003-04-23  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4836
4837	* conf/transp/transp_sockets.c (create_amq_service): minor cpp
4838	directive indentation and commenting.
4839
48402003-04-22  Ion Badulescu  <ionut@moisil.badula.org>
4841
4842	* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
4843	for an RPC library DoS issue (original patch from Martin Blapp,
4844	massaged into something more digestable by me)
4845
48462003-04-14  Ion Badulescu  <ionut@moisil.badula.org>
4847
4848	* conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
4849	left over from the recent cleanup
4850
48512003-04-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4852
4853	* doc/Makefile.am (DVIPS): use proper options for dvips.
4854
4855	* doc/am-utils.texi (opts Option): document new 'unmount' option,
4856	and better explain the 'nounmount' option.  Also some misc options
4857	for better generation of html manual.
4858
4859	* doc/Makefile.am (install-html): support newer texi2html 4.0
4860	options, as older options were renamed or changed behavior.
4861
4862	* amd/autil.c (am_mounted): support new 'unmount' option, to allow
4863	all file system mounts to timeout and thus expire.  This option is
4864	useful for removable local media such as CD-ROMs, USB drives,
4865	etc. so they can expire when not in use, and get unmounted (such
4866	drives can get work out when they keep spinning).  Patch from
4867	Christos Zoulas <christos@zoulas.com> (originally from Koji
4868	Imada).
4869
48702003-04-10  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4871
4872	* configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
4873	do not get added to Makefiles by default (they are confusing to
4874	users who don't have autotools installed).
4875
48762003-04-09  Ion Badulescu  <ion@guppy.limebrokerage.com>
4877
4878	* amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
4879	the 2001-05-23 entry) back to the 6.0 code
4880
48812003-04-04  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4882
4883	* libamu/xutil.c (switch_to_logfile): don't try to print logfile
4884	if it is null (strlen core dump on solaris).  Bug report from John
4885	P. Rouillard <rouilj@ieee.org>.
4886
48872003-03-31  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4888
4889	* fsinfo/fsinfo.8: typo co-ordinate -> coordinate.  Typo report
4890	from Perry E. Metzger" <perry@piermont.com>.
4891
48922003-03-25  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4893
4894	* include/am_defs.h: Don't include malloc.h if stdlib.h exists,
4895	because modern systems (e.g., BSD) complain if you use malloc.h
4896	instead of stdlib.h.  Let's hope there are no systems out
4897	there that need both.
4898
48992003-03-20  Erez Zadok  <ezk@suse73.fsl.cs.sunysb.edu>
4900
4901	* minor new port: sparc64-unknown-linux-suse7.3.
4902
49032003-03-20  Erez Zadok  <ezk@a-freebsd5.fsl.cs.sunysb.edu>
4904
4905	* minor new port: i386-unknown-freebsd5.0.
4906
4907	* configure.in: detect nfsclient/nfsargs.h.
4908
4909	* conf/nfs_prot/nfs_prot_freebsd3.h: include
4910	<nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
4911
49122003-03-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4913
4914	* amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
4915	scripts/amd.conf.5, scripts/expn.1: minor spell checking and
4916	extraneous space elimination.
4917
49182003-03-07  Ion Badulescu  <ionut@buggy.badula.org>
4919
4920	* conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
4921	descriptors if limit exceeded
4922	(autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
4923	(autofs_release_fh): release pending_mounts and pending_umounts
4924	queues
4925	(autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
4926
4927	* amd/mntfs.c (init_mntfs): delete initialization of removed
4928	mf_autofs_fh
4929	(uninit_mntfs): delete call to autofs_release_fh()
4930
4931	* amd/map.c (init_map): init autofs_fh to 0, delete initialization
4932	of removed autofs_data
4933	(free_map): release autofs_fh after unmounting map; delete call to
4934	autofs_free_data()
4935	(umount_exported): call autofs_release_mp() prior to unmounting
4936	autofs f/s
4937	(unmount_mp): ditto
4938	(free_map_if_success): call autofs_get_mp() if unmounting fails
4939	(timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
4940	timeouts instead of the per-mountpoint am_ttl
4941
4942	* amd/autil.c (am_unmounted): release autofs_fh after unmounting
4943	autofs f/s
4944
4945	* amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
4946	autofs f/s fails;
4947	(amfs_bgmount): ditto
4948
4949	* amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
4950	more related to the mount point than to the f/s mounted;
4951	added am_autofs_ttl to am_node, for running expirations on entire
4952	filesystems
4953
4954	* conf/autofs/autofs_*: autofs_get_fh() returns int instead of
4955	autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
4956	instead of autofs_fh_t *, in an effort to not deal with
4957	autofs-specific data structures outside autofs code;
4958	new methods autofs_get_mp() and autofs_release_mp(), which
4959	acquire/release autofs resources to allow clean unmount attempts;
4960	nuke autofs_data_t, never used
4961
4962	* amd/amd.h: prototypes for new and changed autofs functions
4963
49642003-03-07  Ion Badulescu  <ion@guppy.limebrokerage.com>
4965
4966	* amd/nfs_subr.c (do_readlink): eliminate third argument, never used
4967	(nfsproc_getattr_2_svc): reorganize the code a bit
4968
4969	* amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
4970	am_node * argument
4971
4972	* amd/amd.h: changed prototype for mk_fattr()
4973
4974	* amd/autil.c (am_unmounted): when remounting, use the parent
4975	node's lookup_child() and mount_child() operations, not the
4976	generic ones
4977
4978	* amd/amfs_generic.c (amfs_cont): minor code optimization
4979
49802003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
4981
4982	* amd/amfs_auto.c: lots of renames and code moving:
4983	amfs_auto_match() -> amfs_generic_match(), moved to generic;
4984	amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
4985	amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
4986	amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
4987	free_continuation(): moved to generic, made static;
4988	assign_error_mntfs(): moved to autil.c;
4989	amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
4990	amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
4991	try_mount() + mount_node() -> mount_node(), moved to map.c
4992	amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
4993	amfs_parse_defaults(): moved to generic;
4994	amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
4995	amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
4996	amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
4997	amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
4998	amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
4999	next_nonerror_node(): moved to autil.c;
5000	amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
5001	amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
5002
5003	* amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
5004	and moved to autil.c
5005
5006	* amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
5007	out of amd/amfs_auto.c
5008
5009	* amd/amd.h: struct continuation moved to generic.c; prototypes
5010	for the renamed functions; NumChild renamed to NumChildren
5011
5012	* amd/map.c: collaped unmount_node_wrap() and unmount_node() into
5013	the latter
5014
5015	* amd/mapc.c: key_already_in_chain(): moved to readdir.c;
5016	make_entry_chain(): moved to readdir.c;
5017
5018	* amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
5019	amfs_generic_find_srvr()
5020
5021	* amd/amfs_*.c: adjustments for the renames above
5022
5023	* amd/ops_*.c: low-level filesystems don't need a find_server()
5024	method
5025
5026	* amd/Makefile.am: added amfs_generic.c and readdir.c
5027
5028	* doc/am-utils.texi: minor clarification for auto maps
5029
50302003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5031
5032	* amd/amd.h: moved lots and lots of amd-only stuff here, from
5033	include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
5034	to be function typedefs, not pointer to function typedefs
5035
5036	* include/am_utils.h: see above
5037
5038	* amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
5039	function typedef changes
5040
50412003-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
5042
5043	* BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
5044	bug.
5045
50462003-02-02  Erez Zadok  <ezk@siamese.fsl.cs.sunysb.edu>
5047
5048	* NEWS: minor new port: ia64-unknown-linux-rh2.1AS
5049
50502003-01-31  Ion Badulescu  <ion@console.limebrokerage.com>
5051
5052	* m4/macros/os_cflags.m4: rhapsody and darwin are the same
5053
5054	* amd/autil.c (mount_node): vastly simplified, just a wrapper now
5055
5056	* amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
5057	hack, we now do it properly in the generic code
5058
5059	* amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
5060	forking the child; set and reset MFF_MOUNTING here, not in
5061	mount_node(), because the latter might be running in child
5062	context; call am_mounted() after a successful foreground mount
5063
50642003-01-29  Ion Badulescu  <ionut@moisil.badula.org>
5065
5066	* configure.in: new flag --with[out]-ndbm; don't pull in libldap
5067	if building --without-ldap; look for the gdbm/ndbm.h header; make
5068	explicit the dependency between the ndbm headers and libraries;
5069	define NEW_DBM_H as the ndbm header that should be used
5070
5071	* include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
5072	instead of trying to second-guess configure
5073
5074	* m4/macros/header_templates.m4: new template for NEW_DBM_H
5075
5076	* m4/macros/check_map_funcs.m4:
5077	(ac_upcase_map_name): use the third argument correctly
5078
5079	* ltmain.sh: working version from libtool-1.4.2-7
5080
5081	* buildall: print the entire configure command, including extra
5082	arguments; pass each of the extra arguments separately, not
5083	commingled into one
5084
50852003-01-28  Ion Badulescu  <ion@guppy.limebrokerage.com>
5086
5087	* include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
5088	DEBUG; it is not used without DEBUG, but it is referenced at
5089	compile time. Bug report from John Kilburg <john@physics.unlv.edu>.
5090	(D_ALL): don't include D_XDRTRACE, too verbose and normally
5091	unnecessary
5092
50932003-01-28  Erez Zadok  <ezk@cs.sunysb.edu>
5094
5095	* ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
5096	from latest official GNU versions.
5097
50982003-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
5099
5100	* BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
5101	vmount).
5102
51032003-01-25  Ion Badulescu  <ionut@moisil.badula.org>
5104
5105	* Released beta version 6.1b2
5106
51072003-01-24  Ion Badulescu  <ionut@moisil.badula.org>
5108
5109	* amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
5110	calling rmdirs() on mountpoint
5111
5112	* amd/amfs_auto.c (amfs_auto_bgmount): ditto
5113
5114	* amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
5115
5116	* doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
5117
5118	* NEWS: "sftlookup" -> "softlookup"
5119
5120	* amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
5121	check for "nosoftlookup" in combination with "soft"
5122
51232003-01-23  Ion Badulescu  <ion@guppy.limebrokerage.com>
5124
5125	* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
5126	freebsd22 derivative
5127
5128	* NEWS: updated for Darwin changes
5129
5130	* .cvsignore: added A.i386-apple-darwin6.0
5131
5132	* m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
5133	Darwin
5134
51352003-01-23  Erez Zadok  <ezk@cs.sunysb.edu>
5136
5137	* conf/mount/mount_aix.c (mount_aix3): clean back this file from
5138	all the debugging cruft that is no longer needed (and really was
5139	never needed in the first place).
5140
51412003-01-10  Erez Zadok  <ezk@cs.sunysb.edu>
5142
5143	* scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
5144	(map) files for testing basic amd functionality such as whether it
5145	can mount its own mount NFS points.
5146
51472002-12-28  Ion Badulescu  <ionut@moisil.badula.org>
5148
5149	* amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
5150	pings are disabled
5151
5152	* libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
5153	instead of casting the pointer to (enum_t *)
5154	(xdr_mountstat3): ditto
5155	(xdr_nfsstat): ditto
5156
5157	* libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
5158	64-bit big-endian platforms, bug report from Bill Fenner
5159	<fenner@research.att.com>
5160
5161	* configure.in: increase library patchlevel
5162
5163	* libamu/xutil.c (amu_release_controlling_tty): close and reopen
5164	file descriptors 0,1,2 before calling setsid()
5165
51662002-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
5167
5168	* updated copyright year to 2003 on all files
5169
51702002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5171
5172	* rename "aux/" subdir into "m4/" so as to avoid problems with
5173	MS-DOS systems (where "AUX" is a reserved name).  This required
5174	fixing numerous files.
5175
51762002-12-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5177
5178	* configure.in: don't check for bad hasmntopt() function if
5179	hasmntopt() doesn't exist on the system, because we will replace
5180	it with our own version anyway.
5181
5182	* conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
5183	dlog because htonl() returns a u_long.
5184
51852002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5186
5187	* include/am_defs.h: use system's hasmntopt() only if it is found
5188	and it is not buggy.
5189
5190	* libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
5191	char.
5192
5193	* amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
5194	amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
5195	libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
5196	to amu_hasmntopt().  Don't use hasmntopt() directly any more!
5197
5198	* aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
5199	hasmntopt() function, which incorrectly finds the option "soft" in
5200	a string "hard,softlookup,ro".
5201
5202	* libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
5203	hasmntopt(), to match what most systems use.
5204
5205	* aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
5206
5207	* configure.in: invoke test for bad hasmntopt()
5208
5209	* NEWS: minor new port, i386-pc-linux-rh8.0.
5210	Mention autofs-v4 on solaris9 works.
5211
5212	* bootstrap: remove any autom4te-*.cache directories, now that
5213	autoconf uses a version number for them.
5214
52152002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5216
5217	Patches from Christos Zoulas:
5218
5219	-1- am_utils.h: add full prototypes
5220	-2- amfs_auto.c make functions static and add prototypes
5221	-3- map.c: kill double free
5222	-5- transp_sockets.c: add full prototypes
5223
52242002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5225
5226	* NEWS: updated
5227
5228	* doc/am-utils.texi (opts Option): document sftlookup
5229
5230	* conf/autofs/autofs_solaris_v2_v3.c: compile fixes
5231
52322002-11-22  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5233
5234	* amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
5235	%ld not %d.
5236
52372002-11-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5238
5239	* {amd,fsinfo}/Makefile.am: remove special rules for processing
5240	yacc/lex files, now that autoconf/automake properly handle them
5241	better (esp. now that bison 1.75 behaves differently than older
5242	bison versions).
5243
52442002-11-21  Erez Zadok  <ezk@cs.sunysb.edu>
5245
5246	* config.guess.long: updated script so it will properly find the
5247	version number of the new Itanium 2 machines running "Red Hat
5248	Linux Advanced Workstation release 2.1AW (Derry)".  The script now
5249	will report ia64-unknown-linux-rh2.1AW.
5250
52512002-11-20  Ion Badulescu  <ionut@moisil.badula.org>
5252
5253	* amfs_auto_bgmount(): almost complete rewrite
5254
5255	* fixed amfs_inherit to do the right thing and not dereference
5256	freed mntfs'es
5257
5258	* #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
5259	amfs_autofs_lookup_child()
5260
5261	* release the autofs_fh only in one place
5262
5263	* remove the mountpoint only if mf_refc == 1
5264
5265	* print the mntfs type in free_mntfs()
5266
5267	* new pseudo-mount option 'sftlookup' which causes lookups to
5268	mounted shares from downed servers to return EIO; the default
5269	depends on whether the mount is 'hard' or 'soft'
5270
5271	* improved querying of supported NFS versions on the server --
5272	don't even try if it's known to be down
5273
5274	* solaris autofs mount code moved to transp_{sockets,tli}.c
5275
5276	* incipient (non-functional) AIX autofs support
5277
52782002-11-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5279
5280	* doc/am-utils.texi (Keep-alives): removed outdated info about not
5281	maintaining the state of TCP NFS servers
5282
52832002-11-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5284
5285	* include/am_utils.h: prototype for ops_search()
5286
5287	* amd/am_ops.c (ops_search): new function for searching the right
5288	set of ops for a given filesystem type
5289
5290	* amd/restart.c (restart): cleanup and split into two functions in
5291	preparation for handling the restart of amd's own mount points
5292	(restart_fake_mntfs): new function, factored out from restart()
5293
52942002-11-04  Ion Badulescu  <ionut@buggy.badula.org>
5295
5296	* amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
5297	(cdfs_umount): ditto
5298
5299	* conf/mount/mount_linux.c (mount_linux): factor it out to
5300	mount_linux_nfs() and mount_linux_nonfs()
5301	(mount_linux_nonfs): generalize loop device support to all
5302	filesystems (not just cdfs); make it automatic for anything that's
5303	a regular file
5304	(parse_opts): deprecate the explicit "loop" mount option
5305	(do_mount_linux): minor cleanup
5306
5307	* conf/umount/umount_default.c (umount_fs2): release loop device
5308	on umount()
5309
53102002-11-03  Erez Zadok  <ezk@cnm20>
5311
5312	* include/am_defs.h: moved #include of net/if.h above net/route.h,
5313	because on AIX 5.2 if.h is needed for route.h (let's hope it
5314	doesn't break things on other systems).
5315
5316	* include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
5317	to be defined, but I don't want to move the inclusion of signal.h
5318	this early into this file.  Luckily, amd doesn't need the size of
5319	this structure in any other structure that it uses.  So we
5320	sidestep it for now.
5321
5322	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
5323	but I couldn't find its definition anywhere.  Luckily, amd doesn't
5324	need the size of this structure in any other structure that it
5325	uses.  So we sidestep it for now.
5326
53272002-11-02  Erez Zadok  <ezk@cs.sunysb.edu>
5328
5329	* config.guess, config.sub, doc/texinfo.tex: updates from
5330	the latest GNU distributions (2002-09-05).
5331
53322002-10-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5333
5334	* conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
5335	mount.h for NFSOPT_* and NFSMNT_*.
5336	Don't use typedefs that aren't found in system header files.
5337
53382002-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
5339
5340	* Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
5341
5342	* conf/nfs_prot/nfs_prot_aix5_2.h: new file.
5343
5344	* aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
5345	for "struct aux52_nfs_args".
5346
5347	* aux/macros/check_nfs_prot_headers.m4: define new header file for
5348	AIX 5.2.
5349
53502002-10-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5351
5352	* scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
5353	man page.
5354
5355	* scripts/amd.conf-sample (ldap_proto_version): show example of use
5356
5357	* doc/am-utils.texi (ldap_proto_version Parameter): document new
5358	amd.conf option.
5359
5360	* amd/conf.c (gopt_ldap_proto_version): new conf function to
5361	support ldap_proto_version amd.conf parameter.
5362
5363	* amd/amd.h: field to hold LDAP protocol version.
5364
5365	* amd/amd.c (init_global_options): set default for
5366	ldap_proto_version.  ldap_proto_version patch from George Ross
5367	<gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>.
5368
5369	* amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
5370	unbinding from an LDAP server that may have been restarted.  Fix
5371	from George Ross <gdmr@dcs.ed.ac.uk>.
5372
53732002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5374
5375	* remove all autoconf stuff added for sys_nerr
5376
5377	* amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
5378
5379	* libamu/strerror.c: more explicit text for unknown errno's
5380
53812002-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
5382
5383	* include/am_defs.h: define "extern int sys_err" if needed.
5384
5385	* aux/macros/header_templates.m4: template for
5386	HAVE_EXTERN_SYS_NERR.
5387
5388	* hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
5389	(show_mi): remove "extern int sys_err"
5390
5391	* configure.in: execute test for "extern int sys_err"
5392
5393	* Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
5394
5395	* aux/macros/extern_sys_nerr.m4: new test to check for existence
5396	of "extern int sys_nerr" definition in system headers.
5397
53982002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5399
5400	* libamu/xutil.c (dbg_opt): bring comments in line with the code
5401
5402	* hlfsd/hlfsd.c (main): use amuDebug() instead of touching
5403	debug_flags directly
5404
5405	* amd/amd.c (main): don't init debug_flags, leave it as zero (no
5406	debugging by default)
5407
54082002-09-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5409
5410	Debug code sanitization:
5411
5412	- amuDebug() becomes an expression, and explicit if() statements
5413	are added around it throughout the code
5414	- amuDebugNo() goes away (ugh!)
5415	- D_AMQ, D_DAEMON and D_FORK reverse their meaning
5416	- D_ALL contains only options that don't affect amd's functionality
5417
54182002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5419
5420	* amd/amfs_auto.c (free_continuation): avoid double-free'ing the
5421	mntfs if there was an error/timeout
5422
54232002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5424
5425	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
5426	of "return NULL" to signal an error to the upper layers
5427	(amfs_auto_mount): use strdup so the string can be free'd later on
5428	[Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>]
5429
54302002-09-03  Ion Badulescu  <ion@guppy.limebrokerage.com>
5431
5432	Patches from George Ross <gdmr@dcs.ed.ac.uk>:
5433
5434	* amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
5435	it will be done in free_continuation(); assorted debugging messages
5436
5437	* amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
5438	timeout to avoid problems with late ping replies
5439
5440	* amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
5441	debugging messages
5442
5443	* amd/map.c (unmount_node): more verbose debug message
5444
54452002-07-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
5446
5447	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
5448	de-allocated memory in str3cat
5449	(amfs_auto_lookup_mntfs): check for buffer overflow
5450
54512002-07-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5452
5453	* scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
5454	<wiz@danbala.ifoer.tuwien.ac.at>.
5455
54562002-06-26  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5457
5458	* doc/Makefile.am (install-html): don't use locally hacked
5459	texi2html features.
5460
5461	* conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
5462	systems should use 127.0.0.1 as the localhost address over which
5463	you can do NFS mounts.  In the past we found that some NFS clients
5464	may not allow mounts from localhost.  So we used get_myaddress()
5465	and that seemed to work.  Alas, on some other systems,
5466	get_myaddress() may return one of the interface addresses at
5467	random, and thus use a less efficient IP address than 127.0.0.1.
5468	The solution is to hard-code 127.0.0.1, but still check if
5469	get_myaddress() returns a different value and warn about it.
5470
5471	* doc/am-utils.texi: don't use ':' in @cindex entries.
5472
54732002-06-25  Ion Badulescu  <ion@guppy.limebrokerage.com>
5474
5475	* Released beta version 6.1b1
5476
54772002-06-24  Ion Badulescu  <ionut@moisil.badula.org>
5478
5479	* aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
5480
5481	* conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
5482	aix51_nfs_args, rename unknown fields to u<number>, add the
5483	unknown new field into the middle of the old 4.2 structure
5484
54852002-06-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
5486
5487	* include/am_compat.h: better test for struct netconfig
5488	(!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
5489
5490	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5491
5492	* buildall: fix 'buildall -b' on hpux9 and aix5.1
5493
54942002-06-24  Ion Badulescu  <ionut@buggy.badula.org>
5495
5496	* INSTALL: updated
5497
5498	* conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
5499	(autofs_link_umount): ditto
5500
5501	* amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
5502
55032002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5504
5505	* conf/autofs/autofs_linux.c: compile fixes for autofs v3
5506
55072002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5508
5509	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
5510	expirations needed;
5511	(autofs_timeout_mp): likewise
5512
5513	* conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
5514	needed;
5515	(autofs_timeout_mp): likewise
5516
5517	* conf/autofs/autofs_linux.c (autofs_mounted): set the first
5518	expiration interval
5519
5520	* amd/autil.c (am_mounted): call autofs_mounted here, instead of
5521	in mf_mounted()
5522
5523	* amd/amd.h (NEVER): moved here from map.c
5524	(autofs_mounted): change argument from mntfs* to am_node*
5525
55262002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5527
5528	* conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
5529	timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
5530	(autofs_timeout_mp): don't update the ttl if we're going down
5531
5532	* amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
5533	timeout on that particular am_node has expired
5534
5535	* conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
5536	the ttl, as per the comment (compilers are not very good at
5537	translating comments into code...)
5538
5539	* amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
5540	instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
5541	between link mounts pointing to the same target
5542
55432002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5544
5545	* conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
5546	functions for sending messages back to the kernel
5547	(autofs_expire_one): initial implementation of the kernel-based
5548	expiration handler
5549	(autofs_handle_expire): call autofs_expire_one()
5550	(autofs_handle_expire_multi): ditto
5551	(autofs_umount_succeeded): search pending_umounts, send message
5552	back to the kernel
5553	(autofs_umount_failed): ditto
5554	(autofs_mount_succeeded): tell amd core not to expire autofs entries
5555	(autofs_timeout_mp): expiration function for autofs filesystems
5556	(autofs_timeout_mp_task): helper function for autofs_timeout_mp
5557
5558	* conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
5559	keeping tracking of pending umounts
5560	(autofs_fh_t) rename pending to pending_mounts, add pending_umounts
5561
5562	* conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
5563
5564	* conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
5565
5566	* amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
5567	filesystems
5568
5569	* amd/autil.c (mf_mounted): move here the call autofs_mounted()
5570	from amfs_auto_mounted().
5571
55722002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5573
5574	* amd/nfs_start.c (mount_automounter): Security fix.  if user sets
5575	-D noamq, don't even create listening socket.  Suggestion by Ed
5576	Ravin <eravin@panix.com>.
5577
55782002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5579
5580	* hlfsd/homedir.c (homedir): use setgid() instead of setegid()
5581
5582	* ALL: #ifdef cleanups, unify some TLI/socket function prototypes
5583
55842002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5585
5586	* conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
5587	na_gid and na_uid.  NetBSD patch from Jun-ichiro itojun Hagino
5588	<itojun@iijlab.net>.
5589
5590	* doc/am-utils.texi (Option): document xlatecookie mount option.
5591
5592	* libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
5593	NFS mount option.  Patch from Matthias Scheler <tron@zhadum.de>
5594	for NetBSD.
5595
55962002-06-22  Ion Badulescu  <ionut@edgar.badula.org>
5597
5598	* conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
5599	AUTOFS_LINK_FS_FLAGS
5600
5601	* conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
5602	mounts in autofs_link_mount/umount
5603
56042002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5605
5606	* configure.in: check for devid inside struct umntrequest
5607
5608	* conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
5609	new umntrequest structure in v4.
5610	(autofs_unmount_2_req): ditto
5611
5612	* README.autofs: updated for Solaris 2.5/2.5.1
5613
56142002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5615
5616	* configure.in: only define LDAP/Hesiod if both the headers and
5617	the libraries exist, and the user didn't explicitly disable those
5618	maps.
5619
56202002-06-22 Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5621
5622	* doc/am-utils.texi: fix typos.  Can't use ":" in @cindex entries.
5623
56242002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5625
5626	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
5627	amd/amd.8, amd/get_args.c (get_args): document amd -A option.
5628
5629	* amd/get_args.c (get_args): support "amd -A arg" option to
5630	override the system's detected architecture.  Patch from George
5631	Ross <gdmr@dcs.ed.ac.uk>.
5632
5633	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
5634	if the system doesn't have it.
5635
5636	* configure.in: detect existence of ldap_enable_cache function,
5637	because it doesn't exist on Solaris 9's latest ldap libraries.
5638
5639	* amd/info_ldap.c: LDAP patches from George Ross
5640	<gdmr@dcs.ed.ac.uk>.  Rework of old code, support for wildcards in
5641	LDAP queries, and an FD leak fix.
5642
56432002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5644
5645	* buildall: use ksh for configure on aix5.1; pass the extra
5646	arguments after "--" to configure, not to make
5647
5648	* Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
5649
5650	* conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
5651	with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
5652	mount with the alternative nfs3_args structure
5653
5654	* conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
5655	structure, similar to that in aix5.1, for a hack that tries to
5656	compensate for IBM's brain fart
5657
5658	* conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
5659
5660	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5661
5662	* BUGS: update for direct mounts on Linux; document the brokenness
5663	of /bin/sh on AIX 5.1 and HP-UX 9
5664
5665	* NEWS: aix5.1 port, aix4.3 workaround
5666
56672002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
5668
5669	* ltmain.sh: use libtool 1.4d, needed support for newer AIX.
5670
56712002-06-21  Ion Badulescu  <ion@guppy.limebrokerage.com>
5672
5673	* aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
5674	all solaris2.6+, not just for 2.[6-8]
5675
5676	* conf/autofs/autofs_default.h: disable autofs if configure
5677	detects it
5678
56792002-06-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5680
5681	* aux/macros/with_addon.m4: correct M4 quoting.
5682
5683	* aux/macros/cache_check_dynamic.m4: correct M4 quoting.
5684
5685	* bootstrap: show version of autotools being used.  Helps
5686	maintainer debugging.
5687
5688	* configure.in: new proper syntax for libtool and
5689	ansi2knr-filtering rules, required by autoconf 1.53 and higher.
5690
56912002-06-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5692
5693	* aux/GNUmakefile: new search paths for "update" target.
5694
5695	* config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
5696	the latest GNU distributions.
5697
56982002-06-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5699
5700	* amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
5701	function into the new amfs_auto_lookup_one_child function; return
5702	null if all ivecs failed to match
5703
57042002-05-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5705
5706	* config.guess.long: support SuSE version names in long
5707	config.guess format.
5708
57092002-05-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5710
5711	* scripts/lostaltmail.in (vrfy_user): unlink temp files if too
5712	small.
5713
57142002-04-07  Ion Badulescu  <ionut@moisil.badula.org>
5715
5716	* hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
5717
57182002-03-29  Ion Badulescu  <ionut@moisil.badula.org>
5719
5720	* README.autofs: solaris 2.5/2.5.1 info, other minor changes
5721
5722	* doc/am-utils.texi (History): document solaris 2.5+ support
5723
5724	* include/am_utils.h: new member in struct mntfs: mfs_real_mount;
5725	autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
5726	prototype for umount_fs2(); extra argument for UMOUNT_FS()
5727
5728	* hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
5729
5730	* libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
5731	function; swap mntdir and real_mntdir as necessary for solaris 2.5
5732	autofs support
5733
5734	* conf/umount/umount_default.c (umount_fs2): swap mntdir and
5735	real_mntdir as necessary for solaris 2.5 autofs support
5736
5737	* conf/umount/umount_*.c (umount_fs): wrapper around the new
5738	umount_fs2() function
5739	(umount_fs2): new function which takes the real mountpoint as an
5740	extra argument
5741
5742	* conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
5743	compiled in
5744
5745	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
5746	function that appends a space at the end of a string (the famous
5747	"Autofs Space Protocol")
5748
5749	* conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
5750
5751	* conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
5752	system-specific definitions for these macros
5753
5754	* conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
5755	which are now handled properly by more generic code
5756	(autofs_link_umount): complain if umount_fs() fails, rmdir the
5757	mountpoint on success
5758	(autofs_umount_succeeded): remove the rmdirs() code, now handled
5759	by generic code
5760	(autofs_mount_succeeded): ditto
5761
5762	* amd/nfs_start.c (checkup): implement it as an emtpy stub if
5763	DEBUG is not defined
5764	(run_rpc): call autofs_add_fdset() after umount_exported() to
5765	avoid passing invalid file descriptors to select(); use plog()
5766	instead of perror()
5767
5768	* amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
5769	(uninit_mntfs): free mf_real_mount
5770
5771	* amd/autil.c (am_unmounted): don't remove the mount point if a
5772	remount is pending, also don't make the removal conditional on not
5773	being an autofs mount point
5774
5775	* amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
5776	mf->mf_real_mount instead of mf->mf_mount
5777
5778	* amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
5779	rmdirs() on mf->mf_real_mount instead of mf->mf_mount
5780
5781	* amd/amfs_host.c (make_mntpt): change the third argument to be
5782	the mountpoint, not the entire mntfs structure
5783	(do_mount): takes real_mntdir as an extra argument
5784
5785	* amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
5786	mountpoint here from try_mount(), otherwise the change to mf_flags
5787	is lost for background mounts; remove the mountpoint if we created
5788	it and the mount fails
5789	(amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
5790	autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
5791
5792	* amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
5793	AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
5794	header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
5795	mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
5796	extra argument
5797
5798	* amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
5799	the real mountpoint as an additional argument
5800
58012002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5802
5803	* amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
5804	values back from mount_fs().  Return correct error number from
5805	this function.
5806
5807	* conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
5808	cruft from this function, moved elsewhere.
5809	(mount_linux): prepare for loop-device mounts of ISO images.
5810
58112002-03-28  Ion Badulescu  <ionut@buggy.badula.org>
5812
5813	* libamu/Makefile.am (EXTRA_DIST): added strerror.c
5814
5815	* libamu/strerror.c: strerror() implementation for systems lacking it
5816
5817	* doc/am-utils.texi (History): rewrote the history :) about autofs
5818	support
5819
5820	* conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
5821	(autofs_unmount_2_req): minor cleanup
5822	(create_autofs_service): print log message
5823	(destroy_autofs_service): ditto
5824
5825	* conf/autofs/autofs_linux.c: updated copyright
5826
5827	* amd/nfs_start.c (mount_automounter): move the debug message into
5828	create_autofs_service()
5829
5830	* amd/amd.c (main): call destroy_autofs_service() before
5831	going_down(), not after
5832
5833	* configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
5834	if the ldap headers are not found
5835
58362002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5837
5838	* amd/info_ldap.c: patch from "Sebastien Bahloul"
5839	<sebastien.bahloul@medasys.org> to fix a simple initialization bug
5840	and change "HE" to HE_ENT so as to compile on HPUX.
5841
58422002-02-26  Erez Zadok  <ezk@t3.fsl.cs.sunysb.edu>
5843
5844	* conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
5845	atttributes field named "uid".  So #define na_uid to it.
5846
58472002-02-12  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5848
5849	* scripts/lostaltmail.in: don't verify user if -noverify option
5850	was turned on.  fix comment typo.
5851
58522002-02-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5853
5854	* amd/Makefile.am (TESTS): enable one test script, test1.sh.
5855
5856	* amd/test1.sh: re-commit simple test script.
5857
58582002-02-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5859
5860	* Released snapshot 6.1a5
5861
5862	* NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
5863
5864	* README: require newer auto-tools, update mailing list address
5865
5866	* README.autofs: major update
5867
5868	* configure.in: version changed to 6.1a5
5869
58702002-02-11  Ion Badulescu  <ionut@moisil.badula.org>
5871
5872	* conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
5873	stat() on the am_link if called from the parent amd, to prevent
5874	deadlocks
5875
5876	* amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
5877	fstype is not link but we have a sublink (Linux autofs needs this)
5878	(am_mounted): call amfs_link_ops.mount_fs if the fstype is not
5879	link but we have a sublink (Linux autofs needs this)
5880
5881	* amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
5882	not the amd entry point
5883
58842002-02-09  Ion Badulescu  <ionut@moisil.badula.org>
5885
5886	* conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
5887	structure for returning the results from readdir_2()
5888	(xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
5889	changed to process our internal format (which is essentially the
5890	NFS readdir format)
5891	(xdr_autofs_getrddirres): not needed, deleted
5892	(xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
5893	changes to handle amd_rddirres instead of autofs_rddirres
5894	(autofs_lookup_2_req): return AUTOFS_NONE instead of
5895	AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
5896	(autofs_readdir_2_req): implemented
5897	(autofs_readdir_2_free): not needed, deleted
5898	(autofs_program_2): changes from autofs_rddirres to amd_rddirres
5899	(autofs_get_fh): changed initialization of the fh->map member, it
5900	now gets the mountpoint path because it makes it easier to
5901	implement readdir
5902	(autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
5903	code touching fh->addr
5904	(destroy_autofs_service): new function, deregister the autofs
5905	service with the portmapper on exit
5906
5907	* conf/autofs/autofs_linux.c (autofs_handle_missing): update
5908	statistics
5909	(destroy_autofs_service): new stub
5910
5911	* amd/mapc.c (mapc_find): fixed indentation
5912
5913	* amd/map.c (find_ap_recursive): renamed from find_ap2(), made
5914	static
5915
5916	* amd/amd.h: removed prototype for find_ap2(), added prototype for
5917	destroy_autofs_service()
5918
5919	* amd/amd.c (main): call destroy_autofs_service() before going
5920	down
5921
59222002-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5923
5924	* aux/macros/check_field.m4: need also a new version of
5925	AC_CHECK_MEMBERS (plural).
5926
59272002-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5928
5929	* aux/macros/check_field.m4: include a fixed version of
5930	AC_CHECK_MEMBER.  g/cc will fail to check a member if the .member
5931	is itself a data structure, because you cannot compare, in C, a
5932	data structure against NULL; you can compare a native data type
5933	(int, char) or a pointer.  Solution: do what I did in my original
5934	member checking macro: try to take the address of the member.  You
5935	can always take the address of anything.
5936
59372002-01-31  Erez Zadok  <ezk@localhost.localdomain>
5938
5939	* remove old '%W%' SCCS IDs from all sources.
5940
59412002-01-21  Ion Badulescu  <ionut@moisil.badula.org>
5942
5943	* conf/mount/mount_linux.c (mount_linux): fix breakage introduced
5944	by the loop device mount support. Linux mount takes a real string
5945	as the last argument, unless the mount type is NFS, NCP, or SMB.
5946
59472002-01-20  Erez Zadok  <ezk@localhost.localdomain>
5948
5949	* hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
5950	because we made some important changes.
5951
59522002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
5953
5954	* include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
5955	by default
5956
5957	* NEWS: document latest changes
5958
5959	* amd/map.c (unmount_mp): same fix as for hlfsd, update the
5960	seconds field in mtime because Linux ignores the useconds field
5961
5962	* hlfsd/homedir.c: made some global vars static
5963	(plt_init): remove all trailing '/' chars from root's home;
5964	use root's home, not the username (silly bugfix)
5965
59662002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
5967
5968	* hlfsd/homedir.c (homedir): don't special case uid 0 as having /
5969	as home; instead use the root account's home
5970	(plt_init): properly initialize root_home from the root account's
5971	home directory, or as "" if root doesn't exist
5972	(plt_reset): free root_home
5973
59742002-01-20  Erez Zadok  <ezk@localhost.localdomain>
5975
5976	* hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
5977	Increment seconds, not microseconds (which are ignored by NFS).
5978	Set symlink owner to euid.
5979
5980	* hlfsd/homedir.c (homedir): pass gid to this function, so we can
5981	also change the effective GID of the process writing to the user's
5982	home dir, as well as the group of the hlfsd symlink.
5983	(homedir): run setegid in the right places.
5984
59852002-01-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5986
5987	* scripts/redhat-ctl-amd.in: refer to @sbindir@ not
5988	${prefix}/sbin.
5989
5990	* scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
5991	${prefix}/etc.  Bug report from "A Braunsdorf"
5992	<ab@eas.purdue.edu>.
5993
59942002-01-13  Erez Zadok  <ezk@localhost.localdomain>
5995
5996	* configure.in: only check for clock_gettime if --enable-debug was
5997	used.
5998
5999	* aux/macros/opt_debug.m4: define a cache variable to record value
6000	of debug option used.
6001
6002	* libamu/xutil.c (show_time_host_and_name): do not use
6003	clock_gettime unless debugging was compiled in.  This way, if
6004	debugging is not compiled, we don't bother linking with librt,
6005	libpthread, and a whole lot of other libraries that aren't that
6006	necessary (esp. on Linux).
6007
60082002-01-12  Erez Zadok  <ezk@wavy.dyn.optonline.net>
6009
6010	* doc/am-utils.texi (opts Option): document loop option.
6011
6012	* include/am_utils.h: each mounted file system (mntfs) should
6013	optionally store the loop device used in the field mf_loopdev.
6014
6015	* conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
6016	loop function extern definitions.  For now this code is here
6017	because we only support loop devices on Linux.
6018
6019	* conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
6020	mount option.
6021	(parse_opts): when skipping over unknown mount options, skip over
6022	"loop" (since it was given in amd map entry), but not over
6023	loop=/dev/loopX, because the latter will go into /etc/mtab.
6024	(do_mount_linux): override actual cdfs mounted  device name
6025	because with loop devices you don't mount the .iso file directly,
6026	but the /dev/loopX device that was setup for it.
6027	(show_loop, is_loop_device, find_unused_loop_device,
6028	setup_loop_device, delete_loop_device): support code for loop
6029	devices.
6030
6031	* amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
6032	setup loop device before isofs mount, if "loop" option was given,
6033	before actual mount(2).
6034	(cdfs_mount): pass loopdev name to mount_cdfs().
6035	(cdfs_umount): delete/unset loop device after a successful
6036	unmount, if a loop device was used.
6037
6038	* amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
6039
6040	* include/am_compat.h: If loop device (header file) exists, define
6041	mount table option MNTTTAB_OPT_LOOP.
6042
6043	* conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
6044	here until we have a better way to detect /dev/loop devices.
6045
6046	* include/am_defs.h: include <linux/loop.h> if it exists.  Define
6047	LARGEFILE support macros, possibly needed for loop devices.
6048	Redefine dev_t apropriately for loop devices.
6049
6050	* configure.in: check for <linux/loop.h>.
6051
60522002-01-10  Ion Badulescu  <ion@guppy.limebrokerage.com>
6053
6054	* conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
6055	parameter 2 orders of magnitude larger than udp (patch from Trond
6056	Myklebust)
6057
60582002-01-09  Erez Zadok  <ezk@localhost.localdomain>
6059
6060	* aux/macros/linux_headers.m4: properly [quote] a long string in
6061	m4 and use AC_MSG_WARN.
6062
6063	* ALL: put /* comments */ on #else/#endif lines everywhere.
6064
6065	* configure.in, aux/macros/with_addon.m4: due to limitation of
6066	AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
6067	package for help string.
6068
6069	* doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
6070	FSinfo section of the manual.
6071	(map_reload_interval Parameter): document new amd.conf global
6072	parameter.
6073
6074	* scripts/amd.conf.5 document new global option
6075	map_reload_interval.  Sort entries for nfs_vers and nfs_proto
6076	alphabetically.
6077
6078	* amd/nfs_start.c (do_select): increment do_mapc_reload's value by
6079	global map_reload_interval value, not by fixed ONE_HOUR.
6080
6081	* amd/amd.c (main): increment do_mapc_reload's value by global
6082	map_reload_interval value, not by fixed ONE_HOUR.
6083
6084	* scripts/amd.conf-sample (map_reload_interval): usage example
6085
6086	* amd/amd.c (init_global_options): initialize map_reload_interval
6087	to 3600 seconds.
6088
6089	* amd/conf.c (gopt_map_reload_interval): support a new global
6090	amd.conf option map_reload_interval, to determine how often (in
6091	seconds) Amd should check if the map source has changed and then
6092	reload it it.  This value was hard-coded to one hour, now it's the
6093	default if not otherwise specified.
6094
6095	* doc/am-utils.texi (plock Parameter): document plock=yes option
6096	as using mlockall(2) if found.
6097
6098	* scripts/amd.conf.5: document -S option as using mlockall(2) if
6099	found.
6100
6101	* include/am_defs.h: include <sys/mman.h> if it exists.
6102
6103	* configure.in: check for mlockall() function.  Check for
6104	sys/mman.h.
6105
6106	* amd/amd.c (main): support mlockall() on systems that have it and
6107	don't have plock(3) for plock=yes.  On systems that have both,
6108	will try plock() first and then mlockall(), until one of them (if
6109	any) succeeds.
6110
61112002-01-09  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6112
6113	* aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
6114	with_addon.m4 (ac_upcase): fix help string formatting using
6115	AC_HELP_STRING.
6116
6117	* amd/test1.sh: simple test script for "make check".  Runs "amd
6118	-v".
6119
6120	* amd/Makefile.am (TESTS): add one simple test script, running
6121	"amd -v" and checking its return value.  More tests can be added.
6122
6123	* aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
6124
6125	* aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
6126	Instead, list bracketed regexp patterns in [[double brackets]].
6127
6128	* aux/macros/header_templates.m4: remove all unnecessary
6129	HAVE_FIELD_* definitions, now that we're using autoconf's new
6130	AC_CHECK_MEMBERS.
6131
6132	* aux/macros/field_mntent_t_mnt_time_string.m4: don't call
6133
6134	* configure.in: use new syntax for AMU_CHECK_FIELD
6135
6136	* aux/macros/check_field.m4: use new and simpler macro
6137	AC_CHECK_MEMBERS.  Change all sources to use HAVE_aggregate.member
6138	instead of HAVE_FIELD_aggregate.member.
6139
6140	* aux/amdgrep: simple utility script to egrep the am-utils sources
6141	for any pattern.
6142
6143	* aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
6144	check_umount_style.m4, check_network_transport_type.m4}: use newer
6145	AC_LIBOBJ macros instead of modifying $LIBOBJS directly
6146
6147	* aux/macros/func_bad_memcmp.m4: redefine to use native
6148	AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
6149
6150	* fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
6151	pre-ANSI C compilers will ignore it.
6152
6153	* conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
6154	correctly depending on whether it takes a void or a 0.
6155
6156	* configure.in: check if s/getpgrp() takes void or a 0.
6157
61582002-01-08  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6159
6160	* configure.in: use the newer AC_CONFIG_LINKS instead of
6161	AC_LINK_FILES.
6162
6163	* aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
6164	check_mnttab_style.m4, check_mount_style.m4,
6165	check_network_transport_type.m4, check_umount_style.m4,
6166	check_nfs_prot_headers.m4: removed backward compatible code for
6167	pre-autoconf-2.14.
6168
61692002-01-07  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6170
6171	* doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
6172	this Makefile could explicitly chdir to other directories and run
6173	make there.
6174	(install-ps): use ${MAKE} with ${MFLAGS}.
6175
6176	* Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
6177	Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
6178	could explicitly chdir to other directories and run make there.
6179	(install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
6180
6181	* configure.in: call AC_PROG_MAKE_SET to check if make program
6182	defines $MAKE variable.
6183
6184	* amd/get_args.c (get_version_string): use new PACKAGE_* macros
6185	and also report the bug-reporting address.
6186
6187	* aux/macros/package_{name,version}.m4, header_templates.m4: using
6188	new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
6189
6190	* aux/macros/name_bugreport.m4: simple macro to print out the
6191	bug-reporting address which was configured in AC_INIT.
6192
6193	* bootstrap: remove new autoconf messages about misuse of
6194	m4_patsubst and m4_regexp (internal GNU M4 macros).
6195
6196	* configure.in: remove old comment above AC_OUTPUT.
6197	Use AC_CONFIG_FILES and AC_OUTPUT separately.
6198	Fix AC_REVISION use.
6199	Add AC_COPYRIGHT.
6200	Use new style for AC_INIT, listing package name, version, and
6201	bug-reporting address.
6202	Call new AMU_PACKAGE_* macros.
6203
6204	* updated copyright year to 2002 on all files
6205
6206	* configure.in: using newly renamed am-utils macros (AMU_*)
6207
6208	* aux/macros/*.m4: renamed ALL am-utils specific macros so they
6209	start with AMU_*, not AC_*.  That way it is easier to distinguish
6210	between macros that come with am-utils and those that are part of
6211	Autoconf or Automake.  It helps to identify those am-utils macros
6212	that can be removed once there is generic support for them in a
6213	future version of Autoconf.
6214
6215	* bootstrap: run automake --copy
6216	remove autom4te.cache dir before rerunning autoconf
6217
62182001-12-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6219
6220	* scripts/amd.conf.5: correct title to section 5, not 8.  Correct
6221	reversed meaning of nfs_proto and nfs_vers parameters.  Typos
6222	reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
6223
62242001-12-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6225
6226	* scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
6227
6228	* scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
6229
62302001-12-02  Ion Badulescu  <ionut@moisil.badula.org>
6231
6232	* hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
6233	non-mkstemp code
6234
6235	* scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
6236	happy
6237
6238	* scripts/ctl-hlfsd.in: ditto (for hlfsd)
6239
6240	* conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
6241	get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
6242
6243	* conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
6244
62452001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6246
6247	* tasks: updated
6248
6249	* NEWS: document the fixed autofs fd leak
6250
6251	* amq/amq.8: better document the -f option
6252
62532001-11-29  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6254
6255	* libamu/mount_fs.c (mnt_flags): same this as for nolock option
6256	handling, do for maxgrps.
6257
62582001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6259
6260	* conf/autofs/autofs_linux.c (hash_init): determine the max number
6261	of fd's at runtime, use it to dynamically scale the hash and list
6262	arrays
6263	(autofs_get_fh): sanity check, don't allow a pipe() fd greater
6264	than autofs_max_fds
6265	(autofs_release_fh): close our end of the pipe here (no clue why
6266	or when it got commented out)
6267	(autofs_mounted): set kernelfd to -1 after closing it
6268
62692001-11-28  Philippe Troin  <phil@fifi.org>
6270
6271	* libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
6272	opts.
6273	(compute_nfs_args): Added nolock handling.
6274	Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>.
6275
62762001-11-27  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6277
6278	* ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
6279	Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
6280	issues.  Had to use HP's own yacc/lex.
6281
62822001-11-26  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6283
6284	* */Makefile.am: don't use $(OBJECTS) directly because it is no
6285	longer automatically defined now that Automake has automatic
6286	dependency tracking (which I turn off).  Instead, hard-code
6287	minimal dependencies on am-utils' header files to depend on
6288	PROG_OBJECTS (where PROG is the program name being built).  This
6289	was discovered by using HP's non-GNU make program.
6290
6291	* amd/nfs_start.c (checkup): cast getpagesize() return val to
6292	long, to avoid conflicts in division of a long by an int (on
6293	hpux11i, with their ANSI/C compiler).
6294
6295 	* INSTALL, doc/am-utils.texi: port updates
6296
6297	* minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
6298	i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
6299	ia64-unknown-linux-rh7.1.
6300
6301	* include/am_defs.h: actually declare extern definition for
6302	xdr_callmsg() if it doesn't already exist.
6303
6304	* aux/macros/header_templates.m4: declare template for
6305	HAVE_EXTERN_XDR_CALLMSG.
6306
6307	* configure.in: check for extern definition for xdr_callmsg()
6308	because hpux11 has that function but a bad <rpc/xdr.h> header file
6309	that doesn't define it in the right place.
6310
6311	* libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
6312	on hpux11 its type is dev_t.
6313
6314	* conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
6315	yet.
6316
63172001-11-16  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6318
6319	* buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
6320	to /bin/sh limitations.
6321
6322	* bootstrap (cmd): turn back on --ignore-deps (this Automake may
6323	have problems)
6324
6325	* libamu/xutil.c: remove __attribute__ format_arg statement for
6326	expand_error() because this function, although taking a
6327	printf-like string, does not use it in a printf function; it only
6328	expands a non-printf amd-special syntax %m.
6329
63302001-11-14  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6331
6332	* conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
6333	before using it because older Linux systems don't define this
6334	(e.g., Red Hat 4.2)
6335
63362001-11-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6337
6338	* configure.in: convert to using autoconfig 2.52.  Use new macros.
6339	AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
6340	parts of autogenerated config.h.in; increase autoconf
6341	pre-requisite to version 2.50; use AC_DISABLE_SHARED not
6342	AM_DISABLE_SHARED.
6343
6344	* aux/macros/cache_check_dynamic.m4: finally I can use the new
6345	$ECHO_N syntax in macros instead of $ac_n, since I'm using a new
6346	autoconf.  Isn't it nice to be such forward looking and having
6347	placed a comment "XXX: use the next line for autoconf-2.14 and
6348	newer"... :-)
6349
6350	* aux/macros/save_state.m4: highlight message with ***'s
6351
6352	* aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
6353
6354	* config.{guess,sub}: upated from latest prep ftp distributions
6355
6356	* depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
6357
6358	* ltmain.sh: updated from latest Libtool 1.4.2
6359
6360	* bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
6361	called without default to allow cross compiling" warnings.  And,
6362	it only took like 3+ years to fix this.  But, now it has anoter,
6363	albeit less annoying warning (which the manual says to ignore):
6364	"AC_PROG_LEX invoked multiple times".
6365	When autoheader is run, don't treat the "all clear" message
6366	"config.h.in is update" as an error.
6367
6368	* ltconfig: removed. not needed with latest version of libtool
6369
6370	* aux/macros/header_templates.m4: replaces acconfig.h and defines
6371	all CPP macros we use in this package, including their
6372	accompanying C /* comments */.
6373
6374	* acconfig.h: removed. replaced by new autoconf system to generate
6375	header templates using AH_TEMPLATE macros and such.
6376
6377	* aux/macros/msg.m4: removed.  Replaced with new macro
6378	AC_MSG_NOTICE
6379
6380	* Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4.  Add
6381	aux/macros/header_templates.m4
6382
6383	* configure.in: early, in host_macros.m4, I'm renaming silly linux
6384	$host_os names such as linux-gnu and lignux to plain "linux".
6385	Alas, RMS finally had his way and libtool will NOT recognize
6386	"linux" as a valid system, only "linux-gnu".  Sigh.  Rich, I know
6387	you're responsible to Linux's fame.  Kudos to you and your
6388	cohorts.  But please don't force the rest of us to use those ugly
6389	or long names.  Solution: temporarily name $host_os to "linux-gnu"
6390	before calling the AC_PROG_LIBTOOL macro, then name it back to
6391	"linux".  (That way I don't have to maintain my own version of
6392	ltmain.sh.
6393
6394	* buildall: force running configure -C (to create and use a local
6395	config.cache file).  New default behavior for autoconf is NOT to
6396	use cache files.  Yeah, that's gonna fly real well with am-utils,
6397	with its 700+ automatic tests.
6398
6399	* conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
6400	mktemp, if the former is available.
6401
6402	* conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
6403	mktemp, if the former is available.
6404
6405	* mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
6406	if the former is available.
6407
6408	* aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
6409	be on a separate line, as per new Autoconf manual, to avoid some
6410	Bourne Shell syntactical bizarreness.
6411
64122001-11-13  Erez Zadok  <ezk@a-rh71i.fsl.cs.suunysb.edu>
6413
6414	* amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
6415	for IA64 Linux.
6416
64172001-11-12  Ion Badulescu  <ionut@buggy.badula.org>
6418
6419	* libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
6420	pointing to '\0' on success, so we need to allow for it. This
6421	fixes the problem with rejecting numerical mount options if they
6422	are the last option in the string.
6423
6424	* configure.in: increased library patchlevel
6425
6426	* NEWS: document the parsing bug
6427
64282001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6429
6430	* configure.in: bumped version up to 6.1a5-pre
6431
6432	* NEWS: fixed speeling mistaike
6433
64342001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6435
6436	* released snapshot am-utils-6.1a4
6437
64382001-10-26  Ion Badulescu  <ionut@moisil.badula.org>
6439
6440	These changes fix autofs support for sublinks. While it is not
6441	perfect by any means and is hardly better than non-autofs, at
6442	least it works.
6443
6444	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
6445	reply if the mount is in progress
6446	(autofs_mount_succeeded): handle both delayed lookups and mounts
6447	(autofs_mount_failed): ditto
6448
6449	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
6450	original opt_fs if we have a sublink
6451
64522001-10-23  Ion Badulescu  <ionut@moisil.badula.org>
6453
6454	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
6455	instead of new_mf) which was causing null pointer error when
6456	sublinks were being used
6457
64582001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6459
6460	* README.autofs: updated
6461
6462	* NEWS: updated
6463
6464	* INSTALL: updated
6465
6466	* AUTHORS: added myself
6467
6468	* doc/am-utils.texi: updated
6469
6470	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
6471	xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
6472	(autofs_readdir_2_req): cast req->rda_offset to (int), same as
6473	above
6474
64752001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6476
6477	Autofs direct mounts have been verified to work on Solaris2.[67].
6478
6479	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6480	retrieve the uid and gid from the lookup request
6481	(autofs_mount_2_req): skip the first char in the name (it's a
6482	leading '/') if this is a direct mount
6483
6484	* amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
6485	and amfs_auto_mount_child for amfs_direct's methods
6486
6487	* amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
6488	if the mntfs lookup fails
6489
64902001-10-21  Ion Badulescu  <ionut@moisil.badula.org>
6491
6492	* include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
6493	pending a remount
6494	(mntfs): new member mf_fsflags, holds a copy of the filesystem's
6495	fs_flags
6496	(am_ops): new member autofs_fs_flags, holds the filesystem's flags
6497	when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
6498
6499	* conf/autofs/autofs_linux.c (create_autofs_service): turn on
6500	FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
6501	(autofs_umount_succeeded): don't rmdir the mountpoint if a remount
6502	is needed [lest the access that triggered the remount will fail]
6503
6504	* amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
6505	into mf_fsflags on initialization
6506
6507	* amd/autil.c (am_unmounted): start the remounting right away if
6508	the node is marked as needing a remount [fixes the Linux autofs
6509	deadlock when mount/unmount collide]
6510
6511	* amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
6512	needing a remount if a mount request comes in while we're
6513	unmounting it
6514	(amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
6515	into mf_fsflags if this is an autofs node
6516
6517	* amd/amfs_*.c, amd/ops_*.c: added initialization for the new
6518	autofs_fs_flags member of am_ops
6519
65202001-10-20  Ion Badulescu  <ionut@moisil.badula.org>
6521
6522	With these changes, Solaris 2.[67] autofs support is finally
6523	functional!
6524
6525	* conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
6526	(autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
6527	xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
6528	(autofs_lookup_2_req): do an actual lookup here, and tell the
6529	kernel to create a symlink if necessary
6530	(autofs_mount_2_req): no need to am_autofs_data
6531	(autofs_program_2): enable AUTOFS_READDIR
6532	(autofs_link_mount): no code needed here
6533	(autofs_link_umount): return success
6534	(autofs_mount_succeeded): lstat real mount points; don't mark
6535	symlinks as NOTIMEOUT
6536
6537	* amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
6538
6539	* amd/map.c (init_map): init am_dev and am_rdev to -1
6540	(free_map): free am_mfarray and all mntfs's listed
6541
6542	* amd/autil.c (mf_mounted): move the lstat of the node to the
6543	autofs-specific code
6544
6545	* amd/amfs_link.c (amfs_link_ops): don't background symlink creation
6546
65472001-10-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6548
6549	* aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
6550	* BUGS: Explain this.
6551
65522001-10-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6553
6554	* doc/am-utils.texi (redhat-ctl-amd): document new script.
6555
6556	* scripts/Makefile.am: build redhat-ctl-amd but do not install it.
6557
6558	* scripts/redhat-ctl-amd.in: new script, useful to correctly
6559	control Amd on Red Hat Linux systems.  Script adapted from ctl-amd
6560	and Red Hat's own rc.d script.
6561
65622001-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6563
6564	* conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
6565	(MNT2_NFS_OPT_AUTO): Disable.
6566	* Makefile.am (EXTRA_DIST_CONF): Reflect new name.
6567	* aux/macros/check_nfs_prot_headers.m4: Use this file for all
6568	Tru64 UNIX V5 and up releases.
6569
65702001-09-24  Ion Badulescu  <ionut@moisil.badula.org>
6571
6572	* include/mount_headers1.h (MFS): define as 1 instead of nothing,
6573	to fix compile problems on OS X (patch from Ahmon Dancy)
6574
6575	* aux/macros/try_compile_anyfs.m4 (MFS): ditto
6576
65772001-08-13  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6578
6579	* doc/am-utils.texi (in_network Selector Variable): document
6580	expanded syntax
6581
6582	* libamu/wire.c (is_network_member): support for network/netmask
6583	as well as network/bits syntax in in_network()
6584
65852001-08-11  Erez Zadok  <ezk@a-linux64.fsl.cs.sunysb.edu>
6586
6587	* amq/amq.c (show_mti): print full four digits for year, and print
6588	it in MM/DD/YYYY format, not in YY/MM/DD format.
6589
65902001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6591
6592	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6593	initial attempt to do something useful -- but commented out for now
6594	(autofs_link_mount): create an action structure with a link
6595	request and pass it up
6596	(autofs_mount_2_req): pass the link request to the kernel
6597	(autofs_free_data): new helper function
6598
6599	* conf/autofs/autofs_linux.h: added definition for autofs_data_t
6600
6601	* conf/autofs/autofs_solaris_v2_v3.h: ditto
6602
6603	* amd/map.c (init_map): initialize am_autofs_data
6604	(free_map): call the autofs cleanup function if necessary
6605
6606	* include/am_utils.h (am_node): added private data and cleanup
6607	function for autofs
6608
6609	* tasks: removed some obsolete entries
6610
66112001-08-11  Erez Zadok  <ezk@a-solaris8.fsl.cs.sunysb.edu>
6612
6613	* amd/map.c (free_map_if_success): run autofs_umount_failed() only
6614	if this mount node is of type autofs.
6615
66162001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6617
6618	* amd/amd.h: removed mf_array from struct continuation (moved into
6619	am_node)
6620
6621	* include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
6622	vlookup_child; added vmount_child; added mount_child to the fs_ops
6623	API; added prototypes for amfs_auto_mount_child and
6624	amfs_error_mount_child
6625
6626	* amd/map.c (init_map): initialize am_mfarray to 0
6627
6628	* amd/amfs_*, amd/ops_*: new API function mount_child, old API
6629	function lookuppn renamed to lookup_child
6630
6631	* amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
6632	amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
6633	amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
6634	amfs_auto_mount_child; moved the freeing of the error mntfs in the
6635	newly allocated am_node from lookup_mntfs to mount_child; make
6636	sure lookup_child returns a negative error if the node needs to be
6637	mounted; removed the call to lookuppn3 from lookup_child
6638
6639	* amd/amfs_error.c: added stub implementations of
6640	amfs_error_lookup_child and amfs_error_mount_child
6641
6642	* amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
6643	conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
6644	call both lookup_child and mount_child, instead of the old
6645	lookuppn API method
6646
66472001-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6648
6649	* amd/get_args.c (get_args): a better way to handle GNU and
6650	non-GNU getopts without strdup-ing the getopt string.
6651
66522001-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6653
6654	* amd/info_ldap.c (amu_ldap_rebind): The first time you called
6655	amu_ldap_init, aldh->ldap is not set.  So when amu_ldap_rebind is
6656	called, this function is absolutely sure to return 0.  Then
6657	amu_ldap_init return 0 without having opened any LDAP connection.
6658	This is not the correct behavior.
6659	(get_ldap_timestamp, amu_ldap_search): error to free an object
6660	("entry") that is automatically freed by the library.  Patch from
6661	Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>.
6662
66632001-07-19  Ion Badulescu  <ionut@moisil.badula.org>
6664
6665	* AUTHORS (variables): added Philippe Troin
6666
6667	* Makefile.am (EXTRA_DIST): added bootstrap
6668
6669	* include/am_compat.h (xfs_args_t): define as u_int if the
6670	filesystem is supported but we can't autodetect the type for
6671	xfs_args_t. This allows Linux to mount xfs filesystems.
6672
66732001-07-12  Philippe Troin  <phil@fifi.org>
6674
6675	* doc/am-utils.texi: Added @dircategory Administration.
6676
66772001-07-12  Philippe Troin  <phil@fifi.org>
6678
6679	* aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
6680	with only the `yes' and `no' as possible answers.
6681
6682	* configure.in: Added support for disabling LDAP and HESIOD even
6683	if the supporting libraries are found.
6684
6685	* Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
6686
66872001-07-12  Philippe Troin  <phil@fifi.org>
6688
6689	* include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
6690	if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
6691	and the linux nodev options are different beasts.
6692
6693	* conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
6694	entry (not really necessary on linux).
6695
66962001-07-12  Philippe Troin  <phil@fifi.org>
6697
6698	* amd/get_args.c (get_args): Prepend "+" to the getopt string if
6699	HAVE_GNU_GETOPT to avoid getting all options (even the ones after
6700	the first non-option argument) slurped in by GNU getopt.
6701
6702	* aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
6703	if GNU/glibc getopt implementation is detected.
6704
6705	* configure.in: Added call to AC_CHECK_GNU_GETOPT.
6706
6707	* acconfig.h: Document HAVE_GNU_GETOPT.
6708
6709	* Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
6710
67112001-06-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6712
6713	* LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
6714	am-utils URL references use www.am-utils.org, not the columbia
6715	URL.
6716
67172001-06-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6718
6719	* conf/transp/transp_sockets.c (create_nfs_service): cast to
6720	u_long to ensure clean compile on freebsd5 and bsdi2.
6721
67222001-05-23  Ion Badulescu  <ionut@moisil.badula.org>
6723
6724	WARNING: WORK IN PROGRESS
6725
6726	It works for me on Linux (both autofs and nfs mounts), for nfs and
6727	link, but I won't make any guarantees outside those.
6728
6729	* amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
6730	point and the device/fileserver are the same. This is an important
6731	change of philosophy, watch out for memory leaks!
6732
6733	* amd/map.c (get_ap_child): helper function for
6734	amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
6735	and inserts it into all necessary structures
6736
6737	* amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
6738	free any of the removed fields
6739	(amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
6740	subfunctions, including some code stolen from bgmount; lookuppn
6741	now generates an array of possible mntfs to try mounting, and
6742	bgmount will actually try to mount each of them.
6743	(amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
6744	(amfs_parse_defaults): new helper function for lookuppn
6745
67462001-05-19  Erez Zadok  <ezk@kosh.dyn.optonline.net>
6747
6748	* conf/mount/mount_linux.c: typo: added comma after '0' element.
6749
67502001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6751
6752	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
6753	autofs-v4 again
6754	(autofs_get_opts): don't pass pgrp, the kernel will get it
6755	automatically anyway, not to mention that we were passing bogus
6756	data if amd was not daemonized.
6757
6758	* conf/mount/mount_linux.c (linux_nfs_error): don't special case
6759	the 0 result, just put it into the translation list
6760
67612001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6762
6763	* conf/mount/mount_linux.c (linux_nfs_error): don't report success
6764	(0) as error (NE_IO)!
6765
67662001-05-18  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6767
6768	* amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
6769	least one share is already mounted
6770
67712001-05-17  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6772
6773	* libamu/util.c (str3cat): updated comment
6774
6775	* include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
6776
6777	* conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
6778	(autofs_mounted): disable autofs support for host f/s if version < 4
6779	(create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
6780	(autofs_umount_succeeded): use rmdirs instead of rmdir
6781	(autofs_mount_failed): ditto
6782
6783	* amd/opts.c (expand_op): align the debugging messages
6784
6785	* amd/map.c (mount_auto_node): use am_node *mp instead of casting
6786	the void *arg; update the comment
6787
6788	* amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
6789	comparing to &amfs_direct_ops
6790	(mount_node): ifs_mount doesn't exist, make note of it in the
6791	comment
6792
6793	* amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
6794
6795	* amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
6796	create the mountpoint directory for auto f/s; it is now handled in
6797	autofs_linux.c
6798	(amfs_auto_bgmount): renamed the mpe parameter to mp_error;
6799	renamed dont_retry to retry and reverted its meaning as well;
6800	moved the mp variable up one scope and made use of it throughout
6801	the function;
6802	(amfs_auto_readdir): whitespace
6803	(amfs_auto_readdir_browsable): whitespace, also some debugging
6804
6805	* amd/am_ops.c (vops): updated a comment
6806
6807	* .cvsignore: added A.i386-pc-linux-rh7.[01]
6808
68092001-05-01  Ion Badulescu  <ionut@gonzales.dev.hydraweb.com>
6810
6811	* conf/mount/mount_linux.c: fixed stupid error in the linux
6812	nfs_errormap[], which was mapping ENOENT to success!!!
6813
68142001-04-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6815
6816	* BUGS: added info about the direct mount problems on Linux and
6817	about the kernel patches on www.am-utils.org.
6818
6819	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
6820	removed obsolete comment
6821
6822	* amd/autil.c (forcibly_timeout_mp): always log a message when the
6823	forced unmount request is ignored
6824	(mf_mounted): don't lstat unless this is an autofs mount point,
6825	lest we deadlock
6826
6827	* amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
6828	MFF_MKMNT to the flags, it causes deadlocks later on when
6829	unmounting
6830
68312001-04-14  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6832
6833	* COPYING: update copyright year
6834
6835	* amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
6836	amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
6837	amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
6838	amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
6839	conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
6840	conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
6841	conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
6842	libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
6843	messages for clarity, to avoid duplication, to better recognize
6844	what the message means and where it ran, and to fix typos.
6845
6846	* amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
6847	function's name to the beginning of the function, before any other
6848	messages are logged.
6849
68502001-04-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6851
6852	* conf/mount/mount_linux.c (do_mount_linux): removed plog() of
6853	binary data
6854
68552001-04-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6856
6857	* include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
6858	MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
6859	work (needed for MacOS X); removed duplicate definition of NFS.
6860
68612001-03-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6862
6863	* amd/amd.h, amd/amfs_auto.c, amd/conf.c,
6864	doc/am-utils.texi,
6865	scripts/amd.conf-sample, scripts/amd.conf.5:
6866	renamed selectors_on_default to selectors_in_defaults,
6867	kept the former as a deprecated option;
6868	renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
6869	renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
6870
68712001-03-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6872
6873	* amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
6874	include/am_utils.h: compile fixes for --enable-debug=no
6875
68762001-03-15  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6877
6878	* NEWS: updated
6879
6880	* README.autofs: updated
6881
6882	* conf/mount/mount_linux.c (linux_version_code): export the fn
6883
6884	* conf/nfs_prot/nfs_prot_linux.h: ditto
6885
6886	* conf/autofs/autofs_linux.c (create_autofs_service): verify the
6887	kernel version here, and turn off bind_works if the kernel is
6888	older than 2.4.0.
6889	(autofs_link_mount): don't touch bind_works here, it's useless
6890	b/c we're in a child process; remove the mountpoint directory if
6891	the bind mount fails
6892
6893	* amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
6894	into dlogs
6895
6896	* conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
6897	mntent struct before initializing it
6898
68992001-03-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6900
6901	* conf/mount/mount_linux.c (parse_opts): added support for lofs
6902	(mount_linux): support lofs through bind mounts and/or FiST lofs
6903
6904	* scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
6905	/var/mail and /usr/spool/mail
6906
6907	* conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
6908	kernel is newer than 2.4.0
6909	(MNTTYPE_LOFS): ditto
6910
6911	* conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
6912	(autofs_lookup_failed): removed stub
6913
6914	* conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
6915	the file, made static;
6916	(autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
6917	and friends to determine if bind mounts can be used and to trigger
6918	further cascading mounts; return proper error codes
6919	(autofs_link_umount): distinguish between symlinks and bind mounts
6920	and handle both correctly
6921	(autofs_umount_succeeded): remove call to autofs_link_umount()
6922
6923	* amd/map.c (umount_exported): try to unmount all mount points on
6924	an autofs filesystem; this isn't really needed and will be removed
6925	when we start handling restarting autofs mounts
6926
6927	* amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
6928	if necessary
6929
6930	* amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
6931	causing the wrong mntfs to be selected when using autofs; removed
6932	call to autofs_link_mount() (moved where it belongs, in
6933	amfs_link.c)
6934
6935	* amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
6936	solution is needed, because background mounting is only necessary
6937	for linux autofs + bind mounts
6938
6939	* amd/amd.h: removed prototype for autofs_lookup_failed (internal
6940	static function for linux autofs); added prototype for
6941	autofs_link_umount
6942
6943	* configure.in: bump up library patchlevel
6944
69452001-02-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6946
6947	* aux/macros/check_mount_trap.m4,
6948	aux/macros/check_nfs_fh_dref.m4,
6949	aux/macros/check_nfs_prot_headers.m4,
6950	aux/macros/type_recvfrom_fromlen.m4,
6951	aux/macros/type_yp_order_outorder.m4:
6952	Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
6953	aix[1-3], osf[1-3] and hpux[6-9].
6954
69552001-02-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6956
6957	* check_mount_style.m4, check_mount_trap.m4,
6958	check_network_transport_type.m4, check_nfs_fh_dref.m4,
6959	check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
6960	check_nfs_socket_connection.m4, os_cflags.m4,
6961	type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
6962	cleanup (use [[0-1]] instead of M4 changequote commands).
6963
6964	* Makefile.am: removed unused conf/trap/trap_hpux11.h
6965
69662001-02-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6967
6968	* aux/macros/check_network_transport_type.m4,
6969	aux/macros/check_mount_style.m4,
6970	aux/macros/check_mount_trap.m4,
6971	aux/macros/check_network_transport_type.m4,
6972	aux/macros/check_nfs_fh_dref.m4,
6973	aux/macros/check_nfs_prot_headers.m4,
6974	aux/macros/check_nfs_sa_dref.m4,
6975	aux/macros/check_nfs_socket_connection.m4,
6976	aux/macros/os_cflags.m4,
6977	aux/macros/type_auth_create_gidlist.m4,
6978	aux/macros/type_recvfrom_fromlen.m4,
6979	aux/macros/type_yp_order_outorder.m4:
6980	Reworked the scripts, so that a new _unknown_ version of a known OS
6981	will use the option for the newest _known_ version of that OS. For
6982	example, when freebsd6 comes out, it will use the stuff for
6983	freebsd5, not the stuff for freebsd2. This makes configure more
6984	likely to succeed on new systems/versions.
6985
6986	* Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
6987
69882001-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6989
6990	* Makefile.am (install-snapshot): use a different symlink target
6991	for the experimental snapshots.
6992
69932001-02-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6994
6995	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
6996	distributions.
6997
69982001-02-22  Erez Zadok  <ezk@earth.cs.columbia.edu>
6999
7000	* released snapshot am-utils-6.1a3
7001
7002	* amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
7003	get_args.c
7004
70052001-02-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7006
7007	* libamu/mtab.c: added the functions hasmnteq and haseq to
7008	ease checks for non-numeric values in opt=value strings.
7009	Recoded hasmntval to qualify input as numeric, allow hex and
7010	octal strings on rhs of =, and log when the value is missing
7011	or invalid.
7012
7013	* conf/mount/mount_linux.c: revised mount_linux to use new
7014	hasmnteq function to extract type of non-nfs mounts, and added
7015	a log message to catch possible failure of strdup.
7016
7017	* amd/am_ops.c: revised merge_ops to use new haseq function
7018
7019	* amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
7020	discover protocol setting.
7021
7022	* include/am_utils.h: added function prototypes for hasmnteq
7023	and haseq
7024
70252001-02-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7026
7027	* include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
7028	pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
7029
7030	* include/am_defs.h (_LINUX_NFS3_H): ditto
7031
7032	* conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
7033
70342001-02-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7035
7036	* aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
7037	command.
7038
70392001-02-18  Erez Zadok  <ezk@earth.cs.columbia.edu>
7040
7041	* aux/macros/mount_headers.m4, include/mount_headers[12].h: split
7042	mount_headers.h in two because one relative header (nfs_prot.h)
7043	file cannot be included inside another from the start directory of
7044	the first (it's relative to the directory of the first).
7045
70462001-02-09  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7047
7048	* AUTHORS: added Ahmon Dancy <dancy@franz.com>
7049
7050	* (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
7051
7052	* aux/macros/mount_headers.m4: moved all the C code into a
7053	separate file, include/mount_headers.h; the effect is that
7054	configure goes down in size by a factor of 2.5!
7055
7056	* include/mount_headers.h: new file, with C code from
7057	aux/macros/mount_headers.m4
7058
70592001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7060
7061	* conf/mount/mount_linux.c: made linux_nfs_error() more robust.
7062
70632001-02-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7064
7065	* released snapshot am-utils-6.1a2
7066
7067	* updated ltmain.sh and ltconfig from latest stable version of
7068	libtool-1.3.5
7069
70702001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7071
7072	* conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
7073	of nfs_error here, from mount_linux.c, so that it can actually be
7074	used.
7075
7076	* conf/mount/mount_linux.c: added unused errno 41 to the
7077	nfs_errormap array, lest the following errno's get shifted up by
7078	one!
7079
7080Sat Jan 13 00:04:38 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7081
7082	* amd/amd.h (autofs_lookuppn): Fixup whitespace.
7083	* amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
7084	* amd/amfs_error.c: (amfs_error_match): Likewise.
7085	* amd/amfs_host.c (fetch_fhandle): Fixup whitespace.  Remove
7086	unnecessary temporary variable.
7087	* amd/info_file.c (read_line): Likewise.
7088	(search_or_reload_file): Likewise.
7089	* amd/info_ldap.c (get_ldap_timestamp): Likewise.
7090	* amd/map.c (get_root_ap): Likewise.
7091	* amd/nfs_prot_svc.c: Likewise.
7092	* amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
7093	foofs_readlink, foofs_ffserver): Likewise.
7094	* amd/ops_autofs.c (autofs_bgmount): Likewise.
7095	* amd/ops_lofs.c (lofs_match): Likewise.
7096	* amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
7097	* amd/ops_xfs.c (xfs_match): Likewise.
7098	* amd/srvr_amfs_auto.c (srvrlog): Line break.
7099	* amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
7100	nfs_srvr_port): Fixup whitespace.
7101	* conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
7102	* conf/nfs_prot/nfs_prot_hpux.h: Likewise.
7103	* conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
7104	* conf/nfs_prot/nfs_prot_irix5.h: Likewise.
7105	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
7106	* conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
7107	* conf/nfs_prot/nfs_prot_osf2.h: Likewise.
7108	* conf/nfs_prot/nfs_prot_osf4.h: Likewise.
7109	* conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
7110	* conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
7111	* conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
7112	* conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
7113	* conf/transp/transp_tli.c (get_mount_client): Likewise.
7114	* hlfsd/nfs_prot_svc.c: Likewise.
7115	* include/am_defs.h (sys_errlist): Likewise.
7116	* include/am_utils.h (am_get_progname, am_get_hostname,
7117	amq_program_1): Likewise.
7118	(nfsxprt): Moved declaration.
7119
7120Fri Jan 12 23:31:45 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7121
7122	Removed support for amq -M.
7123
7124	* acconfig.h (ENABLE_AMQ_MOUNT): Removed.
7125	* aux/macros/opt_amq_mount.m4: Removed.
7126	* Makefile.am (EXTRA_DIST_AUX): Don't distribute
7127	opt_amq_mount.m4.
7128	* configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
7129
7130	* amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
7131	* amd/amq_svc.c (amq_program_1): Removed amq -M support.
7132	* amq/amq.c (mount_map): Removed.
7133	(main): Removed -M option handling.
7134	Removed transport-type specific CLIENT creation.
7135	(get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
7136
7137	* amq/amq.8: Removed -M documentation.
7138	* doc/am-utils.texi (Top-level Filesystem): Removed amq -M
7139	reference, but retain comment on mount -t amd.
7140	(Controlling Amd): Likewise.
7141
7142	* tasks: Removed this task.
7143
7144Fri Jan 12 23:18:26 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7145
7146	* conf/autofs/autofs_*.c: Bump copyright year to 2001.
7147	* hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
7148
7149	* aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
7150	solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
7151	protocol version numbers, not solaris versions.
7152	* conf/autofs/autofs_solaris[12].[ch]: Renamed to
7153	autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
7154	* Makefile.am (EXTRA_DIST_CONF): Likewise.
7155
7156	* aux/macros/check_autofs_style.m4: Use solaris2 style for both
7157	versions 2 and 3 of the AutoFS protocol.
7158
7159	Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
7160	with Solaris 8 mntfs).
7161
7162	* conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
7163	xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
7164	autofs_postmount_2_req ): Don't define for version 3.
7165	(autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
7166	AUTOFS_POSTMOUNT if missing.
7167
7168	* conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
7169
7170	* aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
7171	files on systems without existing autofs port.
7172	* conf/autofs/autofs_default.[ch]: New files, empty.
7173	* Makefile.am (EXTRA_DIST_CONF): Distribute them.
7174	* INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
7175	link.
7176
71772001-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7178
7179	* Makefile.am (EXTRA_DIST): distribute new LDAP files.
7180
7181	* README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
7182	proposed Schema, and internet draft.
7183
7184Fri Jan 12 22:27:07 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7185
7186	* Support Tru64 UNIX V5.1:
7187
7188	* conf/nfs_prot/nfs_prot_osf5_1.h: New file.
7189
7190	* Makefile.am (EXTRA_DIST_CONF): Distribute it.
7191
7192	* aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
7193	AutoFS, need to disable it until a port exists.
7194
7195	* INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
7196	minor port.
7197
71982001-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7199
7200	* ALL: bump copyright year to 2001.
7201
72022001-01-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7203
7204	* acconfig.h: correct comments for NODEV/NONDEV mount options
7205
7206Fri Jan  5 05:12:02 2001  Erez Zadok  <ezk@subzero.cs.columbia.edu>
7207
7208	* libamu/xdr_func.c: removed ugly casts to "groups*", now that
7209	irix6's nfs_prot.h is fixed.
7210
7211	* conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
7212	<rpcsvc/mount.h> here so we don't have to include this header.
7213
72142001-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7215
7216	* conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
7217	struct groups, not the pointer to this struct.
7218
7219	* include/am_xdr_func.h: prototype should take "groups *" as 2nd
7220	arg.
7221
7222	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
7223	casting of second arg of xdr_groups to "groups *".  It's only
7224	needed for irix6, due to problems with xdr_groups on that platform.
7225	(xdr_groups): prototype should take "groups *" as 2nd arg.
7226
7227	* conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
7228	definition.  Report from Ahmon Dancy <dancy@franz.com>.
7229
72302000-12-06  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7231
7232	* include/am_defs.h: force non-inclusion of <linux/fs.h> via
7233	<linux/auto_fs.h>
7234
7235	* conf/autofs/autofs_linux.c (autofs_mounted): rename
7236	AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
7237	previous commit)
7238
7239	* configure.in: fixed libtool version
7240
72412000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7242
7243	* doc/am-utils.texi (opts Option): document lock/nolock
7244
72452000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7246
7247	* conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
7248	modified autofs_fh_t to have a linked list of autofs_pending_mount;
7249	added some support for autofs4
7250
7251	* conf/autofs/autofs_linux.c: use a linked list for pending
7252	request, to allow for handling multiple simultaneous request;
7253	incipient non-functional support for autofs4; incipient
7254	non-functional support for bind-mounting
7255
7256	* amd/amd.c (main): print a warning if PROCLOCK is requested but
7257	the O/S doesn't support it
7258
7259	* libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
7260	option
7261
7262	* include/am_defs.h: don't include <linux/fs.h> on a glibc2
7263	system; include <linux/auto_fs4.h> if it exists, instead of
7264	<linux/auto_fs.h>
7265
7266	* include/am_compat.h: define the "nolock" mnttab option if the
7267	NONLM NFS mount option is defined
7268
7269	* acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
7270
7271	* configure.in: added detection of the NONLM Linux NFS mount
7272	option; added a clarification for the library versioning rules and
7273	increased the minor level; added detection of <linux/auto_fs4.h>
7274	and the MS_BIND generic mount option
7275
72762000-11-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7277
7278	* Enabled Solaris 2.7 autofs support (tested, works)
7279
7280	* Updated NEWS, README.autofs
7281
7282	* Updated Makefile's, make dist is now fixed
7283
7284	* Fixed potential memory leak in map.c
7285
7286	* Fixed autofs style detection for solaris 2.[67]
7287
7288	* Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
7289
72902000-11-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7291
7292	More Solaris 2.[67] work in progress:
7293
7294	* changed the API for the mount/umount methods: fmount/fumount are
7295	gone, and mount/umount now take two arguments (am_node and mntfs)
7296
7297	* changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
7298	means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
7299	means the am_node is a node on a filesystem of type autofs.
7300
7301	* renamed nfs_program_2_transp to current_transp so it can be used
7302	with autofs
7303
7304	* renamed quick_reply() to nfs_quick_reply()
7305
7306	* added two more autofs methods: autofs_umount_failed() and
7307	autofs_compute_mount_flags() -- it turns out that on sol2.6 the
7308	autofs mounts MUST be overlay'ed
7309
7310	* moved the autofs_mount_succeeded() into am_mounted()
7311
7312	* made amd *not* timeout autofs mounts -- the kernel will do it
7313	for us
7314
7315	* store dev and rdev of a mounted filesystem in the mntfs
7316	structure, to help autofs
7317
7318	* moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
7319	prevent deadlocking with autofs
7320
7321	* amd/Makefile.am: shuffled things around to make
7322	update_build_version be the last thing that runs
7323
73242000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7325
7326	* split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
7327	and made configure create a symlink to the appropriate one
7328
7329	* moved the xdr autofs functions from libamu/xdr_func.c into the
7330	system-specific conf/autofs/autofs*.c
7331
7332	* added some more experimental code to the sol2.6 autofs support,
7333	but it's by no means functional
7334
73352000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7336
7337	* libamu/wire.c (getwire_lookup): truncate the hostname to
7338	MAXHOSTNAMELEN characters.
7339
73402000-11-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7341
7342	* include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
7343	256 bytes, not 64.   Suggestion form Kris Kennaway
7344	<kris@FreeBSD.org>.
7345
73462000-11-26  Erez Zadok  <ezk@dmath5.geometrie.tuwien.ac.at>
7347
7348	* configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
7349	options kerb, rdirplus, readdirsize, and xlatecookie
7350	(NetBSD-1.5K).
7351
7352	* acconfig.h: recognize NFS mount options rdirplus, readdirsize,
7353	and xlatecookie (NetBSD-1.5K)
7354
73552000-11-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7356
7357	* amd/srvr_nfs.c: comment on NFS proto search order.
7358
7359	* libamu/xutil.c (real_plog): don't try to write the last byte of
7360	the fmt buf.  security suggtion from NetBSD: Thomas Klausner
7361	<wiz@danbala.ifoer.tuwien.ac.at>
7362
73632000-11-22  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7364
7365	* amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
7366	fattr.na_fileid, it is now done in map.c when the map is initialized
7367
7368	* amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
7369	to 0, to avoid cache aliasing problems on Linux (and to follow the
7370	NFS spec!)
7371
73722000-11-22  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
7373
7374	* libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
7375	(security)
7376
7377	* libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
7378	__attribute__, __format__, and __printf__ for GCC string auditing.
7379
7380	* wire-test/wire-test.8: this is not a section 8L man page.
7381
7382	* libamu/xutil.c (expand_error): don't use sys_nerr on systems
7383	that support strerror().
7384	(dplog): fmt is const
7385	(plog): fmt is const
7386	(real_plog): fmt is const.  use new expand_error function with its
7387	new return value. be more careful about running off the end of
7388	char[] fixed size buffers.
7389
7390	* libamu/wire.c (getwire): fix alignment error on alpha using an
7391	extra automatic storage variable ifrpool.
7392
7393	* hlfsd/hlfsd.c (fatal): use proper printf style to plog.
7394
7395	* fsinfo/fsinfo.c (find_username): getlogin() returns a const.
7396
7397	* fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
7398	vfprintf.
7399
7400	* fsinfo/fsi_lex.l (yyerror): use vfprintf.
7401
7402	* fixmount/fixmount.8: this is not a section 8L man page.
7403
7404	* doc/am-utils.texi (Hesiod maps): fixed typo.
7405
7406	* amd/sched.c (do_task_notify): typo in comment.
7407
7408	* amd/opts.c (expand_op): expand_error[] is a const char *.
7409
7410	* amd/amd.c (main): use proper printf style to plog.
7411
74122000-11-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7413
7414	* libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
7415	proplist mnttab flag.  Bug fix from Wolfram Klaus
7416	<klaus@physik.fu-berlin.de>.
7417
74182000-11-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7419
7420	* updated config.guess, config.sub, and doc/texinfo.tex from
7421	mirrors
7422
7423	* Makefile.am (update): proper updating of config.* and texinfo
7424	from mirrors.
7425
7426	* aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
7427	reports their system name as "netbsdelf" in config.guess.
7428
74292000-11-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7430
7431	* doc/am-utils.texi (opts Option): document new mount option
7432	"proplist"
7433
7434	* include/am_compat.h: define amd mount option "proplist" if the
7435	system doesn't recognize it, but the NFS bit flag exists.
7436
7437	* configure.in, acconfig.h: recognize/support "proplist" NFS mount
7438	option in Amd, useful under DU-4.0 to process ACLs over NFS
7439	mounts.
7440
74412000-11-10  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7442
7443	* conf/mount/mount_linux.c (mount_linux): removed unnecessary
7444	rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
7445
74462000-10-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7447
7448	* scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
7449
74502000-11-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7451
7452	Too many changes to list them here. Here's a high level
7453	description:
7454
7455	* Forward-ported the Linux fixes from 6.0.5pre
7456
7457	* Got rid of a mountain of #ifdef DEBUG, replaced with smart
7458	header-file #ifdef's
7459
7460	* and, the grand finale: initial Solaris 2.6 autofs
7461	support. Compiles, mounts, gets requests; all the
7462	infrastructure is in place to actually implement the calls. Linux
7463	autofs might be a bit broken, but only compile-time so it'll be
7464	easy to fix.
7465
74662000-11-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7467
7468	* MIRRORS (Note): added a mirror at ufl.edu
7469
74702000-10-11  Erez Zadok  <ezk@lorien.dev.hydraweb.com>
7471
7472	* amq/amq.8: synchronize Amq's options with reality
7473
7474	* amq/amq.c (main): synchronize Amq's usage() string with reality
7475
74762000-10-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7477
7478	* scripts/ctl-amd.in: add targets condrestart (redhat) and
7479	reload.
7480
74812000-10-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7482
7483	* scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
7484	defined.
7485
74862000-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7487
7488	* amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
7489	\a.
7490
74912000-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7492
7493	* include/am_utils.h: removed unused field opt_autopref
7494
7495	* amd/opts.c: removed unused variable $autopref
7496
74972000-09-05  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7498
7499	* conf/mtab/mtab_svr4.c (lockfile): function not needed unless
7500	MOUNT_TABLE_ON_FILE is defined.
7501	mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
7502	(update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
7503
75042000-09-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7505
7506	* buildall (Usage): typo in usage string
7507
75082000-08-25  Erez Zadok  <ezk@lynn.soscorp.com>
7509
7510	* conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
7511	is no defined on older Linux systems (kernel 2.0.36)
7512
75132000-08-19  Erez Zadok  <ezk@earth.cs.columbia.edu>
7514
7515	* scripts/amd.conf.5: correct swapped descriptions for ldap_base
7516	and ldap_hostports.
7517
7518	* doc/am-utils.texi: correct swapped descriptions for ldap_base
7519	and ldap_hostports.
7520
7521	* scripts/amd.conf-sample: swap examples for ldap_base and
7522	ldap_hostports.
7523
75242000-08-13  Erez Zadok  <ezk@earth.cs.columbia.edu>
7525
7526	* scripts/amd.conf-sample: -O is CLI equivalent to "os"
7527	amd.conf parameter
7528
75292000-07-30  Erez Zadok  <ezk@earth.cs.columbia.edu>
7530
7531	* scripts/amd.conf-sample (nfs_retransmit_counter): correct
7532	meaning and use of parameter
7533
75342000-07-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7535
7536	* doc/am-utils.texi: updated URLs to www.am-utils.org.
7537
75382000-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7539
7540	* doc/am-utils.texi (Supported Platforms): document osf4.0f
7541
75422000-06-19  Erez Zadok  <ezk@vir.cs.columbia.edu>
7543
7544	* doc/am-utils.texi (dollar Selector Variable): document
7545	${dollar}.
7546
7547	* amd/opts.c: special new variable ${dollar} which expands into a
7548	literal '$' sign.  Otherwise there is no way to include a literal
7549	dollar symbol in an amd map.
7550
75512000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7552
7553	* amd/opts.c (eval_selectors): don't deref opt after it's been
7554	XFREE'd
7555
75562000-06-11  Erez Zadok  <ezk@earth.cs.columbia.edu>
7557
7558	* amd/opts.c: move mount_type expansion until later in the list,
7559	so common variable are "hit" first.
7560
75612000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7562
7563	* amd/opts.c (split_opts, eval_selectors): split old function
7564	eval_opts into two, one that only splits non-selectors and
7565	assigns the values to fs_static, and one that only evaluates
7566	selectors; also simplified the rather obfuscated logic inside
7567	these functions
7568	(expand_op): made it take a char * instead of a structure from
7569	which it was using only one field (a char *). Also now returns a
7570	char * instead of modifying said structure in place
7571	(expand_opts): deal with the change above
7572	(expand_selectors): renamed from expand_key
7573	(expand_options): new function, expands non-selectors; it's the
7574	complement of expand_selectors, both of which are just wrappers
7575	around expand_op()
7576	(eval_fs_opts): use the new split_opts, eval_selectors to allow
7577	using options (like ${rhost}) in selectors
7578
75792000-06-11  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7580
7581	* config.guess.long: munge config.guess' output so that intel
7582	linux appears as i386-pc-linux
7583
7584Fri Jun  9 16:06:56 2000  Erez Zadok  <ezk@defiant.dev.hydraweb.com>
7585
7586	* conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
7587	Don't use it.
7588
75892000-06-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7590
7591	* amd/mapc.c (maptypes): Change default allocation mode to
7592	MAPC_INC where reload support is missing to avoid warning in
7593	mapc_create().
7594
75952000-06-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7596
7597	* conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
7598	solaris 2.5 until a full port can be done.
7599
76002000-06-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7601
7602	* Makefile.am, aux/GNUmakefile: fix maintainer rules to update
7603	config.* and texinfo.tex files.
7604
7605	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
7606	mtime update of the symlinks on the SYMTTL option, but rather
7607	delay unmount of what was looked up using am_timeo_w.  Patch from
7608	Nick Williams <Nick.Williams@msdw.com>.  As Nick says "Basically:
7609	during unmount, increment the parent dir's mtime (fixes
7610	people doing amq -u). During stat, increase the TTL (to fix bad-luck
7611	timeouts), but leave the mtime alone."
7612
7613	(nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
7614	nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
7615	Patch from Nick Williams <Nick.Williams@msdw.com>.
7616
7617	* amd/map.c (unmount_mp): update mtime of amd symlink to further
7618	reduce the chances of race conditions between unmounting and
7619	looking up an entry again.  Patch from Nick Williams
7620	<Nick.Williams@msdw.com>.
7621
7622	* README: updated instructions
7623
7624	* bootstrap: remove log file before existing
7625
76262000-06-06  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7627
7628	* configure.in: no longer using aux/ subdir. don't force autoconf
7629	2.14. comment out (but leave explanation) everything that's needed
7630	for autoconf 2.14, so for now it works with autoconf-2.13, but the
7631	code is ready for 2.14 when it is released.  Similar changes to
7632	make code work with automake-1.4, until the next release comes
7633	out.
7634
7635	* libamu/Makefile.am: include definitions that are required in
7636	automake 1.4, but won't be necessary when the next release of
7637	automake comes out (see XXX comments).
7638
7639	* cache_check_dynamic.m4, check_checkmount_style.m4,
7640	check_mnttab_style.m4, check_mount_style.m4,
7641	check_network_transport_type.m4, check_nfs_prot_headers.m4,
7642	check_umount_style.m4: use symlink creation code that works for
7643	both autoconf 2.13 and 2.14 (when the latter comes out).
7644
7645	* bootstrap: new script for maintainers to run to update autoconf,
7646	automake, and libtool related files.  Has the same effect as
7647	"buildall -K".
7648
7649	* removed dependencies on CVS versions of autoconf, automake, and
7650	libtool, especially the modified automake I had.  This is so that
7651	maintainers could built the auto* files out of the latest released
7652	GNU autoconf, automake, and libtool.  However, without my nice
7653	patches to automake, many files that used to live in the aux/
7654	subdir now were moved to the top level source directory: acconfig.h,
7655	acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
7656	config.guess.long, config.h.in, config.sub, configure.in, depcomp,
7657	install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs.  Also
7658	texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
7659
76602000-06-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7661
7662	* cvs-server.txt: instructions for maintainers to access the CVS
7663	server for am-utils.
7664
76652000-06-03  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7666
7667	* amd/restart.c (restart): grr.. passing around initialized
7668	structures is *really* bad habit. memset(mo, 0) so at least we can
7669	test for NULL pointers...
7670
76712000-06-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7672
7673	* amd/am_ops.c (ops_match): changed XLOG_USER messages about
7674	merging addopts options to the more appropriate XLOG_INFO.  Patch
7675	submitted by Tom Schmidt <tschmidt@micron.com>.
7676
7677	* config.{guess,sub}: make sure chmod'ed a+rx.  Updated from
7678	latest GNU copies.
7679
76802000-05-30  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7681
7682	* aux/configure.in: bump up the version to 6.1a2
7683
76842000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7685
7686	* released snapshot am-utils-6.1a1
7687
76882000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7689
7690	* amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
7691	version and store it in the fh
7692	(autofs_get_opts): support protocol version 4
7693
7694	* amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
7695	releasing it
7696
7697	* conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
7698	svc_getcaller() to sockaddr_in, to appease glibc 2.2
7699
7700	* amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
7701	autofs handling and the parent is already handled by autofs,
7702	handle this filesystem as well
7703	(amfs_auto_mount): create the mountpoint for an autofs mount
7704	(amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
7705
7706	* include/am_utils.h (FS_AUTOFS): new flag signalling that the
7707	filesystem wants autofs handling; toplvl, auto, host and direct
7708	have this flag, at least for now
7709
77102000-05-28  Erez Zadok  <ezk@mulberry.mcl.cs.columbia.edu>
7711
7712	* doc/am-utils.texi (Network Filesystem Group): minor typos
7713
77142000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7715
7716	* amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
7717
7718	* amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
7719	version=2 and proto=udp and try again
7720
7721	* amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
7722	instead of a voidp; handle the NFS_SCALEDOWN case by removing the
7723	cached server entry and re-querying the server
7724
7725	* amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
7726	statement, assign mnttype from the fs-specific mf_ops->fs_type
7727	instead
7728
7729	* amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
7730	defined;
7731	(amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
7732	always exists
7733	(amfs_nfsx_umount): removed the hacked am_node -- umounted() now
7734	takes an mntfs; call umounted() only if it's defined
7735
7736	* amd/amfs_auto.c: removed amfs_auto_umounted and moved its
7737	functionality into am_umounted().
7738	(amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
7739	as needing an "NFS scaledown" and retry the operation
7740
7741	* amd/amfs_*.c: changed all fmount/fumount functions to
7742	mount/umount and made them take an am_node instead of an
7743	mntfs. This is a first step towards an amfs/ops API separation.
7744
7745	* amd/{amfs,ops}_*.c: changed the umounted() function to take an
7746	mntfs instead of an am_node
7747
77482000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7749
7750	* amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
7751	up gcc
7752
7753	* aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
7754	which always defines HIDE_MOUNT_TYPE
7755
7756	* amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
7757	initialization -- now done in init_mntfs()
7758
7759	* amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
7760	mounting an autofs-style map
7761
7762	* amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
7763
7764	* amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
7765	necessarily a string type, so handle the nfs/autofs separation
7766	differently
7767
7768	* amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
7769	opt_mount_type (now done in ops_match())
7770
7771	* amd/am_ops.c (ops_match): need to initialize opt_mount_type if
7772	it's not initialized yet
7773
77742000-05-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7775
7776	* libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
7777	one or two arguments (bsdi3 vs. bsdi4)
7778
77792000-05-27  Ion Badulescu  <ib42@chestnut.mcl.cs.columbia.edu>
7780
7781	* libamu/xutil.c (amu_release_controlling_tty): removed an unused
7782	variable from the previous patch
7783
77842000-05-26  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7785
7786	* aux/macros/check_autofs_style.m4: fixed substitution for default
7787	case
7788
7789	* libamu/xutil.c (amu_release_controlling_tty): close standard
7790	file descriptors, re-open them as /dev/null
7791
7792	* include/am_defs.h: don't try to include both <ndbm.h> and
7793	<db1/ndbm.h>, it really doesn't work
7794
77952000-05-16  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7796
7797	* hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
7798	on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
7799	getattr).  This fixes the problem introduced by the Linux nfsv3
7800	patches.
7801
78022000-05-12  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7803
7804	* Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
7805
78062000-05-10  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7807
7808	* amd/ops_autofs.c (autofs_handle_fdset): call
7809	autofs_lookup_failed instead of autofs_mount_failed, if the name
7810	is not in the map
7811	(autofs_umount_{succeeded,failed}): pass the actual mount point,
7812	not its parent, as it's needed for clean-up;
7813
7814	* amd/autil.c (am_unmounted): notify autofs that the umount
7815	succeeded
7816
7817	* amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
7818	moved elsewhere
7819
78202000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7821
7822	* amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
7823	if necessary;
7824	(amfs_auto_mounted): test if opt_mount_type is NULL first
7825	(amfs_auto_mount): revert earlier change
7826
7827	* amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
7828	if mount failed
7829
78302000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7831
7832	* amd/ops_autofs.c (autofs_link_mount): use am_link as target
7833
7834	* amd/map.c (unmount_mp): release file handle for autofs f/s about
7835	to be unmounted; this leak was preventing the unmount altogether
7836
7837	* amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
7838	code, was broken
7839	(amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
7840	handle it
7841
78422000-05-07  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7843
7844	* Merged changes from stable branch
7845
78462000-04-30  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7847
7848	* include/am_defs.h, aux/macros/mount_headers.m4,
7849	aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
7850	linux/list.h before including linux/fs.h, and define __KERNEL__
7851	for those two headers.  All of this to get a couple of definitions
7852	that are needed in the new struct vfsmount.
7853
7854	* aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
7855
7856	* include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
7857	between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
7858	defining _LINUX_IN_H so it doesn't get included.
7859
78602000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7861
7862	* minor new ports: i686-pc-linux-gnu-rh6.2,
7863	i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
7864
78652000-04-03  Erez Zadok  <ezk@vir.cs.columbia.edu>
7866
7867	* aux/acconfig.h: move all #undef macros above @TOP@, so they can
7868	be recognized by pickier autoconf.
7869
78702000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7871
7872	* aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
7873	or \c.
7874
78752000-03-25  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7876
7877	* include/am_defs.h: ditto
7878
7879	* aux/macros/{mount_headers,try_compile_anyfs}.m4: force
7880	non-inclusion of <linux/string.h>.  Breaks build on newer 2.3
7881	kernels.
7882
78832000-02-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7884
7885	* doc/am-utils.texi (Amq -w option): document new amq -w option.
7886
7887	* amq/amq.8: document new amq -w option.
7888
7889	* amq/amq.c: disable last remains of insecure amq -M code.
7890	(main): add amq -H option to show usage.
7891	(main): new amq -w option, translates getpwd() into an amd path.
7892
78932000-02-25  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7894
7895	* libamu/util.c (get_server_pid): new function
7896
7897	* hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
7898
7899	* conf/transp/transp_sockets.c: removed create_autofs_service
7900
7901	* conf/mount/mount_linux.c: added autofs mount options; split
7902	mount_linux into two functions, itself and do_mount_linux
7903
7904	* aux/macros/check_hide_mount_type.m4: better failover
7905
7906	* aux/configure.in: changed version to 6.1a1; added
7907	AC_CHECK_AUTOFS_STYLE
7908
7909	* aux/aux_conf.h.in: added @am_utils_autofs_style@
7910
7911	* amd/opts.c: added "mount_type" option
7912
7913	* amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
7914	variables in here; split create_autofs_service into sun and linux
7915	specific functions
7916
7917	* amd/nfs_start.c: removed autofs-specific variables
7918
7919	* amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
7920	(get_root_ap): renamed root_ap to get_root_ap
7921
7922	* amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
7923	amfs_toplvl_mounted with amfs_auto_mounted
7924	(mount_amfs_toplvl): moved code around, added autofs handling
7925	(amfs_toplvl_mounted): removed
7926
7927	* amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
7928	replaced with amfs_nfsl_u?mount
7929
7930	* amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
7931	replaced with amfs_link_umount
7932
7933	* amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
7934	replaced with amfs_link_u?mount
7935
7936	* amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
7937	from amfs_toplvl_mounted to amfs_auto_mounted
7938
7939	* all: added autofs hooks throughout the code
7940
7941	* amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
7942
7943	* README.autofs: linux status update
7944
79452000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7946
7947	* minor new port: alphaev6-dec-osf5.0
7948
7949	* doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
7950	but only for UDP.
7951
7952	* released snapshot am-utils-6.0.4s3
7953
7954	* conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11.  Note
7955	that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
7956	kernel!  Must set nfs_proto=udp in amd.conf [global].
7957
7958	* aux/config.guess.long: set and export PATH separately.  DU5
7959	/bin/sh doesn't like setting it on the command line in a
7960	back-tick'ed `script`.
7961
79622000-02-24  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7963
7964	* Makefile.am: removed struct_nfs_mount_data.m4
7965
7966	* aux/macros/struct_nfs_mount_data.m4: deleted
7967
7968	* aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
7969
7970	* aux/configure.in: removed check for struct nfs_mount_data
7971
79722000-02-24  Ion Badulescu  <ib42@beetle.mcl.cs.columbia.edu>
7973
7974	* amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
7975	avoid having 'failed' in a message not indicating a failure
7976	(amfs_auto_lookuppn): ditto
7977
7978	* amd/ops_autofs.c (autofs_bgmount): ditto
7979	(autofs_lookuppn): ditto
7980
79812000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7982
7983	* added .cvsignore files into the CVS repository.
7984
7985	* remove files which can be regenerated: .in, configure, some
7986	files in aux/, and more.
7987
79882000-02-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7989
7990	* doc/am-utils.texi (nfs_vers/nfs_proto): description of two
7991	parameters was reversed.  Reported by Paul Jenner
7992	<p.jenner@eim.surrey.ac.uk>.
7993
79942000-02-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7995
7996	* released snapshot am-utils-6.0.4s2
7997
7998	* amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
7999	as inherit, error, and toplvl (failover code).
8000
8001	* amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
8002	global options in amd.conf: one to set the NFS version globally
8003	(i.e., nfs_vers=2), and one to set the NFS protocol globally
8004	(i.e., nfs_proto=udp).
8005
8006	* amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
8007	so when a matching mount entry failed, try the next one.
8008
80092000-02-15  Erez Zadok  <ezk@moisil.cs.columbia.edu>
8010
8011	* amd/amfs_auto.c: a new debug option "readdir" to trace the
8012	progress of the browsable_dirs code.
8013
8014	* conf/mount/mount_linux.c (mount_linux): ensure that the new
8015	linux NFSv3 code works for v2-only machines.
8016
80172000-02-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8018
8019	* aux/configure.in: cleanup unused dnl entries.
8020
8021	* conf/mount/mount_linux.c (parse_opts): typo: check for string
8022	equality, not string inequality for pcfs and cdfs.
8023
8024	* aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
8025
8026	* libamu/mount_fs.c (compute_mount_flags): check for INTR and
8027	NOINTR options as well (intr was never passed to linux mount
8028	syscall).
8029
80302000-02-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8031
8032	* released snapshot am-utils-6.0.4s1
8033
8034	* aux/GNUmakefile: buildall -k (for maintainers) temporarily now
8035	ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
8036	obsolete".  It is harmless but annoying, and will be fixed when
8037	autoconf and automake in their respective CVS trees are working
8038	and in sync again.
8039
8040	* scripts/amd.conf.5: document -D hrtime,xdrtrace
8041
8042	* all man pages: update copyright to 2000.
8043
8044	* doc/am-utils.texi: update copyright to 2000.
8045
8046Wed Feb  9 14:22:31 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8047
8048	* include/am_utils.h (D_XDRTRACE): Define.
8049	(D_TEST): Disable here.
8050
8051	* libamu/xutil.c (dbg_opt): Handle it.
8052
8053	* doc/am-utils.texi (-D-Option): Document it.
8054
8055	* libamu/xdr_func.c: Use it instead of D_TRACE.
8056
8057	* include/am_utils.h (D_HRTIME): Define.
8058
8059	* doc/am-utils.texi (-D-Option): Document it.
8060
8061	* libamu/xutil.c (show_time_host_and_name): Print high-resolution
8062	timestamp if available and activated.
8063
8064	* aux/configure.in (clock_gettime): Check for it in -lrt and
8065	-lposix4.
8066
8067	* hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
8068	if defined, even for some systems with in kernel mount tables.
8069
80702000-02-08  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8071
8072	* aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
8073	allow compiles against libc5
8074
8075	* aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
8076	linux when the kernel doesn't support it
8077
8078	* include/am_compat.h: add workaround for linux efs
8079
80802000-02-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8081
8082	* aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
8083	Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
8084
80852000-02-07  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8086
8087	* libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
8088	nfs (linux NFSv3).
8089
8090	* include/am_defs.h: avoid reinclusion of some header files under
8091	linux.
8092
8093	* conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
8094
8095	* conf/mount/mount_linux.c (mount_linux): support nfs mount
8096	 (implementation) version 4 for NFSv3.
8097
8098	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
8099
8100	* aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
8101	need to fix the code on other linux machines).
8102
8103	* aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
8104
8105	* aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
8106	under linux (depends on ac_cv variable, is that a good idea?)
8107
8108	* added NFSv3 support for linux
8109
8110	* aux/{configure.in,acconfig.h}: new option ver3
8111
8112	* aux/macros/mount_headers.m4: commented out inclusion of
8113	linux/fs.h, it's not needed on rh61 (and actually generates
8114	conflicts), we should see if it's still needed on libc5 systems
8115
8116	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
8117	try to have its own (out of date) list of headers and ifdef's and
8118	...
8119
81202000-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8121
8122	*******************************************************************
8123	*** Released am-utils-6.0.3					***
8124	*******************************************************************
8125
81262000-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8127
8128	* conf/mount/mount_default.c: dummy empty file to work around a
8129	limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
8130	processes them even if they are optional, enclosed in if/else).
8131
81322000-01-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8133
8134	* released snapshot am-utils-6.0.3s5
8135
81362000-01-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8137
8138	* update to use latest version of autoconf, automake, and libtool.
8139
8140	* aux/GNUmakefile (depcomp): "make update" should also update the
8141	depcomp script.
8142
8143	* Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
8144
8145	* aux/configure.in: use renamed AC_CHECK_AMU_FS.
8146
8147	* aux/macros/check_amu_fs.m4: renamed macro name and file name to
8148	say AMU_FS, not AM_FS.
8149
8150	* aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
8151	latest version of autoconf doesn't handle it (bug in 2.14a)
8152
8153	* aux/configure.in: require version 2.14 of autoconf.
8154
8155	* amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
8156
8157	* doc/am-utils.texi (Automount Filesystem): document type:=auto
8158	map browsability option.
8159
8160	* amd/mapc.c (make_entry_chain): patch from Steven Danz
8161	<sdanz@awc.kc.noaa.gov> to allow browsable auto maps.
8162
81632000-01-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8164
8165	* released snapshot am-utils-6.0.3s4
8166
8167	* amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
8168	are set to mapcache:=sync.  Fix from Nick Williams
8169	<Nick.Williams@msdw.com>.
8170
81712000-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8172
8173	* released snapshot am-utils-6.0.3s3
8174
8175	* minor port to i386-unknown-netbsd1.4.1
8176
8177	* amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
8178	<Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale
8179	file handles when doing rapid mounts and umounts in succession
8180	such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
8181
81822000-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8183
8184	* minor port to i386-pc-bsdi4.1.
8185
81862000-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8187
8188	* libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
8189	argument to irs_gen_acc(), which was changed in bsdi 4.1.
8190
81912000-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8192
8193	* amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
8194	systems with in-kernel mount tables unless this macro is defined
8195	(Solaris 8).
8196
81972000-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8198
8199	* ALL: bump copyright year to 2000.
8200
82011999-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8202
8203	* conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
8204	solaris 7, but should not be used unless MAX_MNTOPT_STR also
8205	exists (solaris 8).
8206
8207	* doc/am-utils.texi (opts Option): document new mount option:
8208	optionstr.
8209
8210Fri Dec 10 01:31:53 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8211
8212	* conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
8213	mount_svr4().
8214	(mount_svr4): Adapt prototype.
8215	* conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
8216	they are evaluated and show up in Solaris 8 in-kernel mnttab.
8217
8218	* aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
8219	option.
8220	* aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
8221
82221999-12-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8223
8224	* released snapshot am-utils-6.0.3s2
8225
82261999-12-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8227
8228	* doc/am-utils.texi (opts Option): document noexec and nomnttab
8229	(new to Solaris 8).
8230
8231	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
8232	distribution.
8233
8234	* applied fixes from Rainer Orth for Solaris 8.
8235
8236	* libamu/wire.c (getwire): increment the cp pointer in the loop
8237	body, because the ioctl() inside the "for" loop will overwrite the
8238	ifr structure, thus not detecting all of the interfaces.  Bug
8239	reported and fixed by Amitha Perera <perera@cs.rpi.edu>.
8240
8241Thu Dec  9 19:09:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8242
8243	* conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
8244	MOUNT_TABLE_ON_FILE.
8245
8246	* amd/get_args.c (get_args): Initialize mnttab_file_name even for
8247	in-kernel mount table.  conf/mtab/mtab_svr4.c (read_mtab) depends
8248	on a non-NULL value.
8249
8250	* amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
8251	LDAP structure to get error code, but use it directly.
8252	(amu_ldap_search): Likewise.
8253
8254	* conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
8255	ldap support.
8256	* conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
8257
8258	* conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
8259	nfsstat, already in <nfs/nfs.h>.
8260	* aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
8261	versions beyond 7.
8262	Allow for micro versions of SunOS 5.[67].
8263
8264	* aux/configure.in: Check for new Solaris 8 Beta Refresh
8265	MS_NOMNTTAB mount(2) option.
8266	* aux/macros/check_mnttab_location.m4: Use it to test for
8267	mntfs-based in-kernel mnttab.
8268
8269	* aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
8270
8271	* aux/macros/check_fs_headers.m4: Revert test for duplicate
8272	objects.
8273	* aux/macros/check_fs_mntent.m4: Likewise
8274
8275	* aux/macros/HEADER: Fixed typo.
8276
8277	* include/am_defs.h: Likewise.
8278
82791999-12-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8280
8281	* aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
8282
82831999-11-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8284
8285	* BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
8286
8287	* amd/info_ldap.c (string2he): updated function which does not
8288	corrupt strings when called more than once.  Patch from
8289	JOHANN.PFEFFERL.JP@germany.agfa.com.
8290
82911999-11-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8292
8293	* MIRRORS (Asia): two new mirrors in Japan.
8294
82951999-11-10  Erez Zadok  <ezk@kosh.cs.columbia.edu>
8296
8297	* doc/am-utils.texi: document new variables for ${uid} and ${gid}.
8298
8299	* amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
8300	last lookup from the RPC credentials.
8301
8302	* aux/configure.in: upped version-info to 4:0:2 because I've added
8303	a new interface to libamu.
8304
8305	* libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
8306	so it can be used by amd.
8307
8308	* amd/opts.c: new variables ${uid} and ${gid}.
8309
83101999-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8311
8312	* scripts/ctl-amd.in: add "status" command that tells you if amd
8313	is running on not (same output as RedHat scripts).
8314	Added start_msg and stop_msg targets as they are used on HPUX.
8315	reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8316
83171999-10-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8318
8319	* released snapshot am-utils-6.0.3s1
8320
83211999-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8322
8323	* amd/amd.c (main): On AIX you must lower the stack size using
8324	ulimit() before calling plock.  Otherwise plock will reserve a lot
8325	of memory space based on your maximum stack size limit.  Since it
8326	is not easily possible to tell what should the limit be, I print a
8327	warning before calling plock(). See the manual pages for
8328	ulimit(1,3,4) on your AIX system.
8329
8330	* include/am_defs.h: define default extern for vsnprintf()
8331
8332	* aux/configure.in: check for extern definition for vsnprintf()
8333
83341999-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8335
8336	* amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
8337	<njw@ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
8338	the correct location, but to the top level of the mountpoint and
8339	an (error-hook) is seen being mounted in the log file. This causes
8340	things to Go Wrong(TM).
8341	CAUSE: When evaluating two locations which are requested
8342	'practically simultaneously', and the two locations resolve to the
8343	same NFS mountpoint (but different sublinks), the later request
8344	will be "deferred" and retried after wakeup when the first mount
8345	succeeds. To do this, it rewinds the options location string to
8346	re-evaluate the location when the mount is retried. However, it
8347	shouldn't rewind the options for two reasons: (a) the semantics of
8348	the map language say you shouldn't and (b) the NFS mount reference
8349	is not reset at the same time, meaning that on the retry it will
8350	have an options structure out-of-sync with the mount
8351	structure. The "shortcut" code when retrying the mount sees the
8352	mount structure is already filled in and does not fully evaluate
8353	the options structure.... so if the first location is not the one
8354	which ties in with the mountpoint (see ordering in the
8355	recreate-by), you're now well messed up.
8356
8357	* BUGS: mention aix4.3 plock() bug (memory usage blows up and
8358	plock fails)
8359
83601999-10-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8361
8362	* aux/GNUmakefile: certain files should be copied if they are
8363	newer, not also if they are bigger: install-sh, ltconfig,
8364	ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
8365
8366	* minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
8367
83681999-10-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8369
8370	* aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
8371
8372	* aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
8373
83741999-09-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8375
8376	*******************************************************************
8377	*** Released am-utils-6.0.2					***
8378	*******************************************************************
8379
83801999-09-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8381
8382	* conf/mount/mount_linux.c (mount_linux): print the updated mount
8383	flags.
8384
8385	* doc/am-utils.texi: document $full_os and $vendor.
8386
8387	* scripts/amd.conf-sample: examples of $full_os and $vendor.
8388
8389	* scripts/amd.conf.5: document $full_os and $vendor.
8390
8391	* amd/conf.c: add support for $full_os and $vendor.
8392
83931999-09-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8394
8395	* doc/am-utils.texi (netgrp Selector Function): don't give
8396	examples with old single '=' assignment variable.  Use foo:=bar.
8397
8398	* amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
8399	comment describing this complex function.
8400
8401	* doc/Makefile.am (alldocs): do install-ps last (because distiller
8402	is slow) and install-html next to last (because texi2html is also
8403	slow).
8404
8405	* amd/amd.8: Major fixes to the description of the option -t
8406	timeout.retransmit.
8407
8408	* doc/am-utils.texi: better description of "trace" debug option.
8409	amd -H (not -v) shows log_options and debug_options.  Major fixes
8410	to the description of amd -t timeout.retransmit, and the amd.conf
8411	parameters nfs_retransmit_counter and nfs_retry_interval.
8412
8413	* scripts/amd.conf.5: better description of "trace" debug option.
8414	amd -H (not -v) shows log_options and debug_options.  Major fixes
8415	to the description of the parameters nfs_retransmit_counter and
8416	nfs_retry_interval.
8417
84181999-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8419
8420	* doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
8421	option, but a mount map option.
8422
8423	* libamu/xutil.c (switch_to_logfile): log the name of the log file
8424	we switched into, after the log file had been [re]opened.
8425
84261999-09-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8427
8428	* amd/mapc.c (mapc_reload_map): count and show the number of times
8429	a map was reloaded.  Only reload a map if its modify-time was
8430	updated.  But amq -f forced a reload no matter what.
8431
8432	* amd/amd.h: new flag to struct mnt_map to count number of times a
8433	map was reloaded.
8434
8435	* amd/mapc.c (mapc_reload_map): attempt to reload the map without
8436	losing current data by reloading into a temp copy, and switching
8437	the hashes round only if the reload was successful.  Patch from Jon
8438	Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8439	(mapc_sync): mapc_reload_map() always succeeds.
8440
84411999-09-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8442
8443	* amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
8444	rebind to an LDAP server forever.  Try up to 10 times.
8445
8446	* fsinfo/fsi_lex.l (yyerror): rework code that will never happen
8447
8448	* released snapshot am-utils-6.0.2s2
8449
8450	* aux/configure.in: bumped library version-info to 3:2:1, since
8451	some libamu code got changed.
8452
8453	* libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
8454	is better and more secure.  Fix from "David O'Brien"
8455	<obrien@NUXI.com>.
8456
8457	* aux/configure.in: check for vsnprintf.
8458
84591999-09-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8460
8461	* aux/macros/linux_headers.m4: use AC_MSG_ERROR.
8462
8463	* aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
8464	not optional.  Make sure ARG is supplied else flag an error.
8465
84661999-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8467
8468	* minor port i386-unknown-freebsdelf3.3
8469
8470	* released snapshot am-utils-6.0.2s1
8471
84721999-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8473
8474	* aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
8475
8476	* include/am_defs.h: extern definition for getitimer().
8477
8478	* aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
8479	extern.
8480
8481	* aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
8482	that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
8483	configure.
8484
8485	* aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
8486	'int' as the 5th arg to authunix_create().
8487
8488	* aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
8489	size_t for the 6th arg of recvfrom().
8490
8491	* aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
8492	aix4.x systems.
8493
8494	* libamu/mount_fs.c (print_nfs_args): cast some values to int, to
8495	avoid gcc -Wall errors.
8496
8497	* scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
8498	in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
8499	results in byte-misaligned values.   Bug fix from Jeffrey C Honig
8500	<jch@BSDI.COM>.
8501
8502	* libamu/mount_fs.c (compute_automounter_mount_flags): turn on
8503	automntfs (ignore on bsdi-4.1) flag.
8504	(compute_automounter_nfs_args): ditto.
8505
8506	* aux/acconfig.h: add new flag for automntfs (ignore)
8507
8508	* aux/configure.in: check for new automntfs flag (bsdi-4.1).
8509
85101999-09-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8511
8512	* MIRRORS: added new site in Germany.  Updated status of umn.edu
8513	and ferginc.com, who may no longer be mirroring am-utils.
8514
85151999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8516
8517	*******************************************************************
8518	*** Released am-utils-6.0.1					***
8519	*******************************************************************
8520
85211999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
8522
8523	* aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
8524	netexport defined.
8525
8526	* aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
8527	struct netexport defined.
8528
85291999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8530
8531	* aux/macros/check_field.m4 (ac_upcase_var_name): include
8532	<ifaddrs.h> so we can detect fields within struct ifaddrs.
8533
8534	* libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
8535	getifaddrs() and struct ifaddrs has no ifa_next field.
8536
8537	* aux/configure.in: check if 'struct ifaddrs' has a field
8538	ifa_next.
8539
8540	* include/amq_defs.h (AMQ_STRLEN): double size of amq string
8541	length to 2048 bytes.
8542
8543	* conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
8544	header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
8545	Zoulas> christos@zoulas.com.
8546
8547	* aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
8548	Bug reported by <Christos Zoulas> christos@zoulas.com.
8549
8550	* aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
8551
85521999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8553
8554	* libamu/xutil.c (expand_error): use strerror if available instead
8555	of sys_errlist.  Bug reported by <Christos Zoulas>
8556	christos@zoulas.com.
8557
8558	* hlfsd/hlfsd.c (fatal): use strerror if available instead of
8559	sys_errlist.
8560
8561	* amq/amq.c (show_mi): use strerror if available instead of
8562	sys_errlist.
8563
8564	* aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
8565	nfs_prot header is used for any future (1.5 etc.) netbsd systems.
8566
8567	* amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
8568	"Andrew J. Korty" <ajk@purdue.edu>
8569
85701999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8571
8572	* doc/am-utils.texi (Supported Platforms): updates for redhat
8573	systems.
8574
8575	* INSTALL: updates for redhat systems.
8576
8577	* libamu/wire.c (getwire_lookup): spell "succeeded" correctly
8578
85791999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8580
8581	* scripts/ctl-amd.in: sleep 1 second between killing amd and
8582	restarting it, because amq may respond that amd is down, where in
8583	fact it is still trying to unmount itself after unmapping itself
8584	from the portmapper.
8585
8586	* aux/config.guess.long: new script to print long version of
8587	config.guess output.
8588
8589	* buildall (host_alias): use long version of config.guess.
8590
85911999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8592
8593	* scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
8594	scripts.
8595
85961999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8597
8598	* released snapshot am-utils-6.0.1s11
8599
8600	* libamu/xutil.c (expand_error): make sure expanding the string
8601	with textual version of errno doesn't overrun the 1024 bytes
8602	buffer.
8603	(real_plog): null terminate msg, just in case.
8604
8605	* amq/amq.c (main): don't getopt -M option and don't process it
8606	unless ENABLE_AMQ_MOUNT is on.
8607
8608	* amd/amq_svc.c (amq_program_1): all code that relates to amq -M
8609	is conditional on #ifdef ENABLE_AMQ_MOUNT.
8610
8611	* amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
8612	when amq -M code is disabled.  Not taking any chances.
8613
86141999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8615
8616	* released snapshot am-utils-6.0.1s10
8617
8618Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
8619
8620	* libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
8621	128.59.16.0), try to shift the network out of zeros (e.g.,
8622	128.59.16) and try again.  Irix 6.4 requires short network
8623	numbers.
8624
86251999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8626
8627	* libamu/wire.c (getwire_lookup): correctly compute subnet using
8628	netmask.
8629
8630	* libamu/mount_fs.c (compute_automounter_nfs_args): require that
8631	Amd's own NFS mounts use reserved ports (if possible).  IP packet
8632	security fix from Jeffrey C Honig <jch@BSDI.COM>.
8633
8634	* conf/transp/transp_tli.c (create_autofs_service): use correct
8635	autofs_port.  IP packet security fix from Jeffrey C Honig
8636	<jch@BSDI.COM>.
8637
8638	* conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
8639	function.  IP packet security fix from Jeffrey C Honig
8640	<jch@BSDI.COM>.
8641	(create_nfs_service): use bind_resv_port() directly.  ensure that
8642	privileged ports are used.  IP packet security fix from Jeffrey C
8643	Honig <jch@BSDI.COM>.
8644
8645	* amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
8646	from reserved ports and from a local IP address.  IP packet
8647	security fix from Jeffrey C Honig <jch@BSDI.COM>.
8648
8649	* amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
8650	hard-coded 1024.  IP packet security fix from Jeffrey C Honig
8651	<jch@BSDI.COM>.
8652	(amqproc_mount_1_svc): provide information on the caller making an
8653	amq -M request.  IP packet security fix from Jeffrey C Honig
8654	<jch@BSDI.COM>.
8655
8656	* amd/map.c (free_map_if_success): If the program doing an unmount
8657	of a program filesystem fails, amd tries to interpret the return
8658	code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
8659
8660	* amd/info_nis.c (determine_nis_domain): don't always print
8661	warning about NIS domain name not being set, even if NIS is not in
8662	use.
8663
86641999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8665
8666	* amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
8667	(amu_ldap_search): initialize variable err.
8668
86691999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8670
8671	* libamu/wire.c: written using getifaddrs() for BSD systems,
8672	contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
8673
86741999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8675
8676	* include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
8677
8678	* aux/configure.in: check for irs.h and ifaddrs.h.
8679	Increase libamu.so --version-info to 3:1:1 since we've changed the
8680	source code for the library.
8681	Check for getifaddrs() function.
8682
86831999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8684
8685	* libamu/mount_fs.c (print_nfs_args): print fields namlen and
8686	bsize if they exist.
8687
8688	* conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
8689	and ->bsize fields correctly, if those fields exist.  This is a
8690	bug in that amd neglected to set these fields, but told the
8691	kernel it is mounting the nfs_args_t structure using mount version
8692	3 (which requires both bsize and namlen fields).
8693
8694	* aux/configure.in: test for two new nfs_args_t fields (used on
8695	newer linux with mount versions 2 and 3): bsize and namlen.
8696
8697	* doc/am-utils.texi (netgrpd Selector Function): document new
8698	selector function.
8699
8700	* amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
8701	test if the current host (fully-qualified name) is in the ARG host
8702	netgroup.  The netgrp() function uses the short form of a host
8703	name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
8704
8705	* doc/am-utils.texi (automount2amd): document new script.
8706
8707	* scripts/Makefile.am: create, install, and distribute
8708	automount2amd perl script and its man page.
8709
8710	* scripts/automount2amd.8: new man page for automount2amd.
8711
8712	* scripts/automount2amd.in: new file, contributed a in 1993 by
8713	Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
8714	any automount map options specified.
8715
87161999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8717
8718	* released snapshot am-utils-6.0.1s9
8719
87201999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8721
8722	* amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
8723	1.
8724	(amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
8725	(amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
8726	(u_int)~0.
8727
8728	* amd/mapc.c (make_entry_chain): NFS cookies should be
8729	monotonically increasing, because Linux 2.3 expects that, even
8730	though it is not in the spec (RFC-1094) for NFS V2.
8731
87321999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8733
8734	* aux/macros/check_lib_funcs.m4: removed unused macro.
8735
8736	* aux/macros/linux_headers.m4: new macro to ensure that linux
8737	kernel headers match running kernel version.
8738
8739	* aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
8740	amd is configured on linux hosts that run one kernel but have
8741	headers for a different version.
8742
8743	* amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
8744	logic which uses nis_isup and has_yp_order.  Make sure it is used
8745	correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
8746	Peter Breitenlohner <peb@mppmu.mpg.de>.
8747
8748	* include/am_defs.h: fix conflicts on linux 2.2 systems with older
8749	libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
8750
8751	* scripts/lostaltmail.in: use sockaddr_in(), not pack() to
8752	correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
8753	using pack() results in byte-misaligned values.
8754
87551999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8756
8757	* conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
8758	mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
8759	better macros for case statement.
8760
8761	* conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
8762	unless ldap is actually available.
8763
8764	* use updated config.guess and config.sub.  Use newer automake
8765	that fixes problems with distributing optional libamu files
8766	(clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
8767	and ualarm.c)
8768
87691999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8770
8771	* minor port i386-unknown-openbsd2.5
8772
87731999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8774
8775	* minor ports to freebsdelf 3.[0-2] and 4.0 completed
8776
8777	* aux/macros/check_nfs_prot_headers.m4: support freebsdelf
8778
8779	* aux/macros/check_nfs_socket_connection.m4: support freebsdelf
8780
87811999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8782
8783	* released snapshot am-utils-6.0.1s8
8784
87851999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8786
8787	* include/am_defs.h: avoid various header conflicts on
8788	RedHat/Linux 6.0 and kernels 2.2.10 or newer.
8789
8790	* aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
8791	kernel 2.2.10)
8792
8793	* amd/amfs_program.c (amfs_program_exec): make sure logfp is
8794	initialized dynamically to stderr if needed.
8795
8796	* libamu/xutil.c (dplog): make sure logfp is initialized
8797	dynamically to stderr if needed.
8798	(plog): ditto.
8799
8800	* amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
8801	not initialized.
8802
8803	* libamu/xutil.c: don't initialize logfp statically to stderr,
8804	because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
8805	be manipulated like a variable.
8806
8807	* include/am_defs.h: avoid more conflicts between <linux/fs.h> and
8808	<sys/mount.h> on 2.2 linux kernels.
8809	include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
8810
88111999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8812
8813	* all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
8814
8815	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
8816	renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
8817	won't attempt to add it to the header files to distribute.
8818
88191999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8820
8821	* aux/GNUmakefile: invoke aclocal with new --altdir flag.
8822
88231999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8824
8825	* minor new port: i386-unknown-netbsd1.4 (ALPHA)
8826
8827	* aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
8828	and <isofs/cd9660/cd9660_mount.h> because they are also included
8829	from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
8830	headers on netbsd-1.4_ALPHA.
8831
88321999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8833
8834	* aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
8835	sys_errlist extern doesn't end with [].
8836
8837	* aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
8838
88391999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8840
8841	* newer automake wants texinfo.tex to be in aux/ not doc/
8842
88431999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8844
8845	* amd/conf_parse.y: alloca support.
8846
8847	* fsinfo/fsi_gram.y: alloca support.
8848
8849	* libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
8850	needed.
8851
8852	* aux/configure.in: test for alloca support.  Needed because bison
8853	generates parsers that use alloca, and hpux9 does have alloca and
8854	its /bin/cc doesn't support it builtin (the way gcc does).
8855
8856	* libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
8857	verbatim from bison-1.25.
8858
8859	* include/am_defs.h: fixed typo #errir -> #error
8860
8861	* released snapshot am-utils-6.0.1s7
8862
8863	* README.y2k: more information about am-utils' compatibility, from
8864	Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
8865
8866	* scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
8867	compliant format.  Patch from Paul Balyoz
8868	<pbalyoz@sedona.ch.intel.com>
8869
8870	* doc/am-utils.texi (Supported Platforms): hpux10.20 could have
8871	nfs v.3 support (with some vendor patches), but it is turned off.
8872
8873	* aux/macros/os_cflags.m4: use ansi compiler options on hpux.
8874
8875	* conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
8876	confusing am-utils.  10.20 with some patches has incomplete
8877	support.  Patch from Jon Peatfield
8878	<J.S.Peatfield@damtp.cam.ac.uk>.
8879
88801999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8881
8882	* minor port i386-pc-bsdi4.0.1
8883
88841999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8885
8886	* doc/am-utils.texi (Supported Platforms): add forgotten listing
8887	for powerpc-linux.
8888
88891999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8890
8891	* scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
8892	<jch@BSDI.COM>.
8893
8894	* doc/am-utils.texi: document iso9660 options norrip, gens, and
8895	extatt.
8896	(opts Option): documented dumbtimr and noauto options.  From
8897	Jeffrey C Honig <jch@BSDI.COM>.
8898
8899	* include/am_compat.h: define default strings for options norrip,
8900	gens, and extatt.
8901
8902	* amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
8903	extatt.
8904
8905	* aux/macros/mount_headers.m4: also include
8906	<isofs/cd9660/cd9660_mount.h> as needed.
8907
8908	* aux/configure.in: check for isofs mount options for bsdi4:
8909	norrip, gens, and extatt.  Reported by Jeffrey C Honig
8910	<jch@BSDI.COM>.
8911
8912	* aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
8913	(bsdi4).
8914
89151999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8916
8917	* conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
8918
8919	* conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
8920	for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
8921
89221999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8923
8924	* get latest copies of config.guess, config.sub, ltconfig, and
8925	ltmain.sh from libtool-1.2f.
8926
8927	* all Makefile.am: don't use continuation lines (using \) for
8928	short lists of files.
8929
8930	* libamu/Makefile.am (DISTCLEANFILES): make distclean should
8931	remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
8932	Reported by Jeffrey C Honig <jch@BSDI.COM>.
8933
8934	* fixmount/Makefile.am (DISTCLEANFILES): make distclean should
8935	remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
8936
8937	* Makefile.am (DISTCLEANFILES): make distclean should remove
8938	amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
8939	Jeffrey C Honig <jch@BSDI.COM>.
8940
89411999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8942
8943	* released snapshot am-utils-6.0.1s6
8944
89451999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8946
8947	* INSTALL: document freebsdelf.
8948
8949	* doc/am-utils.texi (Supported Platforms): document freebsdelf.
8950
89511999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8952
8953	* minor new ports: i386-unknown-freebsdelf3.1 and
8954	i386-unknown-freebsdelf4.0
8955
8956	* aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
8957
8958	* aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
8959
8960	* aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
8961
8962	* amd/opts.c (eval_opts): changed log level of "executing
8963	negated..." message from USER to INFO, as per Guntram Wolski
8964	<gwolsk@sei.com>.
8965
89661999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8967
8968	* */Makefile.am (LDADD): force linking against an installed
8969	libamu.{a,so}.
8970
8971	* doc/am-utils.texi (addopts Option): document remopts interaction
8972	with addopts.
8973
8974	* amd/am_ops.c (ops_match): if addopts are specified, apply them
8975	to the value of remopts as well as opts.
8976
8977	* amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
8978
89791999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8980
8981	* released snapshot am-utils-6.0.1s5
8982
8983	* conf/mount/mount_linux.c (mount_linux): set default nfs_args
8984	options for ac{reg,dir}{min,man} as per the mount-2.8a package,
8985	but only if noac option was not used.
8986
89871999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
8988
8989	* conf/mount/mount_linux.c (mount_linux): print nfs_args again
8990	since it was updated.
8991	(mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
8992	and newer.  Bug was found by Neil Conway
8993	<nconway.list@ukaea.org.uk>
8994
89951999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8996
8997	* released snapshot am-utils-6.0.1s4
8998
89991999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9000
9001	* amq/amq.c (main): don't list -M as a valid amq option unless
9002	configure'd with --enable-amq-mount.
9003
9004Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9005
9006	* amd/nfs_start.c (amd_use_autofs): Define.
9007	(mount_automounter): Create autofs service listener only if
9008	necessary to avoid unnecessary clashes with e.g. automountd.
9009
9010	* amd/amd.h (amd_use_autofs): Declare.
9011
9012	* amd/conf.c (gopt_mount_type): Set amd_use_autofs.
9013	(ropt_mount_type): Likewise.
9014
90151999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9016
9017	* aux/macros/check_mnt2_nfs_opt.m4:: ditto
9018
9019	* aux/macros/check_mnt2_cdfs_opt.m4: ditto
9020
9021	* aux/macros/check_mnt2_gen_opt.m4: ditto
9022
9023	* aux/macros/check_mnttab_opt.m4: new macro in this file to loop
9024	over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
9025
9026	* conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
9027	nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
9028	christos@zoulas.com (Christos Zoulas).
9029
9030	* amd/info_hesiod.c: some forward declarations.  Patch from
9031	christos@zoulas.com (Christos Zoulas).
9032
90331999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9034
9035	* libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
9036	option if it was already in that state.  Patch from David
9037	Wolfskill <dhw@whistle.com>.
9038
90391999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9040
9041	* aux/configure.in: automake nowadays supports LTLIBOBJS (but not
9042	LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
9043	rebuild make rules.
9044
9045	* Makefile.am: new rules to remake libtool (maintainers only)
9046
9047	* amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
9048	if -D trace was used.
9049
90501999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9051
9052	* buildall: all if statements should have an else clause because
9053	of Ultrix's /bin/sh.
9054
90551999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9056
9057	* amq/amq.c: removed dummy variables.
9058
9059	* amq/pawd.c: removed dummy variable.s
9060
9061	* fixmount/fixmount.c (usage): removed dummy variables.
9062
9063	* fsinfo/fsinfo.c: removed dummy variables.
9064
9065	* hlfsd/hlfsd.c: removed dummy variables.
9066
9067	* wire-test/wire-test.c: removed dummy variables.
9068
9069	* mk-amd-map/mk-amd-map.c: removed dummy variables.
9070
9071	* doc/texinfo.tex: updates from GNU mirror.
9072
9073	* aux/GNUmakefile (../doc/texinfo.tex): new rule to update
9074	doc/texinfo.tex from GNU mirror.
9075
9076	* released snapshot am-utils-6.0.1s3
9077
9078	* Makefile.am (install-snapshot): better snapshot and new
9079	install-snapshot and test-snapshot rules (maintainer).
9080
9081	* amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
9082	args may be NULL.
9083	Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
9084	Bill Paul <wpaul@ctr.columbia.edu>
9085
90861999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9087
9088	* check for experimental generic 'ignore' mount flag on freebsd3.
9089
9090	* Update library -version-info to 3:0:1 (will result in 2.1.0 .so
9091	version, which is backwards compatible with older versions.)  Only
9092	one new interface was added to libamu.
9093
9094	* amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
9095	that are specific to automounter mounts.
9096
9097	* aux/configure.in: update libamu.so age and revision since a new
9098	interface was added to libamu/mount_fs.c
9099	(compute_automounter_mount_flags).
9100
9101	* libamu/mount_fs.c (compute_automounter_mount_flags): new
9102	function to compute generic mount flags that are specific to mount
9103	points only.
9104
9105	* aux/{configure.in,acconfig.h}: add support for generic mount
9106	entry ignore option.
9107
9108	* released snapshot am-utils-6.0.1s2
9109
9110	* amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
9111
9112	* libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
9113	of knc_semantics from u_long to u_int.
9114
9115	* aux/macros/check_mount_style.m4: freebsd3 no longer needs a
9116	special mount helper.
9117
91181999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9119
9120	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
9121	amu_nfs_conf.h should always be found in $top_builddir.
9122
9123Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9124
9125	* conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
9126	to avoid wrong reports from show_fstypes.
9127
9128	* conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
9129
9130	* conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
9131
9132Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9133
9134	* BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
9135
9136Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9137
9138	* hlfsd/homedir.c (delay): Cast child to long, adapt format.
9139	(hlfsd_getpwent): Likewise for pw_uid.
9140
9141	* amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
9142	format.
9143
9144	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
9145	tv_sec to int to match format.
9146	(get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
9147	formats.
9148
9149	* amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
9150	long, adapt format.
9151
9152	* include/am_defs.h: Handle __attribute__ if available.  From
9153	GNU fileutils 4.0 lib/errors.h.
9154
9155Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9156
9157	* libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
9158	match format.
9159
9160	* hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
9161	adapt format.
9162	(nfsproc_lookup_2_svc): Likewise.
9163	(nfsproc_readlink_2_svc): Likewise for userid, groupid.
9164
9165	* hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9166	format.
9167
9168	* hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
9169	format.
9170
9171	* amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
9172	long, adapt format.
9173
9174	* amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
9175	unsigned long, adapt format.
9176	(got_nfs_fh): Likewise.
9177	(prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
9178	format.
9179	(call_mountd): Likewise, mnt_version also.
9180	(mount_nfs_fh): Likewise.
9181
9182	* amd/ops_autofs.c (autofs_program_1): Cast args to int to match
9183	format.
9184	(autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
9185	unsigned long, adapt formats.
9186	(autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
9187	(autofs_bgmount): Use long format to match arg.
9188	(autofs_lookuppn): Removed superfluous arg.
9189
9190	* amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
9191	format.
9192	(got_portmap): Likewise for port.
9193	(recompute_portmap): Likewise for fs->fs_version, mnt_version.
9194	(find_nfs_srvr): Likewise for nfs_version.
9195
9196	* amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
9197	format.
9198
9199	* amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
9200	to unsigned long, adapt format.
9201	Cast tvv.tv_sec to int to match format.
9202
9203	* amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9204	format.
9205
9206	* amd/map.c (root_fh): Cast pid to long, adapt format.
9207	(timeout_mp): Cast time_t to long, adapt format.
9208
9209	* amd/clock.c (reschedule_timeouts): Use long format, cast time_t
9210	arg.
9211
9212	* amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
9213	match format.
9214	(amfs_host_fmount): Likewise.
9215	(amfs_host_umounted): Likewise.  Removed superfluous arg.
9216
9217	* amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
9218	long, adapt format.
9219	(amfs_auto_bgmount): Use long format, cast time_t arg.
9220	(amfs_auto_lookuppn): Removed superfluous arg.
9221
9222	* amd/amd.c (main): Cast geteuid() result to long, adapt format.
9223
9224	* conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
9225	to int to match format.
9226
9227	* include/am_utils.h: Declare plog, dplog as printf-like.
9228
9229	* conf/mount/mount_irix6.c (mount_irix): Print type as char *.
9230
9231Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9232
9233	* amd/info_hesiod.c (hesiod_isup): New function.
9234	* amd/mapc.c (maptypes): Add it.
9235
92361999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9237
9238	* released snapshot am-utils-6.0.1s1
9239
92401999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9241
9242	* ALL: bump copyright year to 1999.
9243
9244Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9245
9246	* aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
9247	too.
9248
9249	* aux/macros/check_mtype_printf_type.m4: Adapt corresponding
9250	printf type.
9251
9252Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9253
9254	* aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
9255
9256	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
9257
9258	* conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
9259
9260	* conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
9261
9262	* Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
9263	automake.
9264
9265Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9266
9267	* aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
9268	in current automake.
9269
9270Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9271
9272	* doc/am-utils.texi: Added some missing inter-punctation after
9273	@xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
9274	from texinfo 3.12b.
9275
92761999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9277
9278	* doc/texinfo.tex: updated off of latest GNU mirror.
9279
92801999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9281
9282	* doc/am-utils.texi (Supported Platforms): update platforms that
9283	support NFS v.3.  Nicer postscript printing on double-sided pages.
9284
9285	* amd/info_hesiod.c: add extern definition for hesiod_init()
9286
92871999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9288
9289	*******************************************************************
9290	*** Released am-utils-6.0					***
9291	*******************************************************************
9292
92931998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9294
9295	* conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
9296
92971998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9298
9299	* conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
9300	bsdi4 for NFS V3/nfs mounts.
9301
93021998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9303
9304	* using latest libtool (1.2e + patches), now supporting shared
9305	libraries on many more systems.  Also using latest autoconf and
9306	automake (unreleased GNU CVS'd versions.)
9307
9308	* minor new ports: hppa2.0w-hp-hpux11.00,
9309	i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
9310
9311	* fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
9312	have /usr/bin/flex but not libfl.
9313
93141998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9315
9316	* lots of code cleanup, to make sure libamu.so does not use
9317	undefined symbols.  Some system's shared libraries cannot handle
9318	that.
9319
93201998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9321
9322	* include/am_defs.h: only defined seteuid extern if function also
9323	exists and is not superceded by setresuid (hpux).
9324
9325	* amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
9326	braces to avoid confusion with nested if-then-else clauses.
9327
9328	* aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
9329	updated from latest versions.
9330
93311998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9332
9333	* minor new port: i386-pc-bsdi4.0
9334
9335	* conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
9336	definitions for bsdi4.
9337
9338	* {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
9339	some make programs (bsdi4) do not support VPATH correctly.
9340
93411998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9342
9343	* conf/mount/mount_aix.c: minor code cleanup
9344
9345	* aux/configure.in: check for extern definition to xdr_groups.
9346
93471998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9348
9349	* minor new port: powerpc-ibm-aix4.3.1.0
9350
9351	* aux/macros/*.m4: updates for aix 4.3
9352
93531998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9354
9355	* minor new port: i386-unknown-openbsd2.4
9356
9357	* aux/configure.in: don't check for xfs on openbsd because
9358	openbsd-2.4 introduces a new file system named xfs, but different
9359	than Irix's XFS.  Sigh.
9360
9361	* minor new port: i386-unknown-freebsd2.2.8
9362
93631998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9364
9365	* amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
9366	name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
9367
93681998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9369
9370	* scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
9371	avoid race conditions when shutting down systems running amd.
9372
9373	* Makefile.am: add a dist-hook to change modes of the directories
9374	in the tar file so they are not world writable.
9375
9376	* conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
9377	since it is now finally defined in the header files and
9378	(hopefully) stable.
9379
9380	* amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
9381	is specified in mount options.  freebsd patches from David
9382	O'Brien.
9383
9384	* amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
9385	(main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
9386	amd/get_args.c (get_args): posix: use -1 to check for return from
9387	getopt() (not EOF), as per posix.
9388
9389	* amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
9390	O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
9391	real variable whose pointer is on the stack for decoding a long
9392	int.
9393
93941998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9395
9396	* scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
9397	chkconfig utility.
9398
93991998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9400
9401	* released snapshot am-utils-6.0b2s3
9402
9403	* conf/transp/transp_sockets.c (create_nfs_service): remove C++
9404	style comments.
9405
94061998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9407
9408	* released snapshot am-utils-6.0b2s2
9409
9410	* created CVS package
9411
9412	* amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
9413	condition between unmounting and re-mounting an entry, by
9414	increasing the ttl of a looked up entry before unmounting it.
9415	Patch from Mike Mitchell <mcm@unx.sas.com>.
9416
9417	* All files: spell comments and strings.
9418
94191998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9420
9421	* aux/configure.in: look for yp_all in libnsl only if yp_all not
9422	already found elsewhere (in libc or other default libraries).
9423	This is so RedHat 5.1 systems could find yp functions in libnsl,
9424	but also so AIX 4.2.1 will NOT include libnsl, because the latter
9425	has broken nis functionality that also exists and works ok in libc.
9426
94271998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9428
9429	* amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
9430	from Danny Rathjens <dkr@cs.fiu.edu>.
9431
94321998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9433
9434	* released snapshot am-utils-6.0b2s1
9435
94361998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9437
9438	* aux/macros/*.m4: support bsdi4 as bsdi3.
9439
9440	* aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
9441	2.7 (libraries located in /usr/lib/fn).  This is off until Sun
9442	includes LDAP header information.
9443
94441998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9445
9446	*******************************************************************
9447	*** Released am-utils-6.0b1					***
9448	*******************************************************************
9449
94501998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9451
9452	* mk-amd-map/mk-amd-map.c (main): use perror not strerror.
9453	(main): set return type to int if no ndbm maps.
9454
9455	* include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
9456	kernels.
9457
94581998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
9459
9460	* A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
9461	for netbsd 1.3.2.
9462
94631998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9464
9465	* aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
9466	systems put NIS functions there.
9467
9468	* mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
9469	<obrien@NUXI.com> merged in.  Use POSIX -1 return code from
9470	getopt(), not EOF.  Use .db extentions for systems that use it,
9471	instead of .{pag,dir}.
9472
94731998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9474
9475	* wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
9476	amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
9477	"David O'Brien" <obrien@NUXI.com>.
9478
9479	* scripts/amd.conf.5: minor typo reported by "David O'Brien"
9480	<obrien@NUXI.com> in .TH section of man page.
9481
9482	* amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
9483	from Thomas Richter <richter@chemie.fu-berlin.de>.
9484
94851998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9486
9487	* doc/am-utils.texi (Program Filesystem): minor typo fixed as per
9488	Andreas Stolcke <stolcke@speech.sri.com>.
9489
9490	* minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
9491	and sparc-sun-solaris2.7.
9492
9493	* conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
9494	a 4.4lite kernel, and somethings were removed, such as
9495	INITMOUNTNAMES.
9496
9497	* amd/ops_autofs.c (autofs_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	* amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
9502	processing /defaults.  Free temporary opts.  Patch from
9503	dsr@mail.lns.cornell.edu (Daniel S. Riley)
9504
9505	* conf/mtab/mtab_osf.c (read_mtab): patch from
9506	 dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
9507	 uninitialized memory on Digital Unix.
9508
95091998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9510
9511	* aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
9512	systems now use "char *" as their mount type.
9513
95141998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9515
9516	* amd/conf.c (gopt_map_type, ropt_map_type): check if map type
9517	exists.
9518
9519	* amd/mapc.c (mapc_type_exists): function to test if a map of
9520	certain type exists.
9521
95221998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
9523
9524	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9525	include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
9526	in RH-5.1 sparc64 between <netinet/in.h> and
9527	<linux/byteorder/generic.h> (2.1 kernels).
9528
95291998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9530
9531	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
9532	5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
9533	from yp_all().
9534
95351998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9536
9537	* conf/mount/mount_linux.c (parse_opts): check for pcfs support
9538	only if autoconfigured.
9539
95401998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9541
9542	* Makefile.am (EXTRA_DIST): distribute README.yk2 file.
9543
9544	* README.y2k: explain y2k compliance status of am-utils.
9545
95461998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
9547
9548	* amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
9549	amfs_host_umounted): clnt_sperrno() may return a const.
9550
9551Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9552
9553	* aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
9554	Zoulas. Turned on checking for mount options: async, synchronous,
9555	deadthresh, leasterm, nqnfs, and readahead.
9556
9557	* amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
9558	to include prototype definition for nis_isup().
9559
9560Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9561
9562	* hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
9563
9564Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9565
9566	* released snapshot am-utils-6.0a17s1
9567
9568Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9569
9570	* aux/macros/host_macros.m4: all x86 hosts should have $arch be
9571	i386, not i[456]86.
9572
9573Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9574
9575	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9576	include/am_defs.h: include <linux/posix_types.h> before
9577	<linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
9578	headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
9579	__KERNEL_STRICT_NAMES).
9580
9581	* aux/configure.in: check for <linux/posix_types.h> because it is
9582	need for RedHat 5.1.
9583
9584Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9585
9586	* scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
9587	.in as well, so it doesn't get removed by make clean.
9588
9589Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9590
9591	* aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
9592	check_mount_type.m4}: redhat 5.1 puts some modules in
9593	/lib/modules/preferred/.
9594
9595Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9596
9597	* amd/ops_autofs.c (mount_autofs): cast pid to long.
9598
9599Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9600
9601	* conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
9602	conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
9603	avoid amd/am_ops.c (show_fstypes) from erroneously claiming
9604	support.
9605
9606Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9607
9608	* libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
9609	unconditionally, may be missing on Ultrix V4.3.
9610
9611Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9612
9613	* conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
9614	missing from <sys/mntent.h>.
9615
9616	* conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
9617	without KERNEL defined here.
9618
9619	* aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
9620	<cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
9621	ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
9622
9623	* amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
9624
9625	* ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
9626	Removed purely local (and obsolete) entry.
9627
9628Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9629
9630	*******************************************************************
9631	*** Released am-utils-6.0a16					***
9632	*******************************************************************
9633
9634Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9635
9636	* aux/macros/check_mount_style.m4: define freebsd3 mount style.
9637
9638	* aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
9639
9640	* aux/macros/check_mtype_printf_type.m4,
9641	aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
9642	of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
9643	integers, but I'll keep them as integers and do the mapping in
9644	conf/mount/mount_freebsd3.c
9645
9646	* minor new port to i386-pc-bsdi3.1.
9647
9648	* minor new port to i386-unknown-netbsd1.3.1.
9649
9650	* amd/opts.c: new option addopts:=ARG, which smartly merges ARG
9651	options with whatever the /default ones for a key are.  This
9652	allows adding or overriding /default options individual keys.
9653
9654	* amd/am_ops.c (ops_match): strdup/malloc string assigned to
9655	opt_opts because it'll get free()'d upon next use.
9656	(merge_opts): new function to merge two sets of options.
9657	(ops_match): if addopts option exist, append and merge it to the
9658	current default options.
9659
9660Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9661
9662	* wire-test/wire-test.c (main): use dynamically allocated returned
9663	string with list of interfaces.
9664
9665	* amd/get_args.c (get_version_string): allocate enough space for
9666	header version string and a list of network interfaces of any
9667	length.
9668
9669	* libamu/wire.c (print_wires): return dynamically allocated string
9670	containing list of networks.  Must be dynamic because some sites
9671	had potentially dozens of network interfaces.  Patch from Matthew
9672	Crosby <mcrosby@ms.com> slightly modified.
9673
9674Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9675
9676	* conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
9677	irix 5.3 does not have full header definitions for it.
9678
9679	* fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
9680	undefined it when not needed (similar to amd/conf_tok.l)
9681
9682	* hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
9683	of these to unsigned short (because uid_t on some linux systems is
9684	small).
9685
9686	* released snapshot am-utils-6.0a16s10
9687
9688	* doc/am-utils.texi (opts Option): documented resvport mount
9689	option.
9690
9691Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9692
9693	* doc/am-utils.texi (-D-Option): document behavior of -D info and
9694	especially what it does to hesiod (turn on RES_DEBUG).
9695
9696	* scripts/amd.conf.5: document info debugging option.
9697
9698	* libamu/xutil.c (dbg_opt): parse info debugging option.
9699
9700	* include/am_utils.h (D_INFO): define new trace option.
9701
9702	* Makefile.am (EXTRA_DIST): include list of official mirrors in
9703	distribution.
9704
9705	* libamu/wire.c (SIZE): in the simple case, just compute
9706	sizeof(struct ifreq).
9707
9708Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9709
9710	* amd/amd.c (daemon_mode): set a temporary secure umask(0022)
9711	before writing log file and restore it afterwards.  Patch from
9712	Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9713
9714	* amd/get_args.c (get_args):
9715
9716	* doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
9717	file specified by -F is always processed last.
9718
9719	* amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
9720	won't be reused.  Allows startup script to redirect stdout.  Patch
9721	from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9722
9723	* libamu/xutil.c (switch_to_logfile): compare logfile name and
9724	syslog string with correct length.  Patch from Donald Buczek
9725	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9726
9727	* amd/restart.c (restart): correctly inherit existing NFS V.3
9728	mounts upon restart.  Patch from Donald Buczek
9729	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9730
9731Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9732
9733	* using libtool 1.2 and automake 1.3 (with my patches).
9734
9735	* aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
9736	AMU_CFLAGS to avoid conflicts with automake-1.3.
9737
9738Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9739
9740	* converted to using libtool-1.2.
9741
9742Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9743
9744	* fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
9745	for loop (ITER) which used to run only to initialize the variable
9746	dd once and then break; with a simple assignment.
9747
9748	* hlfsd/hlfsd.h: cleanup so it compiles with Solaris
9749	/opt/SUNWspro/bin/cc, and use gid_t not int.
9750
9751	* amd/mapc.c (mapc_sync): don't dereference pointer (so it
9752	compiles with Solaris /opt/SUNWspro/bin/cc)
9753
9754Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9755
9756	* aux/config.{guess,sub}: used from gcc-2.8.1.
9757
9758Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9759
9760	* released snapshot am-utils-6.0a16s9
9761
9762	* INSTALL, doc/am-utils.texi (Supported Platforms): updated names
9763	based on new output of new config.guess.
9764
9765	* aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
9766
9767	* amd/amd.8,doc/am-utils.texi: document correct usage of default
9768	/etc/amd.conf file.
9769
9770	* fixmount/fixmount.c (inetresport,privsock): use some more
9771	portable code from amq/amq.c.
9772
9773	* amd/get_args.c (get_args): use default /etc/amd.conf file only
9774	if no arguments had been passed to amd.
9775
9776	* fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
9777	ala amq/amq.c so that fixmount will work on both types of systems.
9778
9779	* amq/amq.c (main): do no close tcp socket before running udp try,
9780	because we're not sure if it was opened at all.
9781
9782	* mips-dec-ultrix* port merged in and cleaned up.
9783
9784	* aux/configure.in: up minor shared library revision number, since
9785	it has changed enough.
9786
9787	* hlfsd/hlfsd.c (main): don't check for overlay mount option here,
9788	as it is now done in compute_nfs_args().  Remove ultrix specific
9789	code also because it was moved to compute_nfs_args().
9790
9791	* conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
9792	we have more generic code in print_nfs_args().
9793
9794	* libamu/mount_fs.c (print_nfs_args): print maxlen of
9795	nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
9796	struct knetconfig from nfs_args->knconf.
9797
9798	* aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
9799	headers here, but in try_compile_anyfs.m4.
9800
9801	* aux/macros/type_ufs_args.m4: move test for struct ufs_specific
9802	(for ultrix) here from its own macro.
9803
9804	* aux/macros/type_cdfs_args.m4: move test for struct iso_specific
9805	(for ultrix) here from its own macro.
9806
9807	* amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
9808	for overlay mount option.  Remove code which checks for overlay
9809	option, as it is now done in compute_nfs_args().
9810
9811	* libamu/mount_fs.c (compute_mount_flags): move here code which
9812	checks for overlay mount option which was in amd/amfs_toplvl.c:
9813	mount_amfs_toplvl().
9814
9815Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
9816
9817	* The following are Rainer's ChangeLog entries for his ultrix
9818	port, added manually. -Erez.
9819
9820	* merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
9821	(mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
9822
9823	* include/am_defs.h: include cdfs specific mount headers
9824	avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
9825
9826	* include/am_compat.h: define several mount options corresponding
9827	to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
9828	noversion, rrip (cdfs), nocache, quota, sync (generic) removed
9829	duplicate MNTTAB_OPT_RO definition
9830
9831	* aux/macros/try_compile_anyfs.m4: include Ultrix specific
9832	ufs/cdfs mount headers
9833
9834	* aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
9835	specific mount headers
9836
9837	* aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
9838	mount types in mount headers (Ultrix)
9839
9840	* aux/configure.in: Ultrix/Digital UNIX specific checks: new
9841	headers, mount structures and fields, filesystem and mount types,
9842	mount flags
9843
9844	* aux/acconfig.h: placeholders for new mount options: quota
9845	(generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
9846	cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
9847	structures
9848
9849	* amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
9850	ufs_args.ufs_flags and has ufs specific pgthresh option
9851
9852	* amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
9853	CDFS mount flags and options
9854
9855	* amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
9856	hlfsd/hlfsd.c (main): store generic mount flags in
9857	nfs_args.gfs_flags, handle separate NFS ro flag
9858
9859	* aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
9860	struct_ufs_specific}.m4: new files; check for Ultrix specific
9861	mount structures
9862
9863	* conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
9864
9865	* aux/macros/type_auth_create_gidlist.m4 (ultrix*):
9866	AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
9867	comment in <rpc/auth.h>
9868
9869	* include/am_defs.h: #define KERNEL to avoid definition of
9870	gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
9871	<config.h> to force single definition here
9872
9873	* libamu/mount_fs.c (compute_nfs_args): Ultrix support for
9874	nfs_args.gfs_flags moved to callers store mount options in
9875	nap->optstr
9876
9877	* include/am_defs.h: fix _am_mntent mnt_{type, opts} field
9878	descriptions
9879
9880	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
9881	include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
9882	definition in prototypes
9883
9884	* aux/macros/mount_headers.m4: include <sys/errno.h> before
9885	AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
9886	definitions
9887
9888	* conf/nfs_prot/nfs_prot_ultrix.h: new file
9889
9890	* aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
9891
9892	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
9893	aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
9894	inclusion of <rpc/xdr.h>
9895
9896Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9897
9898	* aux/configure.in: save state of config.cache and confdefs.h
9899	(as dbgcf.h) at various points of the configure.
9900
9901	* aux/macros/save_state.m4: new macro to save state of configure,
9902	esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
9903	cache variables that are known so far.
9904
9905	* released snapshot am-utils-6.0a16s8
9906
99071998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
9908
9909	* fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
9910	it, but only for flex.
9911
9912Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9913
9914	* hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
9915	to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
9916	to write the dump file.
9917
9918	* doc/am-utils.texi,amd/opts.c: rename all references to nomadic
9919	functions to boolean functions, which is what they really are.
9920
9921	* aux/configure.in: don't look for strcasecmp in libucb at all,
9922	but rather complete it from libamu/strcasecmp.c as needed.
9923
9924Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9925
9926	* conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
9927
9928	* libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
9929	which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
9930	Schmidt <tschmidt@micron.com>.
9931
9932	* released snapshot am-utils-6.0a16s7
9933
9934	* conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
9935	hppa1.0-hp-hpux11.00.tgz.
9936
9937Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9938
9939	* converted all sources to use mntent field names, and map mnttab
9940	field names to mntent's.
9941
9942	* include/am_defs.h (mnt_special): map struct mnttab field names
9943	to struct mntent field names.
9944
9945	* aux/macros/check_mount_trap.m4: hpux11's mount trap style is
9946	identical to svr4/solaris2.
9947
9948	* aux/macros/check_mount_style.m4: hpux11's mount style is
9949	identical to svr4/solaris2.
9950
9951	* aux/macros/check_network_transport_type.m4: hpux11 is a TLI
9952	system!
9953
9954	* aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
9955	dereferencing style is same as svr4.
9956
9957	* aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
9958	dereferencing style is same as svr4.
9959
9960	* conf/transp/transp_tli.c (create_nfs_service): if failed to
9961	getnetconfigent() of ticlts, then try udp (hpux11).
9962
9963	* conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
9964	struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
9965	2.5.1 (HP used them).
9966
9967	* amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
9968	because hpux11 doesn't like it. if t_open failed, print error
9969	based on t_errlist, not sys_errlist.
9970
9971Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9972
9973	* doc/am-utils.texi: lots of documentation fixes from Rainer Orth
9974	<ro@TechFak.Uni-Bielefeld.DE>.
9975
9976Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
9977
9978	* fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
9979	later.
9980
9981	* include/am_defs.h: defined the extern for ualarm() if it isn't
9982	found, regardless if the function isn't found in standard
9983	libraries, because otherwise libamu will include it.
9984
99851998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
9986
9987	* initial port to hpux-11 completed.  Compiles cleanly, but
9988	probably does not work, because of missing NFS V.2/3 headers.
9989
9990	* amd/conf_tok.l: cast yytext to char* when passed to strlen and
9991	strdup, for hpux-11's ansi-cc compiler.
9992
9993	* include/am_utils.h: renamed all xfree() to XFREE() to avoid
9994	conflict with hpux-11's system headers.  Also move (voidp) cast
9995	from sources to inside the macro itself.
9996
9997Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9998
9999	* released snapshot am-utils-6.0a16s6
10000
10001	* amd/info_nis.c (nis_isup): new function to test if NIS is up
10002	without hanging amd.  Used to ensure that amd does not clear the
10003	maps when the expiration period arrived, if the service is down.
10004	Otherwise it would be left with empty maps.  It is better to stay
10005	with possibly old information than none at all.
10006
10007	* amd/mapc.c (mapc_sync): check to see if map service is up.
10008
10009Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10010
10011	* aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
10012	includes auxiliary library only if needed.
10013
100141998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10015
10016	* amd/conf_tok.l: undefine ECHO again, so it doesn't get used
10017	later.
10018
10019Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
10020
10021	* conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
10022	completed.
10023
10024	* conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
10025
10026Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10027
10028	* doc/am-utils.texi (Network Host Filesystem): correct example for
10029	type:=host map.
10030
10031	* aux/macros/os_cflags.m4: only osf4 should compile with
10032	-D_SOCKADDR_LEN.
10033
10034	* aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
10035	and OSF4.
10036
10037	* BUGS: include a new file listing known bugs.
10038
10039Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10040
10041	* conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
10042	versions.
10043
10044	* aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
10045	size_t for recvfrom fromlen arg.
10046
10047Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10048
10049	* scripts/ctl-hlfsd.in: turn -D fork so primary process never
10050	hangs.
10051
10052Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10053
10054	* include/am_defs.h: don't include <sys/stat.h> and
10055	<linux/stat.h>, just remaining definitions in <statbuf.h>
10056
10057Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10058
10059	* released snapshot am-utils-6.0a16s5
10060
10061	* conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
10062	mount(2).
10063
10064	* check for <sys/fs/xfs_clnt.h> and include it when needed.
10065
10066	* conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
10067	efs and xfs separately from "ufs".
10068
10069	* amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
10070
10071	* aux/configure.in: look for irix efs and xfs file systems.
10072
10073	* scripts/amd.conf.5: new unmount_on_exit option documented.
10074
10075	* doc/am-utils.texi (unmount_on_exit): new option documented.
10076
10077	* amd/conf.c (gopt_unmount_on_exit): new function to handle new
10078	amd.conf option.
10079
10080	* amd/map.c (umount_exported): if global amd.conf flag
10081	unmount_on_exit is on, then try to unmount all mounted (or
10082	restartable) file systems.
10083
10084	* amd/amd.c: if print_pid option is on, then normally print it to
10085	stdout.  If also pid_file is specified, then print the process ID
10086	into that file.
10087
10088	* amd/get_args.c (get_args): print correct -l option depending if
10089	system supports syslog and/or syslog facilities.  Patch from
10090	Tom Schmidt <tschmidt@micron.com>.
10091
10092	* doc/am-utils.texi (opts Option): updates for documentation for
10093	new cdfs options defperm, nodefperm, noversion, rrip.
10094
10095	* amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
10096	nodefperm, noversion, rrip.
10097
10098	* conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
10099	on osf.
10100
10101	* aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
10102	expand_cpp_string.m4}: use #error to make failed compilations
10103	fail faster, rather than have the program fail during a run.
10104
10105	* include/am_compat.h: added a few new cdfs options: rrip,
10106	noversion, defperm, and nodefperm (used in OSF).
10107
10108Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10109
10110	* released snapshot am-utils-6.0a16s4
10111
10112	* doc/am-utils.texi (Global Parameters): update manual for new
10113	amd.conf global variable hesiod_base.
10114
10115	* scripts/amd.conf.5: update man page for new amd.conf global
10116	variable hesiod_base.
10117
10118	* amd/get_args.c (get_args): use /etc/amd.conf file if exists by
10119	default, else try command line options.  Patch from Randall
10120	S. Winchester <rsw@Glue.umd.edu>.
10121
10122Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10123
10124	* amd/info_hesiod.c (hesiod_search), amd/conf.c
10125	(gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
10126	included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
10127	support a hesiod base name in the amd.conf file.
10128
10129	* doc/am-utils.texi (pid_file Parameter): document new global
10130	amd.conf parameter.
10131
10132	* scripts/amd.conf.5: document new global option pid_file.
10133
10134	* amd/amd.c (daemon_mode): if cannot open pid_file, continue to
10135	run, but print error message.
10136
10137	* amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
10138	init_global_options): Included patch from Randall S. Winchester
10139	<rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
10140
10141	* amd/get_args.c (get_args): correct usage info on amd -t.
10142
10143	* amd/*.c: massive file name and symbol name changes.  All amd
10144	file systems files and symbols are prefix with amfs_*.  Now using
10145	real name of file system: amfs_auto instead of afs, amfs_inherit
10146	instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
10147	clear distinction between amd file system and generic ones like
10148	nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
10149	f/s) and DFS (Distributed f/s).
10150
10151	* amd/amfs_union.c: unionfs for amd is always defined, no need to
10152	#ifdef it.
10153
10154Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10155
10156	* libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
10157	or off, based on the particular quirks of the OS in question.
10158
10159	* aux/macros/check_nfs_socket_connection.m4: new macro to set the
10160	correct wait of handling un/connected NFS sockets.
10161
10162	* scripts/wait4amd.in: use rlogin instead of rsh.
10163
10164	* amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
10165	-v, always show "nfs3" for NFS V.3.
10166
101671998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10168
10169	* lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
10170	more picky than 2.7.2.3 did.
10171
101721998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10173
10174	* include/am_utils.h (dlog): amuDebug macros reduced to shorter
10175	forms.
10176
10177Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
10178
10179	* released snapshot am-utils-6.0a16s3
10180
10181	* include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
10182	in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
10183	must not, fake a definition for varargs.
10184
10185Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10186
10187	* README: show how to configure in additional support such as
10188	hesiod using various --enable-* flags.
10189
10190Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10191
10192	* aux/configure.in: look for strcasecmp(), and replace it if not
10193	available.
10194
10195	* amd/ops_nfsl.c (nfsl_match): host names should be compared using
10196	case insensitive.
10197
10198	* amd/opts.c: for each map variable, define if the comparison
10199	needs to be done case insensitive.
10200
10201	* include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
10202	Patch from Thomas Richter <richter@chemie.fu-berlin.de>
10203
102041998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
10205
10206	* aux/configure.in: look for "isofs" as a possible mount type for
10207	cdfs (RedHat Linux).
10208
10209Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10210
10211	* conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
10212	type if not defined.
10213
10214	* conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
10215	already defined.
10216
10217	* aux/configure.in: look for ext2fs before ufs, b/c some linux
10218	have both.
10219
10220Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10221
10222	* Makefile.am (snapshot): allow me to install snapshots into the
10223	ftp directory.
10224
10225	* scripts/ctl-hlfsd.in: don't turn on -D mem by default.
10226
10227	* amd/get_args.c (get_args): minor bug in output of amd -H.
10228
10229Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10230
10231	*******************************************************************
10232	*** Released am-utils-6.0a15					***
10233	*******************************************************************
10234
10235Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10236
10237	* amd/conf.c (*_browsable_dirs): allow specifying
10238	browsable_dirs=full, which will print *all* entries (other than
10239	/default), including  those with '*' and '/' characters.
10240
10241	* amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
10242	to 1500.
10243
10244	* doc/am-utils.texi: fixed reversed documentation for NFS mount
10245	options vers and proto.
10246
10247	* doc/Makefile.am (install-html): separate target just for
10248	installing html files.  Another new target "alldocs" is just for
10249	installing all files needed for the am-utils home page.
10250
10251	* scripts/amd.conf-sample: updated example for log_file.
10252
10253	* scripts/amd.conf.5: updated for new way to declare new syslog
10254	facility in the log_file option.
10255
10256	* amd/amd.8: updated for new way to declare new syslog facility in
10257	the -l option.
10258
10259	* libamu/xutil.c (get_syslog_facility): allow users to specify the
10260	syslog facility as an appended string to the log device.  Ex. amd
10261	-l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
10262	will use the default LOG_DAEMON facility.
10263
10264	* amd/get_args.c (get_args): updated new syntax for amd -l
10265	syslog:facility.
10266
10267Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10268
10269	* aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
10270	(intel).
10271
10272	* libamu/wire.c (print_wires): bug fix.  Nullify output buffer
10273	before appending to it, on systems with two or more network
10274	interfaces.
10275
10276	* conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
10277	the mntent for cachefs.
10278
10279	* include/am_defs.h: external definition for strstr() should use
10280	const for both arguments.
10281
10282	* aux/configure.in: add extern definitions for getwd() if missing.
10283
10284	* include/am_defs.h: define the extern for strdup() even if the
10285	function does not exist, for it will be filled in by
10286	libamu/strdup.c
10287
10288	* amq/pawd.c (cluster_server): don't use getccent() if the extern
10289	for it isn't there.  On hpux 10.20, the function is in libc, but
10290	<cluster.h> and struct cct_entry do not exist.
10291
10292	* aux/configure.in: check for an extern for getccent() b/c some
10293	hpux systems don't have it (hpux 10.20).
10294
10295Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10296
10297	* doc/am-utils.texi (Amq -T option): manual documentation updates
10298	for new amq options -T/-U.
10299
10300	* amq/amq.8: updated man page for new amq options -T/-U.
10301
10302	* amq/amq.c: two new switches to amq. -U will contact amd using
10303	UDP only.  -T will use TCP only.  Normally amq will try TCP and
10304	if that failed, will try UDP.
10305
10306	* doc/am-utils.texi (pawd): manual documentation for pawd.
10307
10308	* amq/pawd.1: new man page for pawd.
10309
10310Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10311
10312	* amq/pawd.c: a new program, Print Automounter Working Directory,
10313	to print the proper pathname of the cwd or any other pathname,
10314	adjusted for automounter paths, while avoiding mount points.
10315
10316	* aux/macros/localconfig.m4: trivial support for am-utils
10317	maintainers to adjust some of the configuration of am-utils after
10318	it has been auto-configured by putting whatever definitions you
10319	wish in a file called localconfig.h, located in the top build
10320	directory (the same one where config.h is created for you).
10321
10322	* doc/am-utils.texi (Caching Filesystem): updated documents for
10323	cachefs file system.
10324
10325	* amd/ops_cachefs.c: initial cachefs support, for solaris.
10326	type:=cachefs, requires cachedir:=/cache/dir/name to be defined
10327	and initialized with cfsadmin -c.  $rfs is backdir to be cached
10328	from, and $fs is the local mount point of the cachefs.
10329
10330	* conf/mount/mount_svr4.c (mount_svr4): support mounting of
10331	cachefs file systems.
10332
10333	* amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
10334	mnttab type is.
10335
10336Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10337
10338	* amd/opts.c: added support for new variable $cachedir.
10339
10340	* include/am_utils.h: added opt_cachedir field to struct am_opts.
10341
10342Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10343
10344	* amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
10345	local hostname does not match $rhost, and if so, also assume
10346	type:=nfs.
10347
10348Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10349
10350	* updated all source files to add 1998 as a copyright year.
10351
10352	* amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
10353	like type:=linkx if the pathname denoted by $fs exists, and like
10354	type:=nfs if it does not.  A convenient shortcut for the most
10355	popular amd map entry.
10356
10357	* amd/amd.c (main): amd should chdir to / before starting, to
10358	avoid hanging on other NFS server if started elsewhere.
10359
10360	* amd/ops_TEMPLATE.c: added an empty template file for developers
10361	who wish to write new amd pseudo file systems.
10362
10363Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10364
10365	* hlfsd/homedir.c (plt_init): make function exported, to save on
10366	the unnecessary init_homedir() function which was removed.
10367	(table_add): don't use xmalloc() when you can use strdup()
10368	instead.
10369
10370Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10371
10372	* hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
10373	because we will be making more passwd calls afterwards.  On
10374	Solaris 2.5.1, making getpwent() calls after calling endpwent()
10375	results in a memory leak! (and no, even Purify didn't detect
10376	it...)
10377
10378Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10379
10380	* hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
10381	automatically allocated address.
10382
10383	* amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
10384	automatically allocated address.
10385
10386	* ALL SOURCES: change every direct call to free() to xfree(), so
10387	it can be mapped to the right debugging function as needed.
10388
10389	* include/am_utils.h: new free() policy.  If debugging memory,
10390	call dxfree(), which will print the file name and line number
10391	where the free occurred and the pointer address.  if only regular
10392	debugging, then free() and reset  the pointer to NULL so it cannot
10393	be used afterwards inadvertently.  If not DEBUG at all, then just
10394	run free().  Three different #define macros set the right mapping.
10395
10396	* libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
10397	be called only when debugging the memory.
10398
10399Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10400
10401	* wire-test/wire-test.c (main): use xmalloc() not malloc().
10402
10403	* conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
10404	calloc().
10405
10406	* conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
10407
10408	* conf/mount/mount_linux.c (parse_opts): use xmalloc() not
10409	malloc().
10410
10411	* amd/info_ldap.c: use xmalloc() not malloc().
10412
10413	* libamu/xutil.c (xzalloc): new function to allocate memory and
10414	zero its bytes.
10415
10416	* amq/amq.c: amq does not need its own definition of xfree().
10417
10418	* aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
10419	look for function malloc_verify() in libmapmalloc.a, and function
10420	mallinfo() in libmalloc.
10421
10422	* libamu/xutil.c (checkup_mem): do not use mallinfo field
10423	uordbytes, because it does not always exist.  Rather, compute it
10424	from other fields..
10425
10426	* include/am_utils.h: add external definition to xfree() function
10427	used when debugging memory references.
10428
10429Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10430
10431	* amd/ops_afs.c (afs_readdir_browsable): reduce the number of
10432	bytes heuristically computed to be returned to the kernel.
10433	Otherwise browsable_dirs fails on OpenBSD 2.2.
10434
10435	* amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
10436	mf_private field to AFTER it gets used.
10437
10438Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10439
10440	* amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
10441	on systems that don't support it.
10442
10443	* include/am_defs.h: add missing extern definition for free().
10444
10445	* aux/configure.in: check for external definition for free().
10446
10447	* libamu/Makefile.am: add to comment a mention of strstr as an
10448	optional function.
10449
10450	* libamu/xutil.c (switch_to_logfile): use openlog() options only
10451	if they exist.
10452
10453	* conf/transp/transp_sockets.c (get_nfs_version): don't use
10454	clnt_spcreateerror if it does not exist.
10455
10456	* aux/configure.in: check for missing functions clnt_create and
10457	clnt_spcreateerror.  Check for missing strstr, and complete
10458	its code.  Check for missing external definition for strstr.
10459
10460	* aux/macros/host_macros.m4: normalize sun3* names.
10461
10462	* Makefile.am: updates for new sunos3 files distributed.
10463
10464	* conf/nfs_prot/nfs_prot_sunos3.h: new file.
10465
10466	* conf/fh_dref/fh_dref_sunos3.h: new file.
10467
10468	* aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
10469
10470	* aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
10471
10472	* doc/am-utils.texi (wire Selector Variable): updated manual for
10473	adjusted variables wire, network, and netnumber, all using the
10474	in_network() function.
10475
10476Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10477
10478	* amd/opts.c: allow options to be processed by executing arbitrary
10479	functions.  Converted wire, network, and netnumber all to use the
10480	nomadic function in_network.  So from now on they perform a match
10481	against all networks, not just primary.
10482
10483	* initial port to alpha-unknown-linux-gnu, probably works, but
10484	untested yet.
10485
10486	* conf/nfs_prot/nfs_prot_linux.h: add special definitions for
10487	__FD_* macros which for som strange reason do not get included
10488	from <selectbits.h> on redhat alpha linux.  Also turn off usage of
10489	<rpc/des_auth.h> because it is incomplete on the same systems.
10490
10491	* hlfsd/homedir.c (table_add): cast uid field to int, for
10492	comparison.
10493
10494	* include/am_defs.h: more coflicts with redhat alpha linux
10495	"resolved".
10496
10497	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
10498	There's a conflict of definitions on redhat alpha linux between
10499	<netinet/in.h> and <linux/fs.h> which must be avoided.
10500
10501	* aux/configure.in: check for <socketbits.h>, which is in use on
10502	redhat alpha linux.
10503
10504	* doc/am-utils.texi (Selectors): added documentation to describe
10505	the new "!" (negated) nomadic functions.
10506
10507	* amd/opts.c (f_in_network): print debugging info that is correct,
10508	rather than saying that any ARG is on a local network.
10509	(eval_opts): added support for negating nomadic functions, by
10510	prepending "!" to their name.  Example, !exists(/foo/bar).
10511
10512Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10513
10514	* include/am_compat.h: ensure that all NFS3 systems have the mount
10515	table entries (and amd opts switches) "proto" and "vers".
10516
10517	* hlfsd/homedir.c (table_add): added some debugging info to try
10518	and track down a serious memory leak in hlfsd.
10519
105201997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
10521
10522	* libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
10523	you do NOT set the noconn option, and use connected sockets
10524	always.  So I'm now forced not to set it at all, and have the user
10525	specify it as "conn" or "noconn" in their /default entry.  Argh...
10526	Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
10527	buggy (TCP hangs with "short receive" kernel errors).  I'd better
10528	wait until they get it working in their version of the automounter
10529	first.  So I'm putting the "noconn" option back.
10530
10531Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10532
10533	* libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
10534	nfs_args field maxgrouplist accordingly.
10535
10536	* include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
10537	for mount table entry for maxgroups based on NFS mount option
10538	maxgrp.
10539
10540	* aux/configure.in: put back testing for NFS mount option
10541	"maxgrps".  Added test for mount table entry "maxgroups".
10542
10543	* libamu/mount_fs.c (compute_nfs_args): perform more careful tests
10544	on nfs_proto, because it could be NULL.
10545
10546	* doc/am-utils.texi (Selectors): added example of in_network()
10547	selector.
10548
10549	* aux/macros/check_hide_mount_type.m4: all hpux versions,
10550	including 9.x, should use "ignore" as the mount type to hide from
10551	amd.
10552
10553Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10554
10555	* include/am_utils.h (NSTREQ): use new macro instead of strncmp()
10556	every where in the sources.
10557
10558Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10559
10560	* libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
10561	print as much info that is given in struct nfs_args as possible.
10562	useful for detecting internal flags and options, as well as the
10563	file handle used.
10564
10565	* scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
10566	after /etc and before /etc/local.
10567
10568Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10569
10570	* aux/configure.in, libamu/Makefile.am: added support for linking
10571	with specific versions of libamu.  Upped shared library version of
10572	libamu to 1 (libamu.so.1.0.0)
10573
10574	* include/am_defs.h: added external definition for mkstemp() as
10575	needed.
10576
10577	* minor new port to i386-unknown-netbsd1.3 (BETA version of
10578	netbsd).
10579
10580	* aux/config.guess: don't leave a trailing '.' on the system name
10581	for NetBSD-1.3_BETA and similarly for OpenBSD.
10582
10583	* conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
10584	differences in ypall calling conventions.
10585
10586	* mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
10587	in preference over mktemp(), b/c it is more secure.
10588
10589	* aux/configure.in: check for mkstemp(), a more secure version of
10590	mktemp().
10591
10592Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10593
10594	* amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
10595	table "vers" option generally do not set the mnttab entry to
10596	"nfs3", but to "nfs" and then they set "vers=3".  Setting it to
10597	"nfs3" works, but it may break some things like "df -t nfs" and
10598	the "quota" program (esp. on Solaris and Irix).  So on those
10599	systems, set it to "nfs".
10600
10601Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10602
10603	* doc/am-utils.texi (Distrib): updates for new ports, location of
10604	am-utils' home page, and URL cross references (now supported by my
10605	version of texi2html).
10606
10607	* aux/macros/check_mtype_type.m4: also use string type for file
10608	system mount types under nextstep for mount(2).
10609
10610	* aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
10611	integer and string types for file system mount types in mount(2),
10612	but it is better to use string types.
10613
10614	* conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
10615	0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10616	(EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
10617	works.
10618
10619	* conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
10620	not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10621	(EPERM) instead of 0 (OK).
10622
10623	* libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
10624	by -D trace (protocol trace).
10625
106261997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
10627
10628	* A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
10629	macro based on existence on others, and include <sys/stat.h>.
10630
10631Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10632
10633	* aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
10634	inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
10635	which this header is broken (it tries to include non-existing
10636	headers).
10637
10638Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10639
10640	* libamu/mount_fs.c (mnt_flags): support either nfs or generic
10641	mount option for grpid.
10642
10643	* aux/configure.in: turn back on NFS mount option grpid.
10644
10645Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10646
10647	* doc/Makefile.am (install-ps): added target to install postscript
10648	file in the am-utils' home page, as well as a few other useful
10649	files for the new am-utils Web page.
10650
10651Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10652
10653	*******************************************************************
10654	*** Released am-utils-6.0a14					***
10655	*******************************************************************
10656
10657Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10658
10659	* doc/am-utils.texi (Supported Platforms): updated table of new
10660	ports.
10661
10662Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10663
10664	* libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
10665	options so that they can be printed in logs as needed.
10666
10667	* doc/am-utils.texi (osver Parameter): updated for the correct
10668	usage of the -o/-O options.
10669
10670	* scripts/amd.conf.5: corrected info for -o/-O options.
10671
10672	* amd/amd.8: updated man page for new -O op_sys_name option, and
10673	corrected the usage of the -o op_sys_ver option
10674
10675	* amd/get_args.c (get_args): added new amd option -O to override
10676	OS name.
10677	(get_args): updated usage string.  Removed old -m option.  Added
10678	-o and -O options.
10679
10680	* conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
10681	it is not there.  Reportedly, irix 5.2 does not define it.
10682
10683	* scripts/lostaltmail.in: removed references to unused $hack
10684	variable.
10685
10686	* aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
10687	<metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
10688	for solaris2.5.
10689
10690	* doc/am-utils.texi (Distrib): typo in the subscription
10691	instructions to amd-dev.  Patch from Stefan Vogel
10692	<vogel@physik-rzu.unizh.ch>.
10693
106941997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
10695
10696	* NFS3 works on powerpc-ibm-aix4.2.1.0.
10697
10698	* libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
10699	static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
10700	stack of an automatic variable when pointer to it is passed around
10701	several times.
10702
10703Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10704
10705	* libamu/xutil.c (real_plog): syslog like behavior for normal
10706	logging.  Will not print repeated strings, only a count "last
10707	message repeated N times", but will always print something if
10708	message is repeated more than 100 times.
10709
10710	* scripts/lostaltmail.in: look for lostaltmail.conf files also in
10711	/etc/global, /etc/os, and /etc/local (in that order).
10712
10713Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10714
10715	* conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
10716	mounts.
10717
10718	* aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
10719	aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
10720
10721	* conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
10722	NFS_SA_DREF macro is a pointer to the structure that used to be
10723	passed to it before.  So now I have to dereference the pointer
10724	before accessing its values.
10725
10726	* hlfsd/hlfsd.c (main): use the new and cleaner
10727	compute_nfs_args() and compute_automounter_nfs_args() functions.
10728
10729	* amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
10730	compute_nfs_args() and compute_automounter_nfs_args() functions.
10731
10732	* amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
10733	and cleaner compute_nfs_args() and compute_automounter_nfs_args()
10734	functions.
10735
10736	* libamu/mount_fs.c (compute_nfs_args): major code cleanup that
10737	relates for struct nfs_args.  A new function sets the numerous
10738	possible flags and fields of nfs_args_t in an orderly fashion.
10739	Code cleaned up, organized, and moved from amd/hlfsd into
10740	libamu.  This saves on overall size of code.
10741	(compute_automounter_nfs_args): A variant of compute_nfs_args()
10742	which sets special options/flags that need to be used when NFS
10743	mounting an automounter's mount point.  Used by hlfsd and amd.
10744
10745	* amq/amq.c (get_secure_amd_client): don't print any more
10746	"get_secure_amd_client: using TCP, port 12345".  It's more
10747	annoying than useful a message, even when assumed to be compiled
10748	under DEBUG only.
10749
10750Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10751
10752	* aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
10753	mount table entries.  The code used to define the /etc/mnttab name
10754	for file systems based on physical media (disk, cdrom, floppy) to
10755	the generic name, rather than the OS specific name.  For example
10756	autoconf searches for all these types of mount table entries for a
10757	floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
10758	it found any, it hard-coded the mnttab name to "pcfs" rather than
10759	the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
10760	nullfs, unionfs, and umapfs.
10761
10762	* aux/configure.in: also test for xfs (for newer Irix) when
10763	looking for mount type names, numbers, etc of a disk-based ufs.
10764
10765Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
10766
10767	* amq/amq.c (main): use pmap_ping() to test if remote host is up.
10768	This works better on bsdi2 and bsdi3, because their portmapper
10769	does not appear to like forwarding operations (it is generaly
10770	insecure).
10771
10772Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10773
10774	*******************************************************************
10775	*** Released am-utils-6.0a13					***
10776	*******************************************************************
10777
10778Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10779
10780	* conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
10781	struct datum typedef.
10782
10783	* conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
10784	ypall_callback_fxn_t for netbsd.
10785
10786	* aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
10787	the 5th arg to authunix_create(), while before and after they used
10788	gid_t.
10789
10790	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
10791	clnt_create_timed() on older Solaris 2.3 systems that did not have
10792	it.
10793
10794	* conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
10795	kernel only on bsdi2, so do not include it.
10796
10797Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10798
10799	* hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
10800	messages about resolution of mailboxes based on uid/gid.
10801
10802	* scripts/ctl-hlfsd.in: check for alternate password file in
10803	${prefix}/etc/passwd and use it in hlfsd's startup.
10804
10805Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10806
10807	* hlfsd/homedir.c (hlfsd_getpwent): added support for -P
10808	passwdfile option.  If hlfsd is started with -P passwdfile, then
10809	the passwdfile is read and parsed just as a standard unix
10810	passwd(4) file.  Only the username, uid, and homedir fields are
10811	read and checked.  All the rest are ignored.  No NIS/netgroup
10812	support!
10813
10814	* hlfsd/hlfsd.c (main): check if hlfsd is run as root after
10815	parsing command line options, so that usage() can be printed when
10816	-h is invoked.
10817
10818Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10819
10820	* amd/nfs_start.c (mount_automounter): if autofs service listener
10821	fails to initialize it is OK if using a test amd.
10822
10823	* amd/opts.c (f_in_network): new nomadic function in_network(arg),
10824	which returns TRUE if 'arg' is any one of this host's networks.
10825
10826	* libamu/wire.c (getwire): rewritten parts of function, to store
10827	all networks names and numbers in the order of the interface (not
10828	in reverse).
10829
10830Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10831
10832	* aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
10833	would have worked had it not been due to AIX's buggy /bin/sh.
10834
10835	* doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
10836	am-utils.ps in the distribution sources.
10837	(html): generate html documentation for
10838	http://www.am-utils.org
10839
10840Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10841
10842	* conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
10843	ypall_callback_fxn_t.  The NetBSD team compiles all sources with
10844	gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
10845
10846	* amd/info_nis.c: allow for override of ypall_callback_fxn_t
10847	function typedef.
10848
10849	* libamu/xutil.c (amu_release_controlling_tty): new function to
10850	release the controlling tty in a clean and sane manner.  No longer
10851	using setpgid() b/c it may not work.  Uses setsid(),
10852	and ioctl() (in order).  This new function is used in amd/amd.c
10853	and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
10854	systems, but on others it is the same as setpgid().
10855
10856Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10857
10858	* aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
10859	it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
10860	never used, because the configure test for fsname flag wasn't
10861	used.  This fixed a bug in HPUX 10, where syncer and manual mounts
10862	left blank lines in /etc/mnttab.
10863
10864	* aux/configure.in: check for nfs mount option 'fsname'.
10865
10866Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10867
10868	* amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
10869	mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
10870	hpux-10 will mount amd's mounts points as 'ignore' (by df).
10871
10872	* aux/configure.in: check for NFS mount option 'ignore', useful in
10873	HPUX 10.
10874
10875Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10876
10877	* aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
10878	mount type and not NFS, for the amd mount points.
10879
10880	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
10881	an RPC timeout as an error, but just an info message.  From
10882	Andreas Stolcke <stolcke@speech.sri.com>
10883
10884	* If the NFS server is down or does not support the portmapper
10885	call (such as certain Novell NFS servers) we mark it as version 2
10886	and we let the nfs code deal with the case that is down.  If when
10887	the server comes back up, it can support NFS V.3 and/or TCP, it
10888	will use those.  From christos@deshaw.com (Christos Zoulas).
10889
10890	* hlfsd/homedir.c (plt_print): various compile time cleanups to
10891	printfs that take a long, but pass an int to print.  From
10892	christos@deshaw.com (Christos Zoulas).
10893
10894	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
10895	macro to determine if the OS has a bad yp_all(), based on the host
10896	OS name.  So far only irix (all versions) have a bad yp_all, so
10897	they will use am_yp_all() instead (which is slower as it
10898	enumerates manually all of the map's entries).
10899
10900Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
10901
10902	* amd/info_nis.c (am_yp_all): code for a replacement yp_all that
10903	avoids using a file-descriptor leaking yp_all() on some systems
10904	like irix.
10905
10906Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
10907
10908	* fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
10909	systems using /usr/bin/flex.
10910
10911	* amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
10912	that have a modified GNU flex which does define yywrap (DU-4.x).
10913
10914Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10915
10916	* conf/checkmount/checkmount_bsd44.c: include prototype.
10917
10918Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10919
10920	*******************************************************************
10921	*** Released am-utils-6.0a12					***
10922	*******************************************************************
10923
10924Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10925
10926	* conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
10927	code in irix6 until it can be tested correctly
10928
10929	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
10930	on clnt_create for 3 seconds, rather than wait for the much longer
10931	default.
10932
10933	* conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
10934	Includes NFS3, untested.
10935
10936Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10937
10938	* amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
10939	pcfs_args_t if they exist.
10940
10941	* amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
10942	cdfs_args_t if it exists.
10943
10944	* new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
10945	hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
10946
10947Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10948
10949	* doc/am-utils.texi (wire-test): updated documentation for the new
10950	option.
10951
10952	* wire-test/wire-test.8: updated man page for new option.
10953
10954	* wire-test/wire-test.c (main): added a test for various
10955	combinations of NFS proto/vers to a remote/local host.
10956
10957	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
10958	<isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
10959	freebsd will correctly set mount options for pcfs and cdfs.
10960
10961	* amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
10962	0777 (if field exists).
10963
10964	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
10965	<msdosfs/msdosfsmount.h> if available.
10966
10967	* minor new port: rs6000-ibm-aix4.1.4.0.
10968
10969	* libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
10970	write the "time" field in /etc/mnttab.
10971
10972	* conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
10973	detecting mnt_time field of mntent_t.
10974
10975	* libamu/mtab.c (mnt_free): fixed typo in macro names for
10976	detecting mnt_time field of mntent_t.
10977
10978Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10979
10980	* conf/mtab/mtab_file.c (lock): Use flock() in preference over
10981	fcntl() to lock the mtab file.
10982
10983Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10984
10985	* conf/transp/transp_sockets.c (get_nfs_version): define
10986	the try_again goto label only for NFS3.
10987	(pmap_ping): assume timeout failure of clnt_stat.
10988
10989	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
10990	"groups *".
10991
10992Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10993
10994	* conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
10995	<dsr@mail.lns.cornell.edu> to make sure that amd works with more
10996	secure portmappers that do not allow forwarding of RPC messages to
10997	other services.
10998
10999	* */Makefile.am: all source files should also depend on the new
11000	include/am_xdr_func.h header.
11001
11002	* include/am_xdr_func.h: new file as part of the code cleanup from
11003	Christos Zoulas <christos@deshaw.com>.
11004
11005	* Lots of fixes from Christos Zoulas <christos@deshaw.com> that
11006	involved missing prototypes, cleaned up ones, and removal of
11007	unused variables.
11008
11009	* libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
11010	statement with only one case is unclean.
11011
11012Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11013
11014	* amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
11015	0 so that all fields are initialized to zero at first.  This way
11016	SunOS 4.x and other systems don't get /etc/mtab entries with
11017	random integers for the fsck/freq fields. Patch from Andreas
11018	Stolcke <stolcke@speech.sri.com>.
11019
11020Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11021
11022	* conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
11023	that the important definition for HOSTNAMESZ will be found.
11024
11025	* amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
11026	(inside the nfs_args structure) if the system uses that macro.
11027	Otherwise systems like SunOS refuse to NFS mount long pathnames
11028	and result in ENAMETOOLONG errno's.
11029
11030Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11031
11032	* doc/am-utils.texi (Supported Platforms): specify new support for
11033	solaris 2.6, and hlfsd running on 2.5.1 too.
11034
11035Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11036
11037	* conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
11038	mount if it is not supported or was turned off.
11039
11040Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11041
11042	* conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
11043	again.  Apparently at some previous release SunOS 4 supported was
11044	broken and all nfs mounts resulted in ESTALE.
11045
11046Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11047
11048	* conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
11049	solaris 2.6.
11050
11051	* aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
11052	protocol header selection.
11053
11054Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11055
11056	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
11057	infinite loop.
11058
11059Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11060
11061	*******************************************************************
11062	*** Released am-utils-6.0a11					***
11063	*******************************************************************
11064
11065Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11066
11067	* amd/amd.c (main): if plock() succeeded, don't try to display
11068	errno message.   Patch from Chris Metcalf
11069	<metcalf@catfish.lcs.mit.edu.
11070
11071Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11072
11073	* hlfsd/homedir.c (table_add): make sure duplicate passwd entries
11074	are ignored.   Only the first entry should ever be used, because
11075	that's how lookup in passwd database works.
11076
11077	* conf/transp/transp_sockets.c (get_nfs_version): when determining
11078	if a remote host is up or down, use NFS v.2.  Fix suggested by
11079	Enami Tsugutomo <enami@cv.sony.co.jp>.
11080
11081	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
11082	function to get the best possible NFS version, but also timeout
11083	faster than normal defaults, so remote hosts which are down can be
11084	detected in a reasonable time.
11085	(get_nfs_version): use the new "best" function.
11086
11087Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11088
11089	*******************************************************************
11090	*** Released am-utils-6.0a10					***
11091	*******************************************************************
11092
11093Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11094
11095	* conf/transp/transp_tli.c (get_nfs_version): don't use
11096	clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
11097	and earlier).
11098
11099	* aux/configure.in: test for existence of clnt_tp_create_timed(),
11100	since Solaris 2.4 (and possibly earlier) do not have it.
11101
11102Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11103
11104	* amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
11105	field if it exists (solaris 2.4's autofs does not have it).
11106
11107Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11108
11109	* aux/macros/type_auth_create_gidlist.m4: a new test to determine
11110	the correct type to the 5th argument of authunix_create().
11111
11112Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11113
11114	* libamu/xdr_func.c (xdr_umntrequest): add test for autofs
11115	structure umntrequest, if it has the field rdevid.  Seems Solaris
11116	2.4 and earlier didn't have it.
11117
11118Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11119
11120	* hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
11121	can be done before primary process forks.
11122	(main): bug fix: wait a bit to give child a chance to initialize.
11123	Without this, hlfsd got into a busy infinite loop while, never
11124	completing the mount.
11125
11126	* amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
11127	to make amd works when talking to NIS+ servers in NIS
11128	compatibility mode.
11129
11130Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11131
11132	* amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
11133
11134Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11135
11136	* amd/conf.c (gopt_fully_qualified_hosts): a new function to
11137	process another new global variable.
11138
11139	* amd/ops_nfs.c (make_nfs_auth): if a new global variable
11140	fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
11141	Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
11142
11143	* amd/conf.c (process_last_regular_map): If the amd.conf file only
11144	has a [global] section (pretty useless IMHO), do not try to
11145	process a map that does not exist.
11146
11147	* scripts/amd.conf.5: fixed typos (repeated 'as' word).
11148
11149	* doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
11150
11151	* amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
11152	structure, so it does not carry over from map entry to another.
11153
11154Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11155
11156	* amd/amd.c (main): fixed the meaning of the plock option.  A bug
11157	caused it to be reversed.
11158
11159Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11160
11161	* hlfsd/stubs.c: don't initialize some statics here.  They are
11162	better initialized in hlfsd_init_filehandles().
11163
11164Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11165
11166	* amd/conf.c (gopt_show_statfs_entries): new function and a global
11167	amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
11168	then all maps flagged as browsable will also show a count of the
11169	number of entries (keys) in that map.
11170
11171	* amd/nfs_subr.c (count_map_entries): new function to count number
11172	of entries in a map.  Now used if browsable is turned on in a map,
11173	to return a count of available keys in a given map.
11174
11175	* hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
11176	confused the file handles for ".", "..", and the symlink, causing
11177	mess.
11178
11179	* aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
11180	but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
11181	with bad memcmp() in libc's (nextstep3).
11182
11183Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11184
11185	* aux/configure.in: check if autofs_args_t has a field named
11186	addr.  Solaris has it for specifying the address of the daemon,
11187	but Irix does not.  So how does irix tell the kernel the daemon's
11188	address?  I suspect that it is hardcoded to "localhost" using a
11189	"private well-known port" (#define AUTOFS_PORT 2048).
11190
11191	* conf/nfs_prot/nfs_prot_linux.h: added missing autofs
11192	definitions.
11193
11194	* README.autofs: new file listing autofs support notes
11195
11196	* very preliminary autofs code working.  Call it pre-alpha
11197	quality.
11198
11199Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11200
11201	* amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
11202	"autofs" if system does not support it.
11203
11204	* amd/amd.c (main): log am-utils version string (same as amd -v)
11205	at start of run.
11206
11207	* conf/transp/transp_sockets.c (get_nfs_version): in order to tell
11208	if a remote host is available, try to contact its portmapper and
11209	timeout if no answer is received in 3 seconds.
11210
11211Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11212
11213	* aux/macros/check_extern.m4 (pattern): use a simpler pattern for
11214	match for external function definitions.  The function could span
11215	multiple lines, so only match the opening parenthesis, not the
11216	closing one too.
11217
11218	* aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
11219	posix mode for nextstep3.  It is broken.
11220
11221	* amd/amd.c (init_global_options): run uname() only if
11222	<sys/utsname.h> and uname(2) exist.
11223
11224	* amd/rpc_fwd.c (fwd_packet): if remote host is down, the
11225	forwarding socket is null, so declare this an error.
11226
11227	* include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
11228	for when a remote host is down.  Try, in order, "host down", "host
11229	unreachable", "invalid argument".
11230
11231	* amd/ops_nfs.c (discard_fh): don't dereference a null pointer
11232	(happens when remote host is down, and fp->fh_fs is NULL).
11233	(prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
11234	and FSF_DOWN.
11235
11236	* amd/sched.c: nobody uses "union wait" any more, or so it
11237	appears, so clean up that code.
11238
11239	* conf/transp/transp_tli.c (get_nfs_version): if remote host is
11240	down, time it out faster than default (3 seconds).
11241	(get_mount_client): free netconfig entry when done with it.
11242
11243	* conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
11244	port to nextstep3 (m68k-next-nextstep3).
11245
11246	* fsinfo/Makefile.am (LDADD): needs to link with libamu in case
11247	system does not have strdup().
11248
11249	* include/am_defs.h: complete external definition for getlogin()
11250	if needed.
11251
11252	* conf/transp/transp_tli.c (get_nfs_version): no need to keep
11253	static versout variable.
11254
11255	* amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
11256	server is probably down.  Don't use sendto() in that case.
11257
11258	* buildall (default): run gmake if found, before trying plain
11259	make.  GNU make is always preferable.
11260
11261Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11262
11263	* aux/macros/host_macros.m4: cleanup of os_version and os
11264	overrides.  Solaris 2.5.1 for example will come up as solaris2 and
11265	2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
11266	the amd.conf file.
11267
11268Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11269
11270	*******************************************************************
11271	*** Released am-utils-6.0a9					***
11272	*******************************************************************
11273
11274Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11275
11276	* conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
11277	(i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
11278	from <ndbm.h> and <sys/resource.h>.
11279
11280	* scripts/amd.conf.5: new map page.
11281
11282	* amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
11283	does not.
11284
11285	* amd/amd.8: updated man page.
11286
11287	* amd/get_args.c (get_args): removed defunct -h option to amd.
11288
11289	* amq/amq.8: updated man page.
11290
11291	* amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
11292	SparcCompiler CC won't complain.
11293
11294	* amd/info_hesiod.c (hesiod_search): small fixes to compile with
11295	hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
11296
11297	* aux/macros/opt_ldflags.m4: new option added to configure
11298	--enable-ldflags, to specify -L option for configuring/compiling.
11299	The older one --enable-libs is now to be used only for -l options.
11300
11301	* amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
11302	nc_protoname from nfs_proto if available for all TLI systems, not
11303	just those that have NFS V3.
11304
11305	* amd/info_ldap.c: ldap patches from Leif Johansson
11306	<leifj@matematik.su.se>, adding two new amd.conf ldap variables:
11307	ldap_cache_seconds and ldap_cache_maxmem.
11308
11309	* hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
11310	htons().
11311
11312Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11313
11314	* amd/nfs_start.c (mount_automounter): register amd with the rpc
11315	program number that may have been overridden by amd.conf.
11316
11317	* libamu/xutil.c (set_amd_program_number, get_amd_program_number):
11318	allow storing and retrieving alternate amd program numbers.
11319
11320	* amd/conf.c (gopt_portmap_program): new function to parse
11321	amd.conf entry portmap_program=1234.
11322
11323	* amq/amq.c (main): allow specifying an alternate rpc program
11324	number for amd via -P prognum.
11325
11326	* new amq RPC to get the process id of the running amd.  This is
11327	used in ctl-amd to quickly find the pid of the amd that is to be
11328	killed.
11329
11330	* expanded shared libraries support.  Using GNU libtool-1.0,
11331	am-utils now builds shared libraries on many platforms that have
11332	support for it and proper compilers/linkers.  See "INSTALL" file
11333	for compatibility chart.
11334
11335Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11336
11337	* fsinfo/fsi_lex.l: removed code that was in support of very old
11338	versions of flex.  No longer needed.
11339
11340Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11341
11342	* amd/amd.c (init_global_options): find the kernel architecture
11343	from uname() if possible.
11344
11345Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11346
11347	* new working port: i386-unknown-openbsd2.1
11348
11349Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11350
11351	* working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
11352	structure to actual char[], because the structure was passed to
11353	xdr_fhandle as data and not a pointer.  Surprisingly, gcc
11354	-fpcc-struct-return did not help.
11355
11356	* conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
11357	definitions for solaris 2.4 have to be different from 2.3, and
11358	different from 2.5.
11359
11360	* libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
11361
11362Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11363
11364	* conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
11365	types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
11366
11367	* mk-amd-map/mk-amd-map.8: man page taken from bsd44.
11368
11369Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11370
11371	* conf/mount/mount_linux.c: made the nfs error mapping code into a
11372	small function.
11373
11374Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11375
11376	* conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
11377	error mappings from errno numbers to NFS errors.  From Debian
11378	Linux.
11379
11380	* scripts/am-eject.in (fs): new script (taken from Debian Linux
11381	folks) to auto-unmount floppy/cd devices before ejecting them.
11382
11383	* fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
11384	'5' as second arg to show_area_being_processed.  I'm not sure why.
11385
11386	* fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
11387	second arg to show_area_being_processed.  I'm not sure why.
11388
11389	* conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
11390	ensure that you have a buffer in *xopts to strcat onto.
11391	(mount_linux): fixed from Debian folks to ensure that NFS mount
11392	sockets are connected only for kernels prior to 1.3.10 (avoids
11393	hangs for multi-homed hosts).
11394
11395	* amd/mapc.c (make_entry_chain): from Debian folks: don't skip
11396	over amd map keys that have a prefix, and include the prefix in
11397	the returned readdir().
11398
11399	* amd/info_passwd.c (passwd_init, passwd_search): format
11400	enhancements from the Debian Linux folks.  They added
11401	- var0:=pw-prefix:=anydir
11402	- var1:=pw-rhost:=dom3.dom2.dom1
11403	- var2:=pw-user:=user
11404	- var3:=pw-home:=/anydir/dom1/dom2/dom3/user
11405
11406	* new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
11407
11408	* amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
11409	afs_mount timed out, then explicitly forbid further retries after
11410	the timeout.  (afs_bgmount): bug fix from Debian Linux.  Timeout
11411	values (17 and 5) were mistakenly swapped.
11412
11413Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11414
11415	* conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
11416	support for Solaris 2.4 (the header files incorrectly define parts
11417	of the NFS V.3 protocol, but the kernel does not support it).
11418
11419Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11420
11421	* amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
11422	for determining if using old or new hesiod libraries,
11423	respectively.
11424
11425	* amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
11426	V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
11427	they cause hangs of mounts from multi-homed hosts when the return
11428	route is not the same as the outgoing route (esp. on NetBSD
11429	1.2.1).  If "conn" option was supplied, then don't turn on the
11430	"noconn" mount option.  Otherwise default to "noconn" mount
11431	option.
11432
11433	* aux/configure.in: better check for systems that need libgdbm and
11434	<ndbm.h>
11435
11436Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11437
11438	* hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
11439	mounts are hidden from df(1) on systems that keep mount tables in
11440	kernel, such as osf1.
11441
11442Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11443
11444	*******************************************************************
11445	*** Released am-utils-6.0a8					***
11446	*******************************************************************
11447
11448Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
11449
11450	* hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
11451	AF_INET when hlfsd mounts itself, thus getting an errno "protocol
11452	family not supported".
11453
11454Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11455
11456	* verified that amd on NetBSD 1.2.1 (i386) works, but the OS
11457	itself is flaky.
11458
11459	* verified that amd AIX 3 works w/ the new readdir() code.
11460
11461Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
11462
11463	* amd/mapc.c (maptypes): changed the default map caching type for
11464	nis and ndbm maps to "MAPC_ALL", so that all possible entries will
11465	be available to amd for browsable_dirs=yes.
11466
11467Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11468
11469	* amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
11470	afs_readdir into a browsable version and a non-browsable one.
11471	Fixed bugs that resulted in an infinite nfs_readdir loop on the
11472	localhost for some operating systems.
11473
11474Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11475
11476	* amd/ops_afs.c (afs_readdir): fixed up the browsable code to
11477	comply with nfs_readdir specs.  It was returning all entries at
11478	once, even if there was not enough space in the RPC packet.  Now,
11479	it sends a reasonably sized chunk, and sets static state to resume
11480	it for the next continuation RPC of readdir.
11481
11482	* amd/conf.c (set_conf_kv): fixed bug that resulted in the first
11483	regular map not getting all of the [global] options defaulted from.
11484
11485Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11486
11487	* amq/amq.c (main): fixed so that portmapper "ping" will only fail
11488	upon an RPC timeout
11489
11490	* scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
11491	amd/hlfsd process to kill.
11492
11493	* amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
11494	determine how to avoid df from seeing amd's toplvl mounts.  Moved
11495	from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
11496	is hidden from df.
11497	(mount_toplvl): fixed df types for irix.
11498
11499Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11500
11501	* amq/amq.c (main): fixed bug that caused the 5 second timeout for
11502	TLI amq using udp to be ignored.
11503	(main): if amq cannot contact remote host's portmapper within 5
11504	seconds, timeout and fail faster than the default longer timeout
11505	(this is for non-TLI systems).
11506
11507Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11508
11509	* amq/amq.c (get_secure_amd_client): if amq cannot contact
11510	remote host's portmapper within 5 seconds, timeout and fail faster
11511	than the default TLI timeout of over 4 minutes.
11512
11513	* amd/am_ops.c (ops_showfstypes): added styles for new bsd44
11514	file systems nullfs, unionfs, and umapfs.
11515	(ops_show1): cleanup code and and reuse this function.
11516	(vops): empty placeholders for nullfs, unionfs, and umapfs.
11517
11518	* amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
11519	bsd44 style file systems.
11520
11521	* fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
11522	sources.
11523
11524	* amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
11525	conflict with systems that define it in <sys/ioctl.h> and also
11526	define a conflicting one via lex.  Newer versions of f/lex are ok.
11527
11528Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11529
11530	* amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
11531	acdirmin/max and acregmin/max only if they exist.
11532
11533	* aux/configure.in: test for nfs_args fields acdirmin and
11534	acregmin.
11535
11536Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11537
11538	* aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
11539	"nondev" and commented back in checking for "nodev".  This was a
11540	typo.
11541
11542	* include/am_compat.h: more compatibility options: define "ro"
11543	mnttab option all the time.  Define "overlay" as needed.  Added
11544	more fillers of mnttab options (as per Daniel S. Riley
11545	<dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
11546	acregmin, noac, grpid, nosuid, and actimo.
11547
11548	* libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
11549	per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
11550	the same code for other options in struct opt_tab.
11551
11552Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11553
11554	* amd/get_args.c (get_args): moved amd.conf file parsing to before
11555	the switching the default log/debug options.  Suggested by
11556	dsr@mail.lns.cornell.edu (Daniel S. Riley).
11557
11558	* aux/update_build_version: new script to record the build version
11559	of amd, along with the rest of the info thet comes up with amd -v.
11560
11561Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
11562
11563	* aux/macros/os_cflags.m4: new macro, to add additional
11564	compilation options (also used during configuration), based on the
11565	OS and the compiler.  Used for solaris-2.6, osf, and irix6.
11566
11567Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11568
11569	* amd/conf_tok.l, conf_parse.y: allow values of keys to include
11570	white spaces, if they are double-quoted (key="some value")
11571
11572	* amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
11573	of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
11574
11575Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11576
11577	*******************************************************************
11578	*** Released am-utils-6.0a7					***
11579	*******************************************************************
11580
11581Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11582
11583	* include/am_defs.h: fill in extern definition of innetgr() in
11584	case system headers don't.
11585
11586	* aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
11587	will show the full pathname to yacc/bison and f/lex.  Some systems
11588	have older or bad versions of those and this way the user will
11589	know for sure what is being invoked.
11590
11591	* tasks: file populated with todo items.
11592
11593	* scripts/amd2ldif.in: Script to convert amd maps to plain text
11594	LDAP object files.  Contributed by Leif Johansson
11595	<leifj@matematik.su.se>.
11596
11597	* aux/config.guess: added recognition for sun3's running 4.2bsd,
11598	from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
11599
11600	* amd/conf.c: several variables that were local to a map, were
11601	also added to [global], where they apply to all maps.  Each map
11602	can then individually override those defaults.  Flags
11603	affected: browsable_dirs and mount_type.  Options affected:
11604	map_type, map_options, and search_path.
11605
11606	* amd/amd.h: eliminated several global flags each of which took an
11607	int, in favor of one global flags variable used as a bit field.
11608
11609	* amd/amd.c (init_global_options): moved all global variables into
11610	a single struct amu_global_options, so it is easier to add new
11611	ones and/or identify existing ones.
11612
11613	* amd/get_args.c (get_args): removed unused amd -m option.
11614
11615	* amd/conf.c (gopt_cluster): added new amd.conf option for cluster
11616	name, same as amd -C.
11617
11618	* amd/info_ldap.c: LDAP info map functions from Leif Johansson
11619	<leifj@matematik.su.se>.
11620
11621	* amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
11622	amd.conf options for ldap_base and ldap_hostports.
11623
11624	* amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
11625	if the current host is in the ARG host netgroup.
11626
11627	* aux/configure.in: some systems replaced dbm in libc with GNU's
11628	libgdbm, so check for libgdbm, but only if dbm_open is not in
11629	libc already.  This was a recommendation from Tom Schmidt
11630	<tschmidt@micron.com>.
11631
11632	* conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
11633	completed.
11634
11635Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11636
11637	* port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
11638	V.3.
11639
11640Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
11641
11642	* port to i386-unknown-freebsd3.0 done and working.  Includes NFS
11643	V.3.
11644
11645	* aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
11646	file handle dereferencing style similar to freebsd22.
11647
11648	* include/am_defs.h: need to include <net/if_var.h> before
11649	<netinet/if_ether.h> on freebsd3.
11650
11651	* conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
11652	for freeBSD 3.0.
11653
11654Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11655
11656	* amd/info_nis.c (nis_reload): cast nis' callback function so
11657	picky compilers won't complain.
11658
11659	* libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
11660	gets compiled only if the system has NFS V3 and does not have
11661	xdr_mountres3.
11662
11663Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11664
11665	* COPYING: put in some legal stuff in this file.
11666
11667Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11668
11669	* NFS V3 now works under Irix5, thanks to patches from
11670	Andreas Stolcke <stolcke@speech.sri.com>.
11671
11672	* conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
11673	version and an irix6 version, since irix5's NFS V3 code is broken
11674	and hacky.
11675
11676	* amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
11677	sizes for some hesiod queries.  Patch from Danny Braniss
11678	<danny@cs.huji.ac.il>.
11679
11680Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
11681
11682	* amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
11683
11684Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
11685
11686	* aux/{configure.in,acconfig.h}: added checks for struct
11687	nfs_args's fields proto and sotype (bsdi3).
11688
11689	* amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
11690	nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
11691	to SOCK_STREAM or SOCK_DGRAM.
11692
11693	* aux/macros/check_mount_style.m4: add case for bsdi3.
11694
11695	* amd/info_hesiod.c: got hesiod support for bsdi3.
11696
11697Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11698
11699	* aux/configure.in: look for hesiod on libc (bsdi3)
11700
11701	* amd/get_args.c (get_args): reformat usage so it fits in 80
11702	columns.
11703
11704	* scripts/ctl-amd.in: changed directory name for optional tftpboot
11705	map to /tftpboot/.amd.
11706
11707Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11708
11709	*******************************************************************
11710	*** Released am-utils-6.0a6					***
11711	*******************************************************************
11712
11713Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11714
11715	* scripts/ctl-amd.in: include -T tag for tftpboot.
11716
11717	* new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
11718	is broken and needs work on the specific nfs_args that irix5 uses
11719	for V3 mounts.
11720
11721Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11722
11723	* amd/get_args.c (get_args): new options amd -T tag.  A map with
11724	tag=foo matching the -T tag will be processed.  All untagged maps
11725	get processed all the time.
11726
11727Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11728
11729	* aux/configure.in: need to check for strcasecmp in libucb (ncr2)
11730
11731	* aux/macros/check_os_libs.m4: a new macro to set the usage of
11732	libnsl and libsocket based on the OS.
11733
11734	* libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
11735	defined (problem on osf4).
11736
11737	* conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
11738
11739	* include/am_defs.h, aux/macros/try_compile_nfs.m4,
11740	aux/macros/mount_headers.m4: do include <sys/proc.h> because it
11741	failes on irix5.  Rather, put in the individual
11742	conf/nfs_prot/nfs_prot_*.h headers.
11743
11744	* amd/conf.c: AIX3 doesn't like strdup() being passed a constant
11745	char*, so cast all strdup()'s args to a non-const char*.
11746
11747	* amd/mapc.c (root_newmap): don't try to strdup only a "const
11748	char *".
11749
11750Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11751
11752	* conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
11753	sys/errno.h.
11754
11755Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11756
11757	* made sure am-utils compiles, links, and runs properly on Irix
11758	6.2 using "cc -32 -Wl,-woff,"
11759
11760	* aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
11761	AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
11762	them to $LIBS.
11763
11764	* aux/configure.in: some cleanup of which libraries are needed.
11765	Espectially ensure that libnsl is included only on Solaris, where
11766	so far it is the only system on which it is absolutely necessary.
11767	Also no longer need to include libc explicitly.
11768
11769	* amd/amd.c,wire-test/wire-test.c (main): convert IP address to
11770	network-long order before printing it.
11771
11772	* wire-test/wire-test.c (main): also check and report on the IP
11773	address of the local host, since some systems have bad versions of
11774	get_myaddress, or ones that conflict with other versions in
11775	multiple libraries (SunOS 4 and Irix especially).
11776
11777Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
11778
11779	* scripts/ctl-amd.in: don't use full pathname so killproc() works
11780	better.  Also run bsd44 and irix style ps programs.
11781
11782	* aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
11783	of library no matter if it was found or not.
11784
11785Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11786
11787	* aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
11788	for M_* macros, but ensure that <sys/stream.h> is not included at
11789	all so it won't conflict with other M_* macros.
11790
11791Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
11792
11793	* conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
11794	irix should be "spec" (host:/path), not the dir of the mnt point.
11795
11796	* amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
11797	fixed.  If on, it essentially ignored the setting in a
11798	selector-controlled /defaults if there were 2 or more entries in it.
11799
11800Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11801
11802	* scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
11803	using BSD style ps, then try SVR4 style ps.
11804
11805	* include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
11806	etc., to avoid conflicts with similar named macros in <ldap.h>.
11807
11808	* aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
11809	support needed for LDAP.  Now the code has to be written mostly in
11810	amd/info_ldap.c.
11811
11812	* Included additional patches from Andreas Stolcke
11813	<stolcke@speech.sri.com> to support using the best possible
11814	combination of NFS version (2,3) and protocol (udp,tcp) for any
11815	given host, since it appears that some Irix versions have NFS V3,
11816	but do not support TCP.
11817
11818	* scripts/ctl-amd.in: updated amd control script to look for and
11819	use amd.conf file.
11820
11821Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11822
11823	* amd/mapc.c (mapc_create): now, each map in the amd.conf can be
11824	initialized off of a different type, or default to cycling through
11825	all maps until one of them matches.
11826
11827Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11828
11829	* amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
11830	if browsable_dirs=yes is set in the map section in amd.conf, that
11831	map will return all entries back to a readdir(2).
11832
11833Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11834
11835	* rudimentary amd.conf file support included.  You may even
11836	override things like os=sos5, to get "backwards" compatibility with
11837	upl102.
11838
11839Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11840
11841	* amd/conf.c: new file to process amd.conf file.
11842
11843	* amd/get_args.c (get_args): new options -H to print help.
11844
11845	* moved enable_default_selectors to be amd.conf controlled, and
11846	not compiler controlled.
11847
11848	* amd/get_args.c (get_args): new options -F <conf-file> to parse an
11849	amd configuration file.
11850
11851Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11852
11853	* converted all files that used strcmp() == 0 or != 0  to using
11854	the STREQ() macro.
11855
11856Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11857
11858	* aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
11859	search for any number of functions in any given library.
11860
11861Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11862
11863	* amd/mapc.c: Included patch from Leif Johansson
11864	<leifj@matematik.su.se> to ensure that systems without an RE
11865	library can compile.
11866
11867	* libamu/mount_fs.c (mount_fs): Included patch from Andreas
11868	Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
11869	table are properly delimited by a comma.
11870
11871	* amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
11872	Stolcke <stolcke@speech.sri.com>, to allow users to override the
11873	proto= and vers= mount options.
11874
11875Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
11876
11877	* conf/nfs_prot/nfs_prot_svr4.h: port completed to
11878	i486-ncr-sysv4.3.03.  Assorted source cleanups done.
11879
11880	* include/am_defs.h, aux/macros/mount_headers.m4: don't include
11881	mnttab.h if sys/mnttab.h was already included, because on ncr2,
11882	they contain conflicting entries for struct mnttab.
11883
11884Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
11885
11886	* aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
11887
11888Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
11889
11890	* amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
11891
11892	* aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
11893	on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
11894
11895Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
11896
11897	* aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
11898	nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
11899	better.
11900
11901Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11902
11903	* amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
11904	NULL, set the maxlen and len fields in netbuf to zero.
11905
11906Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11907
11908	* scripts/fix-amd-map.in (name): replace all matching patterns on
11909	line.
11910
11911Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11912
11913	*******************************************************************
11914	*** Released am-utils-6.0a5					***
11915	*******************************************************************
11916
11917Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11918
11919	* amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
11920	procedure now returns the full string that amd -v returns.
11921
11922	* amd/get_args.c (get_version_string): new function to return
11923	complete version/info string so it could be used more flexibly.
11924
11925	* amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
11926	of Fs types into a string buffer, rather than a FILE*.
11927
11928	* amd/mapc.c (mapc_showtypes): put the list of map types into a
11929	string buffer, rather than a FILE*.
11930
11931Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11932
11933	* amd/get_args.c (get_args): amd -v also prints user who built
11934	amd, hostname built on, and date of configuration.
11935
11936Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11937
11938	* scripts/lostaltmail.conf-sample: sample lostaltmail
11939	configuration file.
11940
11941	* scripts/lostaltmail.in: new script lostaltmail used to redeliver
11942	"lost" mail that hlfsd redirected to a temp location because the
11943	primary home file system of the user was full.
11944
11945	* scripts/amd2sun.in: new script amd2sun. Used to convert Sub
11946	automount maps to amd maps.
11947
11948	* scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
11949	stop, or restart hlfsd.
11950
11951	* scripts/expn.1: man page for expn command.
11952
11953	* scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
11954	restart amd.
11955
11956	* scripts/expn.in: new script expn.  Actually taken from David
11957	Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
11958	script.
11959
11960	* scripts/wait4amd.in: new script wait4amd added.  Waits for amd
11961	to come up on a host, and then runs a command (rsh $hostname by
11962	default).
11963
11964	* scripts/Makefile.am: new directory now holds all shell/perl
11965	scripts that belong to am-utils.
11966
11967	* conf/mount/mount_linux.c (parse_opts): new parser for
11968	linux-specific mounts.  Handles fs-type specific mount-options
11969	correctly.  Currently implemented: msdos, iso9660.
11970
11971	* amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
11972	(fix for linux).
11973
11974	* amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
11975	(fix for linux).
11976
11977	* amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
11978	core dumps upon "ls" of a mount point; an invalid pointer was
11979	being returned and dereferenced.
11980
11981	* port to Linux sparc working!
11982
11983	* hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
11984	failed to write test file, or else the fd will leak.
11985
11986Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11987
11988	* amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
11989	instead of strcmp().
11990
11991	* Port to Digital Unix 4.0 (OSF) done.
11992
11993	* hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
11994	with dirname() function in <string.h> on OSF systems.
11995
11996	* fsinfo/fsi_util.c (set_ether_if): take out extern definition of
11997	inet_addr().  It should come from <arpa/inet.h> instead.
11998
11999	* conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
12000
12001	* include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
12002	avoid conflicts with DU 4.0 system header.
12003
12004Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
12005
12006	* libamu/mount_fs.c (mount_fs): pass along NFS version so I can
12007	determine if to include additional options in the mount table file
12008	entry (such as proto=tcp, and vers=3).
12009
12010Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12011
12012	* libamu/mount_fs.c (mount_fs): include NFS version number in the
12013	mount table options, as well as proto={tcp,udp}.
12014
12015Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12016
12017	* NFS V3 code ported to most other systems, so it compiles for V2
12018	and V3 NFS systems.
12019
12020	* NFS VERSION 3 support, first pass.  Working for Solaris and
12021	using TCP.
12022
12023Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12024
12025	* amq/amq.c: many newline characters were missing from various
12026	stderr printfs.
12027
12028Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12029
12030	* conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
12031	Solaris, which include NFS V3 support.
12032
12033	* conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
12034
12035	* conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
12036	protocol version while getting a mount client.
12037
12038	* amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
12039	file handle size, and proper file handle based on the correct NFS
12040	version number.
12041
12042	* conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
12043	Solaris and other SVR4 systems.
12044
12045	* amd/ops_nfs.c: store NFS file handle version and version
12046	specific handle in struct fh_cache.
12047	(got_nfs_fh): pick the correct RPC reply based on the NFS version
12048	of the server.
12049	(prime_nfs_fhandle_cache): figure out the right NFS file handle
12050	for a node, but now include NFS protocol version information.
12051	(call_mountd): set the correct version for the mount protocol,
12052	based on the NFS protocol version.
12053	(nfs_init): use the NFS protocol generic structure
12054	am_nfs_handle_t.
12055
12056	* include/am_utils.h: new structure am_nfs_handle_t to contain all
12057	possible versions of NFS file handles.
12058
12059	* amd/srvr_nfs.c (start_ping): ping program performs NFS version
12060	specific pings.
12061	(recompute_portmap): figure out the correct portmap version mount.
12062	(nfs_keepalive): call start_ping() with the correct NFS version.
12063	(find_nfs_srvr): if mount option "vers=" is given, use it.  Get
12064	the NFS server version and verify that it is up.
12065
12066	* conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
12067	function to find the best NFS version for a particular host.
12068
12069	* libamu/amu.h: determine what is the highest version of NFS we
12070	should try.
12071
12072	* include/am_utils.h (NFS_VERSION3): added definition for NFS V3
12073	protocol number.
12074	Added field fs_version to struct fserver, so we can now store the
12075	server protocol version.
12076
12077Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12078
12079	* aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
12080	underscores too, so I can test for sub-fields.
12081
12082	* libamu/wire.c: use test that checks for sub-fields of struct
12083	ifreq.
12084
12085Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
12086
12087	* port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
12088	into smaller files.  M4 macros fixed to test for existence of
12089	file systems using getvfsbyname().
12090
12091	* amd/sched.c (sigchld): signal handler must waitpid() for all
12092	possible children.
12093
12094	* hlfsd/homedir.c: signal handler must waitpid() for all possible
12095	children.
12096
12097	* aux/macros/check_restartable_signals.m4: new macro to determine
12098	if need to reinstall signal handlers per OS is better than trying
12099	to figure these out based on system macros.
12100
12101Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
12102
12103	* amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
12104
12105	* amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
12106
12107	* amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
12108	(must be supplied for bsdi 3.0)
12109
12110	* libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
12111	associated new macro) for determining the right way to compute the
12112	size of the interface structure.
12113
12114Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12115
12116	* aux/configure.in: need to include libc before libnsl if
12117	get_myaddress() is available because on irix libnsl has a buggy
12118	get_myaddress().
12119
12120	* include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
12121	on Irix 6 (an SVR4 variant)
12122
12123Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12124
12125	*******************************************************************
12126	*** Released am-utils-6.0a4					***
12127	*******************************************************************
12128
12129Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12130
12131	* amd/amq_subr.c (ok_security): turned off insecure code unless
12132	user explicitly runs configure --enable-amq-mount.
12133
12134	* hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
12135
12136	* amd/nfs_start.c (mount_automounter): use code that separately
12137	creates the NFS and the amq service.  Register tcp and udp
12138	services for amd.
12139
12140	* conf/transp/transp_*.c (create_amq_service): new function to
12141	separately create the amq service for amd.  Simplified prototypes
12142	for create_nfs_service().
12143
12144Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12145
12146	*******************************************************************
12147	*** Released am-utils-6.0a3					***
12148	*******************************************************************
12149
12150Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12151
12152	* new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
12153	of small changes to support these two.
12154
12155Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
12156
12157	* conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
12158	should run if MOUNT_TABLE_ON_FILE, not otherwise.
12159
12160Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12161
12162	* hlfsd/hlfsd.c (main): fill in fhsize field if exists
12163	(freebsd-2.2).
12164
12165	* amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
12166	exists (freebsd-2.2).
12167
12168Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12169
12170	* new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
12171	changed the filehandle type in struct nfs_args from nfsv2fh_t to
12172	u_char.
12173
12174Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12175
12176	* SHARED LIBRARIES: too many changes to list individually.  Now,
12177	libamu can be built as a shared library, and other programs link
12178	with it.
12179
12180Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12181
12182	* aux/macros/opt_shared.m4: new macro for setting options for
12183	building shared am-utils libraries.
12184
12185Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12186
12187	* fixmount/fixrmtab: cleaned up the script.
12188
12189	* fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
12190	fixrmtab gets distributed too.
12191
12192	* conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
12193	Added extern for xdr_mountlist().
12194
12195	* aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
12196	MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
12197	the sources.
12198
12199Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12200
12201	* fixmount/hlfsd ported to bsd44, hpux, and linux systems.
12202
12203	* aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
12204
12205	* conf/fixmount/fixmount_default.c: use lockf() if flock() is
12206	unavailable.
12207
12208	* include/am_defs.h: include <string.h> even if don't have
12209	STDC_HEADERS defined (sunos4).
12210	(seteuid): define seteuid() to be setresuid() for systems that
12211	have but not the other (hpux).
12212
12213	* aux/macros/check_extern.m4: test should include <strings.h>.
12214
12215Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12216
12217	* lib/xutil.c (debug_option): moved from amd/getargs.c to this
12218	more proper file.
12219
12220	* include/am_utils.h: put in structure for debug options, for all
12221	progams to use.
12222
12223	* amd/get_args.c: moved structure for debug options out.
12224
12225Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12226
12227	* ported fixmount.
12228
12229	* lib/ualarm.c: replacement function for systems that don't have a
12230	ualarm().
12231
12232	* ported fsinfo.
12233
12234Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12235
12236	* ported mk-amd-map.
12237
12238	* buildall: added -K option to buildall, to run mkconf.
12239
12240Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12241
12242	*******************************************************************
12243	*** Released am-utils-6.0a2					***
12244	*******************************************************************
12245
12246Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12247
12248	* all *.[hcyl] files: add copyright line.
12249
12250	* aux/macros/check_mount_type.m4: test for mount type for
12251	linux-like systems, by checking for loadable or statically linked
12252	kernel filesystem modules.
12253
12254	* aux/macros/check_mnttab_type.m4: test for mount table entry
12255	for linux-like systems, by checking for loadable or statically
12256	linked kernel filesystem modules.
12257
12258	* aux/configure.in: pcfs filesystems can use vfat type (linux)
12259
12260	* aux/macros/check_fs_mntent.m4: test for filesystem existence for
12261	linux-like systems, by checking for loadable or statically linked
12262	kernel filesystem modules.
12263
12264	* conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
12265	9.0 header files.  This should be removed when HPUX 9.0 is deemed
12266	defunct.
12267
12268	* aux/acconfig.h: set an undefined variable for having an extern
12269	to clnt_sperrno().
12270
12271	* include/am_defs.h: define extern for clnt_sperrno() if needed.
12272
12273	* aux/configure.in: test for extern clnt_sperrno().
12274
12275	* aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
12276	similar to irix.
12277
12278	* aux/macros/check_mount_style.m4: use mount helper on HPUX.
12279
12280	* aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
12281	not integer (but may be mapped to one later).
12282
12283	* conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
12284	files.  They have mount(2) and vfsmount(2) which don't take same
12285	arguments, and they have string mount types MNTTYPE_* as well as
12286	integer types MOUNT_*.  So I need this new mount function to map
12287	from string types to integer types for the vfsmount() function.
12288
12289	* conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
12290	vfsmount(), call mount_hpux().
12291
12292Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12293
12294	* lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
12295	both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
12296
12297Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12298
12299	* conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
12300	hpux.
12301
12302	* include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
12303
12304	* aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
12305
12306	* buildall: added ability to configure using other shells than
12307	/bin/sh, on those systems where /bin/sh is buggy or limited
12308	(HPUX).
12309
12310	* aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
12311	defined am_nfs_fh, and also test for plain typedef "nfs_fh".
12312
12313	* aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
12314	reinstated macro.
12315
12316	* aux/configure.in: check for <nfs/export.h>
12317
12318	* include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
12319
12320	* aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
12321	exists.
12322
12323	* aux/macros/mount_headers.m4 (define): removed some non-working
12324	(on HPUX) code that attempts to recreate the fhandle_t rather than
12325	load it up from system headers.  Also added some NFS protocol
12326	header inclusion.  include <nfs/export.h> (HPUX) if exists.
12327
12328Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12329
12330	* aux/macros/mount_headers.m4 (define): Use M4 changequote to
12331	ensure [] brackets are correctly used.
12332
12333	* aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
12334	multi-line M4 inclusions in [].
12335
12336Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12337
12338	* conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
12339	it exists.
12340
12341	* aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
12342	config.h macro for field f_fstypename of struct statfs.
12343
12344	* aux/configure.in: testing for field f_fstypename field of struct
12345	statfs (NetBSD).
12346
12347	* aux/acconfig.h: moved all of the "static" definitions out to a
12348	fixed file called include/am_defs.h.  Added to all */Makefile.am
12349	files a dependency on am_defs.h.  Created am_defs.h of course, and
12350	then added #include <amd_defs.h> to all of the source and header
12351	files that required it.
12352
12353Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
12354
12355	* aux/acconfig.h: two more externals for xdr functions that may be
12356	implemented by libamu.
12357
12358	* conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
12359	definitions.
12360
12361Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12362
12363	* buildall (default): added -D option for turning on even stricker
12364	developer options.
12365
12366	* */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
12367	determine dependencies on optional NFS protocol headers.
12368
12369	* aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
12370
12371	* aux/macros/check_nfs_prot_header.m4: new test to determine what
12372	NFS protocol headers to use.
12373
12374	* conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
12375	complete missing system headers for NFS protocol definitions.
12376
12377Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12378
12379	* amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
12380	#ifdef's as needed.
12381
12382	* amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
12383	suitable #ifdef'ed.
12384
12385	* include/am_compat.h: a couple more mnttab options
12386	(timeo/retrans) setting just in case.
12387
12388	* amd/autil.c (host_normalize): make sure hostent->h_name is
12389	passed a non-const char *.
12390
12391	* conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
12392
12393	* {lib,amq,amd}/*.c (many functions): cast xdr_entry to
12394	XDRPROC_T_TYPE.
12395
12396	* lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
12397	XDRPROC_T_TYPE.
12398
12399	* lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
12400	XDRPROC_T_TYPE.
12401
12402	* lib/wire.c (getwire): Make sure safe assignment from const to
12403	none is done.
12404
12405Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12406
12407	* aux/macros/expand_cpp_int.m4: new macro for expanding integers.
12408
12409	* aux/configure.in: added linux/fs.h support in configure and
12410	several M4 macros.
12411
12412	* conf/mount/mount_linux.c (mount_linux): use macro instead of
12413	"ugly" fixed hex number for mount() arguments.
12414
12415Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12416
12417	* amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
12418	turned all of its code always on.  That code always seems to
12419	compile, as long as you have hesiod and libresolv.
12420
12421	* amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
12422	of its code always on.
12423
12424	* aux/configure.in: removed superfluous test for hs_zone_transfer
12425	function (will never find it because it is an amd-internal
12426	function).
12427
12428	* amd/mapc.c (maptypes): must used correct new name for am-utils'
12429	hesiod initialization function: hesiod_am_init.
12430
12431	* amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
12432	hesiod_am_init so as not to conflict with libhesiod's
12433	hesiod_init() function.
12434
12435	* aux/configure.in: added test and explicit inclusion of
12436	libresolv.a for later resolution of library references with
12437	libhesiod.
12438
12439	* aux/macros/opt_cppflags.m4: new file.  configure/compile C
12440	preprocessor flags.
12441
12442	* aux/macros/opt_libs.m4: new file.  configure/compile library
12443	flags.
12444
12445	* Makefile.am (EXTRA_DIST_AUX): include two new macros
12446	opt_cppflags.m4 and opt_libs.m4.
12447
12448	* aux/configure.in: test for libhesiod needs to additional
12449	libresolv to link completely.  Additional configuration time
12450	options added for setting initial CPPFLAGS and LIBS.
12451
12452Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12453
12454	*******************************************************************
12455	*** Released am-utils-6.0a1					***
12456	*******************************************************************
12457
12458Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12459
12460	* amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
12461	it works on freebsd, where they map dbm_pagfno a non-existing
12462	macro on purpose, to force you to port the code to Berkeley DB.
12463
12464Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12465
12466	* amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
12467	actual mount_toplvl, to avoid some possible race conditions.
12468
12469Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12470
12471	* amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
12472
12473Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12474
12475	* lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
12476
12477	* amd/amd.c (main): fix local address using htonl(). Free up
12478	buffers allocated by netdir_*() functions.
12479
12480Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12481
12482	* amd/fix-amd-map.in: new script that will convert old-style amd
12483	maps to new one.
12484
12485Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12486
12487	* FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
12488	and replies back to simple nfs/link type mount queries).
12489
12490	* conf/mtab/mtab_svr4.c: reorganized the code in this file to be
12491	easier to read, and fixed a few bugs with un/setting the lock file
12492	descriptor.
12493
12494Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12495
12496	* amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
12497	signals in Svr3 systems.  Only stellix ever used this.
12498
12499	* amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
12500	by DYNAMIC_BUFFERS, since it was not in use.
12501
12502Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12503
12504	* amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
12505	takes '=' sign as old selector.  Fix your maps.
12506	(deslashify): removed APOLLO code that treated two '//' as one.
12507
12508Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12509
12510	* amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
12511	was not used.  It made any submount error fail the whole group.
12512
12513	* amd/ops_nfs.c (make_nfs_auth): removed code dependent on
12514	HAS_NFS_QUALIFIED_NAMES.
12515	(mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
12516	is never on.  So code that was triggered by #ifndef
12517	NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
12518	be fixed later.
12519	Removed all ULTRIX_HACK code.  Ultrix is DEAD!
12520	removed all PRESET_AC code, which was only on for Linux to preset
12521	the attribute cache values (otherwise they default to zero).
12522	(nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
12523	have to fixed up later.
12524	(mount_nfs_fh): removed code that was never included, which
12525	attempted to set the port on which amd's nfs mounts on.  This
12526	isn't supported by the ping algorithm yet.  In any case, it is all
12527	done in nfs_init().
12528
12529	* amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
12530	removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
12531	specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
12532	have to be addressed later.
12533
12534	* amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
12535	on PRECISE_SYMLINKS.
12536
12537	* amd/mapc.c (mapc_meta_search): removed code that depended on
12538	HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
12539	to be rethought.
12540	(mapc_add_kv): ported code to use standard regular expression
12541	(regexp) library.
12542
12543	* amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
12544	FLUSH_KERNEL_NAME_CACHE and the macro itself.
12545
12546Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12547
12548	* amd/map.c (exported_ap_alloc): removed all code triggered by
12549	SHRINK_EXPORTED_AP and the macro itself.
12550
12551	* amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
12552	in all the time.  Assuming that there is always NIS realod
12553	available.
12554	(yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
12555	function is broken such that it does not release filedescriptors
12556	it created, then you are hosed.  Get a fix for yp_all from your
12557	vendor or switch operating systems.
12558
12559Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12560
12561	* amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
12562	HAVE_HS_ZONE_TRANSFER.
12563
12564Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12565
12566	* amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
12567	always included.  We should always try to inform the remove mount
12568	daemon of mounts we performed.  If we want an option for this, it
12569	should be a run-time option.
12570
12571	* amd/host_ops.c: removed all that optionally did not make the
12572	directory mount points for amd.
12573
12574	* HOST_EXEC code removed from everywhere.  There is no indication
12575	that it was used anywhere.  If it needs to be used, then a
12576	run-time switch should control it.
12577
12578Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12579
12580	* amd/*_ops.c: removed all references to mntent_t's fields
12581	mnt_freq and mnt_passno, since they are no longe rused (and never
12582	have been).
12583
12584	* amd/am_ops.c: removed function sunos4_match, which was off
12585	anyway.  This was one of the places where an '=' sign was allowed
12586	as an assignment operator (which is now ':=').
12587
12588	* amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
12589	was off anyway.  This was one of the places where an '=' sign was
12590	allowed as an assignment operator (which is now ':=').
12591
12592Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12593
12594	* amq/amq.c: ported to am-utils.  Working.
12595
12596	* conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
12597	to be string, as it should be (rather than a string mapped to int
12598	and back mapped to string).
12599
12600Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12601
12602	* lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
12603
12604	* lib/umount_fs.c: split this into three files: default, osf, and
12605	bsd44, that are in conf/umount/umount_*.c.
12606
12607Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12608
12609	* aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
12610	macro to automatically figure out if an external definition for
12611	sys_errlist[] exists.
12612
12613	* lib/xutil.c (xfree): removed "#undef free" because it's not
12614	needed there.  Any system that redefines free() needs help.
12615
12616	* conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
12617	was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
12618	in active use anywhere.  If added later, it should be a run-time
12619	configuration option.
12620
12621	* conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
12622	be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
12623	in a file in /etc.
12624
12625	* lib/util.c (str3cat): removed _AIX code.  AIX should have a
12626	working realloc, or else find a cleaner solution to this.
12627	(mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
12628	after immediately making directories so that fsck will be able to
12629	fix the filesystem in the event of an immediate crash.  This was
12630	because a bug in UFS which is fixed by now.
12631
12632	* lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
12633	code.  Does not appear to be on and used anywhere.
12634	(dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
12635
12636	* lib/resvport.c: split the binding of reserved ports code to a
12637	separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
12638	from the BSD code.
12639
12640Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12641
12642	* lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
12643	in by automake and configure, for optional sources that need to be
12644	built as part of libamu.a.
12645
12646	* aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
12647	to LIBOBJS.
12648
12649	* lib/memcmp.c (memcmp): new file added to replace a possible bad
12650	implementation of memcmp.
12651
12652Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12653
12654	* converted the sources to use memset/memmove/memcmp instead of
12655	bzero/bcopy/bcmp.
12656
12657	* ran all sources through gnu Indent w/ options specified in
12658	aux/amindent.
12659
12660Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12661
12662	* At this point the initial generation of config.h via autoconf and
12663	some preliminary makefiles via automake is done.  I will not begin
12664	modifying sources, so it's a good time to document from here.
12665
12666Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12667
12668	*******************************************************************
12669	*** Initial ChangeLog Entry					***
12670	*******************************************************************
12671