xref: /netbsd-src/external/bsd/am-utils/dist/ChangeLog (revision 1400370530d96e45d8e4569377ba34c5111be26c)
12009-03-20  Christos Zoulas <christos@zoulas.com>
2
3	* Fix largefile re-definitions
4
5	* Fix compilation error caused in previous patch
6
72009-02-19  Christos Zoulas <christos@zoulas.com>
8
9	* Add a synchronous unmount amq rpc that will wait for the remote
10	  filesystem to be unmounted, or return an error. Enabled by amq -uu
11
122009-01-11  Erez Zadok  <ezk@fsl.cs.sunysb.edu>
13
14	* amd/ops_udf.c: don't define functions/variables which may not be
15	used.
16
17	* amd/ops_tmpfs.c (mount_tmpfs): force gcc not to complain about
18	unused variables.
19
20	* config.guess.long: properly support Fedora Core.
21
222009-01-09  Christos Zoulas <christos@zoulas.com>
23
24	* Fix nfs mounts on linux 2.6.26 by explicitly initializing context.
25
26	* Treat an empty sublink as an unset sublink; this allows us to
27	  say sublink:=; in a spec to override the default. (This produces
28	  Bad selector error, but it works. XXX: We need to decide how to
29	  unset a selector. I proposed an unset keyword a while ago).
30
312009-01-06  Christos Zoulas <christos@zoulas.com>
32
33	* re-renerate all generated files with newer versions of the
34	  auto-tools.
35
36	* move INSTALL to INSTALL.am-utils to avoid conflicts
37
38	* fix incompatibilities with new m4 and new autoconf.
39
40	* add UDF filesystem support.
41
42	* fix NetBSD nfs file handle detection.
43
442009-01-02  Christos Zoulas <christos@zoulas.com>
45
46	* add nocasetrans, nojoliet, rrcaseins for cd9660 filesystems
47
482008-12-03  Christos Zoulas <christos@zoulas.com>
49
50	* allow ldap queries try a comma-separated list of servers given as:
51
52		ldap_hostports = host1:port1,host2,host3:port3
53
54	  original patch from Florian Geyer
55
562008-09-19  Christos Zoulas <christos@zoulas.com>
57
58	* the auth_create gid on NetBSD is int
59
60	* deal with lossage from flex -P
61
62	* fix missing/incorrect prototypes
63
64>>>>>>> 1.1.1.2
652008-09-17  Christos Zoulas <christos@zoulas.com>
66
67	* fix manual page section issues (sorting, non-existant)
68
69	* add missing forward declarations
70
71	* avoid null pointer derefs (coverity)
72
73	* more portable endian detection support
74
75	* implement tmpfs support
76
77	* use sizeof var instead of constant
78
79	* fix yyerror declaration and definition
80
81	* fix yy function renaming, and correct some renaming issues.
82
83	* work around automake < 1.9 issue where ylwrap is not being run
84	  for a single yacc or lex file.
85
86	* NetBSD
87	  - handle headers that need other headers to compile
88	  - add exfs and tmpfs specific glue
89	  - add options log, noatime, nocoredump, nodevmtime, softdep,
90	    symperm, union
91	  - NetBSD's new mount system call needs the size of the opaque
92	    filesystem specific structure, but passing 0 for now works.
93	    We would need to change a lot more code to pass the size from
94	    the fs-specific calls, so for now punt.
95	  - recvfrom takes socklen_t * on NetBSD
96	  - handle newer NetBSD using statvfs
97	  - NetBSD calls its ufs ffs
98
99	* Linux
100	  - Most recent kernels have trouble with trying to parse the pid
101	    hostname and do locking. What before was a silent failure, now
102	    there is a warning printed and the mount is rejected. This is
103	    the simplest fix:
104	    (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884)
105
1062007-04-13  Erez Zadok  <ezk@cs.sunysb.edu>
107
108	* amd/sun_map.c (sun_append_str): When translating '&' from Sun
109	automounter maps, replace it with "${key}" in the Amd map, not
110	with the value of the key at the time.  This way '*' maps work
111	too.
112
113	* config.guess.long: don't use -q option to grep because some
114	systems don't support it.  Bug fix for solaris.
115
1162007-03-11  Christos Zoulas  <christos@zoulas.com>
117
118	* amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a
119	string.  It causes spurious xstrlcpy() syslog() errors.  Use
120	memcpy() and explicitly terminate the string.
121
1222007-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
123
124	* updated copyright year to 2007 on all files.
125
1262006-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
127
128	* minor new port: ia64-hp-hpux11.23
129
130	* m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller
131	needs to define rfc931_timeout.
132
133	* amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for
134	libwrap.
135
136	* amd/amq_svc.c: some versions of libwrap require the caller to
137	define rfc931_timeout in addition to allow/deny_severity.
138
139	* amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when
140	forced unmount functionality exists for all systems.
141
142	* libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf
143	only if field exists.
144
145	* conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from
146	including <tiuser> or <sys/tiuser> (TLI definitions are already
147	included from elsewhere).
148
149	* configure.in: detect nfs_args_t->pathconf field.
150
1512006-11-27  Erez Zadok  <ezk@cs.sunysb.edu>
152
153	* doc/Makefile.am: properly publish html files using newer
154	text2html.
155
1562006-11-27  Erez Zadok  <ezk@shekel.local>
157
158        * doc/Makefile.am: obfuscate emails in ChangeLog before it is
159        published on web site.
160
161	* obfuscate many more emails in the distro, esp. of files which get
162        posted on the am-utils web site.
163
1642006-11-26  Erez Zadok  <ezk@shekel.local>
165
166	* minor new port: i386-apple-darwin8.8.1.
167
168        * doc/am-utils.texi: remove obvious URLs used by spammers, and
169        replace them with links to the am-utils web site, which uses PNG
170        images to obfuscate the actual email/mailman URLs.
171
1722006-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
173
174	* doc/am-utils.texi (Password maps): minor typo reported by
175	Christoph P. Kukulies.
176
1772006-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
178
179	* minor new port: i386-pc-linux-fc6.
180
181	* m4/macros/linux_headers.m4: handle newer Linux kernels which
182	removed UTS_RELEASE from <linux/version.h>.
183
1842006-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
185
186	* minor new ports: i386-pc-linux-centos4.4 and
187	powerpc-apple-darwin8.7.0.
188
189	* config.guess.long: recognize CentOS Linux.
190
1912006-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
192
193	* minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris).
194
195	* config.guess.long: recognize NexentaOS (GNU/OpenSolaris)
196
197	* config.guess, config.sub: updates from latest official GNU
198	distributions.
199
2002006-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
201
202	* Minor new ports: i386-unknown-freebsd6.1 (RELEASE),
203	powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
204
2052006-05-10  Erez Zadok  <ezk@cs.sunysb.edu>
206
207	* libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
208	problems on IRIX-6.5.
209
210	* conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
211	signedness problems on IRIX-6.5.
212
2132006-05-01  Erez Zadok  <ezk@cs.sunysb.edu>
214
215	* configure.in: check if libc already includes dbm functionality
216	(as in FreeBSD 6), then don't bother to check specific libraries
217	such as libdbm, gdbm, etc.
218
2192006-04-21  Erez Zadok  <ezk@cs.sunysb.edu>
220
221	* configure.in: detect G/DBM support via gdbm_compat library
222	(Debian 3.1).
223
224	* minor new port: powerpc-apple-darwin8.5.0
225
2262006-04-20  Erez Zadok  <ezk@cs.sunysb.edu>
227
228	* scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
229	NEWS: document new nfs_allow_any_interface parameter.
230
231	* include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
232	not defined, since some systems don't have it.
233
2342006-04-20  Nick Williams <Nick.Williams@morganstanley.com>
235
236	* libamu/wire.c (is_interface_local): new boolena function to
237	determine if address represents any of the local interfaces.
238	(getwire): more properly check if address equals INADDR_LOOPBACK,
239	not if IFF_LOOPBACK is not (the latter isn't as correct).
240
241	* include/am_utils.h: extern for new is_interface_local() function.
242
243	* conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
244	here but in am_compat.h
245
246	* amd/nfs_prot_svc.c (nfs_program_2): if
247	nfs_allow_any_interface=yes, then allow NFS packets from any local
248	interface (not just 127.0.0.1).
249
250	* amd/conf.c (gopt_nfs_allow_any_interface): implement the new
251	amd.conf parameter nfs_allow_any_interface.
252
253	* amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
254	al interfaces are acceptable for local NFS packets.
255
2562006-04-18  Christos Zoulas  <christos@zoulas.com>
257
258	* amd/opts.c: Add support for optionally specifying the hostname
259	to match against the netgroup in the netgrp and netgrpd selectors.
260
2612006-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
262
263	* libamu/mtab.c (hasmntval): fix inverted meaning of error from
264	hasmntvalerr().
265
2662006-04-14  Erez Zadok  <ezk@cs.sunysb.edu>
267
268	* libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
269	hasmntvalerr() function to set attribute cache values only if they
270	were set (regardless whether they were set to zero or a non-zero
271	value).  Before, we were unable to distinguish between an error to
272	parse an option, and a user who actually wanted to set an
273	attribute-cache value to 0.  This now fixes an important
274	performance bug that Amd was turning off the attribute caches even
275	for regular (non-automounter) NFS mounts.
276
277	* libamu/mtab.c (hasmntvalerr): new function to set the value of
278	an option into an integer, but ONLY if that options was set and
279	parsed correctly.  This function returns 1 on error, 0 on success
280	(instead of always setting the option value to 0).
281	(hasmntval): wrapper function around hasmntvalerr, which maintains
282	backwards compatibility (always sets option value to 0, even on
283	error to parse the option).
284
285	* amd/nfs_subr.c (fh_to_mp3): use long int printf format for
286	fhh_pid.
287
2882006-04-05  Christos Zoulas  <christos@zoulas.com>
289
290	* amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
291	(Coverity).
292
2932006-03-27  Erez Zadok  <ezk@cs.sunysb.edu>
294
295	* doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
296	document new nfs_retransmit_counter_toplvl and
297	nfs_retry_interval_toplvl global amd.conf parameters.
298
299	* amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
300	(gopt_nfs_retry_interval_toplvl): parse amd.conf
301	nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
302	parameters.
303
304	* amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
305	timeo/retrans parameters for Amd's toplvl mounts, separately from
306	all other UDP or NFS mounts.
307
308	* amd/amd.h: define a new timeo/retrans parameter for toplvl
309	mounts.
310
3112006-03-22  Erez Zadok  <ezk@cs.sunysb.edu>
312
313	* minor new port: i386-pc-linux-suse10.1 (beta 8).
314
3152006-03-21  Christos Zoulas  <christos@zoulas.com>
316
317	* amd/am_ops.c (merge_opts): Remove useless check found by
318	Coverity; xmalloc never returns NULL.
319
3202006-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
321
322	* minor new ports: i386-pc-linux-fc5.
323
324	* amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
325	openldap-2.3.9), the ldap.h headers deprecate several functions
326	used in this file, such as ldap_unbind.  You get compile errors
327	about missing extern definitions.  Those externs are still in
328	<ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED.  I am
329	turning on that ifdef at the top of info_ldap.c, under the
330	assumption that the functions may be deprecated, but they still
331	work for this (older?) version of the LDAP API.  It gets am-utils
332	to compile, but it is not clear if it will work perfectly.
333
334	* libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
335	(xdr_amq_mount_tree, xdr_amq_mount_tree_p,
336	xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
337	(show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
338	xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
339	libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
340	GCC-4.1 from complaining about "dereferencing type-punned pointer
341	will break strict-aliasing rules" here (but not elsewhere).
342
3432006-03-20  Christos Zoulas  <christos@zoulas.com>
344
345	* libamu/wire.c: avoid potential dereferencing of a NULL pointer
346	(Coverity).
347
348	* hlfsd/homedir.c (delay): remove unnecessary check for NULL
349	pointer (Coverity).
350
351	* fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
352	analyze_mounts): avoid potential dereferencing of a NULL pointer
353	(Coverity).
354
355	* conf/transp/transp_sockets.c (create_amq_service): avoid
356	potential dereferencing of a NULL pointer (Coverity).
357
358	* amd/sched.c (sigchld): properly check for the end of the waiting
359	process list (Coverity).
360
361	* amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
362
363	* amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
364	dereferencing of a NULL pointer (Coverity).
365
366	* amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
367	reusing it (memory leak bug detected by Coverity).
368	(amfs_bgmount): avoid potential dereferencing of a NULL pointer
369	(Coverity).
370
371	* amd/am_ops.c (merge_opts): no need to check if newstr is NULL
372	(bug detected by Coverity).
373
3742006-03-08  Ion Badulescu  <ionut@moisil.badula.org>
375
376	* amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
377	comparison was failing.
378
3792006-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
380
381	* configure.in: properly test for either <gdbm/ndbm.h> or
382	<gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
383	same $ac_cv_* variable name).  Some systems support one header or
384	another.  Patch inspired by work Debian did.
385
3862006-02-16  Daniel P. Ottavio  <ottavio@vm.fsl.cs.sunysb.edu>
387
388	* amd/sum_map_tok.l: Fixed a bug in a regular expression that
389	prevented dashes in hostnames.  This was posted in BZ by Thomas
390	A. Fine.
391
392	* README.sun2amd: Fixed a typo.  Sentence mentions use of autofs
393	type when it should be host type.
394
3952006-01-04  Erez Zadok  <ezk@cs.sunysb.edu>
396
397	* doc/am-utils.texi (auto_attrcache Parameter): revise discussion
398	to mention pros and cons of turning on/off this parameter,
399	including impact on Amd's performance, and ways to improve
400	performance while minimizing the window of vulnerability in which
401	kernel may return the wrong (cached) attributes.
402
4032006-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
404
405	* updated copyright year to 2006 on all files.
406
4072005-12-20  Erez Zadok  <ezk@cs.sunysb.edu>
408
409	* include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
410	register_autofs_service): use a consistent prototype for the
411	dispatch function of the autofs service de/registration functions.
412
4132005-12-03  Erez Zadok  <ezk@cs.sunysb.edu>
414
415	* minor new ports: i386-unknown-netbsdelf2.1,
416	i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
417
4182005-12-02  Erez Zadok  <ezk@cs.sunysb.edu>
419
420	* m4/macros/check_field.m4: remove double inclusion of msdosfs
421	headers, which are included in mount_header1.h (netbsd 2.1 doesn't
422	protect <msdosfs/msdosfsmount.h> which causes compile errors).
423
4242005-11-08  Erez Zadok  <ezk@cs.sunysb.edu>
425
426	* minor new port: i386-unknown-freebsd6.0 (RELEASE)
427
4282005-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
429
430	* amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
431	Amd, not in pawd (to avoid repeated network RPCs).
432
433	* amq/pawd.c (transform_dir): move repeated path resolution into Amd.
434
4352005-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
436
437	* amq/pawd.c (transform_dir): resolve path repeatedly until
438	finished.  Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
439	Added safety check to prevent infinite loops.
440
4412005-10-19  Erez Zadok  <ezk@cs.sunysb.edu>
442
443	* doc/am-utils.texi (opts Option): document new pcfs options
444	longname, nowin95, shortname, user=N, group=N, mask=N, and
445	dirmask=N.
446
447	* amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
448	nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
449
450	* include/am_compat.h: provide compatibility mnttab string names,
451	if needed, for pcfs mount options longname, nowin95, shortname,
452	user=N, group=N, mask=N, and dirmask=N.
453
454	* include/am_utils.h: extern for hasmntstr().
455
456	* libamu/mtab.c (hasmntstr): new function to return the string
457	value following a mount option, up to the next comma-delimited
458	options.
459
460	* configure.in: check for mnttab and pcfs options longname,
461	nowin95, and shortname.
462
463	* Makefile.am (EXTRA_DIST_M4): distribute new macro
464	check_mnt2_pcfs_opt.m4.
465
466	* m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
467	mnttab and mount options.
468
4692005-10-18  Erez Zadok  <ezk@cs.sunysb.edu>
470
471	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
472	correctly, depending if it's a pointer or not.
473
474	* conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
475	#define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
476	or an embedded structure, so we can tell how to print it.
477
478	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
479	field, if it exists.
480
481	* configure.in: check for nfs_args->addrlen field.
482
483	* wire-test/wire-test.c (main), libamu/mount_fs.c
484	(print_nfs_args), fixmount/fixmount.c (inetresport,
485	clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
486	(main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
487	(amfs_mount): document that as per POSIX, we don't need to set the
488	sa_len/sin_len fields in struct sockaddr/sockaddr_in.  The field
489	is used only internally in the kernel.  See
490	www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
491
492	* fixmount/fixmount.c (inetresport): initialize sockaddr_in
493	structure before filling in some fields.
494
4952005-10-11  Erez Zadok  <ezk@cs.sunysb.edu>
496
497	* doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
498	correct mistaken description of nfs_proto.
499
5002005-10-10  Erez Zadok  <ezk@cs.sunysb.edu>
501
502	*******************************************************************
503	*** Released am-utils-6.1a1					***
504	*******************************************************************
505
506	* README.sun2amd: revised.
507
5082005-10-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
509
510	* amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make
511	sure that sun_entry2amd() is not called when yp_match() returns an
512	error, this is done by checking that 'res' is 0.  Bug fix (same
513	BZ#); free the output allocated by yp_match() instead of freeing
514	the return value of sun_entry2amd().
515
516	* amd/sun_map.c (sun_entry2amd): Fix a comment.
517
518	* README.sun2amd: Made a first pass at describing the status of
519	the sun2amd feature.
520	Moved the date.
521
5222005-10-09  Erez Zadok  <ezk@cs.sunysb.edu>
523
524	* README.sun2amd: place holder.
525
526	* Makefile.am (EXTRA_DIST): distribute new README.sun2amd file.
527
5282005-10-07  Erez Zadok  <ezk@cs.sunysb.edu>
529
530	* m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
531	very end, after the test using getvfsbyname().
532
533	* m4/macros/expand_run_string.m4: if the string value returned is
534	empty, consider it invalid.
535
536	* m4/macros/check_varargs_macros.m4: rewrite macro so it'll
537	try and compile the varargs test, not just cpp it.  Some systems
538	pass the old cpp test, but not when you actually try to compile
539	the code (Tru64's cc).
540
541	* conf/autofs/autofs_solaris_v1.h: redefine
542	autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
543	This works everywhere and we avoid linking problems, inline
544	functions, etc.
545
546	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
547	autofs_strdup_space_hack() function altogether.
548
549	* m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
550
551	* configure.in: test for <sys/immu.h> header.
552	Test for pte_t, but only on IRIX6 systems.
553
554	* Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
555
556	* m4/macros/type_pte_t.m4: new test for existence of pte_t
557	typedef, needed on some IRIX-6.5/gcc systems.
558
559	* m4/macros/header_templates.m4: add missing templates for
560	HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
561	HAVE_EXTERN_UALARM.
562
563	* amd/info_exec.c (exec_map_open): break assignment from inside
564	conditional, to work around an IRIX-6.5 cc bug.
565
566	* amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a
567	before libamu.la.  Some linkers (e.g., IRIX-6.5) incorrectly
568	complain about undefined symbols.
569
570	* fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
571	libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
572	comparison between signed and unsigned integers.
573
574	* conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
575	(autofs_strdup_space_hack): move "space_hack" function from static
576	inline in header, into the only source file that needs it.  This
577	is cleaner and also prevents linking problem with some compilers
578	that won't apply CPP macros inside static inline functions (for
579	the strl* functions).
580
581	* amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
582	code.
583	(transform_dir): call the new, efficient amqproc_pawd_1() routine.
584
585	* amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
586
587	* amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
588	wrapper routine.
589
590	* amd/amq_svc.c (amq_program_1): dispatch point for
591	amqproc_pawd_1_svc.
592
593	* amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
594	functionality into Amd, where it can be done a lot more
595	efficiently.  We don't have to construct and ship a whole export
596	tree from Amd to pawd.  We just get a variable-length
597	xdr_wrapstring for the user's path, iterate over the entire export
598	list inside Amd, and return only a matched string if found
599	(otherwise we return "" to indicate that there was no match, and
600	let pawd printf the same string it sent over).
601
602	* amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
603	the AMQPROC_PAWD RPC.
604
6052005-10-06  Erez Zadok  <ezk@cs.sunysb.edu>
606
607	* ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
608	Fixes Tru64 bugs when using ksh.
609
610	* amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
611	into two sections, to workaround a C99 varargs-macro bug in
612	gcc-3.2.2 (RH9).
613
614	* libamu/wire.c (print_wires): convert argument-less xsnprintf to
615	xstrlcpy.
616
617	* include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
618	HAVE_GCC_VARARGS_MACROS to pass file name and line number to
619	xsnprintf/xvsnprintf.
620
621	* libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
622	then also print the source file name and line number that called
623	xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
624	likely an am-utils bug).
625
626	* Makefile.am (EXTRA_DIST_M4): distribute new
627	check_varargs_macros.m4 file.
628
629	* configure.in: execute new AMU_VARARGS_MACROS test.
630
631	* m4/macros/check_varargs_macros.m4: new test to check what style
632	of variable-length argument macros, if any, does the
633	compiler/pre-processor supports.
634
635	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
636	conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
637	amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
638	(mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
639	amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
640	use sizeof() instead of fixed SIZEOF_* macros.
641
642	* libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
643	(DEBUG): if debugging is on, then also print the source file name
644	and line number that called xstrl* with a buffer that wasn't large
645	enough (most likely an am-utils bug)
646
647	* include/am_compat.h (INADDR_NONE): define in a common location,
648	if OS doesn't have it, use 0xffffffffU which should work with any
649	ANSI compiler.
650
651	* fixmount/fixmount.c, libamu/wire.c: remove local definition of
652	INADDR_NONE.
653
654	* amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
655	(amfs_auto_mount): use common SIZEOF_OPTS in definition and call
656	to autofs_get_opts.
657
658	* amd/amd.h (SIZEOF_OPTS): moved #define to common header.
659
6602005-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
661
662	* amd/opts.c (expand_op): Need to check BUFSPACE for env for
663	vlen+1.  Likewise for cp and strlen(cp)+1.
664
665	* amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
666	size argument to autofs_get_opts.
667
6682005-10-05  Erez Zadok  <ezk@cs.sunysb.edu>
669
670	* amq/pawd.c (transform_dir): was using UDP only.  Now will also
671	try TCP if UDP failed.  Destroy client after use to avoid leftover
672	TCP sockets in the kernel.
673
674	* libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
675	from 128 to to 256, because some users have really long option
676	strings.  Suggestion from jon+amd-at-spock.org.
677
678	* amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
679	just vlen.  Bug discovered when started using xstrlcpy().
680
681	* ALL: convert from using strcat to the safer xstrlcat, and from
682	strcpy to safer xstrlcpy.
683
6842005-10-04  Erez Zadok  <ezk@cs.sunysb.edu>
685
686	* hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
687
688	* hlfsd/hlfsd.c (fatalerror): new function instead of macro.
689	Easier to use xstrlcat in this new function.
690
691	* amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
692	from am_utils.h to amd.h, and define its size as a macro that
693	could be passed to xstrl*().
694
695	* ALL: convert from using sprintf to the safer xsnprintf.
696
697	* mk-amd-map/Makefile.am (LDADD): link with libamu to get
698	xsnprintf().
699
700	* amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
701	extern from am_utils.h to amd.h, and define its size as a macro
702	that could be passed to xsnprintf().
703
7042005-10-02  Erez Zadok  <ezk@cs.sunysb.edu>
705
706	* libamu/Makefile.am: use strutil.c, not util.c.
707
708	* libamu/strutil.c: rename from util.c to explain better purpose
709	of file.  Move xvsnprintf and xsnprintf from xutil.c to this file.
710
711	* libamu/xutil.c: explain purpose of file.  Move mkdirs/rmdirs
712	code from old util.c.
713
7142005-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
715
716	* m4/macros/header_templates.m4: templates for FFS.
717
718	* m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
719	system mount table name via the MOUNT_* mount(2) macros (because
720	BSD44 keeps the mount table in the kernel).
721
722	* configure.in: synchronise order of searching for mnttab entries
723	and mount names.  The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
724	efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
725	ufs, and ext3 instead of ext2 on Linux).
726
727	* include/am_defs.h: include <sys/statvfs.h> if it exists.
728
729	* conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
730	and statvfs(), but the latter is preferred, so #define to use
731	statvfs.
732
733	* configure.in: check for statfs(), statvfs(), and
734	<sys/statvfs.h>.
735
736	* config.guess.long: strip trailing '.' on "netbsdelf3.0."
737	(Beta).  Workaround for bug in config.guess.
738
739	* config.{guess,sub}: update to latest versions.
740
7412005-09-30  Christos Zoulas  <christos@zoulas.com>
742
743	* fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
744	hard-coded value of -1.
745
746	* include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
747	to 16KB.  We can afford it these days.
748
749	* libamu/strcasecmp.c (strcasecmp): use unsigned chars in
750	tolower() to avoid sign/size promotion bugs.
751
752	* libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
753	default (it's unfriendly).  If user really wants to, they can set
754	it in /etc/syslog.conf.
755
7562005-09-29  Erez Zadok  <ezk@cs.sunysb.edu>
757
758	* amq/pawd.c (find_mt): if the auto mount type is used, pawd could
759	go into an infinite loop since the mt_directory and mt_mountpoint
760	fields are the same for auto mounts.  Solution: ignore type auto
761	mounts, similar to toplvl.  Bug fix from Jonathan Chen
762	<jon+amd@spock.org>.
763
764	* README.attrcache: document test-attrcache script.
765
766	* scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
767	script.
768
769	* configure.in: build scripts/test-attrcache script and chmod it
770	so it can be executed in place.
771
772	* scripts/test-attrcache.in: script to test the NFS attribute
773	cache using Amd.
774
7752005-09-26  Erez Zadok  <ezk@cs.sunysb.edu>
776
777	* hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
778	nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
779	(hlfsd_init): use new clocktime() function.
780
7812005-09-18  Erez Zadok  <ezk@cs.sunysb.edu>
782
783	* README.attrcache: document netbsd's patchs to support noac.
784
785	* libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
786	code that sets the ac{reg,dir}{min,max} fields so it also sets the
787	appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
788
789	* configure.in: check for nfs_args fields acregmax and acdirmax.
790
791	* README.attrcache: new file documenting in detail OS bugs
792	relating to attribute caching, which can affect Amd's reliability
793	under heavy load.
794	Update status of freebsd and openbsd.
795
796	* doc/Makefile.am: install README.attrcache file as attrache.txt
797	file on am-utils Web site.
798
799	* Makefile.am (EXTRA_DIST): include README.attrcache in distro.
800
801	* BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
802	scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
803	cache bugs on some OSs.
804
8052005-09-17  Erez Zadok  <ezk@cs.sunysb.edu>
806
807	* libamu/xutil.c (clocktime): newly implemented routine.  Uses
808	gettimeofday() each time to return a high-resolution clock time,
809	and does not "cache" the last time.  Returns time in seconds, just
810	like the old implementation.  If passed a non-null argument, will
811	fill it in with the current time in seconds+microseconds.
812
813	* libamu/xutil.c: remove actual declaration of clock_valid, and
814	another never-used declaration for xclock_valid.
815
816	* include/am_utils.h: remove defunct definition of clocktime()
817	macro and clock_valid variable.  Add extern for new definition.
818
819	* libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
820	hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
821	hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
822	conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
823	(open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
824	amd/autil.c (host_normalize): remove defunct clock_valid.
825
826	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
827	node's mtime.
828	(fh_to_mp3): use new clocktime() to update mtime and get a better
829	time resolution.
830
831	* amd/mapc.c (mapc_reload_map): change prototype from returning
832	void to returning an int.  If reloading was needed and succeeded,
833	return 1; else return 0.
834	(mapc_sync): update mtime of parent node if needed.  This is a
835	CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
836	when we run "amq -f" manually or when a map is reloaded.
837
838	* amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
839	(init_map): use new clocktime().
840	(unmount_mp): if the OS doesn't support a "symttl" option, then
841	update the mtime of the parent node using the clocktime(); but if
842	the time hasn't gotten changed because of rapid Amd accesses on
843	systems that don't have a micro-second NFS-client resolution, then
844	increment mtime by one arbitrarily (this could, on some systems
845	and under pathological cases, result in mtime's that are in the
846	future).
847
848	* amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
849	update of parent dir, to prevent DNLC/dcache from caching the old
850	entry, which could result in ESTALE errors, bad symlinks, and
851	more.
852	(am_mounted): record mount time, and update am_stats at the same
853	time, using the double-action redone clocktime() routine.
854	(am_mounted): update parent's mtime from that of the child.
855	(am_unmounted): when unmounting an entry, update mtime of parent
856	node.
857
858	* amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
859	remember it's last non-zero value, save it in a temporary variable
860	to avoid a TOCTOU problem (between an "if" and a "dlog").
861
862	* libamu/xutil.c (show_time_host_and_name),
863	conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
864	amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
865	(find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
866	(nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
867	amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
868	amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
869	amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
870	exec_search), amd/clock.c (timeout, softclock), amd/autil.c
871	(forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
872	amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
873	NULL to clocktime().
874
8752005-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
876
877	* amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just
878	in case.
879	(fh_to_mp3): increment amd_stats.d_stale counter only if we are
880	actually returning ESTALE.
881
882	* amd/info_exec.c (exec_parse_qanswer), amd/info_file.c
883	(file_search_or_reload), amd/info_hesiod.c (hesiod_search),
884	amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm),
885	amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search,
886	nisplus_search): don't dereference mnt_map->cfm which may be null
887	if we're not using an amd.conf file.
888
8892005-09-14  Erez Zadok  <ezk@cs.sunysb.edu>
890
891	* libamu/xutil.c (unregister_amq): if failed to de-register Amd
892	from portmapper, report it under dlog (debugging), not as an
893	annoying plog that always shows up.
894
8952005-09-13  Erez Zadok  <ezk@cs.sunysb.edu>
896
897	* mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c
898	(strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c
899	(sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert),
900	amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload),
901	amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii()
902	arg to unsigned char, which is safer as per Christos.
903
904	* amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char.
905
906	* configure.in: keep a dummy unused AM_PROG_LEX, because old
907	Automake (1.6.3) looks for it if you refer to LEX in your
908	Makefile.am files.  Silly thing, fixed in newer versions of
909	Automake (1.9.2).
910
9112005-09-11  Erez Zadok  <ezk@cs.sunysb.edu>
912
913	* Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro.
914
915	* configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX.
916
917	* m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc
918	exist, but exist with an error if none found.
919
920	* m4/macros/prog_lex.m4: new macro to check if f/lex exist, but
921	exit with an error if not found (am-utils requires f/lex).
922
9232005-09-07  Erez Zadok  <ezk@cs.sunysb.edu>
924
925	* minor new port: powerpc-apple-darwin8.2.0.
926
927	* m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
928	but all newer ones (10.4+) use int.
929
930	* m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
931	6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
932
933	* minor new port: i386-pc-linux-deb3.1.
934
9352005-09-02  Erez Zadok  <ezk@cs.sunysb.edu>
936
937	* conf/mount/mount_linux.c: If autoconf didn't find any disk-based
938	file system on this system (probably because /proc isn't mounted),
939	then provide some default definition for this file to compile.
940
9412005-08-28  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
942
943	* amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white
944	spaces or '\n' before passing strings to the parser.
945
946	* amd/amd.h : oops, reverting bad changes
947
948	* amd/info_file.c : oops, reverting bad changes
949
950	* amd/mapc.c : oops, reverting bad changes
951
952	* amd/sun_map_parse.y : oops, reverting bad changes
953
9542005-08-27  Erez Zadok  <ezk@cs.sunysb.edu>
955
956	* libamu/xutil.c: amd_program_number is a u_long now.
957	(unregister_amq): if pmap_unset failed to de-register Amd from the
958	portmapper, print an error message.
959	(get_amd_program_number): returns a u_long now.
960	(set_amd_program_number): take a u_long now.
961
962	* include/am_utils.h: get_amd_program_number() returns u_long now.
963	set_amd_program_number() takes a u_long now.
964
965	* amq/amq.c: amd_program_number is a u_long, not int.
966
967	* amd/nfs_start.c (mount_automounter): when registering Amd with
968	the portmapper (for Amq service), don't fail if just one of TCP or
969	UDP failed to register, but only if both transports failed.  That
970	way Amq can still contact Amd using the transport that did
971	register correctly.  However, now, if both transports failed to
972	register, then set amd_state to "Done" so it would shutdown
973	cleanly.
974
975	* conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better
976	comments.
977
978	* libamu/xutil.c: debug_flags should always be initialized to
979	D_CONTROL (amq,daemon,fork).
980	(debug_option): allow setting initial immutable debug_flags via
981	amd.conf; afterward, prevent it (i.e., one tries it via "amq -D").
982
983	* Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
984	config.cache.old, and dbgcf.h on "make distclean".
985	(CLEANFILES): remove dbgcf on plain "make clean".
986
987	* amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
988	"make distclean".
989
9902005-08-27  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
991
992	* amd/info_file.c (file_search_or_reload): Changed the key
993	variable that is passed to the sun_entry2amd.
994
995	* amd/mapc.c (mapc_add_kv): Add support for multiple entries
996	packed into one line.  This is a workaround for handling Sun style
997	mounts that contains multiple entries on one line: "multi-mount
998	entries".  The sun2amd conversion tools will convert such entries
999	into type:=auto and pack each of the auto-entries into one line
1000	separated by '\n'.  The mapc_add_kv function will now recognize
1001	such entries and add then.
1002
1003	* amd/sun2amd.c (sun2amd_convert): Add print statement that
1004	includes the line number during a parser failure.
1005
1006	* sun_map.c: Fix the AMD_MAP_PREF_KW definition.  Fix spelling.
1007	(sun_mountpts2amd): removed this function
1008	(sun_hsfs2amd): added some more comments
1009	(sun_nfs2amd): moved support for multi-mount entries from this
1010	function to sun_multi2amd().
1011	(sun_multi2amd): New function to handle multi-mount entries.  This
1012	function will convert the Sun version to an Amd type:=auto.  Each
1013	extra auto entry will be appended to the same line separated by a
1014	'\n'.
1015	(sun_entry2amd): Fixed a bug if-statement.  This function now
1016	checks for multi-mount entries.
1017
1018	* amd/sun_map.h: Add a fstype member to the sun_mountpt struct.
1019
1020	* amd/sun_map_parse.y: Parser now supports fstype for multi-mount
1021	entries.
1022
1023	* amd/sun_map_tok.l: No longer print the line and column number
1024	when parsing.  This is because the parser is handed strings not
1025	files.  Therefore, the line number will always be 1.  It is now up
1026	to the higher level tools to echo line information during error
1027	when they feed the parser.
1028
10292005-08-24  Erez Zadok  <ezk@cs.sunysb.edu>
1030
1031	* configure.in: wrap all LDAP and HESIOD tests in test whether
1032	--with-OPT was used.
1033
10342005-08-20  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1035
1036	* amd/sun_map.c: Clean up #defines
1037	(sun_entry2amd) : Verify that the key and entry values passed are
1038	not NULL.  Free the Sun entry struct when done.
1039
1040	* amd/sun_map.h: Add some "not implemented yet" comments to the
1041	map and mmap structures.
1042
1043	* amd/sun_map_parse.y: Removed automap include functionality, it
1044	will need to be re-implemented using a pre-processor.
1045	Clean up function calls.
1046
10472005-08-16  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1048
1049	* amd/sun2amd.c (sun2amd_convert): If the input line is too long
1050	don't return an error just null terminate and continue.  Fix bug:
1051	the map key was not written.
1052
1053	* amd/sun_map.c: Add a new Amd device, and cdfs constant.
1054	(sun_locations2amd): Write the NFS type keyword
1055	for each host of the mount entry.  Add a space between each mount
1056	location.
1057	(sun_hsfs2amd): New function to support hsfs to
1058	cdfs.
1059	(sun_nfs2amd): Don't write the nfs type here.  Fix
1060	comments.
1061	(sun_entry2amd): Change function parameter var for
1062	clarity.  Add support for hsfs.
1063
1064	* amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list
1065	after it has been returned.
1066
10672005-08-16  Erez Zadok  <ezk@cs.sunysb.edu>
1068
1069	* amd/get_args.c (get_args): initialize debug_flags if they've
1070	never been set.
1071
10722005-08-15  Erez Zadok  <ezk@cs.sunysb.edu>
1073
1074	* amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount
1075	point.  Now, we can properly initialize the cfm structure of the
1076	mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX)
1077	inside each info_*.c file.
1078	(mapc_find): takes 4rd arg (mntpt) and passes it to calls to
1079	mapc_create.
1080	(root_newmap): pass NULL as 4th arg (mntpt).
1081
1082	* amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to
1083	initialize map cfm structure (including flags) so late.
1084
1085	* amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to
1086	mapc_find.
1087
1088	* amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to
1089	mapc_find.
1090
1091	* amd/amd.h: extern for mapc_find changed to pass the mount point.
1092
1093	* libamu/xutil.c: debug_flags should be unsigned.
1094	(dbg_opt): fix comments for updated debug_flags, add "defaults".
1095	(debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be
1096	changed, because they could mess Amd's state and only make sense
1097	to be set once when Amd starts.  Currently these immutable flags
1098	are "daemon," "fork," "amq," and "mtab."  If Amd not compiled with
1099	debugging, set default "control" options (daemon,fork,amq).
1100	(unregister_amq): proper use of D_AMQ.
1101
1102	* include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT,
1103	D_IMMUTABLE, and D_MASK.  Updated definitions of D_ALL and D_TEST.
1104	debug_flags extern should be unsigned.
1105
1106	* scripts/amd.conf-sample (debug_options): mention new "defaults"
1107	option.
1108
1109	* scripts/amd.conf.5,doc/am-utils.texi: document new debug option
1110	"defaults" and properly explain the corrected meanings of
1111	"daemon," "fork," "amq," and their "no" inversions.  Better
1112	explain "all" and "test" too.  Correct default debug_mtab file to
1113	/tmp/mtab.
1114
1115	* hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK.
1116
1117	* hlfsd/homedir.c (homedir): proper use of D_FORK.
1118
1119	* hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of
1120	D_DAEMON.
1121
1122	* amd/nfs_start.c (mount_automounter): proper use of D_AMQ.
1123
1124	* amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab,
1125	which is more common on more systems (instead of /tmp/mnttab).
1126
1127	* amd/amd.c (main): properly use D_DAEMON.
1128
11292005-08-14  Erez Zadok  <ezk@cs.sunysb.edu>
1130
1131	* libamu/xutil.c (xlog_opt): define new pseudo log_option named
1132	"defaults", which is an alias for "fatal,error,user,warning,info".
1133
1134	* scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new
1135	log_option "defaults".
1136
1137	* amq/amq.8: typo.  Arg name for -D is "debug_options" not
1138	"log_options".
1139
1140	* libamu/xutil.c: make xlog_level static, and initialize it to
1141	XLOG_DEFAULT.
1142	(cmdoption): take unsigned int as flags argument, and print any
1143	errors as XLOG_ERROR (which cannot be turned off).
1144	(switch_option): remove old code which disallowed you from turning
1145	off flags that were set when Amd started up.  Now, you can turn
1146	any log option on/off at start time or later on (via amq -x),
1147	other than the two mandatory options (fatal+error).
1148
1149	* include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR.  Define
1150	XLOG_MASK to mask out unused flag bits.  Define XLOG_DEFAULT to be
1151	what it was before (fatal + error + user + warning + info), but
1152	use the new mask.  Remove extern's for xlog_level and
1153	xlog_level_init.  Change extern for cmdoption() to take an
1154	unsigned flags argument.
1155
1156	* doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8:
1157	document mandatory log options
1158	(fatal+error) which cannot be turned off and are always on by
1159	default.  They must be on so that Amd can report crucial errors,
1160	including those related to setting flags on/off.
1161
1162	* hlfsd/hlfsd.c (main): remove hack to initialize log_options.
1163
1164	* wire-test/wire-test.c: remove reference to unused xlog_level.
1165
1166	* amd/mapc.c (mapc_create): 'alloc' flags variable should be
1167	unsigned.
1168
1169	* amd/get_args.c (get_args): no need for hack using
1170	xlog_level_init.
1171
1172	* amd/Makefile.am: separate sources common to amd and sun2amd into
1173	a special, locally-built only, static library called libaminfo.a.
1174
1175	* libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf()
1176	wrapper function.
1177	(xvsnprintf): new function which already gets a va_list.  This was
1178	needed to avoid nesting va_list's (which apparently isn't
1179	allowed).
1180
1181	* include/am_utils.h: prototype for new xvsnprintf wrapper.
1182
1183	* configure.in: sinclude([vers.m4]) version number file.
1184
1185	* vers.m4: new file to separate version number out of
1186	configure.in, useful for nightly snapshot script to generate
1187	nightly version string.
1188
1189	* Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
1190
11912005-08-14  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1192
1193	* amd/info_file.c: add key to sun_entry2amd()'s parameters
1194
1195	* amd/info_hesiod.c: add key to sun_entry2amd()'s parameters
1196
1197	* amd/info_ldap.c: add key to sun_entry2amd()'s parameters
1198
1199	* amd/info_ndbm.c: add key to sun_entry2amd()'s parameters
1200
1201	* amd/info_nis.c: add key to sun_entry2amd()'s parameters
1202
1203	* amd/info_nisplus.c: add key to sun_entry2amd()'s parameters
1204
1205	* amd/sun_map.c: New functions to support sun translation to amd.
1206	The function sun_entry2amd's parameters were expanded to include
1207	the key value.  sun_entry_2amd() now returns NULL on error.
1208
1209	* amd/sun_map.h: Expand sun_entry2amd's parameters to include key
1210	value.
1211
1212	* amd/sun_map_parse.y: Change how file system types are parsed out
1213	of the list of options for each entry.  The previous way was not
1214	working properly so now we just look for the 'fstype' keyword in
1215	each option.  If it exists we copy its key value.
1216	Added some comments to sun_map_parse_read().
1217
1218	* amd/amd.h: Added an extern from info_file.c called
1219	file_read_line().  Previously this function was static but is now
1220	used in sun2amd.c.
1221
1222	* amd/info_file.c: Changed the static function read_line() to a
1223	public function called file_read_line().  This function is now
1224	used in sun2amd.c
1225
1226	* amd/sun2amd.8: Filled in the contents of this man page.  This is
1227	a conversion utility that converts Sun maps to Amd maps.
1228
1229	* amd/sun2amd.c: Implemented a working version of this utility.
1230
12312005-08-11  Erez Zadok  <ezk@cs.sunysb.edu>
1232
1233	* amd/sun_map_parse.y: instead of using a custom FOO_alloc()
1234	function, use Amd's CALLOC(struct FOO) macro.
1235
1236	* amd/sun_map.h: remove extern definitions to functions no longer
1237	needed.
1238
1239	* amd/sun_map.c: removed superfluous *_alloc() functions, some of
1240	which caused conflicts with same-named symbols in the parser
1241	(since we rename 'yyalloc' to 'sun_map_alloc').
1242
1243	* configure.in: keep AC_INIT on same line, for nightly snapshot
1244	build script.
1245
1246	* amd/Makefile.am: f/lex libraries are incompatible with multiple
1247	scanners, so don't link Amd with libl.a/libfl.a.
1248
12492005-08-10  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1250
1251	* amd/sun_map_tok.l: Clean up regular expression so HPUX stops
1252	whining.
1253
12542005-08-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1255
1256	* amd/sun_map_parse.y: Moved license below special yacc bracket to
1257	be portable with HPUX's yacc.  Clean up externs.
1258
1259	* amd/sun_map_tok.l: Moved license below special lex bracket to be
1260	portable with HPUX's lex.  Fixed definitions to allow for a
1261	non-flex lex to parse strings instead of files.  Added some casts
1262	to strlcpy usage to silence warnings.  Moved the % options because
1263	HPUX was complaining,
1264
12652005-08-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1266
1267	* amd/sun_map_tok.l: Applied some definition goop to handle the
1268	ECHO symbol that lex defines.  This symbol causes problems on
1269	RedHat-EL-powerPC platforms.  Replaced strncpy with strlcpy.
1270	Renamed the function sun_map_yyinput to sun_map_input.  This
1271	function is a utility function that is not generated by lex.
1272	Therefore, the 'yy' may cause confusion.
1273
12742005-08-08  Erez Zadok  <ezk@cs.sunysb.edu>
1275
1276	* amd/sun_map_tok.l: allocate more output slots so lex scanners
1277	don't run out of memory.
1278
1279	* amd/sun_map_parse.y: declare extern for sun_map_parse().
1280
1281	* libamu/xutil.c (xsnprintf): ensure proper comparisons between
1282	signed and unsigned quantities.
1283
12842005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1285
1286	* libamu/util.c, amd/autil.c (strsplit): moved strsplit() function
1287	from Amd code to to libamu, so sun2amd could use it.
1288
1289	* amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man
1290	page.
1291	(EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files
1292
1293	* amd/sun2amd.8: placeholder for man page.
1294
1295	* amd/sun2amd.c: placeholder for C version of translator from Sun
1296	syntax maps to Amd maps.
1297
1298	* */*.[0-9]: include file name in nroff source comment.
1299
1300	* ALL: use '0' properly when assigning or passing it to functions.
1301	If in the context pointer, use NULL.  If in the context of a
1302	single char (say within a string), the use '\0'.  This is just to
1303	make the code clearer.
1304
1305	* m4/macros/header_templates.m4: template for HAVE_MAP_SUN.
1306
1307	* amd/mapc.c (maptypes): add placeholder for Sun-syntax map
1308	methods.
1309
1310	* amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c
1311
1312	* amd/info_sun.c: placeholder for meta info parser to get info
1313	from Sun automount-style /etc/auto_master, possibly following
1314	into multiple info services (via /etc/nsswitch.conf).
1315
1316	* libamu/xutil.c (xsnprintf): if vsnprintf truncated the output
1317	string to avoid an overflow, print an error.  Include some code to
1318	break out any possible infinite loop between plog() and
1319	xsnprintf().
1320	(real_plog): now we can use (carefully) xsnprintf() directly.
1321
1322	* amd/sun_map.[hc]: cleanup and formatting.
1323
1324	* amd/sun_map_parse.y: to match the literal string "fstype=" use
1325	double quotes, not single quotes.
1326
1327	* amd/get_args.c (get_args): call conf_parse() using conf_in.
1328
1329	* amd/amd.h: use renamed parser symbols (yyparse -> conf_parse;
1330	yyin -> conf_in).
1331
1332	* ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb,
1333	and suggested by the Automake manual.  This enhanced parser will
1334	prefix each conflicting yacc/lex symbol with a unique name
1335	produced from INPUT.  For example, if INPUT is foo_parse.y, then
1336	yyparse() becomes foo_parse().  This requires that both your .l
1337	and corresponding .y files have the same prefix (e.g., foo_parse.y
1338	and foo_tok.l).
1339
1340	* amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c
1341	source files are built automatically, and therefore should not be
1342	in the distro (IMHO), and should be cleaned upon "make clean".
1343	(amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files.
1344
1345	* ylwrap: new file needed because we have two parsers now.
1346
1347	* amd/sun_map_{parse.y,tok.l}: cleanup and formatting.
1348
13492005-08-06  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1350
1351	* amd/Makefile.am: Added new files sun_map.h, sun_map.c,
1352	sun_map_parse.y, and sun_map_tok.l.  These files add support for
1353	parsing Sun style maps.  The yacc/lex files needed custom rules so
1354	they don't cause symbol conflicts with each other.
1355
1356	* amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the
1357	line limit for info services.
1358
1359	* amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN
1360
1361	* amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN,
1362	added support for parsing Sun style maps.  The support for Sun
1363	maps is done using the sun_entry2amd() function.  This function is
1364	called for each entry line that is read only when Sun parsing is
1365	enabled.  For each entry line that is passed to the function a
1366	copy of the Amd equivalent is returned.
1367
1368	* amd/sun_map.h: new header file for Sun style map support
1369
1370	* amd/sun_map.c: new source file for Sun style map support, clean
1371	up comments, additional sun2amd conversion routines
1372
1373	* amd/sun_map_parse.y: new yacc file for parsing Sun style maps,
1374	fix copyright notice, put filename below license.
1375
1376	* amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix
1377	copyright notice, put filename below license.
1378
1379	* amd/get_args.c: replace usage of strlcat with xstrlcat
1380
1381	* include/am_utils.h: added 'extern void xstrlcat()'
1382
1383	* libamu/util.c: Added a xstrlcat() function that wraps the
1384	syscall strlcat() so that string truncations can be logged.
1385
13862005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1387
1388	* amd/info_file.c (file_search, file_reload): pass mnt_map to
1389	file_search_or_reload.
1390	(file_search_or_reload): ensure that mnt_map is never NULL.
1391
1392	* amd/info_nis.c (nis_search): call sun_entry2amd() if
1393	sun_map_syntax=yes.
1394
1395	* amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if
1396	sun_map_syntax=yes.
1397
1398	* amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if
1399	sun_map_syntax=yes.
1400
1401	* amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm.
1402	(search_ndbm): call sun_entry2amd() if sun_map_syntax=yes.
1403
1404	* amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if
1405	sun_map_syntax=yes.
1406
1407	* amd/info_exec.c (exec_search): pass mnt_map to
1408	exec_parse_qanswer.
1409	(exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes.
1410
1411	* doc/am-utils.texi (sun_map_syntax Parameter): document new
1412	common parameter.
1413
1414	* scripts/amd.conf.5: selectors_in_defaults is a common parameter,
1415	not just [global].  Use consistent capitalization of Amd/Amq.
1416	Document new sun_map_syntax parameter.
1417
1418	* scripts/amd.conf-sample: properly list all of the parameters
1419	which are common to both the [global] and the per-map sections.
1420	(sun_map_syntax): example of new parameter.
1421
1422	* doc/am-utils.texi (Common Parameters): selectors_in_defaults is
1423	a common parameter, not just [global].
1424
1425	* scripts/amd.conf-sample (sun_map_syntax): example of new flag.
1426
1427	* amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse
1428	sun_map_syntax flag (global or per map).
1429
1430	* amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the
1431	map uses Sun automounter syntax.
1432
1433	* cvs-server.txt: update instructions after branching 6.1-stable.
1434
14352005-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
1436
1437	*******************************************************************
1438	*** Released am-utils-6.1.1					***
1439	*******************************************************************
1440
1441	* libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
1442	vsprintf, not sprintf.
1443
1444	* conf/umount/umount_osf.c (umount_fs): refer to proper formal
1445	parameter name.
1446	(umount2_fs): pass second arg to umount().
1447
1448	* ALL: remove CVS ID and put actual file name in source.
1449
1450	* conf/autofs/*.[hc]: proper copyright headers.
1451
1452	* whitespace reformatting.  Remove remaining '%W%' SCCS IDs.
1453
1454	* amd/mntfs.c (free_mntfs): don't discard the last reference to an
1455	mntfs that had been mounted already.  It won't have the
1456	MFF_RESTARTED flag on, as it gets turned off after the entry is
1457	mounted, but it will have the MFF_RSTKEEP flag on.
1458
1459	* amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
1460	show the mntfs's flags.
1461
14622005-08-01  Erez Zadok  <ezk@cs.sunysb.edu>
1463
1464	* conf/mtab/mtab_linux.c: removed unused code.  Cleanup.
1465	(handler): removed this bad signal handler.
1466	(lock_mtab): Redhat's original code set a signal handler called
1467	"handler()" for all non-ALRM signals.  The handler called
1468	unlock_mntlist(), plog'ed the signal name, and then exit(1)!
1469	Never, ever, exit() from inside a utility function.  This messed
1470	up Amd's careful signal-handling code, and caused Amd to abort
1471	uncleanly only any other "innocent" signal
1472	(even simple SIGUSR1), leaving behind a hung Amd mnt point.  That
1473	code should have at least restored the signal handlers' states
1474	upon a successful mtab unlocking.  Anyway, that handler was
1475	unnecessary, because will call unlock_mntlist() properly anyway on
1476	exit.
1477
1478	* conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
1479	message that we're inside the unlock_mntlist function.
1480
1481	* amd/amd.c (main): use new setup_sighandler() for Amd's four main
1482	signals (INT, TERM, HUP, and CHLD).
1483	(main) Add SIGINT and SIGTERM to masked_sigs, used in
1484	nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
1485	to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
1486	HAVE_SIGACTION.  So this change makes Amd behave consistently.
1487
1488	* include/am_utils.h: extern for new setup_sighandler().
1489
1490	* libamu/xutil.c (setup_sighandler): new utility function to setup
1491	a single signal-handler regardless of what method is supported by
1492	this OS.
1493	(going_down): call unlock_mntlist() when exiting, to ensure that
1494	Amd will remove any leftover mtab lock files, if any.
1495
1496	* amd/restart.c (restart_automounter_nodes): cleanup function.
1497
1498	* minor new port: i386-pc-linuxoldld-deb3.1.
1499
1500	* configure.in: include <sys/types.h> before <linux/socket.h> to
1501	get the definition of size_t on Debian-3.1r0a.
1502
15032005-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
1504
1505	* amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
1506	IP address.  First check if it differs from the existing one of
1507	the fserver, and copy only if it changed.  If it did change, flush
1508	the fhandle cache to avoid a stale fhandle being reused.  This
1509	allows Amd to detect IP address changes even for an fserver that
1510	lost one or more NFS pings, but not enough to be declared totally
1511	down.  We handle the "totally down" fserver case in
1512	check_fs_addr_change().
1513
1514	* amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
1515	amd/nfs_subr.c (nfs_quick_reply): code clarity.
1516
1517	* conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
1518	errnos to NFS errors.
1519
1520	* conf/umount/umount_linux.c (umount2_fs): cleanup code.  Trying
1521	stat() seems doomed to hang at times, so don't try stat at all,
1522	because umount2() appears to be clever enough to never hang.
1523
15242005-07-25  Erez Zadok  <ezk@cs.sunysb.edu>
1525
1526	* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
1527	particular fserver may need forced/lazy unmounts when it's mntfs's
1528	are unmounted.
1529
1530	* amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
1531	the user specified forced_unmounts=yes in amd.conf, and this
1532	fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
1533	forced/lazy unmounts, then try forced/lazy unmounts.  This should
1534	allow a hung mount point to be removed.
1535
1536	* amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
1537	detection code to its own function.
1538	(check_fs_addr_change): new function to detect if the IP address
1539	of a downed host has changed, and do various cleanups and fixups
1540	to try and recover as best from that situation (e.g., flushing
1541	various caches).  Also set the FSF_FORCE_UNMOUNT flag for the
1542	fserver in question.
1543	(flush_srvr_nfs_cache): pass fserver as argument, so we can
1544	selectively flush the NFS cache for a single fserver (or all of
1545	them, if you pass NULL).
1546
1547	* libamu/xutil.c (switch_to_logfile): truncate a regular-file log
1548	file if user passed non-zero "truncate_log" flag.
1549
1550	* include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
1551
1552	* amd/get_args.c (get_args): pass "truncate_log" flag as per
1553	amd.conf global settings.
1554
1555	* amd/conf.c (gopt_truncate_log): store global value of
1556	truncate_log flag.
1557
1558	* amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
1559	reload): don't truncate log file when calling switch_to_logfile().
1560
1561	* amd/amd.h (CFM_TRUNCATE_LOG): new flag.  Fix comment typo.
1562
1563	* NEWS, doc/am-utils.texi (truncate_log Parameter),
1564	scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
1565	new truncate_log amd.conf parameter.
1566
1567	* amd/conf.c (gopt_forced_unmounts): check Linux kernel version
1568	and alert if your version may be too old for MNT_FORCE to work
1569	(before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
1570	Otherwise it may be impossible to pin down the exact kernel
1571	version in which we should enable this feature.
1572
1573	* conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
1574	EBUSY, then don't try to stat(2) before MNT_DETACH because it
1575	could hang.
1576
15772005-07-21  Erez Zadok  <ezk@cs.sunysb.edu>
1578
1579	* conf/umount/umount_linux.c (umount_fs): cleanup this function,
1580	breaking long "if" statements using "goto out".
1581
1582	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
1583	call new utility function umount2_fs() as needed (EBUSY, EIO, or
1584	ESTALE).
1585
1586	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
1587	define a new utility function to invoke forcible/lazy unmounts
1588	without touching any mtab files.  This separate utility function
1589	is useful because it can be called from elsewhere.
1590
1591	* amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
1592	before Amd mounts toplvl mounts, which gives us a hook for cleanup
1593	of a previously dead Amd.  In our case, if the user asked for
1594	forced_unmounts, and the OS supports it, then we try forced/lazy
1595	unmounts on any previous toplvl mounts.  This is useful if a
1596	previous Amd died and left behind toplvl mount points (this Amd
1597	will clean them up!).  WARNING: Don't use forced/lazy unmounts if
1598	you have another valid Amd running, because this code WILL force
1599	those valid toplvl mount points to be detached as well!
1600
1601	* amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
1602	try forced/lazy unmounts because it will prevent a normal Amd from
1603	terminating and cleaning up properly (self-deadlocking: detached
1604	mounts hang the parent Amd on a stat).  Since we already do
1605	unmounts in the background, then try a safer policy: after trying
1606	the normal unmounts a few times (5 sec), escalate and try forced
1607	unmounts a few times (5 more seconds), and if even that failed,
1608	then try the ultimate -- detached unmounts (which always succeed).
1609	This allows Amd to first try and shutdown cleanly, and gradually
1610	try more forcible ways to shutdown.  On Linux, this procedure will
1611	cleanly shutdown Amd even if there are processes with their CWD on
1612	Amd's mount points (which normally result in EBUSY).
1613
16142005-07-20  Erez Zadok  <ezk@cs.sunysb.edu>
1615
1616	* Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
1617
1618	* conf/umount/umount_aix.c: easier if AIX has its own unmount
1619	helper file.
1620
1621	* m4/macros/check_umount_style.m4: AIX needs its own unmount style
1622	file.
1623
1624	* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
1625
16262005-07-19  Erez Zadok  <ezk@cs.sunysb.edu>
1627
1628	* conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
1629	forced-unmount flag.
1630
1631	* conf/umount/umount_default.c (umount_fs): if regular umount got
1632	EBUSY, EIO, or ESTALE, then try forced unmount, if supported.  Try
1633	umount2 (Solaris) or uvmount (AIX).
1634
1635	* conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
1636	umount() failed with EIO or ESTALE, also try forced unmount.
1637
16382005-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
1639
1640	* amd/autil.c (amfs_mount), amd/amfs_toplvl.c
1641	(amfs_toplvl_umount): enable forced/lazy unmounts only if user
1642	asked for it (and dlog it).
1643
1644	* scripts/amd.conf.5: document new force_unmount global parameter.
1645
1646	* doc/am-utils.texi (forced_unmounts Parameter): document new
1647	global parameter.
1648
1649	* amd/conf.c (gopt_forced_unmounts): process forced_unmounts
1650	option (default "no").  Exit with an error if user specified the
1651	option as "yes" but configure couldn't find support for either the
1652	MNT_FORCE or MNT_DETACH flags.
1653
1654	* scripts/amd.conf-sample (forced_unmounts): example usage of new
1655	option.
1656
1657	* amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
1658	option.
1659
1660	* m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
1661
1662	* configure.in: check for generic u/mount options "detach" and
1663	"force".
1664
1665	* include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
1666	Define AMU_UMOUNT flags for force, detach, and autofs.
1667
1668	* amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
1669	unmount flags unconditionally.  Pass them to UMOUNT_FS().
1670
1671	* conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
1672	if needed, because some Linux systems don't define them
1673	(presumably because it would be too dangerous to expose these
1674	flags to users).
1675
1676	* amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
1677	then assume that we're in trouble, possibly because a previous
1678	mount is hung.  So, first try to force a lazy unmount of the old
1679	mount.  If the forced unmount worked, then try again to mount the
1680	desired file system.  If the forced unmount failed, then don't
1681	retry: just return an error.
1682
1683	* amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
1684	(amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
1685	amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
1686	amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
1687	amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
1688	amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
1689	(umount_fs), conf/umount/umount_default.c (umount_fs),
1690	conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
1691	(umount_fs): compute and use unmount specific flags.
1692
16932005-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
1694
1695	* configure.in: better help for users, if nfs_args can't be found.
1696
16972005-07-15  Erez Zadok  <ezk@cs.sunysb.edu>
1698
1699	* BUGS: more details on AIX's need to install bos.net.nfs.adt
1700	before configuring am-utils (else configure cannot find struct
1701	nfs_args on AIX).
1702
17032005-07-10  Erez Zadok  <ezk@cs.sunysb.edu>
1704
1705	* amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
1706	address of a down server had changed.
1707
1708	* amd/info_union.c (union_reload): use safer xsnprintf() routine.
1709
1710	* amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
1711	of a named but down fserver changed (i.e., the previous IP address
1712	is no longer responding).  If so, then reset the fserver to the
1713	new IP address, and set the fserver's flags such that the function
1714	will fall through to doing the usual NFS version/proto checks and
1715	pinging.  (This should fix one case of bug #308.)
1716
1717	* conf/umount/umount_linux.c (umount_fs): warn if plain umount()
1718	failed, before we try to ignore any errors or try optional
1719	umount2(), possibly with forced/lazy unmount.
1720	(umount_fs): dlog when unmount succeeded.
1721
17222005-07-08  Erez Zadok  <ezk@cs.sunysb.edu>
1723
1724	* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
1725	that are compatible with NFSv3.
1726
17272005-07-07  Erez Zadok  <ezk@cs.sunysb.edu>
1728
1729	* m4/macros/header_templates.m4: extern template for strlcat().
1730
1731	* amd/get_args.c (get_version_string): use safer strlcat (or
1732	replacement strlcat).  Use new wrapper xsnprintf() function, which
1733	will use the safer vsnprintf() if available, else default to plain
1734	sprintf.
1735
1736	* configure.in: check for existence of strlcat() and its extern,
1737	replacing with libamu/strlcat.c as needed.
1738
1739	* libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
1740
1741	* include/am_defs.h: optional strlcat() extern.
1742
1743	* include/am_utils.h: extern for new xvsnprintf().
1744
1745	* configure.in: overdue new major libtool shlib version.
1746	Check for snprintf function and extern.
1747
17482005-07-06  Erez Zadok  <ezk@cs.sunysb.edu>
1749
1750	* conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
1751	aix4_nfs_args_bis.
1752
1753	* Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
1754	distribution.
1755
1756	* conf/mount/mount_aix.c: mount style for aix 5.x and newer.
1757
1758	* conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
1759
1760	* m4/macros/check_mount_style.m4: split mount styles for
1761	aix3.x/4.x and the newer (and better) aix 5.x code.
1762
17632005-07-05  Erez Zadok  <ezk@cs.sunysb.edu>
1764
1765	* amq/pawd.c (getawd): avoid buffer overflow.  Bug fix from Graeme
1766	Wilford <G.Wilford@surrey.ac.uk>.
1767
17682005-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
1769
1770	* amd/map.c (get_next_exported_ap): Avoid running off the end of
1771	the exported_ap[] array.  Patch from jon+amd-at-spock.org.  Fixed
1772	bug #301.
1773
17742005-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
1775
1776	* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
1777
1778	* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
1779	must come before C code.
1780
1781	* conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
1782	that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
1783	Patch from Red Hat, which they adapted from mtab_file.c.  Minor
1784	fixes to this file.
1785
1786	* m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
1787	handling.
1788
17892005-06-24  Erez Zadok  <ezk@cs.sunysb.edu>
1790
1791	* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
1792	copying code.
1793
17942005-06-23  Erez Zadok  <ezk@cs.sunysb.edu>
1795
1796	* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
1797	be missing from older hpux10 systems.
1798
1799	* configure.in: update bug-reporting address to list
1800	https://bugzilla.am-utils.org/ as well as the mailing list.
1801
1802	* Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
1803	macro.
1804
1805	* conf/transp/transp_tli.c (get_nfs_version): always use
1806	rpcvers_t, now that it'll be automatically discovered.
1807
1808	* configure.in: check for rpcvers_t type.
1809
1810	* m4/macros/type_rpcvers_t.m4: new macro to check for type of
1811	rpcvers_t (Some Solaris versions need it).
1812
1813	* conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
1814	here, but in the actual source files that may need it.
1815
1816	* libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
1817	already.
1818
1819	* include/am_defs.h: define extern for sleep(3) if needed.
1820
1821	* m4/macros/header_templates.m4: template for sleep(3) extern.
1822
1823	* configure.in: check for extern for sleep(3), which is missing
1824	from some old (and buggy) versions of gcc's fixinc'ed headers.
1825
1826	* conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
1827	nfs_args from actual system headers.
1828
1829	* conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
1830	structure.
1831
18322005-06-22  Erez Zadok  <ezk@cs.sunysb.edu>
1833
1834	* BUGS: update Solaris information about use of f/lex and
1835	yacc/bison.
1836
18372005-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
1838
1839	* minor new port: i386-pc-linux-suse9.3.
1840
18412005-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1842
1843	* configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
1844	so u32 is available for <linux/sunrpc/msg_prot.h>.
1845
18462005-06-16  Erez Zadok  <ezk@cs.sunysb.edu>
1847
1848	* amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
1849	exec maps will always match when users use amd with command line
1850	args (not amd.conf).  Using that legacy way, unfortunately, means
1851	that Amd will use it's hard-coded info-service search path, which
1852	doesn't work for everyone.  It's much better to use amd.conf and
1853	specify what you want exactly.
1854
18552005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1856
1857	* minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
1858
1859	* m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
1860	int as the type of recvfrom()'s 6th argument.
1861
1862	* m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
1863	int as the type of yp_order()'s 3rd argument.
1864
18652005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1866
1867	* scripts/amd.conf-sample (map_type): typo, said mount_type
1868	instead of map_type for the 'exec' example.
1869
18702005-06-11  Erez Zadok  <ezk@cs.sunysb.edu>
1871
1872	*******************************************************************
1873	*** Released am-utils-6.1					***
1874	*******************************************************************
1875
18762005-06-04  Erez Zadok  <ezk@cs.sunysb.edu>
1877
1878	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
1879	only if the user specified them in amd.conf or elsewhere.  If they
1880	were not specified, don't do anything, which would let the OS use
1881	its own defaults.
1882
1883	* amd/get_args.c (get_args): negative timeo/retrans are "good" in
1884	that they represent uninitialized values (meaning to let the OS
1885	use it's default values).  So only check if user specified a value
1886	equal to zero (invalid).
1887
1888	* amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
1889	specify timeo/retrans at all.
1890
18912005-06-03  Erez Zadok  <ezk@cs.sunysb.edu>
1892
1893	*******************************************************************
1894	*** Released am-utils-6.1-rc7					***
1895	*******************************************************************
1896
1897	* m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
1898	configuring, not just for building.  That way the two phases
1899	(configure and compile) are in sync.  This fixes getwire() on
1900	OSF/1 systems.
1901
1902	* conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
1903	defined in system headers.
1904
19052005-06-01  Erez Zadok  <ezk@cs.sunysb.edu>
1906
1907	* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
1908	longer needed.
1909
19102005-05-28  Erez Zadok  <ezk@cs.sunysb.edu>
1911
1912	* completed set of fixes for irix6.5.
1913
1914	* Minor new ports alpha-unknown-linux-gentoo1.4.16
1915	alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
1916	sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5.  Test
1917	those systems with both cc and gcc, where possible.
1918
1919	* include/am_xdr_func.h: remove trailing comma at end of enum
1920	list.
1921
1922	* m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
1923	undefined.  So give it a dummy value.
1924
1925	* libamu/alloca.c: remove file from distro.
1926
1927	* configure.in: don't call AC_FUNC_ALLOCA any more.
1928
1929	* include/am_defs.h: remove header fixups for <alloca.h>, now that
1930	we don't need it.
1931
1932	* amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
1933	avoid only use of alloca() in am-utils, and to use strdup
1934	explicitly.  This way we can avoid using alloca, a feature that's
1935	not portable on various systems.
1936
1937	* amq/amq.c: remove unused lint/rcsid cruft.
1938
19392005-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
1940
1941	* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
1942	extra parentheses around assignments in "if" expressions (gcc
1943	complains).
1944
1945	* conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
1946	for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
1947	xdr_groups.
1948
1949	* configure.in: check for <linux/socket.h>, which, if found,
1950	appears to be preferable to <sys/socket.h>.  Use it to find
1951	<linux/nfs_mount.h>.  On some Linux systems
1952	(Gentoo), both exist but only one must be included, or else you
1953	get redefined structure errors.
1954
1955	* libamu/wire.c (is_network_member): check if masknum is
1956	INADDR_NONE, not "< 0" because it's an unsigned quantity.
1957
1958	* libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
1959	because it's an unsigned quantity.
1960
19612005-05-26  Erez Zadok  <ezk@cs.sunysb.edu>
1962
1963	*******************************************************************
1964	*** Released am-utils-6.1-rc6					***
1965	*******************************************************************
1966
19672005-05-25  Erez Zadok  <ezk@cs.sunysb.edu>
1968
1969	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
1970	missing definition of struct thread_credentials in <sys/vfs.h>
1971	but trying to bring that definition in drags a whole lot of other
1972	messy stuff.  So just provide a dummy definition for this
1973	structure.
1974
19752005-05-24  Erez Zadok  <ezk@cs.sunysb.edu>
1976
1977	* Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
1978
1979	* m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
1980
1981	* m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
1982	systems, so we can find extern definition for mntctl().
1983
1984	* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
1985	define an extern for mntctl() if needed.
1986
1987	* amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
1988	style comments in C code.  Some C compilers don't accept it.
1989
1990	* amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
1991	of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
1992	xlC.
1993
1994	* amd/get_args.c: rename symbol conf_file to amu_conf_file to
1995	avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
1996	Oh, when will people who develop libraries learn to always prefix
1997	their exported symbols with a library-specific name?
1998
1999	* configure.in: check for mntctl() extern on AIX systems.
2000
2001	* ltmain.sh: update from latest libtool-1.5.18, so we can properly
2002	build on AIX 5.2/5.3 with cc and with gcc.
2003
2004	* m4/macros/libtool.m4: update from latest libtool-1.5.18.  This
2005	time, and from now on, we must include libtool.m4 from the libtool
2006	distribution itself.  That way we ensure that we use an ltmain.sh
2007	that matches the appropriate libtool M4 macros.  This makes
2008	am-utils no longer dependent on having libtool installed on a
2009	given system on which you run bootstrap.
2010
20112005-05-23  Erez Zadok  <ezk@cs.sunysb.edu>
2012
2013	* minor new port: i386-pc-linux-deb3.0.
2014
20152005-05-22  Erez Zadok  <ezk@cs.sunysb.edu>
2016
2017	* minor new ports: i386-unknown-netbsdelf2.0.2 and
2018	i386-unknown-openbsd3.7.
2019
20202005-05-20  Erez Zadok  <ezk@cs.sunysb.edu>
2021
2022	* minor new ports: i386-pc-linux-gentoo1.4.16 and
2023	powerpc-unknown-linux-yellowdog2.3.
2024
2025	* include/{mount_headers2.h, am_defs.h}: safer setup before
2026	inclusion of <linux/nfs_mount.h>, which is broken on several
2027	systems.
2028
2029	* configure.in: test for <linux/nfs2.h>.  Separate special test
2030	for <linux/nfs_mount.h> because we need to define __KERNEL__ for
2031	that test, as well as optionally define struct nfs2_fh for some
2032	systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
2033
2034	* config.guess.long: support Gentoo and Yellow Dog Linux distros.
2035
20362005-05-18  Erez Zadok  <ezk@cs.sunysb.edu>
2037
2038	* minor new ports: i386-pc-linux-suse9.2 and
2039	i386-unknown-freebsd5.4.
2040
2041	* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
2042
20432005-05-17  Erez Zadok  <ezk@cs.sunysb.edu>
2044
2045	*******************************************************************
2046	*** Released am-utils-6.1-rc5					***
2047	*******************************************************************
2048
2049	* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
2050	sending annoying warning for a minor issue.
2051
20522005-05-17  Ion Badulescu <ionut@moisil.badula.org>
2053
2054	* amd/nfs_subr.c: check for NULL pointer before dereferencing it.
2055
20562005-05-16  Erez Zadok  <ezk@cs.sunysb.edu>
2057
2058	* minor new ports: powerpc-apple-darwin7.9.0.
2059
2060	* m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
2061	from OS name because it's no longer relevant.  Also, don't include
2062	the major OS version number in the OS name because that's also
2063	unnecessary (and users can always use $osver in maps).
2064
2065	* amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
2066	struct am_fh, because it's the most portable method.  Bug fix
2067	suggestion from Dan Riley <dsr at mail.lns.cornell.edu>.  Better
2068	fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
2069	actual size we use.
2070
2071	* amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
2072	def_opts to options given in -opts, appended with the /default
2073	options.  Bug fix suggestion from Dan Riley <dsr at
2074	mail.lns.cornell.edu>.
2075
20762005-05-13  Erez Zadok  <ezk@cs.sunysb.edu>
2077
2078	*******************************************************************
2079	*** Released am-utils-6.1-rc4					***
2080	*******************************************************************
2081
20822005-05-11  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2083
2084	* amd/amd.c (main) : fixed memory leak detected by valgrind
2085
2086	* amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
2087	valgrind
2088
20892005-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
2090
2091	* m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
2092	check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
2093	check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
2094	for "macosx" as valid OS string, so we compile properly on Darwin
2095	systems.
2096
2097	*******************************************************************
2098	*** Released am-utils-6.1-rc3					***
2099	*******************************************************************
2100
2101	* rerun bootstrap to get a working configure script that actually
2102	checks for limits.h and dependent linux autofs/nfs headers.
2103
2104	* configure.in: remove redundant check for limits.h.
2105
21062005-05-09  Erez Zadok  <ezk@cs.sunysb.edu>
2107
2108	*******************************************************************
2109	*** Released am-utils-6.1-rc2					***
2110	*******************************************************************
2111
21122005-05-08  Erez Zadok  <ezk@cs.sunysb.edu>
2113
2114	* amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
2115	old_def_opts variable.
2116
21172005-05-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2118
2119	* amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
2120	entry has a single dash '-', that the default options are reset.
2121	This functionality was somehow lost from earlier releases and
2122	reported by Dan Riley <dsr@mail.lns.cornell.edu>.
2123
21242005-05-05  Erez Zadok  <ezk@cs.sunysb.edu>
2125
2126	* config.guess.long: detect SuSE Enterprise Server and call it
2127	"sles" not "suse".
2128
21292005-05-02  Erez Zadok  <ezk@cs.sunysb.edu>
2130
2131	* doc/am-utils.texi (amd): document proper use of
2132	/etc/hosts.allow.  Don't spawn a new Amd process because Amd will
2133	get confused if someone else waitpid's on its children (which
2134	often do important un/mount work).  Issue reported by Francis
2135	Montagnac <Francis.Montagnac at sophia.inria.fr>.
2136
2137	* minor new ports: powerpc64-unknown-linux-rhel4, and
2138	powerpc64-unknown-linux-sles9.
2139
21402005-05-01  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2141
2142	* amd/amfs_host.c (amfs_host_umount): We do not want to pass
2143	ENOENT as an error because if the directory does not exists our
2144	work is done anyway.
2145
2146	* conf/umount/umount_linux.c (umount_fs): If we are successful or
2147	there was an ENOENT, remove the mount entry from the mtab file.
2148
21492005-05-01  Ion Badulescu  <ionut@moisil.badula.org>
2150
2151	* amd/nfs_subr.c: am_fh definition moved here from amd.h;
2152	restructured to better reflect its duality (old/new filehandles)
2153	(fh_to_mp3): fhh_gen is always used, even for new style f/h
2154	(mp_to_fh): ditto
2155
2156	* amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
2157	only place where it's used)
2158
21592005-04-30  Erez Zadok  <ezk@cs.sunysb.edu>
2160
2161	* m4/macros/host_macros.m4: use sw_vers on Apple machines to find
2162	out more appropriate OS name (macosx) and OS version (10.3.x) than
2163	uname(3) reports.
2164
21652005-04-29  Erez Zadok  <ezk@cs.sunysb.edu>
2166
2167	* config.guess, config.sub, doc/texinfo.tex: updates from latest
2168	official GNU distributions.
2169
2170	* m4/macros/host_macros.m4: for macosx, change architecture value
2171	from "Power Macintosh" to "powerpc".
2172
2173	* libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
2174	int (it's a size_t).
2175
21762005-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
2177
2178	* scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
2179	Parameter), scripts/amd.conf-sample: document new
2180	normalize_slashes global configuration parameter.
2181
2182	* amd/opts.c (deslashify, normalize_slash): don't touch trailing
2183	slashes, even if multiples of them, if user said
2184	normalize_slashes=no in amd.conf.
2185
2186	* amd/conf.c (gopt_normalize_slashes): new function to record if
2187	to normalize slashes or not.
2188
2189	* amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
2190	normalize double-slashes or not ("yes" by default).
2191
2192	* amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
2193	This is the parent mntfs which does the mf->mf_fo
2194	(am_opts type), and we're passing TRUE here to tell mf_mounted to
2195	actually free the am_opts.
2196
2197	* amd/autil.c (mf_mounted): Be careful when calling free_ops and
2198	XFREE here.  Some pseudo file systems like nfsx call this
2199	function, even though it would be called by the lower-level amd
2200	file system functions.  nfsx needs to call this function because
2201	of the other actions it takes.  So we pass a boolean from the
2202	caller (yes, not so clean workaround) to determine if we should
2203	free or not.  If we're not freeing (often because we're called
2204	from a callback function), then just to be sure, we'll zero out
2205	the am_opts structure and set the pointer to NULL.  The parent
2206	mntfs node owns this memory and is going to free it with a call to
2207	mf_mounted(mntfs,TRUE).
2208
2209	* amd/amd.h: pass flag to mf_mounted, to free or not to free the
2210	am_opts.
2211
2212	* amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
2213	tell it not to free the am_opts, to avoid double free.
2214
2215	* include/am_defs.h: include limits.h if found.
2216
2217	* configure.in: check for limits.h.  Check for certain Linux
2218	headers such as auto_fs.h after checking for limits.h, and include
2219	the latter if it exists, because some Linux headers depend on
2220	limits.h.  This prevents warnings during configure time.
2221
22222005-04-12  Erez Zadok  <ezk@cs.sunysb.edu>
2223
2224	* amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
2225	values from default global UDP settings, because it can cause
2226	unexpected timeouts in Amd on slow systems.  The default that each
2227	OS provides for these toplvl NFS mounts should be OK, or else you
2228	can use the map_options entry.
2229
22302005-04-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2231
2232	* amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
2233	source buffer is treated more as a filehandle than a string.
2234
2235	* amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
2236	source buffer is treated more as a filehandle than a string.
2237
2238	* amd/opts.c (free_op): No longer need to assign pointer to NULL
2239	after XFREE.
2240
2241	* amd/opts.c (expand_op): Revert back to using strncpy() instead
2242	of xstrlcpy.  The code is correct and relies on the semantics of
2243	strncpy.
2244
2245	* libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
2246	of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
2247	truncate our concocted "hostname:/path" string prematurely if the
2248	nap->hostname field is ever less than 64 bytes long
2249	(MAXHOSTNAMELEN).
2250
2251	* libamu/util.c (xstrlcpy): Return immediately if len is 0 to
2252	avoid unnecessary work.  Log an error and return if len is less
2253	than 0.
2254
22552005-04-07  Erez Zadok  <ezk@cs.sunysb.edu>
2256
2257	* include/am_utils.h (XFREE): XFREE() should nullify the pointer
2258	even when compiling without debugging.  It's safer this way.
2259
2260	* libamu/xutil.c (am_set_hostname),
2261	hlfsd/stubs.c (nfsproc_lookup_2_svc),
2262	fsinfo/fsinfo.c (fsi_get_args),
2263	fixmount/fixmount.c (is_same_host, remove_mount, main),
2264	conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
2265	conf/mount/mount_svr4.c (mount_svr4),
2266	conf/mount/mount_linux.c (setup_loop_device),
2267	conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
2268	conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
2269	amd/opts.c (expand_op),
2270	amd/ops_nfs.c (mount_nfs_fh),
2271	amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
2272	amd/amfs_host.c (amfs_host_mount),
2273	amd/am_ops.c (merge_opts):
2274	use the new xstrlcpy instead of strncpy.
2275
2276	* conf/checkmount/checkmount_{default,svr4}.c
2277	(fixmount_check_mount): document why NOT to use xstrlcpy.
2278
2279	* libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
2280	more, just MAXHOSTNAMELEN.
2281
2282	* libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
2283	recursion, since xstrlcpy may use plog).
2284
2285	* libamu/util.c (xstrlcpy): truncating a string is serious.  Use
2286	XLOG_ERROR not XLOG_WARNING.
2287
22882005-04-06  Erez Zadok  <ezk@cs.sunysb.edu>
2289
2290	* include/am_utils.h: external definition for new xstrlcpy
2291	function.
2292
2293	* libamu/util.c (xstrlcpy): new function.  Similar to strncpy, but
2294	uses strlcpy to guarantee that the resulting string is null
2295	terminated, and also warn if the resulting string was truncated.
2296
2297	* libamu/xutil.c (get_server_pid): move this function from util.c
2298	which is for general-purpose utilities.
2299
2300	* m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
2301
2302	* include/am_defs.h: provide extern definition for strlcpy, if
2303	needed.
2304
2305	* libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
2306
2307	* configure.in: search for strlcpy and its extern.
2308
2309	* amq/pawd.c (find_mt): It only handles *some* filesystem types,
2310	so it breaks on direct xfs mounts for example.  The fix (from
2311	Christos Zoulas) is simple: We need to exclude toplvl to avoid
2312	infinite recursion, but all other fs's are game.
2313
23142005-03-31  Erez Zadok  <ezk@cs.sunysb.edu>
2315
2316	* amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
2317	copying exactly len bytes, so add null just to be safe.
2318
23192005-03-30  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2320
2321	* amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
2322	to make sure it null terminates.
2323
23242005-03-29  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2325
2326	* amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
2327	the memset can be removed because strncpy() should padd the
2328	buffer with NULLs anyway.
2329
23302005-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2331
2332	* include/am_defs.h: Clarify comment.
2333
23342005-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
2335
2336	* include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
2337	won't complain about a conflict for this definition between
2338	<rpcsvc/nis.h> and <sys/acl.h>.
2339
23402005-03-20  Erez Zadok  <ezk@cs.sunysb.edu>
2341
2342	* amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
2343
2344	* libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
2345	%lx.
2346
23472005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2348
2349	*******************************************************************
2350	*** Released am-utils-6.1-rc1					***
2351	*******************************************************************
2352
23532005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2354
2355	* conf/transp/transp_tli.c (get_nfs_version): use proper type for
2356	versout on Solaris (rpcvcers_t).
2357
2358	* amd/mapc.c (mapc_showtypes): if last map type to print, don't
2359	append newline or comma to it.
2360
2361	* libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
2362	to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
2363	casting it to an int (size is different).
2364
2365	* configure.in, NEWS: prepare for 6.1-rc1 release.
2366
23672005-03-17  Erez Zadok  <ezk@cs.sunysb.edu>
2368
2369	* scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
2370	<adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
2371	the ldap.schema expects.
2372
2373	* amd/map.c (exported_ap_free): We're using a free-list data
2374	structure and re-using malloc'ed objects.  So, to be safe, memset
2375	entire structure when it's freed, not just the pointer.
2376	(umount_exported): bug fix to on-exit code.  Don't run
2377	am_unmounted() unless unmount_mp() didn't run, since the latter
2378	already calls am_unmounted().  This way we avoid a double-free
2379	bug.
2380
23812005-03-15  Erez Zadok  <ezk@cs.sunysb.edu>
2382
2383	* tasks: updates.  Executable maps is supported.  NFSv4 and
2384	FreeBSD autofs isn't.
2385
2386	* Makefile.am (EXTRA_DIST): include FAQ in distro.
2387
2388	* doc/Makefile.am (alldocs): install README.lda and README.osx.
2389
2390	* FAQ: new file, better late than never.
2391
23922005-03-14  Erez Zadok  <ezk@cs.sunysb.edu>
2393
2394	* scripts/amd2ldif.in: patch to add the amdMapName attribute to
2395	the amdMapTimestamp object when amd2ldif converts it.  This is
2396	necessary if you are using type:=auto mounts and want those
2397	mountmaps looked up through LDAP.  Patch from Jim Zajkowski
2398	<jim.zajkowski@gmail.com>.
2399
24002005-03-12  Erez Zadok  <ezk@cs.sunysb.edu>
2401
2402	* minor new ports: i386-pc-linux-rhel4.
2403
2404	* minor new ports: powerpc-apple-darwin7.8.0.
2405
24062005-03-10  Erez Zadok  <ezk@cs.sunysb.edu>
2407
2408	* amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
2409	cleaner.
2410
2411	* ltmain.sh: upgrade from libtool-1.5.6.
2412
2413	* m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
2414	Linux 2.6 kernel modules, which have a .ko extension, not .o.  Now
2415	we can properly detect which file systems exist on Linux 2.6 based
2416	systems (SLES9, RHEL4, Fedora, etc.).
2417
24182005-03-09  Erez Zadok  <ezk@cs.sunysb.edu>
2419
2420	* m4/macros/host_macros.m4: find out what's the OS software
2421	distribution name, if any.
2422
2423	* m4/macros/header_templates.m4: template for DISTRO_NAME.
2424
2425	* amd/get_args.c (get_version_string): print again full_os, os,
2426	osver, and vendor (bug fix).
2427	(get_version_string): print distribution name, if known (e.g.,
2428	rh9, suse8, etc.).
2429
2430	* amd/mapc.c (mapc_showtypes): wrap around list of supported map.
2431
24322005-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
2433
2434	* amd/map.c (umount_exported): when unmounting file systems on
2435	exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
2436	instead of unmount_node() because the latter always unmounts in
2437	the foreground, whereas the former unmounts in the bg/fg as
2438	needed.  Unmounting always in the foreground has two problems: (1)
2439	if the unmount hangs, amd hangs, and (2) for type:=program, the
2440	unmount script is execve'd(!) thus replacing the main amd process,
2441	which never gets to finish up, leaving the amd mount points hung.
2442
2443	* NEWS: mention new feature of executable maps.
2444
2445	* AUTHORS: Acknowledge Erik Kline.
2446
2447	* scripts/amd.conf.5: document executable maps and
2448	exec_map_timeout parameter.
2449
2450	* scripts/amd.conf-sample: examples of an executable map and
2451	exec_map_timeout.
2452
2453	* m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
2454
2455	* doc/am-utils.texi: document Executable maps and exec_map_timeout
2456	parameter.
2457
2458	* amd/conf.c (gopt_exec_map_timeout): function to parse
2459	exec_map_timeout [global] parameter.
2460
2461	* amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
2462	timeout to 10 seconds, and a global placeholder for the
2463	configurable value.
2464
2465	* amd/amd.c (init_global_options): initialize default executable
2466	map timeout.
2467
2468	* amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
2469	tarball.
2470
2471	* configure.in: enable executable maps.
2472
2473	* amd/mapc.c: define executable map functions and behavior.
2474
2475	* amd/info_exec.c: executable map implementation from Erik Kline
2476	<ekline at ekline dot com>, modified, cleaned-up, and fixed.
2477
24782005-03-07  Erez Zadok  <ezk@cs.sunysb.edu>
2479
2480	* amd/info_file.c (file_init_or_mtime): consolidate identical
2481	file_init and file_mtime into one function.
2482
24832005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2484
2485	* doc/am-utils.texi (Program Filesystem): if umount/unmount are
2486	not specified, Amd uses "umount ${fs}" by default.
2487
2488	* amd/amfs_program.c (amfs_program_match): if neither unmount nor
2489	umount parameters are specified, use the default userland umount
2490	program with "umount ${fs}".  This way type:=program doesn't have
2491	to specify the umount program for basic unmounting actions.
2492	(amfs_program_init): save unmount program string in mf_private
2493	only if it's NULL, not based on mf_refc.
2494
2495	* configure.in: auto-detect name of userland unmount program.
2496
2497	* aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
2498	unmount program.
2499
2500	* amd/ops_cachefs.c (cachefs_init): save unmount program string in
2501	mf_private only if it's NULL, not based on mf_refc.
2502
2503	* configure.in: don't "discover" inheritance file system any more,
2504	since we don't have the .c file for it.
2505
2506	* amd/get_args.c (get_version_string): hack to still show that we
2507	support the inherit file system in output of amd -v.
2508
25092005-03-05  Ion Badulescu  <ionut@moisil.badula.org>
2510
2511	* amd/amfs_inherit.c: removed, dead code
2512
2513	* amd/Makefile.am,
2514	amd/am_ops.c,
2515	amd/amd.h,
2516	conf/autofs/autofs_linux.h,
2517	conf/autofs/autofs_solaris_v1.h,
2518	conf/autofs/autofs_solaris_v2_v3.h,
2519	m4/macros/header_templates.m4: removed references to amfs_inherit.c
2520
25212005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2522
2523	* amd/autil.c (am_mounted): completely rewrite the unmount
2524	no/timeout code to (1) make more sense for odd conditions, and (2)
2525	allow utimeout=N mount options to override FS_NOTIMEOUT default
2526	flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
2527
2528	* libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
2529
2530	* conf/umount/umount_linux.c (umount_fs): strtok is destructive,
2531	so use strdup'ed string.
2532
2533	* conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
2534	use strdup'ed string.
2535
25362005-03-04  Erez Zadok  <ezk@cs.sunysb.edu>
2537
2538	* scripts/amd.conf.5, doc/am-utils.texi (cache_duration
2539	Parameter): clarify actual behavior: this Parameter affects
2540	initial mount timeout as well as the linear backoff what happens
2541	the initial failed EBUSY unmount.
2542
2543	* doc/am-utils.texi (opts Option): better explanation of
2544	utimeout=N mount pseudo-option.
2545
2546	* amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
2547
25482005-03-02  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2549
2550	* AUTHORS: add Dan Ottavio.
2551
2552	* scripts/amd.conf.5: document new debug_mtab_file option.
2553
2554	* scripts/amd.conf-sample (debug_mtab_file): show example.
2555
2556	* doc/am-utils.texi (debug_mtab_file Parameter): document new
2557	option.
2558
2559	* conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
2560	doesn't exist by the time Amd tries to exist, return a 0 rather
2561	than hang indefinitely.
2562
2563	* amd/conf.c (gopt_debug_mtab_file): new function to parse
2564	debug_mtab_file option.
2565
2566	* amd/amd.h: placeholder for debug_mtab_file string.
2567	Define default debug_mtab_file to "/tmp/mtab".
2568
2569	* NEWS: document new debug_mtab_file option.
2570
25712005-03-02  Erez Zadok  <ezk@cs.sunysb.edu>
2572
2573	* conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
2574	users want Amd's NFS service to bind to some arbitrary "localhost"
2575	address, show which address was actually resolved and bound to.
2576
25772005-03-01  Erez Zadok  <ezk@cs.sunysb.edu>
2578
2579	* amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
2580	(update_nfs_pingval) that initializes the pinger, as well as turns
2581	it on/off as needed, and handles changing its value.  This is to
2582	avoid races and other infinite-loop conditions that could result
2583	in ping storms.
2584
2585	* amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
2586	new file server structure, default the ping value to AM_PINGER
2587	(30sec) and set the FSF_PING_UNINIT flag.
2588
2589	* amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
2590	pinger had been initialized for a given file server.
2591
2592	* scripts/ctl-amd.in (stop): no need to check if
2593	/var/lock/subsys/amd file exists if you do an rm -f afterward.
2594	Ensure that proper return value is returned from script.
2595
2596	* NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
2597	so that if N=-1, pings are off; if N=0, pings are set to the
2598	default value (currently 30 seconds).
2599
26002005-02-28  Erez Zadok  <ezk@cs.sunysb.edu>
2601
2602	* amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
2603	__rpc_get_local_uid to verify if the RPC call through the
2604	local host interface came from UID 0.
2605
2606	* configure.in: look for internal libnsl function
2607	__rpc_get_local_uid (seems to be available on all known TLI
2608	systems, Solaris and HP-UX 11).
2609
2610	* conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
2611	function for TLI systems (and it violated a array's bounds,
2612	discovered with libumem.so).
2613	(bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
2614	just to be on the safe side, set struct t_bind's qlen field to non
2615	zero (64 by default).  This value cannot be zero for TCP
2616	connections, and it's unclear if it's good to have it zero for UDP
2617	connections, so setting it to 64 is safer.
2618
26192005-02-27  Erez Zadok  <ezk@cs.sunysb.edu>
2620
2621	* doc/am-utils.texi (opts Option, Keep-alives): update text on
2622	ping option.
2623
2624	* amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
2625	server ping values, turn them off, or re-enable them.
2626	(find_nfs_srvr): call update_nfs_pingval() as needed.
2627
2628	* hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
2629	handler, but use _exit(2) instead.
2630
2631	* amd/amd.c (parent_exit): This signal handler is called during
2632	Amd initialization.  The parent forks a child to do all the hard
2633	automounting work, and waits for a SIGQUIT signal from the child.
2634	When the parent gets the signal it's supposed to call this handler
2635	and exit(3), thus completing the daemonizing process.  Alas, on
2636	some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
2637	always terminate the parent process.  Worse, the parent process
2638	now refuses to accept any more SIGQUIT signals -- they are
2639	blocked.  What's really annoying is that this doesn't happen all
2640	the time, suggesting a race condition somewhere.
2641	(This happens even if I change the logic to use another signal.)
2642	I traced this to something which exit(3) does in addition to
2643	exiting the process, probably some atexit() stuff or other
2644	side-effects related to signal handling.  Either way, since at
2645	this stage the parent process just needs to terminate, I'm simply
2646	calling _exit(2).  Note also that the OpenGroup doesn't list
2647	exit(3) as a recommended "Base Interface" but they do list
2648	_exit(2) as one.  This fix seems to work reliably all the time.
2649
2650	* scripts/wait4amd2die.in: change default to recognize that amd is
2651	down more quickly (check every 3 seconds instead of 5).
2652
26532005-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
2654
2655	* libamu/xutil.c (amu_release_controlling_tty): warn if closing
2656	stdin/stdout/stderr failed.  No need for tempfd.
2657
2658	* scripts/ctl-{amd,hlfsd}.in: before running any real program in
2659	these shell scripts, chdir to "/" to avoid possible hangs with
2660	existing NFS mounts.  This was causing ctl-amd's forked
2661	grand-child amd process to hang if restartable_mounts=no.  Go
2662	figure.
2663
26642005-02-25  Erez Zadok  <ezk@cs.sunysb.edu>
2665
2666	* minor new port ia64-unknown-linux-rhel4
2667
2668	* fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
2669	(RHEL4 gcc 3.4.3 ia64 compiler complains).
2670
26712005-02-24  Erez Zadok  <ezk@cs.sunysb.edu>
2672
2673	* minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
2674
26752005-02-23  Erez Zadok  <ezk@cs.sunysb.edu>
2676
2677	* minor new port: i386-pc-linux-rhel3.
2678
2679	* INSTALL: major update of the compatibility list.
2680
2681	* m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
2682
26832005-02-22  Erez Zadok  <ezk@cs.sunysb.edu>
2684
2685	* scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
2686	document new preferred_amq_port [global] option.
2687
2688	* scripts/amd.conf-sample (preferred_amq_port): example.
2689
2690	* include/am_utils.h: add preferred_amq_port to prototype.
2691
2692	* conf/transp/transp_tli.c (bind_preferred_amq_port): new function
2693	to bind the Amq RPC service for UDP and TCP to a preferred port
2694	(or to any port if preferred_amq_port==0).
2695	(create_amq_service): decide if to bind to RPC_ANYFD, or to a
2696	requested port.
2697
2698	* conf/transp/transp_sockets.c (create_amq_service): if
2699	preferred_amq_port is greater than 0, then bind to that port for
2700	both UDP and TCP.  If preferred_amq_port==0, then bind to any
2701	port.
2702
2703	* amd/nfs_start.c (mount_automounter): pass global
2704	preferred_amq_port value to create_amq_service().
2705
2706	* amd/conf.c (gopt_preferred_amq_port): new function to parse
2707	amd.conf value for preferred_amq_port.
2708
2709	* amd/amd.h: placeholder for preferred_amq_port.
2710
27112005-02-21  Erez Zadok  <ezk@cs.sunysb.edu>
2712
2713	* conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
2714	bindnfs_port to a more proper name.  This function binds the NFS
2715	service to a specified port, and only for UDP.
2716
2717	* conf/transp/transp_tli.c: cleanup some code, rename some
2718	functions, in preparation for RPC amq port specification code.
2719
27202005-02-19  Erez Zadok  <ezk@cs.sunysb.edu>
2721
2722	* */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
2723	reserved for users to pass them on the command line.  Instead, use
2724	autoconf's internal AM_CFLAGS and AM_LDFLAGS.
2725
2726	* depcomp, install-sh, missing, mkinstalldirs: update from latest
2727	versions of Automake 1.9.2.
2728
2729	* m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
2730	regexp/patsubst M4 commands.  Newer versions of autoconf (e.g.,
2731	v2.59) complain about those.
2732
27332005-02-17  Erez Zadok  <ezk@cs.sunysb.edu>
2734
2735	* amd/opts.c (f_xhost): if we don't have hstrerror, just print the
2736	value of h_errno.
2737
2738	* configure.in: include -lresolv if it defines the hstrerror()
2739	function and not already available in existing libraries.
2740
2741	* minor new port: powerpc-apple-darwin7.7.0.
2742
2743	* amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
2744	later compared against an unsigned quantity (complaint from gcc
2745	3.3 on SuSE 8.2)
2746
2747	* include/am_utils.h: remove unnecessary (and conflicting) extern
2748	for bind_resv_port2(), which is declared as static in
2749	transp_tli.c.
2750
2751	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
2752	NEWS: document four new amd.conf options: nfs_retry_interval_udp,
2753	nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
2754	nfs_retransmit_counter_tcp.
2755
2756	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
2757	wether nfs_proto was "udp" or "tcp".
2758
2759	* amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
2760	from default UDP settings (because toplvl mounts are UDP for now).
2761
2762	* amd/get_args.c (get_args): use parameters to -t option to set
2763	both UDP and TCP timeo/retrans values.
2764
2765	* amd/conf.c: (gopt_nfs_retransmit_counter_udp,
2766	(gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
2767	(gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
2768	retrans/timeo parameters separately.
2769	(gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
2770	specified, use it to set defaults for both UDP and TCP.
2771
2772	* amd/amd.c (init_global_options): initialize default values of
2773	both UDP and TCP retrans/timeo values to -1.
2774
2775	* amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
2776	timeo values, one for udp mounts and another for tcp mounts.
2777
27782005-02-16  Erez Zadok  <ezk@cs.sunysb.edu>
2779
2780	* README.osx: new file with some instructions for Mac OS-X users,
2781	courtesy Kevin Layer.
2782
2783	* amd/get_args.c (get_args): move call to switch_to_logfile()
2784	after processing -v, so we don't print "no logfile defined; using
2785	stderr" when we're about to print version info and exit anyway.
2786
2787	* minor new port: powerpc-ibm-aix5.3.0.0.
2788
2789	* hlfsd/hlfsd.c (main): rewrite code to avoid negative array
2790	references.
2791
2792	* conf/checkmount/checkmount_aix.c: remove extern definition for
2793	mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
2794
2795	* amd/info_union.c (union_reload): rewrite code to avoid negative
2796	array references.
2797
2798	* amd/opts.c (split_opts, expand_op): rewrite code to avoid
2799	negative array references.
2800
2801	* conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
2802	since AIX 5.3 has it in <sys/vmount.h>.
2803
2804	* libamu/xutil.c (real_plog): rewrite code to avoid negative array
2805	references.
2806
2807	* libamu/wire.c (is_network_member): rearrange code slightly to
2808	avoid negative array references (AIX 5.3 xlC 7.0 compiler
2809	complains about it).
2810
28112005-01-26  Erez Zadok  <ezk@cs.sunysb.edu>
2812
2813	* doc/am-utils.texi (xhost Selector Function): document new
2814	selector function.
2815
2816	* amd/opts.c (f_xhost): new function for use when matching the
2817	"host" selector for the current host's name.  This function will
2818	now match the primary host name as well as all known aliases
2819	(CNAMES) that gethostbyname() returns.  This function now supports
2820	a new function selector called xhost(ARG); the old host==ARG
2821	selector is unharmed.
2822
28232005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2824
2825	* NEWS: document the ability to restart old mount points
2826
2827	* amd/map.c (mount_auto_node): force the fileid of the
2828	root to be 1, so that it won't change between restarts; use the
2829	root filesystem's own methods instead of hard-coding the use of
2830	the default methods
2831
2832	* conf/transp/transp_tli.c (create_nfs_service): better cleanup on
2833	error conditions.
2834	(bind_resv_port2): allow the caller to request a certain port.
2835
2836	* conf/transp/transp_sockets.c (bind_resv_port): allow the caller
2837	to request a certain port.
2838	(create_nfs_service): better cleanup on error conditions.
2839
2840	* amd/restart.c (restart_automounter_nodes): new function, takes
2841	care of restarting automounter NFS mount points (autofs will come
2842	later).
2843	(restart): skip all automounter mount points.
2844
2845	* amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
2846	implementation: if the path to the node is shorter than sizeof(fh)
2847	chars (currently 32 chars for a NFSv2 fh), simply store it inside
2848	the fh. For longer paths, keep the old implementation.
2849
2850	* amd/nfs_start.c (mount_automounter): reorder things so that
2851	restarting the toplvl filesystems occurs before anything else (so
2852	that we can grab all the ports we need before we accidentally use
2853	them for something else).
2854
2855	* amd/mntfs.c (locate_mntfs): remove dead code; add special
2856	handling of restarted toplvl filesystems.
2857
2858	* amd/mapc.c (root_keyiter): fix up a comment.
2859
2860	* amd/map.c (path_to_exported_ap): new function, searches for and
2861	returns a node by the path to it.
2862	(get_root_nfs_fh): remove unnecessary fiddling with the root fh.
2863
2864	* config.guess.long: support Red Hat Enterprise Linux
2865
28662005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2867
2868	* libamu/util.c (rmdirs): prevent amd from logging 'Read-only
2869	filesystem' errors when the mount point has an ancestor (i.e. '/')
2870	that is mounted read-only.  Patch from David Rage <rage@ucl.ac.uk>.
2871
28722005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2873
2874	* conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
2875	autofs space hack
2876
2877	* conf/umount/umount_default.c (umount_fs): there is no need for
2878	HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
2879
28802005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2881
2882	* doc/am-utils.texi (Automatic Unmounting): document new umount2()
2883	behavior on Linux.
2884
2885	* conf/umount/umount_linux.c (umount_fs): new file.  On Linux, if
2886	umount(2) failed with EIO or ESTALE, try umount2(2) with
2887	MNT_FORCE+MNT_DETACH.  Based on patch from Christos Zoulas
2888	<christos@zoulas.com>.
2889
2890	* m4/macros/check_umount_style.m4: pick new linux umount style.
2891
2892	* Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
2893	file.
2894
28952005-01-16  Erez Zadok  <ezk@cs.sunysb.edu>
2896
2897	* conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
2898	m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
2899	of "nfs_args" test.
2900
29012005-01-13  Erez Zadok  <ezk@cs.sunysb.edu>
2902
2903	* amd/get_args.c (show_usage): separate function to print usage
2904	string.
2905	(get_args) Call show_usage() from get_args when needed, then exit.
2906
2907	* amd/get_args.c (get_version_string): print also domain, host,
2908	and hostd.
2909	(get_args): print version string at the very end, after all other
2910	values had been initialized.  Patch from Christos Zoulas
2911	<christos@zoulas.com>.
2912
2913	* conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
2914	conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
2915	in timeouts in the RPC code between socket and TLI
2916	implementations.  The clntudp_create timeout has a different
2917	meaning than the clnt_call timeout.  Set the timeout of the create
2918	to 2 seconds which means retry if no answer in two seconds, and
2919	the timeout call to 6 seconds, which will give us consistently 2
2920	to 3 pings.  This is useful on occasional network UDP loss where a
2921	single packet loss would wrongfully mark a server down.  (The TLI
2922	code is the one that had the problem occurs.)  Patch from Christos
2923	Zoulas <christos@zoulas.com>.
2924
2925	* libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
2926	compiles even for systems that don't have the nfs_args
2927	ac{reg,dir}{min,max} fields.
2928
2929	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
2930	add "noac" if amd.conf option auto_attrcache was set to 0.  This
2931	should hopefully make the compute_nfs_attrcache_flags patch even
2932	safer.
2933
2934	* libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
2935	function to compute attribute-cache values.  This function now
2936	computes attribute-cache flags for BOTH Amd's automount points
2937	(NFS) as well as any normal NFS mount that Amd performs.
2938	(compute_nfs_args, compute_automounter_nfs_args): call
2939	compute_nfs_attrcache_flags to figure out attribute-cache related
2940	flags.  Patch from Christos Zoulas <christos@zoulas.com>.
2941
2942	* scripts/amd.conf-sample: show examples of new global options
2943	domain_strip and auto_attrcache.
2944
2945	* scripts/amd.conf.5: document new global options domain_strip and
2946	auto_attrcache.  Add warning to auto_attrcache use in case of
2947	ESTALE.
2948
2949	* doc/am-utils.texi: minor cleanups and document new global
2950	options domain_strip and auto_attrcache.  Add warning to
2951	auto_attrcache use in case of ESTALE.
2952
2953	* amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
2954	option auto_attrcache.
2955	(gopt_domain_strip): parse new global amd.conf option
2956	domain_strip.  Part of a patch from Christos Zoulas
2957	<christos@zoulas.com>.
2958
2959	* amd/autil.c (host_normalize): don't call domain_strip()
2960	unconditionally, but depend on the new global amd.conf flag
2961	domain_strip.
2962
2963	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
2964	set attribute cache timeout value given other configured global
2965	defaults.
2966	(amfs_toplvl_mount): set automount point attribute cache option
2967	value to "noac" if attrcache=0, else set it to whatever
2968	set_auto_attrcache_timeout() returns.
2969
2970	* amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
2971	if to strip the domain from the host name or not, default options
2972	set to strip the domain.
2973	Store global value of automount attribute cache timeout value.
2974
2975	* amd/amd.c (init_global_options): add flag to record automount
2976	point attribute cache value.
2977
2978	* amd/amd.c (do_memory_locking): new function to encapsulate all
2979	of the memory-locking functionality, which was in main() before.
2980	Also added a call to madvise(), just in case.
2981	(main): call do_memory_locking() to pin process memory if amd.conf
2982	asked for it, but do so after the main Amd process daemonizes,
2983	because mlock/mlockall is not inherited by fork() by default.
2984	Slightly restructured patch from Jonathan Chen
2985	<jon+amd@spock.org>.
2986
2987	* configure.in: check for madvise(2).
2988
2989	* config.guess, config.sub: updates for latest official GNU
2990	versions.
2991
2992	* m4/GNUmakefile: update paths to "make update"
2993
29942005-01-12  Erez Zadok  <ezk@cs.sunysb.edu>
2995
2996	* conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
2997	that's compatible for HPUX11 as well as NFSv3.
2998
2999	* include/am_defs.h: On AIX 5.2, both <resolv.h> and
3000	<arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
3001	-D_USE_IRS (so that we get extern definitions for hstrerror() and
3002	others).  So undef MAXDNAME before it gets redefined.
3003
3004	* include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
3005	<sys/acl.h>, which is included in many other header files.
3006	<rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes.  So if you're
3007	unlucky enough to include both headers, you get a compile error
3008	because the two symbols conflict.  Temp hack: undefine acl.h's
3009	GROUP_OBJ before including nis.h, because we don't need acl.h for
3010	am-utils.
3011
3012	* m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
3013	certain extern definitions of resolver functions become available.
3014
3015	* amd/opts.c (expand_op): use #define for expand_error string
3016	because some compilers complain about the use of static const
3017	char[] inside a varargs function.
3018
3019	* minor new port i386-unknown-netbsdelf1.6.2.
3020
3021	* new port i386-unknown-netbsdelf2.0.
3022
3023	* minor port i386-unknown-freebsd5.3.
3024
3025	* libamu/mount_fs.c (compute_nfs_args): don't compare
3026	nap->maxgrouplist against NULL but against 0 directly, because on
3027	FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
3028	about a type mismatch.
3029
3030	* minor port i386-pc-linux-fc3 (Fedora Core 3).
3031
30322005-01-11  Erez Zadok  <ezk@cs.sunysb.edu>
3033
3034	* hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
3035	FC3 doesn't have proper extern definition for the defunct
3036	sigpause().
3037
3038	* configure.in: look for sigsuspend().
3039
30402005-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3041
3042	* updated copyright year to 2005 on all files.
3043
30442004-11-29  Erez Zadok  <ezk@cs.sunysb.edu>
3045
3046	* scripts/amd.conf.5: Small fixes to typos in man page, from
3047	Thomas Klausner <tk@giga.or.at>.
3048
30492004-10-22  Erez Zadok  <ezk@cs.sunysb.edu>
3050
3051	* ldap.schema: add this file to distribution.
3052
30532004-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
3054
3055	* doc/am-utils.texi: fix old URLs.
3056
30572004-09-01  Erez Zadok  <ezk@cs.sunysb.edu>
3058
3059	* conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
3060	multiple calls to mntctl().  Patch suggested by Michael van Elst
3061	<M.van.Elst@science-computing.de>.
3062
30632004-08-07  Erez Zadok  <ezk@cs.sunysb.edu>
3064
3065	* doc/am-utils.texi (Program Filesystem): document how to get
3066	double slashes in Amd maps.
3067
3068	* amd/opts.c (normalize_slash): support escaped slashes, needed
3069	for SMB mounts.  Use '\\\/\\\/' in a string to get a double slash.
3070
30712004-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
3072
3073	* amd/amfs_program.c (amfs_program_match): bug fix.  Complain if
3074	both opt_unmount and opt_umount are missing, not when just one of
3075	them is missing.
3076
30772004-08-03  Erez Zadok  <ezk@cs.sunysb.edu>
3078
3079	* amq/pawd.c (find_mt): recognize "linkx" type mounts.  Patch from
3080	Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>.  Support "nfsx" while
3081	we're at it.
3082
3083	* doc/am-utils.texi: mention bugzilla.  Fix broken URL HREF's.
3084
30852004-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
3086
3087	* amq/pawd.c (find_mt): recognize "host" type mounts.  Patch from
3088	Dan Nelson <dnelson@allantgroup.com>.
3089
30902004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3091
3092	* doc/am-utils.texi, NEWS: minor typos fixed.
3093
30942004-07-30  Erez Zadok  <ezk@play.cs.columbia.edu>
3095
3096	* include/am_xdr_func.h: cannot have field-less structure; put a
3097	dummy field in.
3098
3099	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
3100	2nd arg of xdr_u_int to a u_int*, not int*.
3101	(autofs_mount_2_req): don't use C++ // comments.
3102
31032004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3104
3105	* m4/macros/{try_compile_anyfs,check_field}.m4: include
3106	<fs/msdosfs/msdosfsmount.h> if it exists.  Part of a set of
3107	FreeBSD 5 patches from Martin Blapp <mb@imp.ch>.
3108
3109	* include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
3110	exists.
3111
3112	* amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
3113	0777 by default.
3114
3115	* configure.in: check for pcfs_args_t.dirmask field.  Check for
3116	existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
3117
31182004-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
3119
3120	* minor new port: i386-pc-linux-fc2 (Fedora Core 2).
3121
3122	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
3123	unless the function exists in libldap and the extern is in
3124	<ldap.h>.  Recently, openldap removed the extern from ldap.h, but
3125	left the function in libldap, for binary compatibility; however
3126	ldap_enable_cache and related functions have been deprecated (and
3127	no longer listed in the header files), and therefore should be
3128	avoided.
3129
3130	* m4/macros/check_extern_ldap.m4: new macro to check for
3131	LDAP-specific externs.  This is separate from check_extern.m4 so
3132	as to avoid breaking the general-purpose macro with LDAP-specific
3133	headers.
3134
3135	* m4/macros/header_templates.m4: extern template for new
3136	HAVE_EXTERN_LDAP_ENABLE_CACHE.
3137
3138	* configure.in: call new check_extern_ldap.m4 macro.
3139
3140	* Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
3141	macro.
3142
3143	* config.guess.long: distinguish between redhat and fedora-core
3144	releases.
3145
31462004-07-23  Erez Zadok  <ezk@cs.sunysb.edu>
3147
3148	* Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
3149	8.2.  This systems' latest GCC (gcc version 3.3 20030226
3150	prerelease) correctly caught a lot of possibly bad comparisons
3151	between signed and unsigned quantities.
3152
3153	* hlfsd/homedir.c (table_add, plt_search): changed first arg of
3154	both functions to u_int.
3155
3156	* hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
3157	Changed proto for plt_search arg to u_int.
3158
3159	* amq/amq.c (show_mi, main): change 'i' to u_int.
3160
3161	* amq/pawd.c (find_mlp): change 'i' to u_int.
3162
3163	* amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
3164	u_int.
3165
3166	* amd/amd.h: change prototype of vreaddir and amfs_error_readdir
3167	to use u_int count parameter.
3168
3169	* amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
3170	(amfs_error_readdir): change 'count' parameter in proto to u_int.
3171
3172	* amd/amd.h: change proto of amfs_generic_readdir() to use u_int
3173	count parameter.
3174
3175	* amd/readdir.c (make_entry_chain): preflen should be u_int.
3176	(amfs_readdir_browsable): change 'count' to u_int.
3177	(amfs_generic_readdir): change 'count' to u_int.
3178
3179	* amd/amd.h: amu_global_options's portmap_program field should be
3180	u_long, not int (to match RPC conventions).  Change am_fh's
3181	fhh_gen field to u_int, to match am_gen field in struct am_node.
3182
3183	* amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
3184	to avoid size differences.
3185
3186	* conf/mount/mount_linux.c (find_unused_loop_device): cast to int
3187	to avoid comparison between chars and integers.
3188
3189	* libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
3190	comparisons between signed and unsigned integers.
3191
31922004-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
3193
3194	* minor new port: i386-pc-linux-suse9.1.
3195
3196	* include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
3197	because SuSE wants __kernel_old_dev_t.  Instead, just define it
3198	directly to what they both use: an unsigned short.
3199
32002004-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
3201
3202	* minor new port: i386-unknown-freebsd4.10
3203
32042004-04-29  Ion Badulescu  <ionut@moisil.badula.org>
3205
3206	* amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
3207	mountpoints for autofs-based sublinks the right way
3208
32092004-04-28  Ion Badulescu  <ionut@moisil.badula.org>
3210
3211	Fixes for various memory management problems discovered by
3212	Rainer's purify run:
3213
3214	* conf/transp/transp_tli.c (check_pmap_up): zero out struct
3215	timeval before using;
3216	(get_nfs_version): ditto
3217
3218	* amd/map.c (umount_exported): make sure we don't try to free the
3219	same am_node multiple times, by setting its corresponding
3220	exported_ap slot to null
3221
3222	* amd/get_args.c (get_version_string): a static pointer is pretty
3223	pointless, make it automatic
3224
3225	* amd/conf.c (gopt_debug_options): remove unnecessary strdup();
3226	(gopt_log_options): ditto
3227	(gopt_print_version): free version string after using it
3228
3229	* amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
3230	it
3231
3232	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
3233	(amfs_lookup_mntfs): free def_opts on return
3234
3235	* amd/amd.c (daemon_mode): zero out struct sigaction before using
3236	it;
3237	(main): ditto
3238
32392004-04-27  Ion Badulescu  <ionut@moisil.badula.org>
3240
3241	* amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
3242	the real mount of an autofs-based sublink
3243
32442004-04-25  Ion Badulescu  <ionut@moisil.badula.org>
3245
3246	* amd/map.c (free_map_if_success): avoid dereferencing a pointer
3247	to potentially freed memory
3248
32492004-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
3250
3251	* minor new port: i386-unknown-freebsd5.2.1.
3252
32532004-01-30  Ion Badulescu  <ion@guppy.limebrokerage.com>
3254
3255	* scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
3256
32572004-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
3258
3259	* minor new port: sparc64-unknown-linux-deb3.0
3260
3261	* config.guess.long: recoognize Debian Linux.
3262
32632004-01-22  Erez Zadok  <ezk@cs.sunysb.edu>
3264
3265	* conf/transp/transp_tli.c (amu_get_myaddress): use
3266	htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
3267	available.
3268
32692004-01-21  Erez Zadok  <ezk@cs.sunysb.edu>
3270
3271	* wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
3272	parameter to amu_get_myaddress().
3273
3274	* conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
3275	localhost_address amd.conf parameter, if defined (else default to
3276	HOST_SELF_CONNECT).
3277	Removed htonl() around socket address copying (I think it was
3278	wrong) since plog("My IP address is...") in amd.c was printing
3279	addresses wrong on Solaris x86..
3280
3281	* conf/transp/transp_sockets.c (amu_get_myaddress): comment out
3282	old DEBUG code that warns if 127.0.0.1 isn't the same as what
3283	get_myaddress() reports.  Add code to resolve value of
3284	localhost_address amd.conf parameter, if defined (else default to
3285	127.0.0.1).
3286
3287	* amd/conf.c (gopt_localhost_address): new function to parse
3288	amd.conf parameter localhost_address.
3289
3290	* amd/amd.h: global field to store amd.conf localhost_address
3291	parameter.
3292
3293	* amd/amd.c (main): call amu_get_myaddress with global option,
3294	which could have been set in amd.conf.
3295
3296	* NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
3297	scripts/amd.conf.5: document new option localhost_address.
3298
32992004-01-20  Ion Badulescu  <ionut@moisil.badula.org>
3300
3301	* amd/conf.c (gopt_nfs_allow_insecure_port): support function for
3302	the new "nfs_allow_insecure_port" amd.conf directive
3303
3304	* amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
3305	port and drop the request only if the "nfs_allow_insecure_port"
3306	option is not set in amd.conf
3307
3308	* doc/am-utils.texi (Global Parameters): documented the new
3309	amd.conf directive "nfs_allow_insecure_port"
3310
3311	* scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
3312
3313	* scripts/amd.conf-sample (nfs_allow_insecure_port): added the
3314	"nfs_allow_insecure_port" directive
3315
33162004-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
3317
3318	* doc/am-utils.texi: amd-workers is defunct.
3319
33202004-01-19  Erez Zadok  <ezk@cs.sunysb.edu>
3321
3322	* cvs-server.txt: updated instructions
3323
33242004-01-18  Erez Zadok  <ezk@cs.sunysb.edu>
3325
3326	* minor new port: i386-unknown-freebsd5.2.
3327
33282004-01-05  Erez Zadok  <ezk@cs.sunysb.edu>
3329
3330	* MIRRORS.{txt,html}: verify each mirror site, update to new
3331	locations (if found), and remove stale mirrors URLs.
3332
3333	* updated copyright year to 2004 on all files.
3334
33352004-01-03  Erez Zadok  <ezk@cs.sunysb.edu>
3336
3337	* MIRRORS.txt: track status.
3338
3339	* Makefile.am (install-snapshot): new directory to install
3340	snapshots (now that am-utils home page is moved).
3341
33422004-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
3343
3344	* INSTALL, README.autofs: remove forced text-mode.
3345
3346	* doc/am-utils.texi: fix Amd book URL.
3347
3348	* Makefile.am (EXTRA_DIST): include new mirror files in tarball.
3349
3350	* AUTHORS, BUGS, README, README.y2k, configure.in,
3351	doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
3352	and mailing lists.
3353
3354	* MIRRORS.{html,txt}: updates.
3355
3356	* doc/Makefile.am: install mirror lists officially.
3357
33582004-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3359
3360	* tasks: things to do after migrating ftp/Web sites.
3361
33622003-12-09  Erez Zadok  <ezk@cs.sunysb.edu>
3363
3364	* fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page.  Bug
3365	report from Eric S. Raymond <esr@thyrsus.com>.
3366
33672003-11-18  Erez Zadok  <ezk@cs.sunysb.edu>
3368
3369	* Makefile.am (EXTRA_DIST_M4): exclude removed file
3370	m4/macros/struct_nfs_fh3.m4 from distro.
3371
33722003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3373
3374	* libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
3375	FHSIZE3 (may be undefined).
3376
33772003-10-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
3378
3379	Compile fix for Solaris7 with LDAP:
3380
3381	* include/am_defs.h: moved the ldap headers before am_nfs_prot.h
3382	to facilitate using ldap types in it
3383
3384	* conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
3385	definitions that Sun left out of their headers
3386
33872003-10-24  Ion Badulescu  <ionut@moisil.badula.org>
3388
3389	* conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
3390	definitions, they are now defined globally
3391
3392	* libamu/xdr_func.c: unconditionally define all xdr functions
3393	needed for NFSv3, but with an am_ prefix to prevent namespace
3394	collisions
3395
3396	* amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
3397	libamu/mount_fs.c: added the am_ prefix to all
3398	structures and functions having to do with NFSv3 to prevent
3399	namespace collisions
3400
3401	* include/am_utils.h: moved definition of am_nfs_handle to ...
3402
3403	* include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
3404	am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
3405	am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
3406	am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
3407	am_LOOKUP3res here; remove cross-platform compile helper macros
3408	AMU_LOOKUP3RES_*.
3409
3410	* include/am_defs.h: include am_xdr_func.h before am_utils.h to
3411	provide definitions for NFS filehandles
3412
3413	* amd/amd.h: removed declaration for xdr_mountres3
3414
3415	* doc/am-utils.text: minor warning fix
3416
3417	* BUGS: document the autoconf warnings when trying to compile
3418	system header files in isolation
3419
34202003-10-23  Ion Badulescu  <ionut@moisil.badula.org>
3421
3422	* m4/macros/struct_nfs_fh3.m4: removed, not needed
3423
3424	* configure.in: check if struct mounta has the optptr field;
3425	removed all NFSv3-related checks, we implement everything
3426	internally now
3427
3428	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
3429	touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
3430
34312003-10-22  Ion Badulescu  <ionut@moisil.badula.org>
3432
3433	* m4/macros/struct_nfs_fh3.m4: removed, not used anymore
3434
3435	* libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
3436	comments
3437
3438	* configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
3439	always use our own
3440
34412003-10-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3442
3443	* BUGS: document the limitations of bind mounts on Linux
3444
34452003-10-21  Ion Badulescu  <ionut@moisil.badula.org>
3446
3447	* buildall: added support for -i (make install)
3448
34492003-10-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3450
3451	* NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
3452	* INSTALL: Mention its test status.
3453
34542003-10-16  Erez Zadok  <ezk@cs.sunysb.edu>
3455
3456	* amd/ops_nfs.c (nfs_init): declare as static to match forward
3457	definition at top of file.
3458
3459	* conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
3460	added missing definitions for LOOKUP3res, diropargs3, etc.
3461
34622003-10-15  Erez Zadok  <ezk@cs.sunysb.edu>
3463
3464	* libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
3465	libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
3466	(got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
3467	webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
3468	cleanup some inconsistencies with how we treat NFSv3 file handles.
3469	Whenever we need to get data out of a filehandle given to us, we
3470	assume that it uses the OS's native fhandle structure
3471	(often struct nfs_fh3).  When we store the fhandle data for our
3472	own use, however, we store it in one of two ways.  The first, is
3473	that we use the system's default nfs_fh3 structure; the second is
3474	that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
3475	through an elaborate autoconf song-and-dance to "discover" it as a
3476	native fh3 handle structure).  It appears that we do the latter,
3477	instead of using the system's default fhandle structure, simply to
3478	avoid extra malloc's and free's, because whereas nfsv2's fhandle
3479	structure is a simple 32-byte buffer, nfsv3's fhandle structures
3480	often just define a "char *" for the fhandle data, and the caller
3481	must malloc/free the space inside as needed.  Our code was never
3482	written with constructor/destructor callbacks for these nfsv3
3483	filehandles.  Moreover, we carefully wrote our own am_nfs_fh3
3484	structure so IT JUST SO HAPPENS to align with most (hopefully all)
3485	of the fhandle structures for v3: first four bytes are the length
3486	fields and the next four bytes are the fhandle data.  Sigh.
3487	Having this inconsistent use of v3 filehandles can be a real bear,
3488	because we simply cannot avoid using the system's default fhandle
3489	structure indirectly, through things like diropargs3 in
3490	xdr_diropargs3(), which has inside of it a reference to the
3491	system's default nfs_fh3 structure.  ANYWAY, the current fix I've
3492	come up with is to generalize the way we dereference field names
3493	within the nfs_fh3 structure (whether ours or the system's) and
3494	the same for the system's LOOKUP3res structure.  I'm not pleased
3495	with this fix; I'd rather we don't use our own am_nfs_fh3
3496	structure at all.
3497
3498	* libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
3499	function if we have NFS3, because we often use our own,
3500	incompatible am_nfs_fh3 structure.
3501
3502	* include/am_xdr_func.h: We cannot use the native system's
3503	xdr_nfs_fh3 because we are defining our own incompatible
3504	am_hfs_fh3 structure for some systems.
3505
3506	* include/am_xdr_func.h: Define default values for field names of
3507	struct nfs_fh3 and LOOKUP3res.
3508
3509	* doc/am-utils.texi (debug_options Parameter): minor typo fixed.
3510
3511	* conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
3512	names for struct nfs_fh3 and LOOKUP3res, so override the default
3513	names here.
3514
3515	* configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
3516	AMU_STRUCT_NFS_FH3, because the latter depends on the former.
3517
3518	* amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
3519	and clarify if-the-else clauses.
3520
35212003-10-13  Ion Badulescu  <ionut@moisil.badula.org>
3522
3523	* amd/get_args.c (get_version_string): change "Built by" to
3524	"Configured by", and add a new "Built by" line using the variables
3525	below
3526
3527	* m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
3528	BUILD_DATE to build_version.h
3529
3530	* amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
3531	must be initialized even for them, otherwise we lose opt_sublink
3532	(and perhaps other options as well). Report from Rainer Orth.
3533
3534	* amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
3535	pointer dereferencing was a bit too aggressive and could end up
3536	not processing the sublink option if the filesystem was already
3537	mounted.
3538
35392003-10-11  Ion Badulescu  <ionut@moisil.badula.org>
3540
3541	Fix restarted filesystem by disabling the amfs_inherit filesystem
3542	and moving the restarting logic into the generic code. The old
3543	code is still there, will be removed sometime in the near future.
3544
3545	* amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
3546	return the pointer to the restarted filesystem
3547	(free_mntfs): check for the MFF_RESTART flag instead of the
3548	amfs_inherit ops
3549
3550	* amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
3551	filesystem is in use
3552
3553	* amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
3554	filesystem is not being restarted
3555	(amfs_nfsx_remount): if the filesystem is already mounted,
3556	short-circuit the code and just continue
3557
3558	* amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
3559	filesystem is not being restarted; remove hack that was used to
3560	work around an amfs_inherit problem
3561
35622003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3563
3564	Use WebNFS to obtain file handles for mount(2).
3565
3566	* NEWS: Document WebNFS support.
3567
3568	* configure.in: Check for public mount option.
3569	* include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
3570	* doc/am-utils.texi (opts Option): Renamed webnfs to public,
3571	update description.
3572
3573	* amd/amd.h (FSF_WEBNFS): New mntfs flag.
3574	* include/am_utils.h (RPC_XID_WEBNFS): New XID type.
3575
3576	* amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
3577	WebNFS mount/umount attempts.
3578	* amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
3579	(got_nfs_fh_webnfs): New function.
3580	(flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
3581	(prime_nfs_fhandle_cache): Likewise.
3582	Remove unconditional return of public file handle for WebNFS, but
3583	get NFS file handles via mountd or WebNFS instead.
3584	(webnfs_lookup): New function.
3585	(nfs_umounted): Don't inform mountd if MFF_WEBNFS.
3586	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
3587	packets.
3588	* amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
3589	WebNFS servers.
3590	Mention host in info message.
3591	(find_nfs_srvr): Handle public mount option.
3592	Prefer NFSv3/tcp if the client supports it.
3593	Allow port mount option to override default or result from portmap
3594	lookup.
3595
3596	* libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
3597	xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
3598	xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
3599	* include/am_xdr_func.h: Declare them.
3600	* configure.in: Check for them.
3601	* conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
3602	definitions and types.
3603
36042003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3605
3606	Support IRIX 6 private mount option.
3607
3608	* configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
3609	name string.
3610	(AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
3611	* aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
3612	MNT2_NFS_OPT_PRIVATE): Provide templates.
3613	* include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
3614	* doc/am-utils.texi (opts Option): Document it.
3615
36162003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3617
3618	* doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
3619	mount option.
3620
36212003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3622
3623	* libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
3624	Don't reference removed fh3.
3625
36262003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3627
3628	* NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
3629
3630	* INSTALL: Mention test status of various ports.
3631	Describe IRIX 6 autofs status.
3632
36332003-10-09  Ion Badulescu  <ionut@moisil.badula.org>
3634
3635	* NEWS: updated
3636
3637	* amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
3638	we've done all the tests and we know we have a valid and mountable
3639	mntfs. Otherwise we could end up dereferencing null pointers.
3640
3641	* amd/amd.h: fixed a copy&paste comment bug
3642
3643	* amd/am_ops.c (ops_match): minor code cleanup
3644
3645	* doc/am-utils.texi: fixed various typos; added warning about the
3646	racy nature of nfsx; removed duplicated listing of debug options;
3647	added paragraph about signals supported by hlfsd; removed the long
3648	list of (maybe) supported platforms since it duplicates the list
3649	in INSTALL.
3650
36512003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3652
3653	Simplify FD_SET etc. use.
3654
3655	* include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
3656	if missing.
3657	(rpc_pending_now, run_rpc): Use them.
3658	* configure.in: Check for fds_bits field in fd_set.
3659	* amd/nfs_start.c (run_rpc): Use it.
3660
36612003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3662
3663	Improve RPC XID handling.
3664
3665	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
3666	Convert xid to/from host/network byte order.
3667
36682003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3669
3670	Use NFS V2/V3 file handles instead of mount results.
3671
3672	* include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
3673	only, not MOUNTPROC_MNT results.
3674	* amd/amfs_host.c (fetch_fhandle): Use local variables to store
3675	MOUNTPROC_MNT results.
3676	* amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
3677	* amd/ops_nfs.c (struct fh_cache): New member fh_status.
3678	(got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
3679	Store MOUNTPROC_MNT errors in fh_status.
3680	(prime_nfs_fhandle_cache): Get fh_error from fh_status.
3681	* hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
3682	* libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
3683	handles straight from new am_nfs_fhandle_t.
3684
36852003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3686
3687	* amd/clock.c (CID_ALLOC): Remove unused argument.
3688	(timeout): Likewise.
3689
3690	* amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
3691	(prime_nfs_fhandle_cache): Likewise.
3692	(call_mountd): Use UDPMSGSIZE instead of magic constant.
3693
3694	* amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
3695	(fwd_packet): Likewise.
3696	Handle TLOOK error from t_rcvudata().
3697
36982003-09-30  Ion Badulescu  <ionut@moisil.badula.org>
3699
3700	* NEWS: updated
3701
3702	* libamu/mount_fs.c (mount_fs): don't try to recreate the mount
3703	point if the mount fails with ENOENT: in the best case we would be
3704	papering over a bug, and in the worst case we could cause a
3705	deadlock (with autofs). If there are races, they need to be
3706	exposed and fixed properly.
3707
3708	* conf/autofs/autofs_solaris_v1.h,
3709	  conf/autofs/autofs_solaris_v2_v3.h,
3710	  conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
3711	semantics don't allow us to mount nfsx directly onto an autofs
3712	mountpoint, so disallow it
3713
3714	* amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
3715	to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
3716	map entries...
3717	(amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
3718	in the upper layer, so don't do anything else beside wakeup() on
3719	success
3720	(amfs_nfsx_remount): only create the mountpoints as we need them,
3721	avoids creating them on the wrong filesystem in the case of
3722	hierarchical mounts; fix crash-generating typo (m should really be
3723	mf and I swear I hate single-character variable names)
3724
3725	* amd/amfs_generic.c (amfs_cont): one more dlog
3726	(amfs_bgmount): amazingly enough, even foreground mounts can be
3727	backgrounded (in the case of nfsx), so account for this
3728	possibility and permit retries
3729
3730	* m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
3731	and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
3732
3733	* amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
3734	@AMU_AUTOFS_PROT_HEADER@
3735
37362003-09-29  Erez Zadok  <ezk@urd.fsl.cs.sunysb.edu>
3737
3738	* minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
3739	PlayStation 2)
3740
3741	* amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
3742	"char protocols[]" unless MNTTAB_OPT_PROTO is defined.
3743
37442003-09-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3745
3746	Consolidate alloca support.
3747
3748	* amd/amq_svc.c: Move alloca support ...
3749	* include/am_defs.h: ... here.
3750	* amd/conf_parse.y: Remove alloca support.
3751	* fsinfo/fsi_gram.y: Likewise.
3752
37532003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3754
3755	Handle Solaris 10.
3756	* m4/macros/check_nfs_prot_headers.m4
3757	(AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
3758	sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
3759	Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
3760
3761	* m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
3762	solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
3763	micro releases to cope with Solaris 2.5.1.
3764	Explicitly match solaris2*, sunos5*.
3765
37662003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3767
3768	* amd/amq_svc.c: Provide alloca prerequisites.
3769
3770	* conf/transp/transp_tli.c (register_autofs_service): Fix typo.
3771
37722003-09-23  Ion Badulescu  <ion@opteron.tower-research.com>
3773
3774	* minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
3775	Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
3776
37772003-09-22  Ion Badulescu  <ionut@buggy.badula.org>
3778
3779	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
3780
37812003-09-19  Ion Badulescu  <ionut@moisil.badula.org>
3782
3783	* amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
3784	enough, we should lstat() the sublink if it's defined.
3785	(amfs_nfsl_ffserver): ditto
3786	(ALL): Removed some obsolete comments. The nfsl code is now little
3787	more than a very straight-forward switch between link and nfs.
3788
3789	* amd/amfs_link.c (amfs_link_match): more up-to-date explanation
3790	for the prepend-the-dot hack for type link; also, the sublink is
3791	already normalized and absolute, so take advantage of that
3792
3793	* amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
3794	already normalized and absolute, so take advantage of that
3795
3796	* amd/am_ops.c (ops_match): normalize the sublink here, early into
3797	the matching process
3798
3799	* amd/autil.c (am_mounted): be consistent and accept both
3800	"nounmount" and "noumount" as pseudo mount options (same as
3801	"unmount" and "umount" nearby)
3802
3803	* amd/Makefile.am (build_version.h): fixed dependencies (depends
3804	on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
3805
38062003-09-19  Erez Zadok  <ezk@dhcp8.fsl.cs.sunysb.edu>
3807
3808	* amd/amq_subr.c (amqproc_export_1_svc): force double casting to
3809	avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
3810	type-punned pointer will break strict-aliasing rules".
3811
38122003-09-16  Ion Badulescu  <ionut@moisil.badula.org>
3813
3814	* Released beta version 6.1b4
3815
38162003-09-15  Ion Badulescu  <ionut@moisil.badula.org>
3817
3818	* doc/am-utils.texi (opts Option): removed documentation for old
3819	ignore_portmapper mount option, documented the new webnfs option
3820
3821	* NEWS: webnfs support
3822
3823	* amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
3824	(former "ignore_portmapper") mount option is present
3825
3826	* amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
3827	filehandle (all zeros) if MFF_WEBNFS is set
3828	(nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
3829
3830	* amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
3831
38322003-09-13  Ion Badulescu  <ionut@moisil.badula.org>
3833
3834	* amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
3835	NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
3836	to create_ping_payload; renamed nfs_pinged to
3837	nfs_keepalive_callback; renamed nfs_timed_out to
3838	nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
3839	made ping_buf and ping_len arrays with one element for each
3840	supported nfs version
3841
3842	* amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
3843
3844	* amd/amfs_host.c (amfs_host_init): ditto
3845
3846	* amd/ops_nfs.c (call_mountd): ditto
3847
38482003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3849
3850	* BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
3851	patches.
3852
38532003-08-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3854
3855	* amd/autil.c (strealloc): don't call malloc_verify() unless it
3856	exists.
3857
3858	* configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
3859	after we figure out PROG_CC and other compiler features, because
3860	some of the option processing macros need a compiler to function.
3861
3862	* libamu/xutil.c: don't define variables that won't be used unless
3863	mallinfo() and malloc_verify() exist.
3864	(real_plog): don't call checkup_mem unless
3865	mallocinfo() and malloc_verify() exist.
3866	(checkup_mem): don't define this function unless mallocinfo() and
3867	malloc_verify() exist.
3868
3869	* m4/macros/opt_debug.m4: check for functions malloc_verify and
3870	mallinfo in general libraries and then in libmapmalloc and
3871	libmalloc.  These seem to have disappeared in FreeBSD 5.x.
3872
3873	* libamu/xutil.c (dxfree): print pointer using %p
3874
38752003-08-29  Erez Zadok  <ezk@a-opendarwin.fsl.cs.sunysb.edu>
3876
3877	* configure.in: start 6.1b4-pre officially (belated)
3878
3879	* minor new port: i686-apple-darwin6.6
3880
38812003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3882
3883	* conf/autofs/autofs_solaris_v1.c: convert relative targets to
3884	absolute paths when using lofs mounts
3885
3886	* conf/autofs/autofs_solaris_v2_v3.c: ditto
3887
3888	* conf/autofs/autofs_linux.c: ditto
3889
38902003-08-27  Ion Badulescu  <ionut@buggy.badula.org>
3891
3892	* README.autofs: added a paragraph about the resource consumption
3893	of auto maps over autofs
3894
3895	* amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
3896	the MFF_IS_AUTOFS flag from init_mntfs() to
3897	amfs_lookup_one_mntfs(), where it belongs
3898
3899	* amd/mntfs.c (init_mntfs): ditto
3900
39012003-08-27  Ion Badulescu  <ion@guppy.limebrokerage.com>
3902
3903	* amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
3904	denied a filehandle by the server (used to be EIO)
3905
39062003-08-27  Erez Zadok  <ezk@a-bsdi42.fsl.cs.sunysb.edu>
3907
3908	* conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
3909
39102003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3911
3912	* conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
3913	daemon-initiated timeouts on autofs filesystems, since apparently
3914	they appear as "always busy" to the kernel-based expiration routine
3915
39162003-08-26  Ion Badulescu  <ionut@buggy.badula.org>
3917
3918	* NEWS: updated
3919
3920	* conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
3921	FS_ON_AUTOFS
3922	(AUTOFS_LINKX_FS_FLAGS): ditto
3923
3924	* conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
3925	FS_ON_AUTOFS
3926	(AUTOFS_LINKX_FS_FLAGS): ditto
3927
3928	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
3929	FS_ON_AUTOFS
3930	(AUTOFS_LINKX_FS_FLAGS): ditto
3931
3932	* amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
3933	original opt_fs, instead store the new mount point for autofs in a
3934	temporary variable and pass it around. Fixes a problem with the
3935	link side of nfsl.
3936
39372003-08-25  Ion Badulescu  <ionut@moisil.badula.org>
3938
3939	* NEWS: updated
3940
3941	* amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
3942	initialize the fh_wchan member of the cache entry
3943	(prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
3944	argument of call_mountd()
3945
3946	* amd/map.c (free_map_if_success): use get_mntfs_wchan for the
3947	wchan_t argument of wakeup()
3948
3949	* amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
3950	wchan_t argument of wakeup_task() and wakeup()
3951
3952	* amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
3953	wchan_t argument of nfs_srvr_port()
3954
3955	* amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
3956	argument of sched_task() and wakeup()
3957	(amfs_retry): minor cleanup
3958	(amfs_bgmount): call nfs_quick_reply on failure
3959
3960	* amd/sched.c (get_mntfs_wchan): new function which calls the
3961	member function get_wchan if defined, otherwise returns the mntfs
3962	pointer itself
3963
3964	* amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
3965	calls get_mntfs_wchan() on the inherited filesystem
3966
3967	* amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
3968	of the ops to 0
3969
3970	* amd/amd.h: new function type vget_wchan
3971	(struct mntfs): new member get_wchan which returns the waiting
3972	channel associated with the mntfs (normally itself)
3973
39742003-08-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3975
3976	* conf/mount/mount_linux.c (parse_opts): minor cleanup
3977
3978	* conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
3979	break in case autofs_ptype_expire_multi
3980
39812003-08-22  Ion Badulescu  <ionut@moisil.badula.org>
3982
3983	* conf/autofs/autofs_solaris_v1.h: undefine autofs support if
3984	autofs_args_t cannot be determined (hopefully fixes a reported
3985	IRIX 6.5.4 problem).
3986
3987	* conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
3988	HAVE_FS_AUTOFS / #endif (see above)
3989
3990	* conf/autofs/autofs_linux.h: undefine autofs support if the
3991	necessary header files are not found (fixes a reported RedHat 6.2
3992	Sparc problem).
3993
3994	* conf/autofs/autofs_linux.c: wrap entire file in #ifdef
3995	HAVE_FS_AUTOFS / #endif (see above)
3996
3997	* libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
3998	if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
3999
4000	* amd/map.c (unmount_mp, unmount_exported): move the code that
4001	changes the fattr from NFLNK to NFDIR from unmount_mp to
4002	unmount_exported, it was causing troubles (ESTALE) after failed
4003	unmounts. This is still very very unclean, but it's the same as the
4004	old 6.0 code.
4005
40062003-08-22  Nick Williams <Nick.Williams@morganstanley.com>
4007
4008	* amd/info_ldap.c (amu_ldap_init): don't try to pass a null
4009	pointer as a string to plog, Solaris (and other OS's) don't like
4010	it and will dump core.
4011
40122003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
4013
4014	* amd/amd.h: introduced two new types, wchan_t and opaque_t, as
4015	aliases of voidp. This makes reading the code easier on the eyes. :)
4016
4017	* ALL: replace various instances of voidp with wchan_t and
4018	opaque_t, as appropriate
4019
40202003-08-13  Ion Badulescu  <ionut@nicu.badula.org>
4021
4022	* NEWS, configure.in: bumped version up to 6.1b4-pre
4023
40242003-08-13  Ion Badulescu  <ionut@moisil.badula.org>
4025
4026	* Released beta version 6.1b3
4027
40282003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
4029
4030	* conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
4031	symlinks for host mounts; assorted fixes for the symlink mode
4032
40332003-08-05  Ion Badulescu  <ionut@moisil.badula.org>
4034
4035	* conf/umount/umount_default.c (umount_fs): enable space hack
4036	handling for autofs v1
4037
4038	* amd/map.c (get_first_exported_ap, get_next_exported_ap): new
4039	functions that facilitate iterating through the list of
4040	mountpoints
4041
4042	* amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
4043	and get_next_exported_ap
4044
4045	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
4046
40472003-08-04  Erez Zadok  <ezk@ulkesh.dyn.optonline.net>
4048
4049	* configure.in: check if system stores mount tables in files
4050	(usually in /etc), and configure couldn't find a definition for
4051	either struct mntent or struct mnttab.  If so, abort configure
4052	because this could be a new/misconfigured system, or a bug in
4053	am-utils.
4054
40552003-08-04  Ion Badulescu  <ionut@moisil.badula.org>
4056
4057	* conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
4058	compile warning
4059
40602003-08-04  Ion Badulescu  <ionut@buggy.badula.org>
4061
4062	* conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
4063	ops->mount_fs() for an already mounted filesystem
4064	(autofs_umount_fs): only call ops->umount_fs() if we're holding
4065	the last reference to the filesystem
4066
4067	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4068	(autofs_umount_fs): ditto
4069
4070	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4071	(autofs_umount_fs): ditto
4072
4073	* amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
4074	already-mounted filesystems
4075	(amfs_cont): only release the autofs_fh if the filesystem is not
4076	mounted; add another comment about the NFS_SCALEDOWN hack
4077	(amfs_bgmount): if the mntfs is already mounted, skip just the
4078	filesystem initialization, but do call mount_node()
4079
4080	* amd/map.c (mount_node): always call autofs_mount_fs(), but only
4081	call ops->mount_fs() if the mntfs is not yet mounted
4082	(unmount_node): always call autofs_umount_fs(), but only call
4083	ops->umount_fs() if the refcount on the mntfs equals 1.
4084
40852003-08-02  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4086
4087	* conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
4088	here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
4089	define dummy struct netexport, and include <ufs/ufs/extattr.h>
4090	wrapped in _KERNEL).
4091
4092	* conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
4093	here with the proper workarounds for freebsd5.1 (define dummy
4094	struct ufs_extattr_per_mount).
4095
4096	* conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
4097	here with the proper workarounds for bsdi2 (define MAXQUOTAS and
4098	dummy struct netexport).
4099
4100	* include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
4101	here, b/c every *BSD system has some sort of problem in including
4102	this header file, which includes ugly workarounds.  Inclusion of
4103	this header was already moved out of am_defs.h (used to compile
4104	amd), but we forgot to move it out of mount_headers1.h (used to
4105	configure).  The specific inclusion of ufsmount.h is now in the OS
4106	specific nfs_prot.h file.
4107
4108	* configure.in: if configure could not find any definition for
4109	"struct nfs_args", abort configure with an explanatory message.
4110	There's no point in continuing, as this could be a system bug,
4111	buggy am-utils, or a new system to which am-utils wasn't ported to
4112	yet.
4113
4114	* minor new port: i386-pc-solaris2.9
4115
41162003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4117
4118	* doc/am-utils.texi (NFS-Link Filesystem): make the documentation
4119	match the code (as well as basic logic operations: the negation of
4120	'a or b' is 'not a and not b', not 'not a or not b')
4121
41222003-08-01  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4123
4124	* minor new port: i386-unknown-openbsd3.3.
4125
4126	* m4/macros/check_libwrap_severity.m4: new macro to check if
4127	libwrap includes the integer variables deny_severity and
4128	allow_severity, since some libwrap implementations do and others
4129	don't.  The test tries to compile and run a simple empty main()
4130	program, then the same program while defining these two variables:
4131	comparing the results of the two tests, we can tell whether we
4132	should define NEED_LIBWRAP_SEVERITY_VARIABLES.
4133
4134	* Makefile.am (EXTRA_DIST_M4): distribute new macro
4135	check_libwrap_severity.m4.
4136
4137	* m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
4138	we must define explicitly since we've overridden the
4139	action-if-found in AC_CHECK_LIB(wrap).  Also template for
4140	NEED_LIBWRAP_SEVERITY_VARIABLES.
4141
4142	* amd/amq_svc.c: if libwrap does not include the severity
4143	variables, then define and initialize them here.
4144
4145	* amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
4146	Amd binary.  Other am-utils binaries don't need -lwrap.
4147
4148	* configure.in: if libwrap is found, only define it in @WRAPLIB@,
4149	so we don't automatically link every am-utils binary with -lwrap.
4150	Run test for existence of severity variables in libwrap.
4151
41522003-07-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4153
4154	* conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
4155	and gid.
4156
4157	* configure.in: move check for AC_CHECK_LIB(libwrap) as far down
4158	as possible because on modern tcpwrapper systems such as openbsd,
4159	the caller must provide two symbols: deny_severity and
4160	allow_severity, which determine the logging level of rejected and
4161	requested requests, respectively.  If this check happens too
4162	early, then $LIBS includes -lwrap, which causes many subsequent
4163	tests that need to run a compiled program to fail with missing
4164	symbols.
4165
4166	* m4/macros/header_templates.m4: fix typo in template for
4167	readdirplus.
4168
4169	* configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
4170
4171	* minor new port: i386-unknown-netbsdelf1.6.1.
4172
4173	* configure.in: save state before system-specific tests are run.
4174
4175	* m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
4176	because the compiled test program failed to run.
4177
41782003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4179
4180	* NEWS, README.autofs: updated
4181
4182	* libamu/mount_fs.c (mount_fs): added support for the space hack
4183
4184	* doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
4185	are not expired by default; correct and expand the section
4186	describing the program filesystem
4187
4188	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
4189	FS_ON_AUTOFS for supported filesystems
4190
4191	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
4192	mf->mount_fs()
4193	(autofs_umount_fs): call mf->umount_fs()
4194
4195	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
4196	prototype for malloc()
4197	(AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
4198	supported filesystems
4199
4200	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
4201	for the space hack; call mf->mount_fs()
4202	(autofs_umount_fs): add support for the space hack; call
4203	mf->umount_fs()
4204	(autofs_mount_succeeded): add support for the space hack
4205
4206	* conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
4207	FS_ON_AUTOFS for supported filesystems
4208
4209	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
4210	AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
4211	(autofs_mounted): host mounts are now supported on all autofs
4212	versions, remove the hack to turn it off on v3
4213	(autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
4214	as needed
4215	(autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
4216	success
4217	(ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
4218	'#ifdef autofs_ptype_expire_multi'
4219
4220	* amd/map.c (mount_node): autofs_mount_fs() now calls
4221	mf->mount_fs() internally
4222	(unmount_node): autofs_umount_fs() now calls mf->umount_fs()
4223	internally
4224
4225	* amd/autil.c (am_mounted): minor cleanup
4226
4227	* amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
4228	nfs_fs_flags
4229
4230	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
4231	flag instead of hardcoding filesystem types
4232	(amfs_bgmount): better mount_type logging
4233
4234	* amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
4235	this filesystem can be mounted directly onto an autofs mountpoint
4236
42372003-07-31  Ion Badulescu  <ionut@buggy.badula.org>
4238
4239	* amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
4240	calling amfs_link_ops.umount_fs() for NFS filesystems)
4241	(amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
4242	properly elsewhere
4243	(amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
4244	using link (not NFS)
4245
42462003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4247
4248	* README.autofs: Correct IRIX spelling.
4249	AutoFS support exists only on IRIX 6.
4250	Update IRIX 6 status.
4251
4252	Allow AutoFS V1 support to compile on IRIX 6.
4253	* conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
4254	SVCXPRT * arg.
4255	Remove superfluous \n from dlog messages.
4256	(autofs_unmount_1_req): Likewise.
4257	Switch to get_exported_ap.
4258	(autofs_program_1): Invoke handlers with additional transp arg.
4259	* conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
4260	autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
4261
4262	* conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
4263	AutoFS mounts.
4264	[HAVE_FS_LOFS]: Likewise for lofs mounts.
4265
4266	* conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
4267	Don't disable AutoFS support any more.
4268
4269	* conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
4270	(register_autofs_service): Define autofs_xprt.
4271
4272	* m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
4273	Solaris 8+ comment to mention AutoFS V4.
4274	(irix6*): Enable AutoFS V1 support on IRIX 6.
4275
42762003-07-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4277
4278	* NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
4279	of autofs_use_lofs.
4280
42812003-07-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4282
4283	* amd/ops_efs.c (efs_mount): Replace on_autofs arg with
4284	MFF_ON_AUTOFS flag.
4285	(efs_umount): Likewise.
4286
42872003-07-30  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4288
4289	* conf/umount/umount_bsd44.c (umount_fs): convert to new way of
4290	unmounting which takes autofs into account.
4291
42922003-07-30  Ion Badulescu  <ionut@moisil.badula.org>
4293
4294	* ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
4295	hack; pass a new on_autofs argument to mount/umount function,
4296	based on the MFF_ON_AUTOFS mntfs flag
4297
4298	* NEWS, README.autofs: updated
4299
4300	* scripts/amd.conf.5: document new option autofs_use_lofs
4301
4302	* scripts/amd.conf-sample (autofs_use_lofs): document new option
4303
4304	* m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
4305	the autofs header as amu_autofs_prot.h instead of slurping it into
4306	aux_conf.h
4307
4308	* libamu/mount_fs.c (mount_fs): removed old stub, renamed
4309	mount_fs2 to mount_fs, added new argument on_autofs
4310
4311	* doc/am-utils.texi (Direct Automount Filesystem): document
4312	problems with nfs direct mounts on modern kernels, document good
4313	autofs support for direct mounts on Solaris
4314	(autofs_use_lofs Parameter): document this new option
4315	(browsable_dirs Parameter): note that mount storms are avoided
4316	when using autofs
4317
4318	* conf/umount/umount_bsd44.c (umount_fs): removed old stub,
4319	renamed umount_fs2 to umount_fs
4320
4321	* conf/umount/umount_osf.c (umount_fs): removed old stub,
4322	renamed umount_fs2 to umount_fs, added new argument on_autofs
4323
4324	* conf/umount/umount_default.c (umount_fs): ditto as above; return
4325	an error on ENOENT instead of faking success
4326
4327	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
4328	simplified, now only consults the map for existance of the key and
4329	returns success if key is found
4330	(autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
4331	not on;
4332	(autofs_mount_2_free): implemented
4333	(autofs_unmount_2_req): use get_exported_ap() instead of
4334	referencing export_ap directly
4335	(autofs_mount_succeeded): remove code for replying to lookup
4336	requests, now only mount requests can end up here
4337	(autofs_mount_failed): ditto
4338
4339	* conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
4340	FS_AUTOFS
4341	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4342
4343	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
4344	FS_AUTOFS
4345	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4346	(AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
4347
4348	* conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
4349	factored out of autofs_umount_fs()
4350	(autofs_mount_fs): renamed from autofs_link_mount() and expanded
4351	to deal with filesystems mounted indirectly (via lofs/bind
4352	mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
4353	(autofs_umount_fs): ditto, from autofs_link_umount()
4354
4355	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4356	* (autofs_umount_fs): ditto
4357
4358	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4359	* (autofs_umount_fs): ditto
4360
4361	* amd/opts.c: made fs_static static
4362
4363	* amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
4364	and nfs_umounted static
4365	(mount_nfs_fh): removed unnecessary arguments
4366
4367	* amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
4368	the ffserver method, because using NULL causes problems
4369
4370	* amd/ops_cdfs.c (cdfs_ops): ditto
4371
4372	* amd/ops_efs.c (efs_ops): ditto
4373
4374	* amd/ops_lofs.c (lofs_ops): ditto
4375
4376	* amd/ops_pcfs.c (pcfs_ops): ditto
4377
4378	* amd/ops_ufs.c (ufs_ops): ditto
4379
4380	* amd/ops_xfs.c (xfs_ops): ditto
4381
4382	* amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
4383	map.c
4384
4385	* amd/nfs_start.c: use get_exported_ap() instead of referencing
4386	exported_ap directly
4387
4388	* amd/mntfs.c (locate_mntfs): new function, factored out of
4389	find_mntfs
4390	(locate_mntfs): special-case FS_DIRECT filesystems: for direct
4391	mounts we will have two filesystems mounted on the same m/p
4392	(realloc_mntfs): removed the old EZK hack for failovers
4393
4394	* amd/map.c (get_exported_ap): new function that returns an
4395	exported_ap member by its index
4396	(root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
4397	made static
4398	(fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
4399	(get_root_ap): removed unused second argument
4400	(unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
4401	to catch more cases
4402	(mount_node): call autofs_mount_fs after ops->mount_fs for autofs
4403	nodes
4404	(unmount_node): call autofs_umount_fs before ops->umount_fs for
4405	autofs nodes
4406
4407	* amd/conf.c: new global option "autofs_use_lofs", takes yes/no
4408	values
4409
4410	* amd/autil.c (amfs_mount): take an extra argument (mf)
4411	(amfs_mount): call autofs_compute_mount_flags() for mounts
4412	directly on autofs m/p
4413	(am_unmounted): document and avoid the race between am_umounted()
4414	at shutdown time and amfs_cont()
4415
4416	* amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
4417	instead of referencing internal map variables directly
4418
4419	* amd/amq_subr.c (amqproc_export_1_svc): ditto
4420
4421	* amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
4422	nfs_fs_flags
4423	(amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
4424	(amfs_toplvl_umount): refuse to attempt the unmount if the
4425	mountpoint is not a directory
4426
4427	* amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
4428	flag into the nfs f/s at the bottom of the stack
4429
4430	* amd/amfs_nfsl.c: call nfs and link member functions through
4431	their respective am_ops structures, not directly
4432
4433	* amd/amfs_linkx.c (amfs_linkx_umount): new static stub
4434
4435	* amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
4436	static functions
4437	(amfs_link_mount): removed call to autofs_link_mount()
4438	(amfs_link_umount): removed call to autofs_link_umount()
4439
4440	* amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
4441	nfs_fs_flags
4442	(do_mount): removed superfluous function arguments
4443
4444	* amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
4445	nfs_fs_flags
4446
4447	* amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
4448	nfs_fs_flags
4449	(amfs_auto_mount): pass extra argument (mf) to amfs_mount
4450
4451	* amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
4452	use lofs-mounts or symlinks when mounting on autofs
4453	(CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
4454	(VLOOK_LOOKUP): new flag, will merely check if a key exists
4455	(MFF_IS_AUTOFS): renamed from MFF_AUTOFS
4456	(MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
4457	on an autofs m/p, or indirectly via a lofs mount/symlink
4458	(fh_to_mp2): macro expanded throughout the code and removed
4459	(mntfs): removed mf_real_mount hack
4460	(autofs_mount_fs): renamed from autofs_link_mount
4461	(autofs_umount_fs): renamed from autofs_link_umount
4462	(mount_lofs): exposed
4463	various other cleanups, functions/variables made static and removed
4464
4465	* aux_conf.h.in: removed @am_utils_autofs_style@, it is now
4466	included directly as amu_autofs_prot.h
4467
44682003-07-24  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4469
4470	* doc/am-utils.texi, scripts/amd.conf.5: document that
4471	use_tcpwrappers is "yes" by default.
4472
4473	* amd/amd.c (init_global_options): set default global options.
4474
4475	* amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
4476	are always on (plock and use_tcpwrappers).
4477
4478	* scripts/amd.conf-sample: reorganize values per option so default
4479	one is listed first.
4480
44812003-07-23  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4482
4483	* tasks: trim old stuff.  Discuss new parser.
4484
4485	* amd/conf.c (set_conf_kv): initialize the very first map in conf
4486	file from global defaults.  Bug fix which was introduced after
4487	conf.c code restructuring.
4488
44892003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4490
4491	* m4/macros/header_templates.m4: template for
4492	HAVE_EXTERN_HOSTS_CTL.
4493
4494	* include/am_defs.h: define extern for hosts_ctl() if needed.
4495
4496	* configure.in (AMU_CHECK_EXTERNS): check for extern definition
4497	for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
4498
4499	* m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
4500
45012003-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
4502
4503	* hlfsd/hlfsd.h: redundant extern for mboxfile removed.
4504
4505	* amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
4506	amd.conf global option use_tcpwrappers=yes.
4507
4508	* scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
4509	doc/am-utils.texi (use_tcpwrappers Parameter): document new
4510	amd.conf global option.
4511
4512	* amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
4513	option called use_tcpwrappers ("no" by default).
4514
4515	* amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
4516	code only if both libwrap and tcpd.h exist.
4517	(amq_program_1): log warning when an Amq service client is denied,
4518	and a debug message when a client is allowed.
4519
4520	* amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
4521	(AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
4522
4523	* include/am_defs.h: include tcpd.h if available and libwrap
4524	available.
4525
4526	* configure.in: check for tcpd.h.
4527
45282003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4529
4530	* scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
4531	hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
4532	because it removes useful spaces in between paragraphs.  Based on
4533	smaller patch from Philippe Troin <phil@fifi.org>.
4534
45352003-07-17  Philippe Troin  <phil@fifi.org>
4536
4537	* amq/amq.8: Document the libwrap/amd behavior.
4538
4539	* amd/amq_svc.c (libwrap_check_client): New function to validate
4540	an amq connection with libwrap.
4541	(amq_program_1): Call libwrap_check_client() and close the
4542	connection if libwrap does not allow it.
4543
4544	* configure.in: Check for the tcp wrappers library.
4545
45462003-07-17  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4547
4548	* amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
4549	amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
4550	(hlfsd_init): cast pointers to void* before casting them to
4551	another type, to avoid gcc-3.3 -Wall warnings.
4552
4553	* fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
4554	avoid conflict with builtin function in gcc-3.3.
4555
45562003-07-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4557
4558	* scripts/amd.conf-sample: Remove obsolete comment.
4559
45602003-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
4561
4562	* amd/info_file.c (read_line): check for errors from fgets().
4563	Although rare, they can occur upon disk or network failures.
4564	Patch from Nick Williams <Nick.Williams@morganstanley.com>.
4565
45662003-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4567
4568	* BUGS (Solaris 8): Update patch revisions, mention old autofs
4569	patches, fix filenames and rpcgen command.
4570
45712003-07-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4572
4573	* doc/am-utils.texi (map_defaults Parameter): document new
4574	map_defaults option.
4575
4576	* scripts/amd.conf.5: document new map_defaults option.
4577
4578	* scripts/amd.conf-sample (map_type): show examples of new
4579	map_defaults option.
4580
4581	* amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
4582
4583	* amd/get_args.c (get_args): call process_all_regular_maps().
4584
4585	* amd/conf.c: keep head and tail of cfm list.
4586	(init_cf_map): reworked reset_cf_map.  This one doesn't reset a
4587	globaly reused cfm, but rather just inherits [global] options.
4588	(set_conf_kv): just store global/map options without actually
4589	creating any mnt_map's.  Essentially, we now parse the whole
4590	amd.conf file, and then try to process the maps one at a time.
4591	(process_one_regular_map): new function to process one map, just
4592	renamed from process_regular_map.
4593	(process_all_regular_maps): new exported function to process all
4594	maps.  No need for hacky process_last_map().
4595	(find_cf_map): new exported function to return a cf_map_t given a
4596	map's mount point (e.g., /home or /net).
4597
4598	* amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
4599	specificed a map_defaults for a given map.  If so, use that
4600	instead of the /defaults that came from the map itself.  Also
4601	restructure code a bit so it's not one huge long "if" statement.
4602
4603	HACK ALERT: there's no easy way to find out what the map mount
4604	point is at this point, so I am forced to initialize the
4605	mnt_map->cfm field here for the first time, upon the very first
4606	search for a /defaults entry in this map.  This initialization is
4607	much better done in mapc_create(), but it's impossible to do that
4608	there with the current code structure.
4609
4610	* amd/amd.h: struct cf_map becomes linked list.  struct mnt_map
4611	includes pointer to cf_map_t, amd.conf defaults and options for a
4612	given map. extern cleanups.
4613
46142003-07-15  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4615
4616	* amd/info_hesiod.c (hesiod_search): It's not possible to have a
4617	key such as ".access" in a hesiod map as that would imply a null
4618	node in the DNS tree.  So a lookup for such a key must clearly
4619	fail.  With the current info_hesiod.c it does (after calling
4620	hes{,iod}_resolve) but returns an error that confuses some
4621	programs - eg. apache.  This patch shortcuts the process and just
4622	returns ENOENT for any key starting with ".".  Patch submitted by
4623	by Mark Davies <mark@mcs.vuw.ac.nz>.
4624
4625	* include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
4626	fsinfo's own xcalloc.
4627
4628	* fsinfo/fsi_util.c (xcalloc): remove redundant function.
4629
46302003-07-14  Erez Zadok  <ezk@cs.sunysb.edu>
4631
4632	* include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
4633	xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
4634	never defined.  Define it as needed.  Patch from Mark Davies
4635	<mark@mcs.vuw.ac.nz>.
4636
46372003-07-14  Ion Badulescu  <lionut@gonzales.badula.org>
4638
4639	* BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
4640	v4 without updating all the header files)
4641
46422003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4643
4644	* NEWS, tasks: updated
4645
4646	* amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
4647	the am_mfarray, unconditionally
4648	(amfs_bgmount): call free_mntfs when we're done with a mntfs, call
4649	dup_mntfs when starting processing of a new one; make sure we
4650	always go through 'goto failed' for a failed mntfs; use the error
4651	code returned by autofs_get_fh()
4652
4653	* conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
4654	codes in case of problems
4655
46562003-07-13  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4657
4658	* BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex.  In
4659	short, use flex.
4660
46612003-07-13  Erez Zadok  <ezk@a-hpux11.fsl.cs.sunysb.edu>
4662
4663	* fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
4664	lex scanners don't run out of mem.
4665
46662003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4667
4668	* amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
4669	special provision
4670
4671	* amd/mntfs.c (find_mntfs): compare the filesystem type
4672	(i.e. mf_ops) in addition to mf_info; the special provision
4673	mentioned below is really for any filesystem already mounted on
4674	our mount point, not just for inherited filesystems
4675
46762003-07-13  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4677
4678	* doc/Makefile.am (install-html): build per-chapter HTML manual,
4679	as well as manual in one big HTML file.
4680
4681	* doc/am-utils.texi: Minor corrections.  Ack Ion's autofs work.
4682	Ack maintainers.  New section on How to get additionl info,
4683	including the Amd book.  Correct stale URLs and Emails.
4684
4685	* amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
4686	fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
4687	scripts/amd.conf.5, scripts/automount2amd.8,
4688	wire-test/wire-test.8: include references to info pages, proper
4689	authors, am-utils Web page, and amd book.
4690
46912003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4692
4693	* amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
4694	a special provision for inherited filesystems. This unbreaks the
4695	handling of parallel mounts
4696
4697	* amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
4698	filesystems, there can be no alternative mntfs to try to mount
4699
47002003-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
4701
4702	* amd/amd.8: reference am-utils info page in amd man page, as per
4703	Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
4704
4705	* fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
4706	yywrap() if it doesn't exist.
4707
4708	* amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
4709	fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
4710	newer flex 2.5.31 (beta development).  These include resolving
4711	conflicts with yylineno, unput() vs. nounput(), etc.
4712
47132003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4714
4715	* amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
4716	calling assign_error_mntfs()
4717	(amfs_generic_mount_child): ditto
4718
4719	* amd/autil.c (assign_error_mntfs): move the check for
4720	(am_error > 0) up into the caller, it's less confusing that way
4721
4722	* tasks: some updates
4723
4724	* conf/transp/transp_tli.c (check_pmap_up): new function which
4725	detects if the remote portmapper is functional
4726	(amu_clnt_create_best_version): removed
4727	(get_nfs_version): use a much simplified version of the old
4728	amu_clnt_create_best_version(), based on clnt_create_vers() and
4729	its _timed() counterpart
4730
4731	* conf/transp/transp_sockets.c (check_pmap_up): new function which
4732	detects if the remote portmapper is functional
4733	(pmap_ping): deleted
4734	(get_nfs_version): removed calls to pmap_ping, already done by
4735	caller
4736
4737	* amd/srvr_nfs.c: call check_pmap_up() before continuing with
4738	get_nfs_version()
4739
4740	* amd/amfs_generic.c: updated a couple of log messages
4741
4742	* configure.in: detect clnt_create_vers and clnt_create_vers_timed;
4743	changed LIBTOOL versioning to 3:0:0
4744
47452003-07-12  Ion Badulescu  <lionut@gonzales.badula.org>
4746
4747	* conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
4748	FS_AUTOFS because the host mount cannot be a top level mount
4749	(AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
4750	doesn't support direct mounts
4751
47522003-07-12  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4753
4754	* amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
4755	macros.
4756
47572003-07-10  Ion Badulescu  <ionut@buggy.badula.org>
4758
4759	* include/am_utils.h (dlog): improved version for gcc, using
4760	vararg macros
4761
4762	* amd/rpc_fwd.c (fwd_packet): unused variable when compiling
4763	without debugging
4764
47652003-07-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4766
4767	* include/am_utils.h (dlog): change the #define of non-debugging
4768	dlog to "nothing" so that all that'll be left behind is a list of
4769	args in parenthesis (arg,arg,...).  GCC and other native C
4770	compilers seem OK with it, even if it doesn't optimize away the
4771	whole debugging line.
4772
4773	* ltmain.sh: was from libtool 1.4.2.  updated to libtool 1.4.3,
4774	the latest on RH9 systems (but is not the latest libtool
4775	available).  Stay with stable version in preparation for 6.1
4776	release.
4777
4778	* config.{guess,sub}, doc/texinfo.tex: update to latest off of
4779	ftp.gnu.org.
4780
47812003-07-09  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4782
4783	* amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
4784	style comments: breaks non-C++ compilers (like AIX xlC 6)
4785
47862003-07-02  Ion Badulescu  <ionut@buggy.badula.org>
4787
4788	* doc/am-utils.texi (opts Option): document ignore_portmapper option
4789
4790	* conf/transp/transp_sockets.c (get_nfs_version): better
4791	protocol/version cycling while probing remote server; better log
4792	messages
4793
4794	* amd/srvr_nfs.c (start_ping): improved log message
4795	(find_nfs_srvr): always use requested nfs_version/nfs_proto; make
4796	sure we have a valid NFS port; start the server as "valid, down" if
4797	the remote portmapper tells us the NFS service is not running;
4798	implement the "ignore_portmapper" pseudo-mount option
4799
4800	* amd/rpc_fwd.c (fwd_packet): better debug messages
4801
4802	* amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
4803	denied; call wakeup even if mountd call fails
4804
4805	* amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
4806	instead of checking the flags directly
4807	* amd/srvr_amfs_auto.c (free_srvr): ditto
4808
4809	* amd/amfs_generic.c (amfs_bgmount): refined some error/debug
4810	messages
4811
4812	* amd/amd.h (FSRV_ERROR): new macro
4813	(FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
4814	local filesystem) is always up
4815
48162003-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
4817
4818	* amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
4819	umount options are present.
4820
4821	* doc/am-utils.texi (Program Filesystem): document alias options
4822	to unmount:=, umount:=.
4823
4824	* amd/opts.c (expansions): initialize opt_umount.
4825	(to_free): initialize opt_umount.
4826
4827	* amd/amfs_program.c (amfs_program_match): ensure that only one of
4828	umount:= or unmount:= options are specified, but that at least one
4829	of them is listed.
4830
4831	* amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
4832	annoying in type:program, when one forgets the 'n' in "unmount").
4833	They are two separate fields, so we can catch mistakes when
4834	someone tries to define both options.
4835
4836	* doc/am-utils.texi (Program Filesystem): explain that both mount
4837	and unmount options must be specified.  Correct example to show
4838	both.
4839
48402003-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
4841
4842	* XXX: beginning of new amd.conf option map_defaults: will parse
4843	the option and set remember it in the right places.  Need to
4844	document this and actually hook it up with the rest of the code.
4845	Any volunteers? :-)
4846
4847	* scripts/amd.conf-sample (map_defaults): example of map_defaults
4848	amd.conf option.
4849
4850	* amd/conf.c (reset_cf_map): initialize global and per-mount
4851	map_defaults.
4852	(gopt_map_defaults): parse global map_defaults.
4853	(process_regular_option,ropt_map_defaults): parse per-map
4854	map_defaults amd.conf option.
4855
4856	* amd/amd.h: a place to store global and per-mount map_defaults.
4857
4858	* BUGS: more notes about AIX 5.2 problems and how to overcome
4859	them.
4860
48612003-06-10  Erez Zadok  <ezk@cs.sunysb.edu>
4862
4863	* doc/Makefile.am: force version.texi to be rebuilt regardless of
4864	maintainer mode.  Silly Automake will not build version.texi if
4865	maintainer mode is off (this is hardcoded into the automake perl
4866	script!).  According to the Automake maintainers, users should
4867	always build in CVS trees with maintainer-mode on; but what if I
4868	don't want to?!  I don't want to distribute Makefiles with
4869	maintained rules in them to users.  The Automake maintainers also
4870	say that "make dist" will rebuild version.texi no matter what.  I
4871	find that not to be the case.  It failed to run a "make" before
4872	"make dist" because version.texi doesn't exist!  Chicken and Egg
4873	situation.  So, until Automake deals with version.texi in a more
4874	flexible and friendly manner, I adapted a rule to build
4875	version.texi and inserted it in this Makefile.am.
4876
48772003-06-09  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4878
4879	* mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
4880	next best thing to using mkstemp().  Patch from Hendrik Scholz
4881	<hscholz@raisdorf.net>.
4882
48832003-05-08  Ion Badulescu  <ion@guppy.limebrokerage.com>
4884
4885	* libamu/mount_fs.c (compute_automounter_mount_flags): use
4886	MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
4887
4888	* m4/macros/header_templates.m4: added template for
4889	MNT2_GEN_OPT_AUTOMOUNTED
4890
48912003-05-01  Ion Badulescu  <ionut@nicu.badula.org>
4892
4893	* amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
4894
48952003-04-23  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4896
4897	* conf/transp/transp_sockets.c (create_amq_service): minor cpp
4898	directive indentation and commenting.
4899
49002003-04-22  Ion Badulescu  <ionut@moisil.badula.org>
4901
4902	* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
4903	for an RPC library DoS issue (original patch from Martin Blapp,
4904	massaged into something more digestable by me)
4905
49062003-04-14  Ion Badulescu  <ionut@moisil.badula.org>
4907
4908	* conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
4909	left over from the recent cleanup
4910
49112003-04-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4912
4913	* doc/Makefile.am (DVIPS): use proper options for dvips.
4914
4915	* doc/am-utils.texi (opts Option): document new 'unmount' option,
4916	and better explain the 'nounmount' option.  Also some misc options
4917	for better generation of html manual.
4918
4919	* doc/Makefile.am (install-html): support newer texi2html 4.0
4920	options, as older options were renamed or changed behavior.
4921
4922	* amd/autil.c (am_mounted): support new 'unmount' option, to allow
4923	all file system mounts to timeout and thus expire.  This option is
4924	useful for removable local media such as CD-ROMs, USB drives,
4925	etc. so they can expire when not in use, and get unmounted (such
4926	drives can get work out when they keep spinning).  Patch from
4927	Christos Zoulas <christos@zoulas.com> (originally from Koji
4928	Imada).
4929
49302003-04-10  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4931
4932	* configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
4933	do not get added to Makefiles by default (they are confusing to
4934	users who don't have autotools installed).
4935
49362003-04-09  Ion Badulescu  <ion@guppy.limebrokerage.com>
4937
4938	* amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
4939	the 2001-05-23 entry) back to the 6.0 code
4940
49412003-04-04  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4942
4943	* libamu/xutil.c (switch_to_logfile): don't try to print logfile
4944	if it is null (strlen core dump on solaris).  Bug report from John
4945	P. Rouillard <rouilj@ieee.org>.
4946
49472003-03-31  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4948
4949	* fsinfo/fsinfo.8: typo co-ordinate -> coordinate.  Typo report
4950	from Perry E. Metzger" <perry@piermont.com>.
4951
49522003-03-25  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4953
4954	* include/am_defs.h: Don't include malloc.h if stdlib.h exists,
4955	because modern systems (e.g., BSD) complain if you use malloc.h
4956	instead of stdlib.h.  Let's hope there are no systems out
4957	there that need both.
4958
49592003-03-20  Erez Zadok  <ezk@suse73.fsl.cs.sunysb.edu>
4960
4961	* minor new port: sparc64-unknown-linux-suse7.3.
4962
49632003-03-20  Erez Zadok  <ezk@a-freebsd5.fsl.cs.sunysb.edu>
4964
4965	* minor new port: i386-unknown-freebsd5.0.
4966
4967	* configure.in: detect nfsclient/nfsargs.h.
4968
4969	* conf/nfs_prot/nfs_prot_freebsd3.h: include
4970	<nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
4971
49722003-03-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4973
4974	* amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
4975	scripts/amd.conf.5, scripts/expn.1: minor spell checking and
4976	extraneous space elimination.
4977
49782003-03-07  Ion Badulescu  <ionut@buggy.badula.org>
4979
4980	* conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
4981	descriptors if limit exceeded
4982	(autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
4983	(autofs_release_fh): release pending_mounts and pending_umounts
4984	queues
4985	(autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
4986
4987	* amd/mntfs.c (init_mntfs): delete initialization of removed
4988	mf_autofs_fh
4989	(uninit_mntfs): delete call to autofs_release_fh()
4990
4991	* amd/map.c (init_map): init autofs_fh to 0, delete initialization
4992	of removed autofs_data
4993	(free_map): release autofs_fh after unmounting map; delete call to
4994	autofs_free_data()
4995	(umount_exported): call autofs_release_mp() prior to unmounting
4996	autofs f/s
4997	(unmount_mp): ditto
4998	(free_map_if_success): call autofs_get_mp() if unmounting fails
4999	(timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
5000	timeouts instead of the per-mountpoint am_ttl
5001
5002	* amd/autil.c (am_unmounted): release autofs_fh after unmounting
5003	autofs f/s
5004
5005	* amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
5006	autofs f/s fails;
5007	(amfs_bgmount): ditto
5008
5009	* amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
5010	more related to the mount point than to the f/s mounted;
5011	added am_autofs_ttl to am_node, for running expirations on entire
5012	filesystems
5013
5014	* conf/autofs/autofs_*: autofs_get_fh() returns int instead of
5015	autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
5016	instead of autofs_fh_t *, in an effort to not deal with
5017	autofs-specific data structures outside autofs code;
5018	new methods autofs_get_mp() and autofs_release_mp(), which
5019	acquire/release autofs resources to allow clean unmount attempts;
5020	nuke autofs_data_t, never used
5021
5022	* amd/amd.h: prototypes for new and changed autofs functions
5023
50242003-03-07  Ion Badulescu  <ion@guppy.limebrokerage.com>
5025
5026	* amd/nfs_subr.c (do_readlink): eliminate third argument, never used
5027	(nfsproc_getattr_2_svc): reorganize the code a bit
5028
5029	* amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
5030	am_node * argument
5031
5032	* amd/amd.h: changed prototype for mk_fattr()
5033
5034	* amd/autil.c (am_unmounted): when remounting, use the parent
5035	node's lookup_child() and mount_child() operations, not the
5036	generic ones
5037
5038	* amd/amfs_generic.c (amfs_cont): minor code optimization
5039
50402003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5041
5042	* amd/amfs_auto.c: lots of renames and code moving:
5043	amfs_auto_match() -> amfs_generic_match(), moved to generic;
5044	amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
5045	amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
5046	amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
5047	free_continuation(): moved to generic, made static;
5048	assign_error_mntfs(): moved to autil.c;
5049	amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
5050	amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
5051	try_mount() + mount_node() -> mount_node(), moved to map.c
5052	amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
5053	amfs_parse_defaults(): moved to generic;
5054	amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
5055	amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
5056	amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
5057	amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
5058	amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
5059	next_nonerror_node(): moved to autil.c;
5060	amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
5061	amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
5062
5063	* amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
5064	and moved to autil.c
5065
5066	* amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
5067	out of amd/amfs_auto.c
5068
5069	* amd/amd.h: struct continuation moved to generic.c; prototypes
5070	for the renamed functions; NumChild renamed to NumChildren
5071
5072	* amd/map.c: collaped unmount_node_wrap() and unmount_node() into
5073	the latter
5074
5075	* amd/mapc.c: key_already_in_chain(): moved to readdir.c;
5076	make_entry_chain(): moved to readdir.c;
5077
5078	* amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
5079	amfs_generic_find_srvr()
5080
5081	* amd/amfs_*.c: adjustments for the renames above
5082
5083	* amd/ops_*.c: low-level filesystems don't need a find_server()
5084	method
5085
5086	* amd/Makefile.am: added amfs_generic.c and readdir.c
5087
5088	* doc/am-utils.texi: minor clarification for auto maps
5089
50902003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5091
5092	* amd/amd.h: moved lots and lots of amd-only stuff here, from
5093	include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
5094	to be function typedefs, not pointer to function typedefs
5095
5096	* include/am_utils.h: see above
5097
5098	* amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
5099	function typedef changes
5100
51012003-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
5102
5103	* BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
5104	bug.
5105
51062003-02-02  Erez Zadok  <ezk@siamese.fsl.cs.sunysb.edu>
5107
5108	* NEWS: minor new port: ia64-unknown-linux-rh2.1AS
5109
51102003-01-31  Ion Badulescu  <ion@console.limebrokerage.com>
5111
5112	* m4/macros/os_cflags.m4: rhapsody and darwin are the same
5113
5114	* amd/autil.c (mount_node): vastly simplified, just a wrapper now
5115
5116	* amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
5117	hack, we now do it properly in the generic code
5118
5119	* amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
5120	forking the child; set and reset MFF_MOUNTING here, not in
5121	mount_node(), because the latter might be running in child
5122	context; call am_mounted() after a successful foreground mount
5123
51242003-01-29  Ion Badulescu  <ionut@moisil.badula.org>
5125
5126	* configure.in: new flag --with[out]-ndbm; don't pull in libldap
5127	if building --without-ldap; look for the gdbm/ndbm.h header; make
5128	explicit the dependency between the ndbm headers and libraries;
5129	define NEW_DBM_H as the ndbm header that should be used
5130
5131	* include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
5132	instead of trying to second-guess configure
5133
5134	* m4/macros/header_templates.m4: new template for NEW_DBM_H
5135
5136	* m4/macros/check_map_funcs.m4:
5137	(ac_upcase_map_name): use the third argument correctly
5138
5139	* ltmain.sh: working version from libtool-1.4.2-7
5140
5141	* buildall: print the entire configure command, including extra
5142	arguments; pass each of the extra arguments separately, not
5143	commingled into one
5144
51452003-01-28  Ion Badulescu  <ion@guppy.limebrokerage.com>
5146
5147	* include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
5148	DEBUG; it is not used without DEBUG, but it is referenced at
5149	compile time. Bug report from John Kilburg <john@physics.unlv.edu>.
5150	(D_ALL): don't include D_XDRTRACE, too verbose and normally
5151	unnecessary
5152
51532003-01-28  Erez Zadok  <ezk@cs.sunysb.edu>
5154
5155	* ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
5156	from latest official GNU versions.
5157
51582003-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
5159
5160	* BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
5161	vmount).
5162
51632003-01-25  Ion Badulescu  <ionut@moisil.badula.org>
5164
5165	* Released beta version 6.1b2
5166
51672003-01-24  Ion Badulescu  <ionut@moisil.badula.org>
5168
5169	* amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
5170	calling rmdirs() on mountpoint
5171
5172	* amd/amfs_auto.c (amfs_auto_bgmount): ditto
5173
5174	* amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
5175
5176	* doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
5177
5178	* NEWS: "sftlookup" -> "softlookup"
5179
5180	* amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
5181	check for "nosoftlookup" in combination with "soft"
5182
51832003-01-23  Ion Badulescu  <ion@guppy.limebrokerage.com>
5184
5185	* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
5186	freebsd22 derivative
5187
5188	* NEWS: updated for Darwin changes
5189
5190	* .cvsignore: added A.i386-apple-darwin6.0
5191
5192	* m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
5193	Darwin
5194
51952003-01-23  Erez Zadok  <ezk@cs.sunysb.edu>
5196
5197	* conf/mount/mount_aix.c (mount_aix3): clean back this file from
5198	all the debugging cruft that is no longer needed (and really was
5199	never needed in the first place).
5200
52012003-01-10  Erez Zadok  <ezk@cs.sunysb.edu>
5202
5203	* scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
5204	(map) files for testing basic amd functionality such as whether it
5205	can mount its own mount NFS points.
5206
52072002-12-28  Ion Badulescu  <ionut@moisil.badula.org>
5208
5209	* amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
5210	pings are disabled
5211
5212	* libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
5213	instead of casting the pointer to (enum_t *)
5214	(xdr_mountstat3): ditto
5215	(xdr_nfsstat): ditto
5216
5217	* libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
5218	64-bit big-endian platforms, bug report from Bill Fenner
5219	<fenner@research.att.com>
5220
5221	* configure.in: increase library patchlevel
5222
5223	* libamu/xutil.c (amu_release_controlling_tty): close and reopen
5224	file descriptors 0,1,2 before calling setsid()
5225
52262002-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
5227
5228	* updated copyright year to 2003 on all files
5229
52302002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5231
5232	* rename "aux/" subdir into "m4/" so as to avoid problems with
5233	MS-DOS systems (where "AUX" is a reserved name).  This required
5234	fixing numerous files.
5235
52362002-12-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5237
5238	* configure.in: don't check for bad hasmntopt() function if
5239	hasmntopt() doesn't exist on the system, because we will replace
5240	it with our own version anyway.
5241
5242	* conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
5243	dlog because htonl() returns a u_long.
5244
52452002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5246
5247	* include/am_defs.h: use system's hasmntopt() only if it is found
5248	and it is not buggy.
5249
5250	* libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
5251	char.
5252
5253	* amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
5254	amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
5255	libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
5256	to amu_hasmntopt().  Don't use hasmntopt() directly any more!
5257
5258	* aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
5259	hasmntopt() function, which incorrectly finds the option "soft" in
5260	a string "hard,softlookup,ro".
5261
5262	* libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
5263	hasmntopt(), to match what most systems use.
5264
5265	* aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
5266
5267	* configure.in: invoke test for bad hasmntopt()
5268
5269	* NEWS: minor new port, i386-pc-linux-rh8.0.
5270	Mention autofs-v4 on solaris9 works.
5271
5272	* bootstrap: remove any autom4te-*.cache directories, now that
5273	autoconf uses a version number for them.
5274
52752002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5276
5277	Patches from Christos Zoulas:
5278
5279	-1- am_utils.h: add full prototypes
5280	-2- amfs_auto.c make functions static and add prototypes
5281	-3- map.c: kill double free
5282	-5- transp_sockets.c: add full prototypes
5283
52842002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5285
5286	* NEWS: updated
5287
5288	* doc/am-utils.texi (opts Option): document sftlookup
5289
5290	* conf/autofs/autofs_solaris_v2_v3.c: compile fixes
5291
52922002-11-22  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5293
5294	* amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
5295	%ld not %d.
5296
52972002-11-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5298
5299	* {amd,fsinfo}/Makefile.am: remove special rules for processing
5300	yacc/lex files, now that autoconf/automake properly handle them
5301	better (esp. now that bison 1.75 behaves differently than older
5302	bison versions).
5303
53042002-11-21  Erez Zadok  <ezk@cs.sunysb.edu>
5305
5306	* config.guess.long: updated script so it will properly find the
5307	version number of the new Itanium 2 machines running "Red Hat
5308	Linux Advanced Workstation release 2.1AW (Derry)".  The script now
5309	will report ia64-unknown-linux-rh2.1AW.
5310
53112002-11-20  Ion Badulescu  <ionut@moisil.badula.org>
5312
5313	* amfs_auto_bgmount(): almost complete rewrite
5314
5315	* fixed amfs_inherit to do the right thing and not dereference
5316	freed mntfs'es
5317
5318	* #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
5319	amfs_autofs_lookup_child()
5320
5321	* release the autofs_fh only in one place
5322
5323	* remove the mountpoint only if mf_refc == 1
5324
5325	* print the mntfs type in free_mntfs()
5326
5327	* new pseudo-mount option 'sftlookup' which causes lookups to
5328	mounted shares from downed servers to return EIO; the default
5329	depends on whether the mount is 'hard' or 'soft'
5330
5331	* improved querying of supported NFS versions on the server --
5332	don't even try if it's known to be down
5333
5334	* solaris autofs mount code moved to transp_{sockets,tli}.c
5335
5336	* incipient (non-functional) AIX autofs support
5337
53382002-11-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5339
5340	* doc/am-utils.texi (Keep-alives): removed outdated info about not
5341	maintaining the state of TCP NFS servers
5342
53432002-11-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5344
5345	* include/am_utils.h: prototype for ops_search()
5346
5347	* amd/am_ops.c (ops_search): new function for searching the right
5348	set of ops for a given filesystem type
5349
5350	* amd/restart.c (restart): cleanup and split into two functions in
5351	preparation for handling the restart of amd's own mount points
5352	(restart_fake_mntfs): new function, factored out from restart()
5353
53542002-11-04  Ion Badulescu  <ionut@buggy.badula.org>
5355
5356	* amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
5357	(cdfs_umount): ditto
5358
5359	* conf/mount/mount_linux.c (mount_linux): factor it out to
5360	mount_linux_nfs() and mount_linux_nonfs()
5361	(mount_linux_nonfs): generalize loop device support to all
5362	filesystems (not just cdfs); make it automatic for anything that's
5363	a regular file
5364	(parse_opts): deprecate the explicit "loop" mount option
5365	(do_mount_linux): minor cleanup
5366
5367	* conf/umount/umount_default.c (umount_fs2): release loop device
5368	on umount()
5369
53702002-11-03  Erez Zadok  <ezk@cnm20>
5371
5372	* include/am_defs.h: moved #include of net/if.h above net/route.h,
5373	because on AIX 5.2 if.h is needed for route.h (let's hope it
5374	doesn't break things on other systems).
5375
5376	* include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
5377	to be defined, but I don't want to move the inclusion of signal.h
5378	this early into this file.  Luckily, amd doesn't need the size of
5379	this structure in any other structure that it uses.  So we
5380	sidestep it for now.
5381
5382	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
5383	but I couldn't find its definition anywhere.  Luckily, amd doesn't
5384	need the size of this structure in any other structure that it
5385	uses.  So we sidestep it for now.
5386
53872002-11-02  Erez Zadok  <ezk@cs.sunysb.edu>
5388
5389	* config.guess, config.sub, doc/texinfo.tex: updates from
5390	the latest GNU distributions (2002-09-05).
5391
53922002-10-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5393
5394	* conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
5395	mount.h for NFSOPT_* and NFSMNT_*.
5396	Don't use typedefs that aren't found in system header files.
5397
53982002-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
5399
5400	* Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
5401
5402	* conf/nfs_prot/nfs_prot_aix5_2.h: new file.
5403
5404	* aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
5405	for "struct aux52_nfs_args".
5406
5407	* aux/macros/check_nfs_prot_headers.m4: define new header file for
5408	AIX 5.2.
5409
54102002-10-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5411
5412	* scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
5413	man page.
5414
5415	* scripts/amd.conf-sample (ldap_proto_version): show example of use
5416
5417	* doc/am-utils.texi (ldap_proto_version Parameter): document new
5418	amd.conf option.
5419
5420	* amd/conf.c (gopt_ldap_proto_version): new conf function to
5421	support ldap_proto_version amd.conf parameter.
5422
5423	* amd/amd.h: field to hold LDAP protocol version.
5424
5425	* amd/amd.c (init_global_options): set default for
5426	ldap_proto_version.  ldap_proto_version patch from George Ross
5427	<gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>.
5428
5429	* amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
5430	unbinding from an LDAP server that may have been restarted.  Fix
5431	from George Ross <gdmr@dcs.ed.ac.uk>.
5432
54332002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5434
5435	* remove all autoconf stuff added for sys_nerr
5436
5437	* amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
5438
5439	* libamu/strerror.c: more explicit text for unknown errno's
5440
54412002-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
5442
5443	* include/am_defs.h: define "extern int sys_err" if needed.
5444
5445	* aux/macros/header_templates.m4: template for
5446	HAVE_EXTERN_SYS_NERR.
5447
5448	* hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
5449	(show_mi): remove "extern int sys_err"
5450
5451	* configure.in: execute test for "extern int sys_err"
5452
5453	* Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
5454
5455	* aux/macros/extern_sys_nerr.m4: new test to check for existence
5456	of "extern int sys_nerr" definition in system headers.
5457
54582002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5459
5460	* libamu/xutil.c (dbg_opt): bring comments in line with the code
5461
5462	* hlfsd/hlfsd.c (main): use amuDebug() instead of touching
5463	debug_flags directly
5464
5465	* amd/amd.c (main): don't init debug_flags, leave it as zero (no
5466	debugging by default)
5467
54682002-09-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5469
5470	Debug code sanitization:
5471
5472	- amuDebug() becomes an expression, and explicit if() statements
5473	are added around it throughout the code
5474	- amuDebugNo() goes away (ugh!)
5475	- D_AMQ, D_DAEMON and D_FORK reverse their meaning
5476	- D_ALL contains only options that don't affect amd's functionality
5477
54782002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5479
5480	* amd/amfs_auto.c (free_continuation): avoid double-free'ing the
5481	mntfs if there was an error/timeout
5482
54832002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5484
5485	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
5486	of "return NULL" to signal an error to the upper layers
5487	(amfs_auto_mount): use strdup so the string can be free'd later on
5488	[Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>]
5489
54902002-09-03  Ion Badulescu  <ion@guppy.limebrokerage.com>
5491
5492	Patches from George Ross <gdmr@dcs.ed.ac.uk>:
5493
5494	* amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
5495	it will be done in free_continuation(); assorted debugging messages
5496
5497	* amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
5498	timeout to avoid problems with late ping replies
5499
5500	* amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
5501	debugging messages
5502
5503	* amd/map.c (unmount_node): more verbose debug message
5504
55052002-07-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
5506
5507	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
5508	de-allocated memory in str3cat
5509	(amfs_auto_lookup_mntfs): check for buffer overflow
5510
55112002-07-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5512
5513	* scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
5514	<wiz@danbala.ifoer.tuwien.ac.at>.
5515
55162002-06-26  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5517
5518	* doc/Makefile.am (install-html): don't use locally hacked
5519	texi2html features.
5520
5521	* conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
5522	systems should use 127.0.0.1 as the localhost address over which
5523	you can do NFS mounts.  In the past we found that some NFS clients
5524	may not allow mounts from localhost.  So we used get_myaddress()
5525	and that seemed to work.  Alas, on some other systems,
5526	get_myaddress() may return one of the interface addresses at
5527	random, and thus use a less efficient IP address than 127.0.0.1.
5528	The solution is to hard-code 127.0.0.1, but still check if
5529	get_myaddress() returns a different value and warn about it.
5530
5531	* doc/am-utils.texi: don't use ':' in @cindex entries.
5532
55332002-06-25  Ion Badulescu  <ion@guppy.limebrokerage.com>
5534
5535	* Released beta version 6.1b1
5536
55372002-06-24  Ion Badulescu  <ionut@moisil.badula.org>
5538
5539	* aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
5540
5541	* conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
5542	aix51_nfs_args, rename unknown fields to u<number>, add the
5543	unknown new field into the middle of the old 4.2 structure
5544
55452002-06-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
5546
5547	* include/am_compat.h: better test for struct netconfig
5548	(!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
5549
5550	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5551
5552	* buildall: fix 'buildall -b' on hpux9 and aix5.1
5553
55542002-06-24  Ion Badulescu  <ionut@buggy.badula.org>
5555
5556	* INSTALL: updated
5557
5558	* conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
5559	(autofs_link_umount): ditto
5560
5561	* amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
5562
55632002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5564
5565	* conf/autofs/autofs_linux.c: compile fixes for autofs v3
5566
55672002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5568
5569	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
5570	expirations needed;
5571	(autofs_timeout_mp): likewise
5572
5573	* conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
5574	needed;
5575	(autofs_timeout_mp): likewise
5576
5577	* conf/autofs/autofs_linux.c (autofs_mounted): set the first
5578	expiration interval
5579
5580	* amd/autil.c (am_mounted): call autofs_mounted here, instead of
5581	in mf_mounted()
5582
5583	* amd/amd.h (NEVER): moved here from map.c
5584	(autofs_mounted): change argument from mntfs* to am_node*
5585
55862002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5587
5588	* conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
5589	timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
5590	(autofs_timeout_mp): don't update the ttl if we're going down
5591
5592	* amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
5593	timeout on that particular am_node has expired
5594
5595	* conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
5596	the ttl, as per the comment (compilers are not very good at
5597	translating comments into code...)
5598
5599	* amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
5600	instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
5601	between link mounts pointing to the same target
5602
56032002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5604
5605	* conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
5606	functions for sending messages back to the kernel
5607	(autofs_expire_one): initial implementation of the kernel-based
5608	expiration handler
5609	(autofs_handle_expire): call autofs_expire_one()
5610	(autofs_handle_expire_multi): ditto
5611	(autofs_umount_succeeded): search pending_umounts, send message
5612	back to the kernel
5613	(autofs_umount_failed): ditto
5614	(autofs_mount_succeeded): tell amd core not to expire autofs entries
5615	(autofs_timeout_mp): expiration function for autofs filesystems
5616	(autofs_timeout_mp_task): helper function for autofs_timeout_mp
5617
5618	* conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
5619	keeping tracking of pending umounts
5620	(autofs_fh_t) rename pending to pending_mounts, add pending_umounts
5621
5622	* conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
5623
5624	* conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
5625
5626	* amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
5627	filesystems
5628
5629	* amd/autil.c (mf_mounted): move here the call autofs_mounted()
5630	from amfs_auto_mounted().
5631
56322002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5633
5634	* amd/nfs_start.c (mount_automounter): Security fix.  if user sets
5635	-D noamq, don't even create listening socket.  Suggestion by Ed
5636	Ravin <eravin@panix.com>.
5637
56382002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5639
5640	* hlfsd/homedir.c (homedir): use setgid() instead of setegid()
5641
5642	* ALL: #ifdef cleanups, unify some TLI/socket function prototypes
5643
56442002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5645
5646	* conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
5647	na_gid and na_uid.  NetBSD patch from Jun-ichiro itojun Hagino
5648	<itojun@iijlab.net>.
5649
5650	* doc/am-utils.texi (Option): document xlatecookie mount option.
5651
5652	* libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
5653	NFS mount option.  Patch from Matthias Scheler <tron@zhadum.de>
5654	for NetBSD.
5655
56562002-06-22  Ion Badulescu  <ionut@edgar.badula.org>
5657
5658	* conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
5659	AUTOFS_LINK_FS_FLAGS
5660
5661	* conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
5662	mounts in autofs_link_mount/umount
5663
56642002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5665
5666	* configure.in: check for devid inside struct umntrequest
5667
5668	* conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
5669	new umntrequest structure in v4.
5670	(autofs_unmount_2_req): ditto
5671
5672	* README.autofs: updated for Solaris 2.5/2.5.1
5673
56742002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5675
5676	* configure.in: only define LDAP/Hesiod if both the headers and
5677	the libraries exist, and the user didn't explicitly disable those
5678	maps.
5679
56802002-06-22 Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5681
5682	* doc/am-utils.texi: fix typos.  Can't use ":" in @cindex entries.
5683
56842002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5685
5686	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
5687	amd/amd.8, amd/get_args.c (get_args): document amd -A option.
5688
5689	* amd/get_args.c (get_args): support "amd -A arg" option to
5690	override the system's detected architecture.  Patch from George
5691	Ross <gdmr@dcs.ed.ac.uk>.
5692
5693	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
5694	if the system doesn't have it.
5695
5696	* configure.in: detect existence of ldap_enable_cache function,
5697	because it doesn't exist on Solaris 9's latest ldap libraries.
5698
5699	* amd/info_ldap.c: LDAP patches from George Ross
5700	<gdmr@dcs.ed.ac.uk>.  Rework of old code, support for wildcards in
5701	LDAP queries, and an FD leak fix.
5702
57032002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5704
5705	* buildall: use ksh for configure on aix5.1; pass the extra
5706	arguments after "--" to configure, not to make
5707
5708	* Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
5709
5710	* conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
5711	with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
5712	mount with the alternative nfs3_args structure
5713
5714	* conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
5715	structure, similar to that in aix5.1, for a hack that tries to
5716	compensate for IBM's brain fart
5717
5718	* conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
5719
5720	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5721
5722	* BUGS: update for direct mounts on Linux; document the brokenness
5723	of /bin/sh on AIX 5.1 and HP-UX 9
5724
5725	* NEWS: aix5.1 port, aix4.3 workaround
5726
57272002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
5728
5729	* ltmain.sh: use libtool 1.4d, needed support for newer AIX.
5730
57312002-06-21  Ion Badulescu  <ion@guppy.limebrokerage.com>
5732
5733	* aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
5734	all solaris2.6+, not just for 2.[6-8]
5735
5736	* conf/autofs/autofs_default.h: disable autofs if configure
5737	detects it
5738
57392002-06-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5740
5741	* aux/macros/with_addon.m4: correct M4 quoting.
5742
5743	* aux/macros/cache_check_dynamic.m4: correct M4 quoting.
5744
5745	* bootstrap: show version of autotools being used.  Helps
5746	maintainer debugging.
5747
5748	* configure.in: new proper syntax for libtool and
5749	ansi2knr-filtering rules, required by autoconf 1.53 and higher.
5750
57512002-06-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5752
5753	* aux/GNUmakefile: new search paths for "update" target.
5754
5755	* config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
5756	the latest GNU distributions.
5757
57582002-06-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5759
5760	* amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
5761	function into the new amfs_auto_lookup_one_child function; return
5762	null if all ivecs failed to match
5763
57642002-05-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5765
5766	* config.guess.long: support SuSE version names in long
5767	config.guess format.
5768
57692002-05-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5770
5771	* scripts/lostaltmail.in (vrfy_user): unlink temp files if too
5772	small.
5773
57742002-04-07  Ion Badulescu  <ionut@moisil.badula.org>
5775
5776	* hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
5777
57782002-03-29  Ion Badulescu  <ionut@moisil.badula.org>
5779
5780	* README.autofs: solaris 2.5/2.5.1 info, other minor changes
5781
5782	* doc/am-utils.texi (History): document solaris 2.5+ support
5783
5784	* include/am_utils.h: new member in struct mntfs: mfs_real_mount;
5785	autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
5786	prototype for umount_fs2(); extra argument for UMOUNT_FS()
5787
5788	* hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
5789
5790	* libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
5791	function; swap mntdir and real_mntdir as necessary for solaris 2.5
5792	autofs support
5793
5794	* conf/umount/umount_default.c (umount_fs2): swap mntdir and
5795	real_mntdir as necessary for solaris 2.5 autofs support
5796
5797	* conf/umount/umount_*.c (umount_fs): wrapper around the new
5798	umount_fs2() function
5799	(umount_fs2): new function which takes the real mountpoint as an
5800	extra argument
5801
5802	* conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
5803	compiled in
5804
5805	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
5806	function that appends a space at the end of a string (the famous
5807	"Autofs Space Protocol")
5808
5809	* conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
5810
5811	* conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
5812	system-specific definitions for these macros
5813
5814	* conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
5815	which are now handled properly by more generic code
5816	(autofs_link_umount): complain if umount_fs() fails, rmdir the
5817	mountpoint on success
5818	(autofs_umount_succeeded): remove the rmdirs() code, now handled
5819	by generic code
5820	(autofs_mount_succeeded): ditto
5821
5822	* amd/nfs_start.c (checkup): implement it as an emtpy stub if
5823	DEBUG is not defined
5824	(run_rpc): call autofs_add_fdset() after umount_exported() to
5825	avoid passing invalid file descriptors to select(); use plog()
5826	instead of perror()
5827
5828	* amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
5829	(uninit_mntfs): free mf_real_mount
5830
5831	* amd/autil.c (am_unmounted): don't remove the mount point if a
5832	remount is pending, also don't make the removal conditional on not
5833	being an autofs mount point
5834
5835	* amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
5836	mf->mf_real_mount instead of mf->mf_mount
5837
5838	* amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
5839	rmdirs() on mf->mf_real_mount instead of mf->mf_mount
5840
5841	* amd/amfs_host.c (make_mntpt): change the third argument to be
5842	the mountpoint, not the entire mntfs structure
5843	(do_mount): takes real_mntdir as an extra argument
5844
5845	* amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
5846	mountpoint here from try_mount(), otherwise the change to mf_flags
5847	is lost for background mounts; remove the mountpoint if we created
5848	it and the mount fails
5849	(amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
5850	autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
5851
5852	* amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
5853	AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
5854	header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
5855	mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
5856	extra argument
5857
5858	* amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
5859	the real mountpoint as an additional argument
5860
58612002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5862
5863	* amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
5864	values back from mount_fs().  Return correct error number from
5865	this function.
5866
5867	* conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
5868	cruft from this function, moved elsewhere.
5869	(mount_linux): prepare for loop-device mounts of ISO images.
5870
58712002-03-28  Ion Badulescu  <ionut@buggy.badula.org>
5872
5873	* libamu/Makefile.am (EXTRA_DIST): added strerror.c
5874
5875	* libamu/strerror.c: strerror() implementation for systems lacking it
5876
5877	* doc/am-utils.texi (History): rewrote the history :) about autofs
5878	support
5879
5880	* conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
5881	(autofs_unmount_2_req): minor cleanup
5882	(create_autofs_service): print log message
5883	(destroy_autofs_service): ditto
5884
5885	* conf/autofs/autofs_linux.c: updated copyright
5886
5887	* amd/nfs_start.c (mount_automounter): move the debug message into
5888	create_autofs_service()
5889
5890	* amd/amd.c (main): call destroy_autofs_service() before
5891	going_down(), not after
5892
5893	* configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
5894	if the ldap headers are not found
5895
58962002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5897
5898	* amd/info_ldap.c: patch from "Sebastien Bahloul"
5899	<sebastien.bahloul@medasys.org> to fix a simple initialization bug
5900	and change "HE" to HE_ENT so as to compile on HPUX.
5901
59022002-02-26  Erez Zadok  <ezk@t3.fsl.cs.sunysb.edu>
5903
5904	* conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
5905	atttributes field named "uid".  So #define na_uid to it.
5906
59072002-02-12  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5908
5909	* scripts/lostaltmail.in: don't verify user if -noverify option
5910	was turned on.  fix comment typo.
5911
59122002-02-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5913
5914	* amd/Makefile.am (TESTS): enable one test script, test1.sh.
5915
5916	* amd/test1.sh: re-commit simple test script.
5917
59182002-02-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5919
5920	* Released snapshot 6.1a5
5921
5922	* NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
5923
5924	* README: require newer auto-tools, update mailing list address
5925
5926	* README.autofs: major update
5927
5928	* configure.in: version changed to 6.1a5
5929
59302002-02-11  Ion Badulescu  <ionut@moisil.badula.org>
5931
5932	* conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
5933	stat() on the am_link if called from the parent amd, to prevent
5934	deadlocks
5935
5936	* amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
5937	fstype is not link but we have a sublink (Linux autofs needs this)
5938	(am_mounted): call amfs_link_ops.mount_fs if the fstype is not
5939	link but we have a sublink (Linux autofs needs this)
5940
5941	* amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
5942	not the amd entry point
5943
59442002-02-09  Ion Badulescu  <ionut@moisil.badula.org>
5945
5946	* conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
5947	structure for returning the results from readdir_2()
5948	(xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
5949	changed to process our internal format (which is essentially the
5950	NFS readdir format)
5951	(xdr_autofs_getrddirres): not needed, deleted
5952	(xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
5953	changes to handle amd_rddirres instead of autofs_rddirres
5954	(autofs_lookup_2_req): return AUTOFS_NONE instead of
5955	AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
5956	(autofs_readdir_2_req): implemented
5957	(autofs_readdir_2_free): not needed, deleted
5958	(autofs_program_2): changes from autofs_rddirres to amd_rddirres
5959	(autofs_get_fh): changed initialization of the fh->map member, it
5960	now gets the mountpoint path because it makes it easier to
5961	implement readdir
5962	(autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
5963	code touching fh->addr
5964	(destroy_autofs_service): new function, deregister the autofs
5965	service with the portmapper on exit
5966
5967	* conf/autofs/autofs_linux.c (autofs_handle_missing): update
5968	statistics
5969	(destroy_autofs_service): new stub
5970
5971	* amd/mapc.c (mapc_find): fixed indentation
5972
5973	* amd/map.c (find_ap_recursive): renamed from find_ap2(), made
5974	static
5975
5976	* amd/amd.h: removed prototype for find_ap2(), added prototype for
5977	destroy_autofs_service()
5978
5979	* amd/amd.c (main): call destroy_autofs_service() before going
5980	down
5981
59822002-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5983
5984	* aux/macros/check_field.m4: need also a new version of
5985	AC_CHECK_MEMBERS (plural).
5986
59872002-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5988
5989	* aux/macros/check_field.m4: include a fixed version of
5990	AC_CHECK_MEMBER.  g/cc will fail to check a member if the .member
5991	is itself a data structure, because you cannot compare, in C, a
5992	data structure against NULL; you can compare a native data type
5993	(int, char) or a pointer.  Solution: do what I did in my original
5994	member checking macro: try to take the address of the member.  You
5995	can always take the address of anything.
5996
59972002-01-31  Erez Zadok  <ezk@localhost.localdomain>
5998
5999	* remove old '%W%' SCCS IDs from all sources.
6000
60012002-01-21  Ion Badulescu  <ionut@moisil.badula.org>
6002
6003	* conf/mount/mount_linux.c (mount_linux): fix breakage introduced
6004	by the loop device mount support. Linux mount takes a real string
6005	as the last argument, unless the mount type is NFS, NCP, or SMB.
6006
60072002-01-20  Erez Zadok  <ezk@localhost.localdomain>
6008
6009	* hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
6010	because we made some important changes.
6011
60122002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
6013
6014	* include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
6015	by default
6016
6017	* NEWS: document latest changes
6018
6019	* amd/map.c (unmount_mp): same fix as for hlfsd, update the
6020	seconds field in mtime because Linux ignores the useconds field
6021
6022	* hlfsd/homedir.c: made some global vars static
6023	(plt_init): remove all trailing '/' chars from root's home;
6024	use root's home, not the username (silly bugfix)
6025
60262002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
6027
6028	* hlfsd/homedir.c (homedir): don't special case uid 0 as having /
6029	as home; instead use the root account's home
6030	(plt_init): properly initialize root_home from the root account's
6031	home directory, or as "" if root doesn't exist
6032	(plt_reset): free root_home
6033
60342002-01-20  Erez Zadok  <ezk@localhost.localdomain>
6035
6036	* hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
6037	Increment seconds, not microseconds (which are ignored by NFS).
6038	Set symlink owner to euid.
6039
6040	* hlfsd/homedir.c (homedir): pass gid to this function, so we can
6041	also change the effective GID of the process writing to the user's
6042	home dir, as well as the group of the hlfsd symlink.
6043	(homedir): run setegid in the right places.
6044
60452002-01-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6046
6047	* scripts/redhat-ctl-amd.in: refer to @sbindir@ not
6048	${prefix}/sbin.
6049
6050	* scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
6051	${prefix}/etc.  Bug report from "A Braunsdorf"
6052	<ab@eas.purdue.edu>.
6053
60542002-01-13  Erez Zadok  <ezk@localhost.localdomain>
6055
6056	* configure.in: only check for clock_gettime if --enable-debug was
6057	used.
6058
6059	* aux/macros/opt_debug.m4: define a cache variable to record value
6060	of debug option used.
6061
6062	* libamu/xutil.c (show_time_host_and_name): do not use
6063	clock_gettime unless debugging was compiled in.  This way, if
6064	debugging is not compiled, we don't bother linking with librt,
6065	libpthread, and a whole lot of other libraries that aren't that
6066	necessary (esp. on Linux).
6067
60682002-01-12  Erez Zadok  <ezk@wavy.dyn.optonline.net>
6069
6070	* doc/am-utils.texi (opts Option): document loop option.
6071
6072	* include/am_utils.h: each mounted file system (mntfs) should
6073	optionally store the loop device used in the field mf_loopdev.
6074
6075	* conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
6076	loop function extern definitions.  For now this code is here
6077	because we only support loop devices on Linux.
6078
6079	* conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
6080	mount option.
6081	(parse_opts): when skipping over unknown mount options, skip over
6082	"loop" (since it was given in amd map entry), but not over
6083	loop=/dev/loopX, because the latter will go into /etc/mtab.
6084	(do_mount_linux): override actual cdfs mounted  device name
6085	because with loop devices you don't mount the .iso file directly,
6086	but the /dev/loopX device that was setup for it.
6087	(show_loop, is_loop_device, find_unused_loop_device,
6088	setup_loop_device, delete_loop_device): support code for loop
6089	devices.
6090
6091	* amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
6092	setup loop device before isofs mount, if "loop" option was given,
6093	before actual mount(2).
6094	(cdfs_mount): pass loopdev name to mount_cdfs().
6095	(cdfs_umount): delete/unset loop device after a successful
6096	unmount, if a loop device was used.
6097
6098	* amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
6099
6100	* include/am_compat.h: If loop device (header file) exists, define
6101	mount table option MNTTTAB_OPT_LOOP.
6102
6103	* conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
6104	here until we have a better way to detect /dev/loop devices.
6105
6106	* include/am_defs.h: include <linux/loop.h> if it exists.  Define
6107	LARGEFILE support macros, possibly needed for loop devices.
6108	Redefine dev_t apropriately for loop devices.
6109
6110	* configure.in: check for <linux/loop.h>.
6111
61122002-01-10  Ion Badulescu  <ion@guppy.limebrokerage.com>
6113
6114	* conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
6115	parameter 2 orders of magnitude larger than udp (patch from Trond
6116	Myklebust)
6117
61182002-01-09  Erez Zadok  <ezk@localhost.localdomain>
6119
6120	* aux/macros/linux_headers.m4: properly [quote] a long string in
6121	m4 and use AC_MSG_WARN.
6122
6123	* ALL: put /* comments */ on #else/#endif lines everywhere.
6124
6125	* configure.in, aux/macros/with_addon.m4: due to limitation of
6126	AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
6127	package for help string.
6128
6129	* doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
6130	FSinfo section of the manual.
6131	(map_reload_interval Parameter): document new amd.conf global
6132	parameter.
6133
6134	* scripts/amd.conf.5 document new global option
6135	map_reload_interval.  Sort entries for nfs_vers and nfs_proto
6136	alphabetically.
6137
6138	* amd/nfs_start.c (do_select): increment do_mapc_reload's value by
6139	global map_reload_interval value, not by fixed ONE_HOUR.
6140
6141	* amd/amd.c (main): increment do_mapc_reload's value by global
6142	map_reload_interval value, not by fixed ONE_HOUR.
6143
6144	* scripts/amd.conf-sample (map_reload_interval): usage example
6145
6146	* amd/amd.c (init_global_options): initialize map_reload_interval
6147	to 3600 seconds.
6148
6149	* amd/conf.c (gopt_map_reload_interval): support a new global
6150	amd.conf option map_reload_interval, to determine how often (in
6151	seconds) Amd should check if the map source has changed and then
6152	reload it it.  This value was hard-coded to one hour, now it's the
6153	default if not otherwise specified.
6154
6155	* doc/am-utils.texi (plock Parameter): document plock=yes option
6156	as using mlockall(2) if found.
6157
6158	* scripts/amd.conf.5: document -S option as using mlockall(2) if
6159	found.
6160
6161	* include/am_defs.h: include <sys/mman.h> if it exists.
6162
6163	* configure.in: check for mlockall() function.  Check for
6164	sys/mman.h.
6165
6166	* amd/amd.c (main): support mlockall() on systems that have it and
6167	don't have plock(3) for plock=yes.  On systems that have both,
6168	will try plock() first and then mlockall(), until one of them (if
6169	any) succeeds.
6170
61712002-01-09  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6172
6173	* aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
6174	with_addon.m4 (ac_upcase): fix help string formatting using
6175	AC_HELP_STRING.
6176
6177	* amd/test1.sh: simple test script for "make check".  Runs "amd
6178	-v".
6179
6180	* amd/Makefile.am (TESTS): add one simple test script, running
6181	"amd -v" and checking its return value.  More tests can be added.
6182
6183	* aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
6184
6185	* aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
6186	Instead, list bracketed regexp patterns in [[double brackets]].
6187
6188	* aux/macros/header_templates.m4: remove all unnecessary
6189	HAVE_FIELD_* definitions, now that we're using autoconf's new
6190	AC_CHECK_MEMBERS.
6191
6192	* aux/macros/field_mntent_t_mnt_time_string.m4: don't call
6193
6194	* configure.in: use new syntax for AMU_CHECK_FIELD
6195
6196	* aux/macros/check_field.m4: use new and simpler macro
6197	AC_CHECK_MEMBERS.  Change all sources to use HAVE_aggregate.member
6198	instead of HAVE_FIELD_aggregate.member.
6199
6200	* aux/amdgrep: simple utility script to egrep the am-utils sources
6201	for any pattern.
6202
6203	* aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
6204	check_umount_style.m4, check_network_transport_type.m4}: use newer
6205	AC_LIBOBJ macros instead of modifying $LIBOBJS directly
6206
6207	* aux/macros/func_bad_memcmp.m4: redefine to use native
6208	AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
6209
6210	* fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
6211	pre-ANSI C compilers will ignore it.
6212
6213	* conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
6214	correctly depending on whether it takes a void or a 0.
6215
6216	* configure.in: check if s/getpgrp() takes void or a 0.
6217
62182002-01-08  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6219
6220	* configure.in: use the newer AC_CONFIG_LINKS instead of
6221	AC_LINK_FILES.
6222
6223	* aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
6224	check_mnttab_style.m4, check_mount_style.m4,
6225	check_network_transport_type.m4, check_umount_style.m4,
6226	check_nfs_prot_headers.m4: removed backward compatible code for
6227	pre-autoconf-2.14.
6228
62292002-01-07  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6230
6231	* doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
6232	this Makefile could explicitly chdir to other directories and run
6233	make there.
6234	(install-ps): use ${MAKE} with ${MFLAGS}.
6235
6236	* Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
6237	Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
6238	could explicitly chdir to other directories and run make there.
6239	(install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
6240
6241	* configure.in: call AC_PROG_MAKE_SET to check if make program
6242	defines $MAKE variable.
6243
6244	* amd/get_args.c (get_version_string): use new PACKAGE_* macros
6245	and also report the bug-reporting address.
6246
6247	* aux/macros/package_{name,version}.m4, header_templates.m4: using
6248	new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
6249
6250	* aux/macros/name_bugreport.m4: simple macro to print out the
6251	bug-reporting address which was configured in AC_INIT.
6252
6253	* bootstrap: remove new autoconf messages about misuse of
6254	m4_patsubst and m4_regexp (internal GNU M4 macros).
6255
6256	* configure.in: remove old comment above AC_OUTPUT.
6257	Use AC_CONFIG_FILES and AC_OUTPUT separately.
6258	Fix AC_REVISION use.
6259	Add AC_COPYRIGHT.
6260	Use new style for AC_INIT, listing package name, version, and
6261	bug-reporting address.
6262	Call new AMU_PACKAGE_* macros.
6263
6264	* updated copyright year to 2002 on all files
6265
6266	* configure.in: using newly renamed am-utils macros (AMU_*)
6267
6268	* aux/macros/*.m4: renamed ALL am-utils specific macros so they
6269	start with AMU_*, not AC_*.  That way it is easier to distinguish
6270	between macros that come with am-utils and those that are part of
6271	Autoconf or Automake.  It helps to identify those am-utils macros
6272	that can be removed once there is generic support for them in a
6273	future version of Autoconf.
6274
6275	* bootstrap: run automake --copy
6276	remove autom4te.cache dir before rerunning autoconf
6277
62782001-12-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6279
6280	* scripts/amd.conf.5: correct title to section 5, not 8.  Correct
6281	reversed meaning of nfs_proto and nfs_vers parameters.  Typos
6282	reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
6283
62842001-12-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6285
6286	* scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
6287
6288	* scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
6289
62902001-12-02  Ion Badulescu  <ionut@moisil.badula.org>
6291
6292	* hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
6293	non-mkstemp code
6294
6295	* scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
6296	happy
6297
6298	* scripts/ctl-hlfsd.in: ditto (for hlfsd)
6299
6300	* conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
6301	get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
6302
6303	* conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
6304
63052001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6306
6307	* tasks: updated
6308
6309	* NEWS: document the fixed autofs fd leak
6310
6311	* amq/amq.8: better document the -f option
6312
63132001-11-29  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6314
6315	* libamu/mount_fs.c (mnt_flags): same this as for nolock option
6316	handling, do for maxgrps.
6317
63182001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6319
6320	* conf/autofs/autofs_linux.c (hash_init): determine the max number
6321	of fd's at runtime, use it to dynamically scale the hash and list
6322	arrays
6323	(autofs_get_fh): sanity check, don't allow a pipe() fd greater
6324	than autofs_max_fds
6325	(autofs_release_fh): close our end of the pipe here (no clue why
6326	or when it got commented out)
6327	(autofs_mounted): set kernelfd to -1 after closing it
6328
63292001-11-28  Philippe Troin  <phil@fifi.org>
6330
6331	* libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
6332	opts.
6333	(compute_nfs_args): Added nolock handling.
6334	Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>.
6335
63362001-11-27  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6337
6338	* ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
6339	Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
6340	issues.  Had to use HP's own yacc/lex.
6341
63422001-11-26  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6343
6344	* */Makefile.am: don't use $(OBJECTS) directly because it is no
6345	longer automatically defined now that Automake has automatic
6346	dependency tracking (which I turn off).  Instead, hard-code
6347	minimal dependencies on am-utils' header files to depend on
6348	PROG_OBJECTS (where PROG is the program name being built).  This
6349	was discovered by using HP's non-GNU make program.
6350
6351	* amd/nfs_start.c (checkup): cast getpagesize() return val to
6352	long, to avoid conflicts in division of a long by an int (on
6353	hpux11i, with their ANSI/C compiler).
6354
6355 	* INSTALL, doc/am-utils.texi: port updates
6356
6357	* minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
6358	i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
6359	ia64-unknown-linux-rh7.1.
6360
6361	* include/am_defs.h: actually declare extern definition for
6362	xdr_callmsg() if it doesn't already exist.
6363
6364	* aux/macros/header_templates.m4: declare template for
6365	HAVE_EXTERN_XDR_CALLMSG.
6366
6367	* configure.in: check for extern definition for xdr_callmsg()
6368	because hpux11 has that function but a bad <rpc/xdr.h> header file
6369	that doesn't define it in the right place.
6370
6371	* libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
6372	on hpux11 its type is dev_t.
6373
6374	* conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
6375	yet.
6376
63772001-11-16  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6378
6379	* buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
6380	to /bin/sh limitations.
6381
6382	* bootstrap (cmd): turn back on --ignore-deps (this Automake may
6383	have problems)
6384
6385	* libamu/xutil.c: remove __attribute__ format_arg statement for
6386	expand_error() because this function, although taking a
6387	printf-like string, does not use it in a printf function; it only
6388	expands a non-printf amd-special syntax %m.
6389
63902001-11-14  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6391
6392	* conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
6393	before using it because older Linux systems don't define this
6394	(e.g., Red Hat 4.2)
6395
63962001-11-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6397
6398	* configure.in: convert to using autoconfig 2.52.  Use new macros.
6399	AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
6400	parts of autogenerated config.h.in; increase autoconf
6401	pre-requisite to version 2.50; use AC_DISABLE_SHARED not
6402	AM_DISABLE_SHARED.
6403
6404	* aux/macros/cache_check_dynamic.m4: finally I can use the new
6405	$ECHO_N syntax in macros instead of $ac_n, since I'm using a new
6406	autoconf.  Isn't it nice to be such forward looking and having
6407	placed a comment "XXX: use the next line for autoconf-2.14 and
6408	newer"... :-)
6409
6410	* aux/macros/save_state.m4: highlight message with ***'s
6411
6412	* aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
6413
6414	* config.{guess,sub}: upated from latest prep ftp distributions
6415
6416	* depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
6417
6418	* ltmain.sh: updated from latest Libtool 1.4.2
6419
6420	* bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
6421	called without default to allow cross compiling" warnings.  And,
6422	it only took like 3+ years to fix this.  But, now it has anoter,
6423	albeit less annoying warning (which the manual says to ignore):
6424	"AC_PROG_LEX invoked multiple times".
6425	When autoheader is run, don't treat the "all clear" message
6426	"config.h.in is update" as an error.
6427
6428	* ltconfig: removed. not needed with latest version of libtool
6429
6430	* aux/macros/header_templates.m4: replaces acconfig.h and defines
6431	all CPP macros we use in this package, including their
6432	accompanying C /* comments */.
6433
6434	* acconfig.h: removed. replaced by new autoconf system to generate
6435	header templates using AH_TEMPLATE macros and such.
6436
6437	* aux/macros/msg.m4: removed.  Replaced with new macro
6438	AC_MSG_NOTICE
6439
6440	* Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4.  Add
6441	aux/macros/header_templates.m4
6442
6443	* configure.in: early, in host_macros.m4, I'm renaming silly linux
6444	$host_os names such as linux-gnu and lignux to plain "linux".
6445	Alas, RMS finally had his way and libtool will NOT recognize
6446	"linux" as a valid system, only "linux-gnu".  Sigh.  Rich, I know
6447	you're responsible to Linux's fame.  Kudos to you and your
6448	cohorts.  But please don't force the rest of us to use those ugly
6449	or long names.  Solution: temporarily name $host_os to "linux-gnu"
6450	before calling the AC_PROG_LIBTOOL macro, then name it back to
6451	"linux".  (That way I don't have to maintain my own version of
6452	ltmain.sh.
6453
6454	* buildall: force running configure -C (to create and use a local
6455	config.cache file).  New default behavior for autoconf is NOT to
6456	use cache files.  Yeah, that's gonna fly real well with am-utils,
6457	with its 700+ automatic tests.
6458
6459	* conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
6460	mktemp, if the former is available.
6461
6462	* conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
6463	mktemp, if the former is available.
6464
6465	* mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
6466	if the former is available.
6467
6468	* aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
6469	be on a separate line, as per new Autoconf manual, to avoid some
6470	Bourne Shell syntactical bizarreness.
6471
64722001-11-13  Erez Zadok  <ezk@a-rh71i.fsl.cs.suunysb.edu>
6473
6474	* amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
6475	for IA64 Linux.
6476
64772001-11-12  Ion Badulescu  <ionut@buggy.badula.org>
6478
6479	* libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
6480	pointing to '\0' on success, so we need to allow for it. This
6481	fixes the problem with rejecting numerical mount options if they
6482	are the last option in the string.
6483
6484	* configure.in: increased library patchlevel
6485
6486	* NEWS: document the parsing bug
6487
64882001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6489
6490	* configure.in: bumped version up to 6.1a5-pre
6491
6492	* NEWS: fixed speeling mistaike
6493
64942001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6495
6496	* released snapshot am-utils-6.1a4
6497
64982001-10-26  Ion Badulescu  <ionut@moisil.badula.org>
6499
6500	These changes fix autofs support for sublinks. While it is not
6501	perfect by any means and is hardly better than non-autofs, at
6502	least it works.
6503
6504	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
6505	reply if the mount is in progress
6506	(autofs_mount_succeeded): handle both delayed lookups and mounts
6507	(autofs_mount_failed): ditto
6508
6509	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
6510	original opt_fs if we have a sublink
6511
65122001-10-23  Ion Badulescu  <ionut@moisil.badula.org>
6513
6514	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
6515	instead of new_mf) which was causing null pointer error when
6516	sublinks were being used
6517
65182001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6519
6520	* README.autofs: updated
6521
6522	* NEWS: updated
6523
6524	* INSTALL: updated
6525
6526	* AUTHORS: added myself
6527
6528	* doc/am-utils.texi: updated
6529
6530	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
6531	xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
6532	(autofs_readdir_2_req): cast req->rda_offset to (int), same as
6533	above
6534
65352001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6536
6537	Autofs direct mounts have been verified to work on Solaris2.[67].
6538
6539	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6540	retrieve the uid and gid from the lookup request
6541	(autofs_mount_2_req): skip the first char in the name (it's a
6542	leading '/') if this is a direct mount
6543
6544	* amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
6545	and amfs_auto_mount_child for amfs_direct's methods
6546
6547	* amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
6548	if the mntfs lookup fails
6549
65502001-10-21  Ion Badulescu  <ionut@moisil.badula.org>
6551
6552	* include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
6553	pending a remount
6554	(mntfs): new member mf_fsflags, holds a copy of the filesystem's
6555	fs_flags
6556	(am_ops): new member autofs_fs_flags, holds the filesystem's flags
6557	when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
6558
6559	* conf/autofs/autofs_linux.c (create_autofs_service): turn on
6560	FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
6561	(autofs_umount_succeeded): don't rmdir the mountpoint if a remount
6562	is needed [lest the access that triggered the remount will fail]
6563
6564	* amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
6565	into mf_fsflags on initialization
6566
6567	* amd/autil.c (am_unmounted): start the remounting right away if
6568	the node is marked as needing a remount [fixes the Linux autofs
6569	deadlock when mount/unmount collide]
6570
6571	* amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
6572	needing a remount if a mount request comes in while we're
6573	unmounting it
6574	(amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
6575	into mf_fsflags if this is an autofs node
6576
6577	* amd/amfs_*.c, amd/ops_*.c: added initialization for the new
6578	autofs_fs_flags member of am_ops
6579
65802001-10-20  Ion Badulescu  <ionut@moisil.badula.org>
6581
6582	With these changes, Solaris 2.[67] autofs support is finally
6583	functional!
6584
6585	* conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
6586	(autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
6587	xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
6588	(autofs_lookup_2_req): do an actual lookup here, and tell the
6589	kernel to create a symlink if necessary
6590	(autofs_mount_2_req): no need to am_autofs_data
6591	(autofs_program_2): enable AUTOFS_READDIR
6592	(autofs_link_mount): no code needed here
6593	(autofs_link_umount): return success
6594	(autofs_mount_succeeded): lstat real mount points; don't mark
6595	symlinks as NOTIMEOUT
6596
6597	* amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
6598
6599	* amd/map.c (init_map): init am_dev and am_rdev to -1
6600	(free_map): free am_mfarray and all mntfs's listed
6601
6602	* amd/autil.c (mf_mounted): move the lstat of the node to the
6603	autofs-specific code
6604
6605	* amd/amfs_link.c (amfs_link_ops): don't background symlink creation
6606
66072001-10-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6608
6609	* aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
6610	* BUGS: Explain this.
6611
66122001-10-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6613
6614	* doc/am-utils.texi (redhat-ctl-amd): document new script.
6615
6616	* scripts/Makefile.am: build redhat-ctl-amd but do not install it.
6617
6618	* scripts/redhat-ctl-amd.in: new script, useful to correctly
6619	control Amd on Red Hat Linux systems.  Script adapted from ctl-amd
6620	and Red Hat's own rc.d script.
6621
66222001-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6623
6624	* conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
6625	(MNT2_NFS_OPT_AUTO): Disable.
6626	* Makefile.am (EXTRA_DIST_CONF): Reflect new name.
6627	* aux/macros/check_nfs_prot_headers.m4: Use this file for all
6628	Tru64 UNIX V5 and up releases.
6629
66302001-09-24  Ion Badulescu  <ionut@moisil.badula.org>
6631
6632	* include/mount_headers1.h (MFS): define as 1 instead of nothing,
6633	to fix compile problems on OS X (patch from Ahmon Dancy)
6634
6635	* aux/macros/try_compile_anyfs.m4 (MFS): ditto
6636
66372001-08-13  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6638
6639	* doc/am-utils.texi (in_network Selector Variable): document
6640	expanded syntax
6641
6642	* libamu/wire.c (is_network_member): support for network/netmask
6643	as well as network/bits syntax in in_network()
6644
66452001-08-11  Erez Zadok  <ezk@a-linux64.fsl.cs.sunysb.edu>
6646
6647	* amq/amq.c (show_mti): print full four digits for year, and print
6648	it in MM/DD/YYYY format, not in YY/MM/DD format.
6649
66502001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6651
6652	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6653	initial attempt to do something useful -- but commented out for now
6654	(autofs_link_mount): create an action structure with a link
6655	request and pass it up
6656	(autofs_mount_2_req): pass the link request to the kernel
6657	(autofs_free_data): new helper function
6658
6659	* conf/autofs/autofs_linux.h: added definition for autofs_data_t
6660
6661	* conf/autofs/autofs_solaris_v2_v3.h: ditto
6662
6663	* amd/map.c (init_map): initialize am_autofs_data
6664	(free_map): call the autofs cleanup function if necessary
6665
6666	* include/am_utils.h (am_node): added private data and cleanup
6667	function for autofs
6668
6669	* tasks: removed some obsolete entries
6670
66712001-08-11  Erez Zadok  <ezk@a-solaris8.fsl.cs.sunysb.edu>
6672
6673	* amd/map.c (free_map_if_success): run autofs_umount_failed() only
6674	if this mount node is of type autofs.
6675
66762001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6677
6678	* amd/amd.h: removed mf_array from struct continuation (moved into
6679	am_node)
6680
6681	* include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
6682	vlookup_child; added vmount_child; added mount_child to the fs_ops
6683	API; added prototypes for amfs_auto_mount_child and
6684	amfs_error_mount_child
6685
6686	* amd/map.c (init_map): initialize am_mfarray to 0
6687
6688	* amd/amfs_*, amd/ops_*: new API function mount_child, old API
6689	function lookuppn renamed to lookup_child
6690
6691	* amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
6692	amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
6693	amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
6694	amfs_auto_mount_child; moved the freeing of the error mntfs in the
6695	newly allocated am_node from lookup_mntfs to mount_child; make
6696	sure lookup_child returns a negative error if the node needs to be
6697	mounted; removed the call to lookuppn3 from lookup_child
6698
6699	* amd/amfs_error.c: added stub implementations of
6700	amfs_error_lookup_child and amfs_error_mount_child
6701
6702	* amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
6703	conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
6704	call both lookup_child and mount_child, instead of the old
6705	lookuppn API method
6706
67072001-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6708
6709	* amd/get_args.c (get_args): a better way to handle GNU and
6710	non-GNU getopts without strdup-ing the getopt string.
6711
67122001-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6713
6714	* amd/info_ldap.c (amu_ldap_rebind): The first time you called
6715	amu_ldap_init, aldh->ldap is not set.  So when amu_ldap_rebind is
6716	called, this function is absolutely sure to return 0.  Then
6717	amu_ldap_init return 0 without having opened any LDAP connection.
6718	This is not the correct behavior.
6719	(get_ldap_timestamp, amu_ldap_search): error to free an object
6720	("entry") that is automatically freed by the library.  Patch from
6721	Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>.
6722
67232001-07-19  Ion Badulescu  <ionut@moisil.badula.org>
6724
6725	* AUTHORS (variables): added Philippe Troin
6726
6727	* Makefile.am (EXTRA_DIST): added bootstrap
6728
6729	* include/am_compat.h (xfs_args_t): define as u_int if the
6730	filesystem is supported but we can't autodetect the type for
6731	xfs_args_t. This allows Linux to mount xfs filesystems.
6732
67332001-07-12  Philippe Troin  <phil@fifi.org>
6734
6735	* doc/am-utils.texi: Added @dircategory Administration.
6736
67372001-07-12  Philippe Troin  <phil@fifi.org>
6738
6739	* aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
6740	with only the `yes' and `no' as possible answers.
6741
6742	* configure.in: Added support for disabling LDAP and HESIOD even
6743	if the supporting libraries are found.
6744
6745	* Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
6746
67472001-07-12  Philippe Troin  <phil@fifi.org>
6748
6749	* include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
6750	if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
6751	and the linux nodev options are different beasts.
6752
6753	* conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
6754	entry (not really necessary on linux).
6755
67562001-07-12  Philippe Troin  <phil@fifi.org>
6757
6758	* amd/get_args.c (get_args): Prepend "+" to the getopt string if
6759	HAVE_GNU_GETOPT to avoid getting all options (even the ones after
6760	the first non-option argument) slurped in by GNU getopt.
6761
6762	* aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
6763	if GNU/glibc getopt implementation is detected.
6764
6765	* configure.in: Added call to AC_CHECK_GNU_GETOPT.
6766
6767	* acconfig.h: Document HAVE_GNU_GETOPT.
6768
6769	* Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
6770
67712001-06-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6772
6773	* LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
6774	am-utils URL references use www.am-utils.org, not the columbia
6775	URL.
6776
67772001-06-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6778
6779	* conf/transp/transp_sockets.c (create_nfs_service): cast to
6780	u_long to ensure clean compile on freebsd5 and bsdi2.
6781
67822001-05-23  Ion Badulescu  <ionut@moisil.badula.org>
6783
6784	WARNING: WORK IN PROGRESS
6785
6786	It works for me on Linux (both autofs and nfs mounts), for nfs and
6787	link, but I won't make any guarantees outside those.
6788
6789	* amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
6790	point and the device/fileserver are the same. This is an important
6791	change of philosophy, watch out for memory leaks!
6792
6793	* amd/map.c (get_ap_child): helper function for
6794	amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
6795	and inserts it into all necessary structures
6796
6797	* amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
6798	free any of the removed fields
6799	(amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
6800	subfunctions, including some code stolen from bgmount; lookuppn
6801	now generates an array of possible mntfs to try mounting, and
6802	bgmount will actually try to mount each of them.
6803	(amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
6804	(amfs_parse_defaults): new helper function for lookuppn
6805
68062001-05-19  Erez Zadok  <ezk@kosh.dyn.optonline.net>
6807
6808	* conf/mount/mount_linux.c: typo: added comma after '0' element.
6809
68102001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6811
6812	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
6813	autofs-v4 again
6814	(autofs_get_opts): don't pass pgrp, the kernel will get it
6815	automatically anyway, not to mention that we were passing bogus
6816	data if amd was not daemonized.
6817
6818	* conf/mount/mount_linux.c (linux_nfs_error): don't special case
6819	the 0 result, just put it into the translation list
6820
68212001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6822
6823	* conf/mount/mount_linux.c (linux_nfs_error): don't report success
6824	(0) as error (NE_IO)!
6825
68262001-05-18  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6827
6828	* amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
6829	least one share is already mounted
6830
68312001-05-17  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6832
6833	* libamu/util.c (str3cat): updated comment
6834
6835	* include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
6836
6837	* conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
6838	(autofs_mounted): disable autofs support for host f/s if version < 4
6839	(create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
6840	(autofs_umount_succeeded): use rmdirs instead of rmdir
6841	(autofs_mount_failed): ditto
6842
6843	* amd/opts.c (expand_op): align the debugging messages
6844
6845	* amd/map.c (mount_auto_node): use am_node *mp instead of casting
6846	the void *arg; update the comment
6847
6848	* amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
6849	comparing to &amfs_direct_ops
6850	(mount_node): ifs_mount doesn't exist, make note of it in the
6851	comment
6852
6853	* amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
6854
6855	* amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
6856	create the mountpoint directory for auto f/s; it is now handled in
6857	autofs_linux.c
6858	(amfs_auto_bgmount): renamed the mpe parameter to mp_error;
6859	renamed dont_retry to retry and reverted its meaning as well;
6860	moved the mp variable up one scope and made use of it throughout
6861	the function;
6862	(amfs_auto_readdir): whitespace
6863	(amfs_auto_readdir_browsable): whitespace, also some debugging
6864
6865	* amd/am_ops.c (vops): updated a comment
6866
6867	* .cvsignore: added A.i386-pc-linux-rh7.[01]
6868
68692001-05-01  Ion Badulescu  <ionut@gonzales.dev.hydraweb.com>
6870
6871	* conf/mount/mount_linux.c: fixed stupid error in the linux
6872	nfs_errormap[], which was mapping ENOENT to success!!!
6873
68742001-04-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6875
6876	* BUGS: added info about the direct mount problems on Linux and
6877	about the kernel patches on www.am-utils.org.
6878
6879	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
6880	removed obsolete comment
6881
6882	* amd/autil.c (forcibly_timeout_mp): always log a message when the
6883	forced unmount request is ignored
6884	(mf_mounted): don't lstat unless this is an autofs mount point,
6885	lest we deadlock
6886
6887	* amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
6888	MFF_MKMNT to the flags, it causes deadlocks later on when
6889	unmounting
6890
68912001-04-14  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6892
6893	* COPYING: update copyright year
6894
6895	* amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
6896	amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
6897	amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
6898	amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
6899	conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
6900	conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
6901	conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
6902	libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
6903	messages for clarity, to avoid duplication, to better recognize
6904	what the message means and where it ran, and to fix typos.
6905
6906	* amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
6907	function's name to the beginning of the function, before any other
6908	messages are logged.
6909
69102001-04-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6911
6912	* conf/mount/mount_linux.c (do_mount_linux): removed plog() of
6913	binary data
6914
69152001-04-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6916
6917	* include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
6918	MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
6919	work (needed for MacOS X); removed duplicate definition of NFS.
6920
69212001-03-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6922
6923	* amd/amd.h, amd/amfs_auto.c, amd/conf.c,
6924	doc/am-utils.texi,
6925	scripts/amd.conf-sample, scripts/amd.conf.5:
6926	renamed selectors_on_default to selectors_in_defaults,
6927	kept the former as a deprecated option;
6928	renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
6929	renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
6930
69312001-03-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6932
6933	* amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
6934	include/am_utils.h: compile fixes for --enable-debug=no
6935
69362001-03-15  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6937
6938	* NEWS: updated
6939
6940	* README.autofs: updated
6941
6942	* conf/mount/mount_linux.c (linux_version_code): export the fn
6943
6944	* conf/nfs_prot/nfs_prot_linux.h: ditto
6945
6946	* conf/autofs/autofs_linux.c (create_autofs_service): verify the
6947	kernel version here, and turn off bind_works if the kernel is
6948	older than 2.4.0.
6949	(autofs_link_mount): don't touch bind_works here, it's useless
6950	b/c we're in a child process; remove the mountpoint directory if
6951	the bind mount fails
6952
6953	* amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
6954	into dlogs
6955
6956	* conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
6957	mntent struct before initializing it
6958
69592001-03-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6960
6961	* conf/mount/mount_linux.c (parse_opts): added support for lofs
6962	(mount_linux): support lofs through bind mounts and/or FiST lofs
6963
6964	* scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
6965	/var/mail and /usr/spool/mail
6966
6967	* conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
6968	kernel is newer than 2.4.0
6969	(MNTTYPE_LOFS): ditto
6970
6971	* conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
6972	(autofs_lookup_failed): removed stub
6973
6974	* conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
6975	the file, made static;
6976	(autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
6977	and friends to determine if bind mounts can be used and to trigger
6978	further cascading mounts; return proper error codes
6979	(autofs_link_umount): distinguish between symlinks and bind mounts
6980	and handle both correctly
6981	(autofs_umount_succeeded): remove call to autofs_link_umount()
6982
6983	* amd/map.c (umount_exported): try to unmount all mount points on
6984	an autofs filesystem; this isn't really needed and will be removed
6985	when we start handling restarting autofs mounts
6986
6987	* amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
6988	if necessary
6989
6990	* amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
6991	causing the wrong mntfs to be selected when using autofs; removed
6992	call to autofs_link_mount() (moved where it belongs, in
6993	amfs_link.c)
6994
6995	* amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
6996	solution is needed, because background mounting is only necessary
6997	for linux autofs + bind mounts
6998
6999	* amd/amd.h: removed prototype for autofs_lookup_failed (internal
7000	static function for linux autofs); added prototype for
7001	autofs_link_umount
7002
7003	* configure.in: bump up library patchlevel
7004
70052001-02-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7006
7007	* aux/macros/check_mount_trap.m4,
7008	aux/macros/check_nfs_fh_dref.m4,
7009	aux/macros/check_nfs_prot_headers.m4,
7010	aux/macros/type_recvfrom_fromlen.m4,
7011	aux/macros/type_yp_order_outorder.m4:
7012	Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
7013	aix[1-3], osf[1-3] and hpux[6-9].
7014
70152001-02-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7016
7017	* check_mount_style.m4, check_mount_trap.m4,
7018	check_network_transport_type.m4, check_nfs_fh_dref.m4,
7019	check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
7020	check_nfs_socket_connection.m4, os_cflags.m4,
7021	type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
7022	cleanup (use [[0-1]] instead of M4 changequote commands).
7023
7024	* Makefile.am: removed unused conf/trap/trap_hpux11.h
7025
70262001-02-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7027
7028	* aux/macros/check_network_transport_type.m4,
7029	aux/macros/check_mount_style.m4,
7030	aux/macros/check_mount_trap.m4,
7031	aux/macros/check_network_transport_type.m4,
7032	aux/macros/check_nfs_fh_dref.m4,
7033	aux/macros/check_nfs_prot_headers.m4,
7034	aux/macros/check_nfs_sa_dref.m4,
7035	aux/macros/check_nfs_socket_connection.m4,
7036	aux/macros/os_cflags.m4,
7037	aux/macros/type_auth_create_gidlist.m4,
7038	aux/macros/type_recvfrom_fromlen.m4,
7039	aux/macros/type_yp_order_outorder.m4:
7040	Reworked the scripts, so that a new _unknown_ version of a known OS
7041	will use the option for the newest _known_ version of that OS. For
7042	example, when freebsd6 comes out, it will use the stuff for
7043	freebsd5, not the stuff for freebsd2. This makes configure more
7044	likely to succeed on new systems/versions.
7045
7046	* Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
7047
70482001-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7049
7050	* Makefile.am (install-snapshot): use a different symlink target
7051	for the experimental snapshots.
7052
70532001-02-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7054
7055	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
7056	distributions.
7057
70582001-02-22  Erez Zadok  <ezk@earth.cs.columbia.edu>
7059
7060	* released snapshot am-utils-6.1a3
7061
7062	* amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
7063	get_args.c
7064
70652001-02-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7066
7067	* libamu/mtab.c: added the functions hasmnteq and haseq to
7068	ease checks for non-numeric values in opt=value strings.
7069	Recoded hasmntval to qualify input as numeric, allow hex and
7070	octal strings on rhs of =, and log when the value is missing
7071	or invalid.
7072
7073	* conf/mount/mount_linux.c: revised mount_linux to use new
7074	hasmnteq function to extract type of non-nfs mounts, and added
7075	a log message to catch possible failure of strdup.
7076
7077	* amd/am_ops.c: revised merge_ops to use new haseq function
7078
7079	* amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
7080	discover protocol setting.
7081
7082	* include/am_utils.h: added function prototypes for hasmnteq
7083	and haseq
7084
70852001-02-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7086
7087	* include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
7088	pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
7089
7090	* include/am_defs.h (_LINUX_NFS3_H): ditto
7091
7092	* conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
7093
70942001-02-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7095
7096	* aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
7097	command.
7098
70992001-02-18  Erez Zadok  <ezk@earth.cs.columbia.edu>
7100
7101	* aux/macros/mount_headers.m4, include/mount_headers[12].h: split
7102	mount_headers.h in two because one relative header (nfs_prot.h)
7103	file cannot be included inside another from the start directory of
7104	the first (it's relative to the directory of the first).
7105
71062001-02-09  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7107
7108	* AUTHORS: added Ahmon Dancy <dancy@franz.com>
7109
7110	* (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
7111
7112	* aux/macros/mount_headers.m4: moved all the C code into a
7113	separate file, include/mount_headers.h; the effect is that
7114	configure goes down in size by a factor of 2.5!
7115
7116	* include/mount_headers.h: new file, with C code from
7117	aux/macros/mount_headers.m4
7118
71192001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7120
7121	* conf/mount/mount_linux.c: made linux_nfs_error() more robust.
7122
71232001-02-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7124
7125	* released snapshot am-utils-6.1a2
7126
7127	* updated ltmain.sh and ltconfig from latest stable version of
7128	libtool-1.3.5
7129
71302001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7131
7132	* conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
7133	of nfs_error here, from mount_linux.c, so that it can actually be
7134	used.
7135
7136	* conf/mount/mount_linux.c: added unused errno 41 to the
7137	nfs_errormap array, lest the following errno's get shifted up by
7138	one!
7139
7140Sat Jan 13 00:04:38 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7141
7142	* amd/amd.h (autofs_lookuppn): Fixup whitespace.
7143	* amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
7144	* amd/amfs_error.c: (amfs_error_match): Likewise.
7145	* amd/amfs_host.c (fetch_fhandle): Fixup whitespace.  Remove
7146	unnecessary temporary variable.
7147	* amd/info_file.c (read_line): Likewise.
7148	(search_or_reload_file): Likewise.
7149	* amd/info_ldap.c (get_ldap_timestamp): Likewise.
7150	* amd/map.c (get_root_ap): Likewise.
7151	* amd/nfs_prot_svc.c: Likewise.
7152	* amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
7153	foofs_readlink, foofs_ffserver): Likewise.
7154	* amd/ops_autofs.c (autofs_bgmount): Likewise.
7155	* amd/ops_lofs.c (lofs_match): Likewise.
7156	* amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
7157	* amd/ops_xfs.c (xfs_match): Likewise.
7158	* amd/srvr_amfs_auto.c (srvrlog): Line break.
7159	* amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
7160	nfs_srvr_port): Fixup whitespace.
7161	* conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
7162	* conf/nfs_prot/nfs_prot_hpux.h: Likewise.
7163	* conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
7164	* conf/nfs_prot/nfs_prot_irix5.h: Likewise.
7165	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
7166	* conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
7167	* conf/nfs_prot/nfs_prot_osf2.h: Likewise.
7168	* conf/nfs_prot/nfs_prot_osf4.h: Likewise.
7169	* conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
7170	* conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
7171	* conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
7172	* conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
7173	* conf/transp/transp_tli.c (get_mount_client): Likewise.
7174	* hlfsd/nfs_prot_svc.c: Likewise.
7175	* include/am_defs.h (sys_errlist): Likewise.
7176	* include/am_utils.h (am_get_progname, am_get_hostname,
7177	amq_program_1): Likewise.
7178	(nfsxprt): Moved declaration.
7179
7180Fri Jan 12 23:31:45 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7181
7182	Removed support for amq -M.
7183
7184	* acconfig.h (ENABLE_AMQ_MOUNT): Removed.
7185	* aux/macros/opt_amq_mount.m4: Removed.
7186	* Makefile.am (EXTRA_DIST_AUX): Don't distribute
7187	opt_amq_mount.m4.
7188	* configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
7189
7190	* amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
7191	* amd/amq_svc.c (amq_program_1): Removed amq -M support.
7192	* amq/amq.c (mount_map): Removed.
7193	(main): Removed -M option handling.
7194	Removed transport-type specific CLIENT creation.
7195	(get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
7196
7197	* amq/amq.8: Removed -M documentation.
7198	* doc/am-utils.texi (Top-level Filesystem): Removed amq -M
7199	reference, but retain comment on mount -t amd.
7200	(Controlling Amd): Likewise.
7201
7202	* tasks: Removed this task.
7203
7204Fri Jan 12 23:18:26 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7205
7206	* conf/autofs/autofs_*.c: Bump copyright year to 2001.
7207	* hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
7208
7209	* aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
7210	solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
7211	protocol version numbers, not solaris versions.
7212	* conf/autofs/autofs_solaris[12].[ch]: Renamed to
7213	autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
7214	* Makefile.am (EXTRA_DIST_CONF): Likewise.
7215
7216	* aux/macros/check_autofs_style.m4: Use solaris2 style for both
7217	versions 2 and 3 of the AutoFS protocol.
7218
7219	Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
7220	with Solaris 8 mntfs).
7221
7222	* conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
7223	xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
7224	autofs_postmount_2_req ): Don't define for version 3.
7225	(autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
7226	AUTOFS_POSTMOUNT if missing.
7227
7228	* conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
7229
7230	* aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
7231	files on systems without existing autofs port.
7232	* conf/autofs/autofs_default.[ch]: New files, empty.
7233	* Makefile.am (EXTRA_DIST_CONF): Distribute them.
7234	* INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
7235	link.
7236
72372001-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7238
7239	* Makefile.am (EXTRA_DIST): distribute new LDAP files.
7240
7241	* README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
7242	proposed Schema, and internet draft.
7243
7244Fri Jan 12 22:27:07 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7245
7246	* Support Tru64 UNIX V5.1:
7247
7248	* conf/nfs_prot/nfs_prot_osf5_1.h: New file.
7249
7250	* Makefile.am (EXTRA_DIST_CONF): Distribute it.
7251
7252	* aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
7253	AutoFS, need to disable it until a port exists.
7254
7255	* INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
7256	minor port.
7257
72582001-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7259
7260	* ALL: bump copyright year to 2001.
7261
72622001-01-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7263
7264	* acconfig.h: correct comments for NODEV/NONDEV mount options
7265
7266Fri Jan  5 05:12:02 2001  Erez Zadok  <ezk@subzero.cs.columbia.edu>
7267
7268	* libamu/xdr_func.c: removed ugly casts to "groups*", now that
7269	irix6's nfs_prot.h is fixed.
7270
7271	* conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
7272	<rpcsvc/mount.h> here so we don't have to include this header.
7273
72742001-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7275
7276	* conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
7277	struct groups, not the pointer to this struct.
7278
7279	* include/am_xdr_func.h: prototype should take "groups *" as 2nd
7280	arg.
7281
7282	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
7283	casting of second arg of xdr_groups to "groups *".  It's only
7284	needed for irix6, due to problems with xdr_groups on that platform.
7285	(xdr_groups): prototype should take "groups *" as 2nd arg.
7286
7287	* conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
7288	definition.  Report from Ahmon Dancy <dancy@franz.com>.
7289
72902000-12-06  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7291
7292	* include/am_defs.h: force non-inclusion of <linux/fs.h> via
7293	<linux/auto_fs.h>
7294
7295	* conf/autofs/autofs_linux.c (autofs_mounted): rename
7296	AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
7297	previous commit)
7298
7299	* configure.in: fixed libtool version
7300
73012000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7302
7303	* doc/am-utils.texi (opts Option): document lock/nolock
7304
73052000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7306
7307	* conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
7308	modified autofs_fh_t to have a linked list of autofs_pending_mount;
7309	added some support for autofs4
7310
7311	* conf/autofs/autofs_linux.c: use a linked list for pending
7312	request, to allow for handling multiple simultaneous request;
7313	incipient non-functional support for autofs4; incipient
7314	non-functional support for bind-mounting
7315
7316	* amd/amd.c (main): print a warning if PROCLOCK is requested but
7317	the O/S doesn't support it
7318
7319	* libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
7320	option
7321
7322	* include/am_defs.h: don't include <linux/fs.h> on a glibc2
7323	system; include <linux/auto_fs4.h> if it exists, instead of
7324	<linux/auto_fs.h>
7325
7326	* include/am_compat.h: define the "nolock" mnttab option if the
7327	NONLM NFS mount option is defined
7328
7329	* acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
7330
7331	* configure.in: added detection of the NONLM Linux NFS mount
7332	option; added a clarification for the library versioning rules and
7333	increased the minor level; added detection of <linux/auto_fs4.h>
7334	and the MS_BIND generic mount option
7335
73362000-11-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7337
7338	* Enabled Solaris 2.7 autofs support (tested, works)
7339
7340	* Updated NEWS, README.autofs
7341
7342	* Updated Makefile's, make dist is now fixed
7343
7344	* Fixed potential memory leak in map.c
7345
7346	* Fixed autofs style detection for solaris 2.[67]
7347
7348	* Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
7349
73502000-11-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7351
7352	More Solaris 2.[67] work in progress:
7353
7354	* changed the API for the mount/umount methods: fmount/fumount are
7355	gone, and mount/umount now take two arguments (am_node and mntfs)
7356
7357	* changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
7358	means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
7359	means the am_node is a node on a filesystem of type autofs.
7360
7361	* renamed nfs_program_2_transp to current_transp so it can be used
7362	with autofs
7363
7364	* renamed quick_reply() to nfs_quick_reply()
7365
7366	* added two more autofs methods: autofs_umount_failed() and
7367	autofs_compute_mount_flags() -- it turns out that on sol2.6 the
7368	autofs mounts MUST be overlay'ed
7369
7370	* moved the autofs_mount_succeeded() into am_mounted()
7371
7372	* made amd *not* timeout autofs mounts -- the kernel will do it
7373	for us
7374
7375	* store dev and rdev of a mounted filesystem in the mntfs
7376	structure, to help autofs
7377
7378	* moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
7379	prevent deadlocking with autofs
7380
7381	* amd/Makefile.am: shuffled things around to make
7382	update_build_version be the last thing that runs
7383
73842000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7385
7386	* split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
7387	and made configure create a symlink to the appropriate one
7388
7389	* moved the xdr autofs functions from libamu/xdr_func.c into the
7390	system-specific conf/autofs/autofs*.c
7391
7392	* added some more experimental code to the sol2.6 autofs support,
7393	but it's by no means functional
7394
73952000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7396
7397	* libamu/wire.c (getwire_lookup): truncate the hostname to
7398	MAXHOSTNAMELEN characters.
7399
74002000-11-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7401
7402	* include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
7403	256 bytes, not 64.   Suggestion form Kris Kennaway
7404	<kris@FreeBSD.org>.
7405
74062000-11-26  Erez Zadok  <ezk@dmath5.geometrie.tuwien.ac.at>
7407
7408	* configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
7409	options kerb, rdirplus, readdirsize, and xlatecookie
7410	(NetBSD-1.5K).
7411
7412	* acconfig.h: recognize NFS mount options rdirplus, readdirsize,
7413	and xlatecookie (NetBSD-1.5K)
7414
74152000-11-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7416
7417	* amd/srvr_nfs.c: comment on NFS proto search order.
7418
7419	* libamu/xutil.c (real_plog): don't try to write the last byte of
7420	the fmt buf.  security suggtion from NetBSD: Thomas Klausner
7421	<wiz@danbala.ifoer.tuwien.ac.at>
7422
74232000-11-22  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7424
7425	* amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
7426	fattr.na_fileid, it is now done in map.c when the map is initialized
7427
7428	* amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
7429	to 0, to avoid cache aliasing problems on Linux (and to follow the
7430	NFS spec!)
7431
74322000-11-22  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
7433
7434	* libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
7435	(security)
7436
7437	* libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
7438	__attribute__, __format__, and __printf__ for GCC string auditing.
7439
7440	* wire-test/wire-test.8: this is not a section 8L man page.
7441
7442	* libamu/xutil.c (expand_error): don't use sys_nerr on systems
7443	that support strerror().
7444	(dplog): fmt is const
7445	(plog): fmt is const
7446	(real_plog): fmt is const.  use new expand_error function with its
7447	new return value. be more careful about running off the end of
7448	char[] fixed size buffers.
7449
7450	* libamu/wire.c (getwire): fix alignment error on alpha using an
7451	extra automatic storage variable ifrpool.
7452
7453	* hlfsd/hlfsd.c (fatal): use proper printf style to plog.
7454
7455	* fsinfo/fsinfo.c (find_username): getlogin() returns a const.
7456
7457	* fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
7458	vfprintf.
7459
7460	* fsinfo/fsi_lex.l (yyerror): use vfprintf.
7461
7462	* fixmount/fixmount.8: this is not a section 8L man page.
7463
7464	* doc/am-utils.texi (Hesiod maps): fixed typo.
7465
7466	* amd/sched.c (do_task_notify): typo in comment.
7467
7468	* amd/opts.c (expand_op): expand_error[] is a const char *.
7469
7470	* amd/amd.c (main): use proper printf style to plog.
7471
74722000-11-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7473
7474	* libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
7475	proplist mnttab flag.  Bug fix from Wolfram Klaus
7476	<klaus@physik.fu-berlin.de>.
7477
74782000-11-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7479
7480	* updated config.guess, config.sub, and doc/texinfo.tex from
7481	mirrors
7482
7483	* Makefile.am (update): proper updating of config.* and texinfo
7484	from mirrors.
7485
7486	* aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
7487	reports their system name as "netbsdelf" in config.guess.
7488
74892000-11-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7490
7491	* doc/am-utils.texi (opts Option): document new mount option
7492	"proplist"
7493
7494	* include/am_compat.h: define amd mount option "proplist" if the
7495	system doesn't recognize it, but the NFS bit flag exists.
7496
7497	* configure.in, acconfig.h: recognize/support "proplist" NFS mount
7498	option in Amd, useful under DU-4.0 to process ACLs over NFS
7499	mounts.
7500
75012000-11-10  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7502
7503	* conf/mount/mount_linux.c (mount_linux): removed unnecessary
7504	rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
7505
75062000-10-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7507
7508	* scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
7509
75102000-11-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7511
7512	Too many changes to list them here. Here's a high level
7513	description:
7514
7515	* Forward-ported the Linux fixes from 6.0.5pre
7516
7517	* Got rid of a mountain of #ifdef DEBUG, replaced with smart
7518	header-file #ifdef's
7519
7520	* and, the grand finale: initial Solaris 2.6 autofs
7521	support. Compiles, mounts, gets requests; all the
7522	infrastructure is in place to actually implement the calls. Linux
7523	autofs might be a bit broken, but only compile-time so it'll be
7524	easy to fix.
7525
75262000-11-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7527
7528	* MIRRORS (Note): added a mirror at ufl.edu
7529
75302000-10-11  Erez Zadok  <ezk@lorien.dev.hydraweb.com>
7531
7532	* amq/amq.8: synchronize Amq's options with reality
7533
7534	* amq/amq.c (main): synchronize Amq's usage() string with reality
7535
75362000-10-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7537
7538	* scripts/ctl-amd.in: add targets condrestart (redhat) and
7539	reload.
7540
75412000-10-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7542
7543	* scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
7544	defined.
7545
75462000-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7547
7548	* amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
7549	\a.
7550
75512000-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7552
7553	* include/am_utils.h: removed unused field opt_autopref
7554
7555	* amd/opts.c: removed unused variable $autopref
7556
75572000-09-05  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7558
7559	* conf/mtab/mtab_svr4.c (lockfile): function not needed unless
7560	MOUNT_TABLE_ON_FILE is defined.
7561	mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
7562	(update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
7563
75642000-09-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7565
7566	* buildall (Usage): typo in usage string
7567
75682000-08-25  Erez Zadok  <ezk@lynn.soscorp.com>
7569
7570	* conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
7571	is no defined on older Linux systems (kernel 2.0.36)
7572
75732000-08-19  Erez Zadok  <ezk@earth.cs.columbia.edu>
7574
7575	* scripts/amd.conf.5: correct swapped descriptions for ldap_base
7576	and ldap_hostports.
7577
7578	* doc/am-utils.texi: correct swapped descriptions for ldap_base
7579	and ldap_hostports.
7580
7581	* scripts/amd.conf-sample: swap examples for ldap_base and
7582	ldap_hostports.
7583
75842000-08-13  Erez Zadok  <ezk@earth.cs.columbia.edu>
7585
7586	* scripts/amd.conf-sample: -O is CLI equivalent to "os"
7587	amd.conf parameter
7588
75892000-07-30  Erez Zadok  <ezk@earth.cs.columbia.edu>
7590
7591	* scripts/amd.conf-sample (nfs_retransmit_counter): correct
7592	meaning and use of parameter
7593
75942000-07-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7595
7596	* doc/am-utils.texi: updated URLs to www.am-utils.org.
7597
75982000-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7599
7600	* doc/am-utils.texi (Supported Platforms): document osf4.0f
7601
76022000-06-19  Erez Zadok  <ezk@vir.cs.columbia.edu>
7603
7604	* doc/am-utils.texi (dollar Selector Variable): document
7605	${dollar}.
7606
7607	* amd/opts.c: special new variable ${dollar} which expands into a
7608	literal '$' sign.  Otherwise there is no way to include a literal
7609	dollar symbol in an amd map.
7610
76112000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7612
7613	* amd/opts.c (eval_selectors): don't deref opt after it's been
7614	XFREE'd
7615
76162000-06-11  Erez Zadok  <ezk@earth.cs.columbia.edu>
7617
7618	* amd/opts.c: move mount_type expansion until later in the list,
7619	so common variable are "hit" first.
7620
76212000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7622
7623	* amd/opts.c (split_opts, eval_selectors): split old function
7624	eval_opts into two, one that only splits non-selectors and
7625	assigns the values to fs_static, and one that only evaluates
7626	selectors; also simplified the rather obfuscated logic inside
7627	these functions
7628	(expand_op): made it take a char * instead of a structure from
7629	which it was using only one field (a char *). Also now returns a
7630	char * instead of modifying said structure in place
7631	(expand_opts): deal with the change above
7632	(expand_selectors): renamed from expand_key
7633	(expand_options): new function, expands non-selectors; it's the
7634	complement of expand_selectors, both of which are just wrappers
7635	around expand_op()
7636	(eval_fs_opts): use the new split_opts, eval_selectors to allow
7637	using options (like ${rhost}) in selectors
7638
76392000-06-11  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7640
7641	* config.guess.long: munge config.guess' output so that intel
7642	linux appears as i386-pc-linux
7643
7644Fri Jun  9 16:06:56 2000  Erez Zadok  <ezk@defiant.dev.hydraweb.com>
7645
7646	* conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
7647	Don't use it.
7648
76492000-06-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7650
7651	* amd/mapc.c (maptypes): Change default allocation mode to
7652	MAPC_INC where reload support is missing to avoid warning in
7653	mapc_create().
7654
76552000-06-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7656
7657	* conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
7658	solaris 2.5 until a full port can be done.
7659
76602000-06-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7661
7662	* Makefile.am, aux/GNUmakefile: fix maintainer rules to update
7663	config.* and texinfo.tex files.
7664
7665	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
7666	mtime update of the symlinks on the SYMTTL option, but rather
7667	delay unmount of what was looked up using am_timeo_w.  Patch from
7668	Nick Williams <Nick.Williams@msdw.com>.  As Nick says "Basically:
7669	during unmount, increment the parent dir's mtime (fixes
7670	people doing amq -u). During stat, increase the TTL (to fix bad-luck
7671	timeouts), but leave the mtime alone."
7672
7673	(nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
7674	nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
7675	Patch from Nick Williams <Nick.Williams@msdw.com>.
7676
7677	* amd/map.c (unmount_mp): update mtime of amd symlink to further
7678	reduce the chances of race conditions between unmounting and
7679	looking up an entry again.  Patch from Nick Williams
7680	<Nick.Williams@msdw.com>.
7681
7682	* README: updated instructions
7683
7684	* bootstrap: remove log file before existing
7685
76862000-06-06  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7687
7688	* configure.in: no longer using aux/ subdir. don't force autoconf
7689	2.14. comment out (but leave explanation) everything that's needed
7690	for autoconf 2.14, so for now it works with autoconf-2.13, but the
7691	code is ready for 2.14 when it is released.  Similar changes to
7692	make code work with automake-1.4, until the next release comes
7693	out.
7694
7695	* libamu/Makefile.am: include definitions that are required in
7696	automake 1.4, but won't be necessary when the next release of
7697	automake comes out (see XXX comments).
7698
7699	* cache_check_dynamic.m4, check_checkmount_style.m4,
7700	check_mnttab_style.m4, check_mount_style.m4,
7701	check_network_transport_type.m4, check_nfs_prot_headers.m4,
7702	check_umount_style.m4: use symlink creation code that works for
7703	both autoconf 2.13 and 2.14 (when the latter comes out).
7704
7705	* bootstrap: new script for maintainers to run to update autoconf,
7706	automake, and libtool related files.  Has the same effect as
7707	"buildall -K".
7708
7709	* removed dependencies on CVS versions of autoconf, automake, and
7710	libtool, especially the modified automake I had.  This is so that
7711	maintainers could built the auto* files out of the latest released
7712	GNU autoconf, automake, and libtool.  However, without my nice
7713	patches to automake, many files that used to live in the aux/
7714	subdir now were moved to the top level source directory: acconfig.h,
7715	acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
7716	config.guess.long, config.h.in, config.sub, configure.in, depcomp,
7717	install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs.  Also
7718	texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
7719
77202000-06-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7721
7722	* cvs-server.txt: instructions for maintainers to access the CVS
7723	server for am-utils.
7724
77252000-06-03  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7726
7727	* amd/restart.c (restart): grr.. passing around initialized
7728	structures is *really* bad habit. memset(mo, 0) so at least we can
7729	test for NULL pointers...
7730
77312000-06-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7732
7733	* amd/am_ops.c (ops_match): changed XLOG_USER messages about
7734	merging addopts options to the more appropriate XLOG_INFO.  Patch
7735	submitted by Tom Schmidt <tschmidt@micron.com>.
7736
7737	* config.{guess,sub}: make sure chmod'ed a+rx.  Updated from
7738	latest GNU copies.
7739
77402000-05-30  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7741
7742	* aux/configure.in: bump up the version to 6.1a2
7743
77442000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7745
7746	* released snapshot am-utils-6.1a1
7747
77482000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7749
7750	* amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
7751	version and store it in the fh
7752	(autofs_get_opts): support protocol version 4
7753
7754	* amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
7755	releasing it
7756
7757	* conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
7758	svc_getcaller() to sockaddr_in, to appease glibc 2.2
7759
7760	* amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
7761	autofs handling and the parent is already handled by autofs,
7762	handle this filesystem as well
7763	(amfs_auto_mount): create the mountpoint for an autofs mount
7764	(amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
7765
7766	* include/am_utils.h (FS_AUTOFS): new flag signalling that the
7767	filesystem wants autofs handling; toplvl, auto, host and direct
7768	have this flag, at least for now
7769
77702000-05-28  Erez Zadok  <ezk@mulberry.mcl.cs.columbia.edu>
7771
7772	* doc/am-utils.texi (Network Filesystem Group): minor typos
7773
77742000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7775
7776	* amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
7777
7778	* amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
7779	version=2 and proto=udp and try again
7780
7781	* amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
7782	instead of a voidp; handle the NFS_SCALEDOWN case by removing the
7783	cached server entry and re-querying the server
7784
7785	* amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
7786	statement, assign mnttype from the fs-specific mf_ops->fs_type
7787	instead
7788
7789	* amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
7790	defined;
7791	(amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
7792	always exists
7793	(amfs_nfsx_umount): removed the hacked am_node -- umounted() now
7794	takes an mntfs; call umounted() only if it's defined
7795
7796	* amd/amfs_auto.c: removed amfs_auto_umounted and moved its
7797	functionality into am_umounted().
7798	(amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
7799	as needing an "NFS scaledown" and retry the operation
7800
7801	* amd/amfs_*.c: changed all fmount/fumount functions to
7802	mount/umount and made them take an am_node instead of an
7803	mntfs. This is a first step towards an amfs/ops API separation.
7804
7805	* amd/{amfs,ops}_*.c: changed the umounted() function to take an
7806	mntfs instead of an am_node
7807
78082000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7809
7810	* amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
7811	up gcc
7812
7813	* aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
7814	which always defines HIDE_MOUNT_TYPE
7815
7816	* amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
7817	initialization -- now done in init_mntfs()
7818
7819	* amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
7820	mounting an autofs-style map
7821
7822	* amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
7823
7824	* amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
7825	necessarily a string type, so handle the nfs/autofs separation
7826	differently
7827
7828	* amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
7829	opt_mount_type (now done in ops_match())
7830
7831	* amd/am_ops.c (ops_match): need to initialize opt_mount_type if
7832	it's not initialized yet
7833
78342000-05-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7835
7836	* libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
7837	one or two arguments (bsdi3 vs. bsdi4)
7838
78392000-05-27  Ion Badulescu  <ib42@chestnut.mcl.cs.columbia.edu>
7840
7841	* libamu/xutil.c (amu_release_controlling_tty): removed an unused
7842	variable from the previous patch
7843
78442000-05-26  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7845
7846	* aux/macros/check_autofs_style.m4: fixed substitution for default
7847	case
7848
7849	* libamu/xutil.c (amu_release_controlling_tty): close standard
7850	file descriptors, re-open them as /dev/null
7851
7852	* include/am_defs.h: don't try to include both <ndbm.h> and
7853	<db1/ndbm.h>, it really doesn't work
7854
78552000-05-16  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7856
7857	* hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
7858	on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
7859	getattr).  This fixes the problem introduced by the Linux nfsv3
7860	patches.
7861
78622000-05-12  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7863
7864	* Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
7865
78662000-05-10  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7867
7868	* amd/ops_autofs.c (autofs_handle_fdset): call
7869	autofs_lookup_failed instead of autofs_mount_failed, if the name
7870	is not in the map
7871	(autofs_umount_{succeeded,failed}): pass the actual mount point,
7872	not its parent, as it's needed for clean-up;
7873
7874	* amd/autil.c (am_unmounted): notify autofs that the umount
7875	succeeded
7876
7877	* amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
7878	moved elsewhere
7879
78802000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7881
7882	* amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
7883	if necessary;
7884	(amfs_auto_mounted): test if opt_mount_type is NULL first
7885	(amfs_auto_mount): revert earlier change
7886
7887	* amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
7888	if mount failed
7889
78902000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7891
7892	* amd/ops_autofs.c (autofs_link_mount): use am_link as target
7893
7894	* amd/map.c (unmount_mp): release file handle for autofs f/s about
7895	to be unmounted; this leak was preventing the unmount altogether
7896
7897	* amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
7898	code, was broken
7899	(amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
7900	handle it
7901
79022000-05-07  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7903
7904	* Merged changes from stable branch
7905
79062000-04-30  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7907
7908	* include/am_defs.h, aux/macros/mount_headers.m4,
7909	aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
7910	linux/list.h before including linux/fs.h, and define __KERNEL__
7911	for those two headers.  All of this to get a couple of definitions
7912	that are needed in the new struct vfsmount.
7913
7914	* aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
7915
7916	* include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
7917	between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
7918	defining _LINUX_IN_H so it doesn't get included.
7919
79202000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7921
7922	* minor new ports: i686-pc-linux-gnu-rh6.2,
7923	i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
7924
79252000-04-03  Erez Zadok  <ezk@vir.cs.columbia.edu>
7926
7927	* aux/acconfig.h: move all #undef macros above @TOP@, so they can
7928	be recognized by pickier autoconf.
7929
79302000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7931
7932	* aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
7933	or \c.
7934
79352000-03-25  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7936
7937	* include/am_defs.h: ditto
7938
7939	* aux/macros/{mount_headers,try_compile_anyfs}.m4: force
7940	non-inclusion of <linux/string.h>.  Breaks build on newer 2.3
7941	kernels.
7942
79432000-02-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7944
7945	* doc/am-utils.texi (Amq -w option): document new amq -w option.
7946
7947	* amq/amq.8: document new amq -w option.
7948
7949	* amq/amq.c: disable last remains of insecure amq -M code.
7950	(main): add amq -H option to show usage.
7951	(main): new amq -w option, translates getpwd() into an amd path.
7952
79532000-02-25  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7954
7955	* libamu/util.c (get_server_pid): new function
7956
7957	* hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
7958
7959	* conf/transp/transp_sockets.c: removed create_autofs_service
7960
7961	* conf/mount/mount_linux.c: added autofs mount options; split
7962	mount_linux into two functions, itself and do_mount_linux
7963
7964	* aux/macros/check_hide_mount_type.m4: better failover
7965
7966	* aux/configure.in: changed version to 6.1a1; added
7967	AC_CHECK_AUTOFS_STYLE
7968
7969	* aux/aux_conf.h.in: added @am_utils_autofs_style@
7970
7971	* amd/opts.c: added "mount_type" option
7972
7973	* amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
7974	variables in here; split create_autofs_service into sun and linux
7975	specific functions
7976
7977	* amd/nfs_start.c: removed autofs-specific variables
7978
7979	* amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
7980	(get_root_ap): renamed root_ap to get_root_ap
7981
7982	* amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
7983	amfs_toplvl_mounted with amfs_auto_mounted
7984	(mount_amfs_toplvl): moved code around, added autofs handling
7985	(amfs_toplvl_mounted): removed
7986
7987	* amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
7988	replaced with amfs_nfsl_u?mount
7989
7990	* amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
7991	replaced with amfs_link_umount
7992
7993	* amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
7994	replaced with amfs_link_u?mount
7995
7996	* amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
7997	from amfs_toplvl_mounted to amfs_auto_mounted
7998
7999	* all: added autofs hooks throughout the code
8000
8001	* amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
8002
8003	* README.autofs: linux status update
8004
80052000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8006
8007	* minor new port: alphaev6-dec-osf5.0
8008
8009	* doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
8010	but only for UDP.
8011
8012	* released snapshot am-utils-6.0.4s3
8013
8014	* conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11.  Note
8015	that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
8016	kernel!  Must set nfs_proto=udp in amd.conf [global].
8017
8018	* aux/config.guess.long: set and export PATH separately.  DU5
8019	/bin/sh doesn't like setting it on the command line in a
8020	back-tick'ed `script`.
8021
80222000-02-24  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8023
8024	* Makefile.am: removed struct_nfs_mount_data.m4
8025
8026	* aux/macros/struct_nfs_mount_data.m4: deleted
8027
8028	* aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
8029
8030	* aux/configure.in: removed check for struct nfs_mount_data
8031
80322000-02-24  Ion Badulescu  <ib42@beetle.mcl.cs.columbia.edu>
8033
8034	* amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
8035	avoid having 'failed' in a message not indicating a failure
8036	(amfs_auto_lookuppn): ditto
8037
8038	* amd/ops_autofs.c (autofs_bgmount): ditto
8039	(autofs_lookuppn): ditto
8040
80412000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8042
8043	* added .cvsignore files into the CVS repository.
8044
8045	* remove files which can be regenerated: .in, configure, some
8046	files in aux/, and more.
8047
80482000-02-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8049
8050	* doc/am-utils.texi (nfs_vers/nfs_proto): description of two
8051	parameters was reversed.  Reported by Paul Jenner
8052	<p.jenner@eim.surrey.ac.uk>.
8053
80542000-02-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8055
8056	* released snapshot am-utils-6.0.4s2
8057
8058	* amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
8059	as inherit, error, and toplvl (failover code).
8060
8061	* amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
8062	global options in amd.conf: one to set the NFS version globally
8063	(i.e., nfs_vers=2), and one to set the NFS protocol globally
8064	(i.e., nfs_proto=udp).
8065
8066	* amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
8067	so when a matching mount entry failed, try the next one.
8068
80692000-02-15  Erez Zadok  <ezk@moisil.cs.columbia.edu>
8070
8071	* amd/amfs_auto.c: a new debug option "readdir" to trace the
8072	progress of the browsable_dirs code.
8073
8074	* conf/mount/mount_linux.c (mount_linux): ensure that the new
8075	linux NFSv3 code works for v2-only machines.
8076
80772000-02-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8078
8079	* aux/configure.in: cleanup unused dnl entries.
8080
8081	* conf/mount/mount_linux.c (parse_opts): typo: check for string
8082	equality, not string inequality for pcfs and cdfs.
8083
8084	* aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
8085
8086	* libamu/mount_fs.c (compute_mount_flags): check for INTR and
8087	NOINTR options as well (intr was never passed to linux mount
8088	syscall).
8089
80902000-02-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8091
8092	* released snapshot am-utils-6.0.4s1
8093
8094	* aux/GNUmakefile: buildall -k (for maintainers) temporarily now
8095	ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
8096	obsolete".  It is harmless but annoying, and will be fixed when
8097	autoconf and automake in their respective CVS trees are working
8098	and in sync again.
8099
8100	* scripts/amd.conf.5: document -D hrtime,xdrtrace
8101
8102	* all man pages: update copyright to 2000.
8103
8104	* doc/am-utils.texi: update copyright to 2000.
8105
8106Wed Feb  9 14:22:31 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8107
8108	* include/am_utils.h (D_XDRTRACE): Define.
8109	(D_TEST): Disable here.
8110
8111	* libamu/xutil.c (dbg_opt): Handle it.
8112
8113	* doc/am-utils.texi (-D-Option): Document it.
8114
8115	* libamu/xdr_func.c: Use it instead of D_TRACE.
8116
8117	* include/am_utils.h (D_HRTIME): Define.
8118
8119	* doc/am-utils.texi (-D-Option): Document it.
8120
8121	* libamu/xutil.c (show_time_host_and_name): Print high-resolution
8122	timestamp if available and activated.
8123
8124	* aux/configure.in (clock_gettime): Check for it in -lrt and
8125	-lposix4.
8126
8127	* hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
8128	if defined, even for some systems with in kernel mount tables.
8129
81302000-02-08  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8131
8132	* aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
8133	allow compiles against libc5
8134
8135	* aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
8136	linux when the kernel doesn't support it
8137
8138	* include/am_compat.h: add workaround for linux efs
8139
81402000-02-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8141
8142	* aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
8143	Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
8144
81452000-02-07  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8146
8147	* libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
8148	nfs (linux NFSv3).
8149
8150	* include/am_defs.h: avoid reinclusion of some header files under
8151	linux.
8152
8153	* conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
8154
8155	* conf/mount/mount_linux.c (mount_linux): support nfs mount
8156	 (implementation) version 4 for NFSv3.
8157
8158	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
8159
8160	* aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
8161	need to fix the code on other linux machines).
8162
8163	* aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
8164
8165	* aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
8166	under linux (depends on ac_cv variable, is that a good idea?)
8167
8168	* added NFSv3 support for linux
8169
8170	* aux/{configure.in,acconfig.h}: new option ver3
8171
8172	* aux/macros/mount_headers.m4: commented out inclusion of
8173	linux/fs.h, it's not needed on rh61 (and actually generates
8174	conflicts), we should see if it's still needed on libc5 systems
8175
8176	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
8177	try to have its own (out of date) list of headers and ifdef's and
8178	...
8179
81802000-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8181
8182	*******************************************************************
8183	*** Released am-utils-6.0.3					***
8184	*******************************************************************
8185
81862000-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8187
8188	* conf/mount/mount_default.c: dummy empty file to work around a
8189	limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
8190	processes them even if they are optional, enclosed in if/else).
8191
81922000-01-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8193
8194	* released snapshot am-utils-6.0.3s5
8195
81962000-01-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8197
8198	* update to use latest version of autoconf, automake, and libtool.
8199
8200	* aux/GNUmakefile (depcomp): "make update" should also update the
8201	depcomp script.
8202
8203	* Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
8204
8205	* aux/configure.in: use renamed AC_CHECK_AMU_FS.
8206
8207	* aux/macros/check_amu_fs.m4: renamed macro name and file name to
8208	say AMU_FS, not AM_FS.
8209
8210	* aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
8211	latest version of autoconf doesn't handle it (bug in 2.14a)
8212
8213	* aux/configure.in: require version 2.14 of autoconf.
8214
8215	* amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
8216
8217	* doc/am-utils.texi (Automount Filesystem): document type:=auto
8218	map browsability option.
8219
8220	* amd/mapc.c (make_entry_chain): patch from Steven Danz
8221	<sdanz@awc.kc.noaa.gov> to allow browsable auto maps.
8222
82232000-01-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8224
8225	* released snapshot am-utils-6.0.3s4
8226
8227	* amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
8228	are set to mapcache:=sync.  Fix from Nick Williams
8229	<Nick.Williams@msdw.com>.
8230
82312000-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8232
8233	* released snapshot am-utils-6.0.3s3
8234
8235	* minor port to i386-unknown-netbsd1.4.1
8236
8237	* amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
8238	<Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale
8239	file handles when doing rapid mounts and umounts in succession
8240	such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
8241
82422000-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8243
8244	* minor port to i386-pc-bsdi4.1.
8245
82462000-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8247
8248	* libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
8249	argument to irs_gen_acc(), which was changed in bsdi 4.1.
8250
82512000-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8252
8253	* amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
8254	systems with in-kernel mount tables unless this macro is defined
8255	(Solaris 8).
8256
82572000-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8258
8259	* ALL: bump copyright year to 2000.
8260
82611999-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8262
8263	* conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
8264	solaris 7, but should not be used unless MAX_MNTOPT_STR also
8265	exists (solaris 8).
8266
8267	* doc/am-utils.texi (opts Option): document new mount option:
8268	optionstr.
8269
8270Fri Dec 10 01:31:53 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8271
8272	* conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
8273	mount_svr4().
8274	(mount_svr4): Adapt prototype.
8275	* conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
8276	they are evaluated and show up in Solaris 8 in-kernel mnttab.
8277
8278	* aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
8279	option.
8280	* aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
8281
82821999-12-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8283
8284	* released snapshot am-utils-6.0.3s2
8285
82861999-12-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8287
8288	* doc/am-utils.texi (opts Option): document noexec and nomnttab
8289	(new to Solaris 8).
8290
8291	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
8292	distribution.
8293
8294	* applied fixes from Rainer Orth for Solaris 8.
8295
8296	* libamu/wire.c (getwire): increment the cp pointer in the loop
8297	body, because the ioctl() inside the "for" loop will overwrite the
8298	ifr structure, thus not detecting all of the interfaces.  Bug
8299	reported and fixed by Amitha Perera <perera@cs.rpi.edu>.
8300
8301Thu Dec  9 19:09:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8302
8303	* conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
8304	MOUNT_TABLE_ON_FILE.
8305
8306	* amd/get_args.c (get_args): Initialize mnttab_file_name even for
8307	in-kernel mount table.  conf/mtab/mtab_svr4.c (read_mtab) depends
8308	on a non-NULL value.
8309
8310	* amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
8311	LDAP structure to get error code, but use it directly.
8312	(amu_ldap_search): Likewise.
8313
8314	* conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
8315	ldap support.
8316	* conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
8317
8318	* conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
8319	nfsstat, already in <nfs/nfs.h>.
8320	* aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
8321	versions beyond 7.
8322	Allow for micro versions of SunOS 5.[67].
8323
8324	* aux/configure.in: Check for new Solaris 8 Beta Refresh
8325	MS_NOMNTTAB mount(2) option.
8326	* aux/macros/check_mnttab_location.m4: Use it to test for
8327	mntfs-based in-kernel mnttab.
8328
8329	* aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
8330
8331	* aux/macros/check_fs_headers.m4: Revert test for duplicate
8332	objects.
8333	* aux/macros/check_fs_mntent.m4: Likewise
8334
8335	* aux/macros/HEADER: Fixed typo.
8336
8337	* include/am_defs.h: Likewise.
8338
83391999-12-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8340
8341	* aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
8342
83431999-11-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8344
8345	* BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
8346
8347	* amd/info_ldap.c (string2he): updated function which does not
8348	corrupt strings when called more than once.  Patch from
8349	JOHANN.PFEFFERL.JP@germany.agfa.com.
8350
83511999-11-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8352
8353	* MIRRORS (Asia): two new mirrors in Japan.
8354
83551999-11-10  Erez Zadok  <ezk@kosh.cs.columbia.edu>
8356
8357	* doc/am-utils.texi: document new variables for ${uid} and ${gid}.
8358
8359	* amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
8360	last lookup from the RPC credentials.
8361
8362	* aux/configure.in: upped version-info to 4:0:2 because I've added
8363	a new interface to libamu.
8364
8365	* libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
8366	so it can be used by amd.
8367
8368	* amd/opts.c: new variables ${uid} and ${gid}.
8369
83701999-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8371
8372	* scripts/ctl-amd.in: add "status" command that tells you if amd
8373	is running on not (same output as RedHat scripts).
8374	Added start_msg and stop_msg targets as they are used on HPUX.
8375	reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8376
83771999-10-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8378
8379	* released snapshot am-utils-6.0.3s1
8380
83811999-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8382
8383	* amd/amd.c (main): On AIX you must lower the stack size using
8384	ulimit() before calling plock.  Otherwise plock will reserve a lot
8385	of memory space based on your maximum stack size limit.  Since it
8386	is not easily possible to tell what should the limit be, I print a
8387	warning before calling plock(). See the manual pages for
8388	ulimit(1,3,4) on your AIX system.
8389
8390	* include/am_defs.h: define default extern for vsnprintf()
8391
8392	* aux/configure.in: check for extern definition for vsnprintf()
8393
83941999-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8395
8396	* amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
8397	<njw@ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
8398	the correct location, but to the top level of the mountpoint and
8399	an (error-hook) is seen being mounted in the log file. This causes
8400	things to Go Wrong(TM).
8401	CAUSE: When evaluating two locations which are requested
8402	'practically simultaneously', and the two locations resolve to the
8403	same NFS mountpoint (but different sublinks), the later request
8404	will be "deferred" and retried after wakeup when the first mount
8405	succeeds. To do this, it rewinds the options location string to
8406	re-evaluate the location when the mount is retried. However, it
8407	shouldn't rewind the options for two reasons: (a) the semantics of
8408	the map language say you shouldn't and (b) the NFS mount reference
8409	is not reset at the same time, meaning that on the retry it will
8410	have an options structure out-of-sync with the mount
8411	structure. The "shortcut" code when retrying the mount sees the
8412	mount structure is already filled in and does not fully evaluate
8413	the options structure.... so if the first location is not the one
8414	which ties in with the mountpoint (see ordering in the
8415	recreate-by), you're now well messed up.
8416
8417	* BUGS: mention aix4.3 plock() bug (memory usage blows up and
8418	plock fails)
8419
84201999-10-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8421
8422	* aux/GNUmakefile: certain files should be copied if they are
8423	newer, not also if they are bigger: install-sh, ltconfig,
8424	ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
8425
8426	* minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
8427
84281999-10-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8429
8430	* aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
8431
8432	* aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
8433
84341999-09-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8435
8436	*******************************************************************
8437	*** Released am-utils-6.0.2					***
8438	*******************************************************************
8439
84401999-09-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8441
8442	* conf/mount/mount_linux.c (mount_linux): print the updated mount
8443	flags.
8444
8445	* doc/am-utils.texi: document $full_os and $vendor.
8446
8447	* scripts/amd.conf-sample: examples of $full_os and $vendor.
8448
8449	* scripts/amd.conf.5: document $full_os and $vendor.
8450
8451	* amd/conf.c: add support for $full_os and $vendor.
8452
84531999-09-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8454
8455	* doc/am-utils.texi (netgrp Selector Function): don't give
8456	examples with old single '=' assignment variable.  Use foo:=bar.
8457
8458	* amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
8459	comment describing this complex function.
8460
8461	* doc/Makefile.am (alldocs): do install-ps last (because distiller
8462	is slow) and install-html next to last (because texi2html is also
8463	slow).
8464
8465	* amd/amd.8: Major fixes to the description of the option -t
8466	timeout.retransmit.
8467
8468	* doc/am-utils.texi: better description of "trace" debug option.
8469	amd -H (not -v) shows log_options and debug_options.  Major fixes
8470	to the description of amd -t timeout.retransmit, and the amd.conf
8471	parameters nfs_retransmit_counter and nfs_retry_interval.
8472
8473	* scripts/amd.conf.5: better description of "trace" debug option.
8474	amd -H (not -v) shows log_options and debug_options.  Major fixes
8475	to the description of the parameters nfs_retransmit_counter and
8476	nfs_retry_interval.
8477
84781999-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8479
8480	* doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
8481	option, but a mount map option.
8482
8483	* libamu/xutil.c (switch_to_logfile): log the name of the log file
8484	we switched into, after the log file had been [re]opened.
8485
84861999-09-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8487
8488	* amd/mapc.c (mapc_reload_map): count and show the number of times
8489	a map was reloaded.  Only reload a map if its modify-time was
8490	updated.  But amq -f forced a reload no matter what.
8491
8492	* amd/amd.h: new flag to struct mnt_map to count number of times a
8493	map was reloaded.
8494
8495	* amd/mapc.c (mapc_reload_map): attempt to reload the map without
8496	losing current data by reloading into a temp copy, and switching
8497	the hashes round only if the reload was successful.  Patch from Jon
8498	Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8499	(mapc_sync): mapc_reload_map() always succeeds.
8500
85011999-09-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8502
8503	* amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
8504	rebind to an LDAP server forever.  Try up to 10 times.
8505
8506	* fsinfo/fsi_lex.l (yyerror): rework code that will never happen
8507
8508	* released snapshot am-utils-6.0.2s2
8509
8510	* aux/configure.in: bumped library version-info to 3:2:1, since
8511	some libamu code got changed.
8512
8513	* libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
8514	is better and more secure.  Fix from "David O'Brien"
8515	<obrien@NUXI.com>.
8516
8517	* aux/configure.in: check for vsnprintf.
8518
85191999-09-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8520
8521	* aux/macros/linux_headers.m4: use AC_MSG_ERROR.
8522
8523	* aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
8524	not optional.  Make sure ARG is supplied else flag an error.
8525
85261999-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8527
8528	* minor port i386-unknown-freebsdelf3.3
8529
8530	* released snapshot am-utils-6.0.2s1
8531
85321999-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8533
8534	* aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
8535
8536	* include/am_defs.h: extern definition for getitimer().
8537
8538	* aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
8539	extern.
8540
8541	* aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
8542	that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
8543	configure.
8544
8545	* aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
8546	'int' as the 5th arg to authunix_create().
8547
8548	* aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
8549	size_t for the 6th arg of recvfrom().
8550
8551	* aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
8552	aix4.x systems.
8553
8554	* libamu/mount_fs.c (print_nfs_args): cast some values to int, to
8555	avoid gcc -Wall errors.
8556
8557	* scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
8558	in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
8559	results in byte-misaligned values.   Bug fix from Jeffrey C Honig
8560	<jch@BSDI.COM>.
8561
8562	* libamu/mount_fs.c (compute_automounter_mount_flags): turn on
8563	automntfs (ignore on bsdi-4.1) flag.
8564	(compute_automounter_nfs_args): ditto.
8565
8566	* aux/acconfig.h: add new flag for automntfs (ignore)
8567
8568	* aux/configure.in: check for new automntfs flag (bsdi-4.1).
8569
85701999-09-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8571
8572	* MIRRORS: added new site in Germany.  Updated status of umn.edu
8573	and ferginc.com, who may no longer be mirroring am-utils.
8574
85751999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8576
8577	*******************************************************************
8578	*** Released am-utils-6.0.1					***
8579	*******************************************************************
8580
85811999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
8582
8583	* aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
8584	netexport defined.
8585
8586	* aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
8587	struct netexport defined.
8588
85891999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8590
8591	* aux/macros/check_field.m4 (ac_upcase_var_name): include
8592	<ifaddrs.h> so we can detect fields within struct ifaddrs.
8593
8594	* libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
8595	getifaddrs() and struct ifaddrs has no ifa_next field.
8596
8597	* aux/configure.in: check if 'struct ifaddrs' has a field
8598	ifa_next.
8599
8600	* include/amq_defs.h (AMQ_STRLEN): double size of amq string
8601	length to 2048 bytes.
8602
8603	* conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
8604	header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
8605	Zoulas> christos@zoulas.com.
8606
8607	* aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
8608	Bug reported by <Christos Zoulas> christos@zoulas.com.
8609
8610	* aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
8611
86121999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8613
8614	* libamu/xutil.c (expand_error): use strerror if available instead
8615	of sys_errlist.  Bug reported by <Christos Zoulas>
8616	christos@zoulas.com.
8617
8618	* hlfsd/hlfsd.c (fatal): use strerror if available instead of
8619	sys_errlist.
8620
8621	* amq/amq.c (show_mi): use strerror if available instead of
8622	sys_errlist.
8623
8624	* aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
8625	nfs_prot header is used for any future (1.5 etc.) netbsd systems.
8626
8627	* amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
8628	"Andrew J. Korty" <ajk@purdue.edu>
8629
86301999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8631
8632	* doc/am-utils.texi (Supported Platforms): updates for redhat
8633	systems.
8634
8635	* INSTALL: updates for redhat systems.
8636
8637	* libamu/wire.c (getwire_lookup): spell "succeeded" correctly
8638
86391999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8640
8641	* scripts/ctl-amd.in: sleep 1 second between killing amd and
8642	restarting it, because amq may respond that amd is down, where in
8643	fact it is still trying to unmount itself after unmapping itself
8644	from the portmapper.
8645
8646	* aux/config.guess.long: new script to print long version of
8647	config.guess output.
8648
8649	* buildall (host_alias): use long version of config.guess.
8650
86511999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8652
8653	* scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
8654	scripts.
8655
86561999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8657
8658	* released snapshot am-utils-6.0.1s11
8659
8660	* libamu/xutil.c (expand_error): make sure expanding the string
8661	with textual version of errno doesn't overrun the 1024 bytes
8662	buffer.
8663	(real_plog): null terminate msg, just in case.
8664
8665	* amq/amq.c (main): don't getopt -M option and don't process it
8666	unless ENABLE_AMQ_MOUNT is on.
8667
8668	* amd/amq_svc.c (amq_program_1): all code that relates to amq -M
8669	is conditional on #ifdef ENABLE_AMQ_MOUNT.
8670
8671	* amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
8672	when amq -M code is disabled.  Not taking any chances.
8673
86741999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8675
8676	* released snapshot am-utils-6.0.1s10
8677
8678Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
8679
8680	* libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
8681	128.59.16.0), try to shift the network out of zeros (e.g.,
8682	128.59.16) and try again.  Irix 6.4 requires short network
8683	numbers.
8684
86851999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8686
8687	* libamu/wire.c (getwire_lookup): correctly compute subnet using
8688	netmask.
8689
8690	* libamu/mount_fs.c (compute_automounter_nfs_args): require that
8691	Amd's own NFS mounts use reserved ports (if possible).  IP packet
8692	security fix from Jeffrey C Honig <jch@BSDI.COM>.
8693
8694	* conf/transp/transp_tli.c (create_autofs_service): use correct
8695	autofs_port.  IP packet security fix from Jeffrey C Honig
8696	<jch@BSDI.COM>.
8697
8698	* conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
8699	function.  IP packet security fix from Jeffrey C Honig
8700	<jch@BSDI.COM>.
8701	(create_nfs_service): use bind_resv_port() directly.  ensure that
8702	privileged ports are used.  IP packet security fix from Jeffrey C
8703	Honig <jch@BSDI.COM>.
8704
8705	* amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
8706	from reserved ports and from a local IP address.  IP packet
8707	security fix from Jeffrey C Honig <jch@BSDI.COM>.
8708
8709	* amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
8710	hard-coded 1024.  IP packet security fix from Jeffrey C Honig
8711	<jch@BSDI.COM>.
8712	(amqproc_mount_1_svc): provide information on the caller making an
8713	amq -M request.  IP packet security fix from Jeffrey C Honig
8714	<jch@BSDI.COM>.
8715
8716	* amd/map.c (free_map_if_success): If the program doing an unmount
8717	of a program filesystem fails, amd tries to interpret the return
8718	code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
8719
8720	* amd/info_nis.c (determine_nis_domain): don't always print
8721	warning about NIS domain name not being set, even if NIS is not in
8722	use.
8723
87241999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8725
8726	* amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
8727	(amu_ldap_search): initialize variable err.
8728
87291999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8730
8731	* libamu/wire.c: written using getifaddrs() for BSD systems,
8732	contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
8733
87341999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8735
8736	* include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
8737
8738	* aux/configure.in: check for irs.h and ifaddrs.h.
8739	Increase libamu.so --version-info to 3:1:1 since we've changed the
8740	source code for the library.
8741	Check for getifaddrs() function.
8742
87431999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8744
8745	* libamu/mount_fs.c (print_nfs_args): print fields namlen and
8746	bsize if they exist.
8747
8748	* conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
8749	and ->bsize fields correctly, if those fields exist.  This is a
8750	bug in that amd neglected to set these fields, but told the
8751	kernel it is mounting the nfs_args_t structure using mount version
8752	3 (which requires both bsize and namlen fields).
8753
8754	* aux/configure.in: test for two new nfs_args_t fields (used on
8755	newer linux with mount versions 2 and 3): bsize and namlen.
8756
8757	* doc/am-utils.texi (netgrpd Selector Function): document new
8758	selector function.
8759
8760	* amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
8761	test if the current host (fully-qualified name) is in the ARG host
8762	netgroup.  The netgrp() function uses the short form of a host
8763	name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
8764
8765	* doc/am-utils.texi (automount2amd): document new script.
8766
8767	* scripts/Makefile.am: create, install, and distribute
8768	automount2amd perl script and its man page.
8769
8770	* scripts/automount2amd.8: new man page for automount2amd.
8771
8772	* scripts/automount2amd.in: new file, contributed a in 1993 by
8773	Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
8774	any automount map options specified.
8775
87761999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8777
8778	* released snapshot am-utils-6.0.1s9
8779
87801999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8781
8782	* amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
8783	1.
8784	(amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
8785	(amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
8786	(u_int)~0.
8787
8788	* amd/mapc.c (make_entry_chain): NFS cookies should be
8789	monotonically increasing, because Linux 2.3 expects that, even
8790	though it is not in the spec (RFC-1094) for NFS V2.
8791
87921999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8793
8794	* aux/macros/check_lib_funcs.m4: removed unused macro.
8795
8796	* aux/macros/linux_headers.m4: new macro to ensure that linux
8797	kernel headers match running kernel version.
8798
8799	* aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
8800	amd is configured on linux hosts that run one kernel but have
8801	headers for a different version.
8802
8803	* amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
8804	logic which uses nis_isup and has_yp_order.  Make sure it is used
8805	correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
8806	Peter Breitenlohner <peb@mppmu.mpg.de>.
8807
8808	* include/am_defs.h: fix conflicts on linux 2.2 systems with older
8809	libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
8810
8811	* scripts/lostaltmail.in: use sockaddr_in(), not pack() to
8812	correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
8813	using pack() results in byte-misaligned values.
8814
88151999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8816
8817	* conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
8818	mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
8819	better macros for case statement.
8820
8821	* conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
8822	unless ldap is actually available.
8823
8824	* use updated config.guess and config.sub.  Use newer automake
8825	that fixes problems with distributing optional libamu files
8826	(clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
8827	and ualarm.c)
8828
88291999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8830
8831	* minor port i386-unknown-openbsd2.5
8832
88331999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8834
8835	* minor ports to freebsdelf 3.[0-2] and 4.0 completed
8836
8837	* aux/macros/check_nfs_prot_headers.m4: support freebsdelf
8838
8839	* aux/macros/check_nfs_socket_connection.m4: support freebsdelf
8840
88411999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8842
8843	* released snapshot am-utils-6.0.1s8
8844
88451999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8846
8847	* include/am_defs.h: avoid various header conflicts on
8848	RedHat/Linux 6.0 and kernels 2.2.10 or newer.
8849
8850	* aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
8851	kernel 2.2.10)
8852
8853	* amd/amfs_program.c (amfs_program_exec): make sure logfp is
8854	initialized dynamically to stderr if needed.
8855
8856	* libamu/xutil.c (dplog): make sure logfp is initialized
8857	dynamically to stderr if needed.
8858	(plog): ditto.
8859
8860	* amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
8861	not initialized.
8862
8863	* libamu/xutil.c: don't initialize logfp statically to stderr,
8864	because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
8865	be manipulated like a variable.
8866
8867	* include/am_defs.h: avoid more conflicts between <linux/fs.h> and
8868	<sys/mount.h> on 2.2 linux kernels.
8869	include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
8870
88711999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8872
8873	* all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
8874
8875	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
8876	renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
8877	won't attempt to add it to the header files to distribute.
8878
88791999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8880
8881	* aux/GNUmakefile: invoke aclocal with new --altdir flag.
8882
88831999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8884
8885	* minor new port: i386-unknown-netbsd1.4 (ALPHA)
8886
8887	* aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
8888	and <isofs/cd9660/cd9660_mount.h> because they are also included
8889	from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
8890	headers on netbsd-1.4_ALPHA.
8891
88921999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8893
8894	* aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
8895	sys_errlist extern doesn't end with [].
8896
8897	* aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
8898
88991999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8900
8901	* newer automake wants texinfo.tex to be in aux/ not doc/
8902
89031999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8904
8905	* amd/conf_parse.y: alloca support.
8906
8907	* fsinfo/fsi_gram.y: alloca support.
8908
8909	* libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
8910	needed.
8911
8912	* aux/configure.in: test for alloca support.  Needed because bison
8913	generates parsers that use alloca, and hpux9 does have alloca and
8914	its /bin/cc doesn't support it builtin (the way gcc does).
8915
8916	* libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
8917	verbatim from bison-1.25.
8918
8919	* include/am_defs.h: fixed typo #errir -> #error
8920
8921	* released snapshot am-utils-6.0.1s7
8922
8923	* README.y2k: more information about am-utils' compatibility, from
8924	Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
8925
8926	* scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
8927	compliant format.  Patch from Paul Balyoz
8928	<pbalyoz@sedona.ch.intel.com>
8929
8930	* doc/am-utils.texi (Supported Platforms): hpux10.20 could have
8931	nfs v.3 support (with some vendor patches), but it is turned off.
8932
8933	* aux/macros/os_cflags.m4: use ansi compiler options on hpux.
8934
8935	* conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
8936	confusing am-utils.  10.20 with some patches has incomplete
8937	support.  Patch from Jon Peatfield
8938	<J.S.Peatfield@damtp.cam.ac.uk>.
8939
89401999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8941
8942	* minor port i386-pc-bsdi4.0.1
8943
89441999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8945
8946	* doc/am-utils.texi (Supported Platforms): add forgotten listing
8947	for powerpc-linux.
8948
89491999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8950
8951	* scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
8952	<jch@BSDI.COM>.
8953
8954	* doc/am-utils.texi: document iso9660 options norrip, gens, and
8955	extatt.
8956	(opts Option): documented dumbtimr and noauto options.  From
8957	Jeffrey C Honig <jch@BSDI.COM>.
8958
8959	* include/am_compat.h: define default strings for options norrip,
8960	gens, and extatt.
8961
8962	* amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
8963	extatt.
8964
8965	* aux/macros/mount_headers.m4: also include
8966	<isofs/cd9660/cd9660_mount.h> as needed.
8967
8968	* aux/configure.in: check for isofs mount options for bsdi4:
8969	norrip, gens, and extatt.  Reported by Jeffrey C Honig
8970	<jch@BSDI.COM>.
8971
8972	* aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
8973	(bsdi4).
8974
89751999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8976
8977	* conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
8978
8979	* conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
8980	for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
8981
89821999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8983
8984	* get latest copies of config.guess, config.sub, ltconfig, and
8985	ltmain.sh from libtool-1.2f.
8986
8987	* all Makefile.am: don't use continuation lines (using \) for
8988	short lists of files.
8989
8990	* libamu/Makefile.am (DISTCLEANFILES): make distclean should
8991	remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
8992	Reported by Jeffrey C Honig <jch@BSDI.COM>.
8993
8994	* fixmount/Makefile.am (DISTCLEANFILES): make distclean should
8995	remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
8996
8997	* Makefile.am (DISTCLEANFILES): make distclean should remove
8998	amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
8999	Jeffrey C Honig <jch@BSDI.COM>.
9000
90011999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9002
9003	* released snapshot am-utils-6.0.1s6
9004
90051999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9006
9007	* INSTALL: document freebsdelf.
9008
9009	* doc/am-utils.texi (Supported Platforms): document freebsdelf.
9010
90111999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9012
9013	* minor new ports: i386-unknown-freebsdelf3.1 and
9014	i386-unknown-freebsdelf4.0
9015
9016	* aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
9017
9018	* aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
9019
9020	* aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
9021
9022	* amd/opts.c (eval_opts): changed log level of "executing
9023	negated..." message from USER to INFO, as per Guntram Wolski
9024	<gwolsk@sei.com>.
9025
90261999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9027
9028	* */Makefile.am (LDADD): force linking against an installed
9029	libamu.{a,so}.
9030
9031	* doc/am-utils.texi (addopts Option): document remopts interaction
9032	with addopts.
9033
9034	* amd/am_ops.c (ops_match): if addopts are specified, apply them
9035	to the value of remopts as well as opts.
9036
9037	* amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
9038
90391999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9040
9041	* released snapshot am-utils-6.0.1s5
9042
9043	* conf/mount/mount_linux.c (mount_linux): set default nfs_args
9044	options for ac{reg,dir}{min,man} as per the mount-2.8a package,
9045	but only if noac option was not used.
9046
90471999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
9048
9049	* conf/mount/mount_linux.c (mount_linux): print nfs_args again
9050	since it was updated.
9051	(mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
9052	and newer.  Bug was found by Neil Conway
9053	<nconway.list@ukaea.org.uk>
9054
90551999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9056
9057	* released snapshot am-utils-6.0.1s4
9058
90591999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9060
9061	* amq/amq.c (main): don't list -M as a valid amq option unless
9062	configure'd with --enable-amq-mount.
9063
9064Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9065
9066	* amd/nfs_start.c (amd_use_autofs): Define.
9067	(mount_automounter): Create autofs service listener only if
9068	necessary to avoid unnecessary clashes with e.g. automountd.
9069
9070	* amd/amd.h (amd_use_autofs): Declare.
9071
9072	* amd/conf.c (gopt_mount_type): Set amd_use_autofs.
9073	(ropt_mount_type): Likewise.
9074
90751999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9076
9077	* aux/macros/check_mnt2_nfs_opt.m4:: ditto
9078
9079	* aux/macros/check_mnt2_cdfs_opt.m4: ditto
9080
9081	* aux/macros/check_mnt2_gen_opt.m4: ditto
9082
9083	* aux/macros/check_mnttab_opt.m4: new macro in this file to loop
9084	over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
9085
9086	* conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
9087	nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
9088	christos@zoulas.com (Christos Zoulas).
9089
9090	* amd/info_hesiod.c: some forward declarations.  Patch from
9091	christos@zoulas.com (Christos Zoulas).
9092
90931999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9094
9095	* libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
9096	option if it was already in that state.  Patch from David
9097	Wolfskill <dhw@whistle.com>.
9098
90991999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9100
9101	* aux/configure.in: automake nowadays supports LTLIBOBJS (but not
9102	LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
9103	rebuild make rules.
9104
9105	* Makefile.am: new rules to remake libtool (maintainers only)
9106
9107	* amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
9108	if -D trace was used.
9109
91101999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9111
9112	* buildall: all if statements should have an else clause because
9113	of Ultrix's /bin/sh.
9114
91151999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9116
9117	* amq/amq.c: removed dummy variables.
9118
9119	* amq/pawd.c: removed dummy variable.s
9120
9121	* fixmount/fixmount.c (usage): removed dummy variables.
9122
9123	* fsinfo/fsinfo.c: removed dummy variables.
9124
9125	* hlfsd/hlfsd.c: removed dummy variables.
9126
9127	* wire-test/wire-test.c: removed dummy variables.
9128
9129	* mk-amd-map/mk-amd-map.c: removed dummy variables.
9130
9131	* doc/texinfo.tex: updates from GNU mirror.
9132
9133	* aux/GNUmakefile (../doc/texinfo.tex): new rule to update
9134	doc/texinfo.tex from GNU mirror.
9135
9136	* released snapshot am-utils-6.0.1s3
9137
9138	* Makefile.am (install-snapshot): better snapshot and new
9139	install-snapshot and test-snapshot rules (maintainer).
9140
9141	* amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
9142	args may be NULL.
9143	Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
9144	Bill Paul <wpaul@ctr.columbia.edu>
9145
91461999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9147
9148	* check for experimental generic 'ignore' mount flag on freebsd3.
9149
9150	* Update library -version-info to 3:0:1 (will result in 2.1.0 .so
9151	version, which is backwards compatible with older versions.)  Only
9152	one new interface was added to libamu.
9153
9154	* amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
9155	that are specific to automounter mounts.
9156
9157	* aux/configure.in: update libamu.so age and revision since a new
9158	interface was added to libamu/mount_fs.c
9159	(compute_automounter_mount_flags).
9160
9161	* libamu/mount_fs.c (compute_automounter_mount_flags): new
9162	function to compute generic mount flags that are specific to mount
9163	points only.
9164
9165	* aux/{configure.in,acconfig.h}: add support for generic mount
9166	entry ignore option.
9167
9168	* released snapshot am-utils-6.0.1s2
9169
9170	* amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
9171
9172	* libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
9173	of knc_semantics from u_long to u_int.
9174
9175	* aux/macros/check_mount_style.m4: freebsd3 no longer needs a
9176	special mount helper.
9177
91781999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9179
9180	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
9181	amu_nfs_conf.h should always be found in $top_builddir.
9182
9183Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9184
9185	* conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
9186	to avoid wrong reports from show_fstypes.
9187
9188	* conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
9189
9190	* conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
9191
9192Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9193
9194	* BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
9195
9196Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9197
9198	* hlfsd/homedir.c (delay): Cast child to long, adapt format.
9199	(hlfsd_getpwent): Likewise for pw_uid.
9200
9201	* amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
9202	format.
9203
9204	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
9205	tv_sec to int to match format.
9206	(get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
9207	formats.
9208
9209	* amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
9210	long, adapt format.
9211
9212	* include/am_defs.h: Handle __attribute__ if available.  From
9213	GNU fileutils 4.0 lib/errors.h.
9214
9215Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9216
9217	* libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
9218	match format.
9219
9220	* hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
9221	adapt format.
9222	(nfsproc_lookup_2_svc): Likewise.
9223	(nfsproc_readlink_2_svc): Likewise for userid, groupid.
9224
9225	* hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9226	format.
9227
9228	* hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
9229	format.
9230
9231	* amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
9232	long, adapt format.
9233
9234	* amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
9235	unsigned long, adapt format.
9236	(got_nfs_fh): Likewise.
9237	(prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
9238	format.
9239	(call_mountd): Likewise, mnt_version also.
9240	(mount_nfs_fh): Likewise.
9241
9242	* amd/ops_autofs.c (autofs_program_1): Cast args to int to match
9243	format.
9244	(autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
9245	unsigned long, adapt formats.
9246	(autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
9247	(autofs_bgmount): Use long format to match arg.
9248	(autofs_lookuppn): Removed superfluous arg.
9249
9250	* amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
9251	format.
9252	(got_portmap): Likewise for port.
9253	(recompute_portmap): Likewise for fs->fs_version, mnt_version.
9254	(find_nfs_srvr): Likewise for nfs_version.
9255
9256	* amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
9257	format.
9258
9259	* amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
9260	to unsigned long, adapt format.
9261	Cast tvv.tv_sec to int to match format.
9262
9263	* amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9264	format.
9265
9266	* amd/map.c (root_fh): Cast pid to long, adapt format.
9267	(timeout_mp): Cast time_t to long, adapt format.
9268
9269	* amd/clock.c (reschedule_timeouts): Use long format, cast time_t
9270	arg.
9271
9272	* amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
9273	match format.
9274	(amfs_host_fmount): Likewise.
9275	(amfs_host_umounted): Likewise.  Removed superfluous arg.
9276
9277	* amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
9278	long, adapt format.
9279	(amfs_auto_bgmount): Use long format, cast time_t arg.
9280	(amfs_auto_lookuppn): Removed superfluous arg.
9281
9282	* amd/amd.c (main): Cast geteuid() result to long, adapt format.
9283
9284	* conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
9285	to int to match format.
9286
9287	* include/am_utils.h: Declare plog, dplog as printf-like.
9288
9289	* conf/mount/mount_irix6.c (mount_irix): Print type as char *.
9290
9291Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9292
9293	* amd/info_hesiod.c (hesiod_isup): New function.
9294	* amd/mapc.c (maptypes): Add it.
9295
92961999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9297
9298	* released snapshot am-utils-6.0.1s1
9299
93001999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9301
9302	* ALL: bump copyright year to 1999.
9303
9304Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9305
9306	* aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
9307	too.
9308
9309	* aux/macros/check_mtype_printf_type.m4: Adapt corresponding
9310	printf type.
9311
9312Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9313
9314	* aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
9315
9316	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
9317
9318	* conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
9319
9320	* conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
9321
9322	* Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
9323	automake.
9324
9325Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9326
9327	* aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
9328	in current automake.
9329
9330Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9331
9332	* doc/am-utils.texi: Added some missing inter-punctation after
9333	@xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
9334	from texinfo 3.12b.
9335
93361999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9337
9338	* doc/texinfo.tex: updated off of latest GNU mirror.
9339
93401999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9341
9342	* doc/am-utils.texi (Supported Platforms): update platforms that
9343	support NFS v.3.  Nicer postscript printing on double-sided pages.
9344
9345	* amd/info_hesiod.c: add extern definition for hesiod_init()
9346
93471999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9348
9349	*******************************************************************
9350	*** Released am-utils-6.0					***
9351	*******************************************************************
9352
93531998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9354
9355	* conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
9356
93571998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9358
9359	* conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
9360	bsdi4 for NFS V3/nfs mounts.
9361
93621998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9363
9364	* using latest libtool (1.2e + patches), now supporting shared
9365	libraries on many more systems.  Also using latest autoconf and
9366	automake (unreleased GNU CVS'd versions.)
9367
9368	* minor new ports: hppa2.0w-hp-hpux11.00,
9369	i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
9370
9371	* fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
9372	have /usr/bin/flex but not libfl.
9373
93741998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9375
9376	* lots of code cleanup, to make sure libamu.so does not use
9377	undefined symbols.  Some system's shared libraries cannot handle
9378	that.
9379
93801998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9381
9382	* include/am_defs.h: only defined seteuid extern if function also
9383	exists and is not superceded by setresuid (hpux).
9384
9385	* amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
9386	braces to avoid confusion with nested if-then-else clauses.
9387
9388	* aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
9389	updated from latest versions.
9390
93911998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9392
9393	* minor new port: i386-pc-bsdi4.0
9394
9395	* conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
9396	definitions for bsdi4.
9397
9398	* {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
9399	some make programs (bsdi4) do not support VPATH correctly.
9400
94011998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9402
9403	* conf/mount/mount_aix.c: minor code cleanup
9404
9405	* aux/configure.in: check for extern definition to xdr_groups.
9406
94071998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9408
9409	* minor new port: powerpc-ibm-aix4.3.1.0
9410
9411	* aux/macros/*.m4: updates for aix 4.3
9412
94131998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9414
9415	* minor new port: i386-unknown-openbsd2.4
9416
9417	* aux/configure.in: don't check for xfs on openbsd because
9418	openbsd-2.4 introduces a new file system named xfs, but different
9419	than Irix's XFS.  Sigh.
9420
9421	* minor new port: i386-unknown-freebsd2.2.8
9422
94231998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9424
9425	* amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
9426	name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
9427
94281998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9429
9430	* scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
9431	avoid race conditions when shutting down systems running amd.
9432
9433	* Makefile.am: add a dist-hook to change modes of the directories
9434	in the tar file so they are not world writable.
9435
9436	* conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
9437	since it is now finally defined in the header files and
9438	(hopefully) stable.
9439
9440	* amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
9441	is specified in mount options.  freebsd patches from David
9442	O'Brien.
9443
9444	* amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
9445	(main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
9446	amd/get_args.c (get_args): posix: use -1 to check for return from
9447	getopt() (not EOF), as per posix.
9448
9449	* amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
9450	O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
9451	real variable whose pointer is on the stack for decoding a long
9452	int.
9453
94541998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9455
9456	* scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
9457	chkconfig utility.
9458
94591998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9460
9461	* released snapshot am-utils-6.0b2s3
9462
9463	* conf/transp/transp_sockets.c (create_nfs_service): remove C++
9464	style comments.
9465
94661998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9467
9468	* released snapshot am-utils-6.0b2s2
9469
9470	* created CVS package
9471
9472	* amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
9473	condition between unmounting and re-mounting an entry, by
9474	increasing the ttl of a looked up entry before unmounting it.
9475	Patch from Mike Mitchell <mcm@unx.sas.com>.
9476
9477	* All files: spell comments and strings.
9478
94791998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9480
9481	* aux/configure.in: look for yp_all in libnsl only if yp_all not
9482	already found elsewhere (in libc or other default libraries).
9483	This is so RedHat 5.1 systems could find yp functions in libnsl,
9484	but also so AIX 4.2.1 will NOT include libnsl, because the latter
9485	has broken nis functionality that also exists and works ok in libc.
9486
94871998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9488
9489	* amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
9490	from Danny Rathjens <dkr@cs.fiu.edu>.
9491
94921998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9493
9494	* released snapshot am-utils-6.0b2s1
9495
94961998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9497
9498	* aux/macros/*.m4: support bsdi4 as bsdi3.
9499
9500	* aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
9501	2.7 (libraries located in /usr/lib/fn).  This is off until Sun
9502	includes LDAP header information.
9503
95041998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9505
9506	*******************************************************************
9507	*** Released am-utils-6.0b1					***
9508	*******************************************************************
9509
95101998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9511
9512	* mk-amd-map/mk-amd-map.c (main): use perror not strerror.
9513	(main): set return type to int if no ndbm maps.
9514
9515	* include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
9516	kernels.
9517
95181998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
9519
9520	* A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
9521	for netbsd 1.3.2.
9522
95231998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9524
9525	* aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
9526	systems put NIS functions there.
9527
9528	* mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
9529	<obrien@NUXI.com> merged in.  Use POSIX -1 return code from
9530	getopt(), not EOF.  Use .db extentions for systems that use it,
9531	instead of .{pag,dir}.
9532
95331998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9534
9535	* wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
9536	amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
9537	"David O'Brien" <obrien@NUXI.com>.
9538
9539	* scripts/amd.conf.5: minor typo reported by "David O'Brien"
9540	<obrien@NUXI.com> in .TH section of man page.
9541
9542	* amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
9543	from Thomas Richter <richter@chemie.fu-berlin.de>.
9544
95451998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9546
9547	* doc/am-utils.texi (Program Filesystem): minor typo fixed as per
9548	Andreas Stolcke <stolcke@speech.sri.com>.
9549
9550	* minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
9551	and sparc-sun-solaris2.7.
9552
9553	* conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
9554	a 4.4lite kernel, and somethings were removed, such as
9555	INITMOUNTNAMES.
9556
9557	* amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
9558	processing /defaults.  Free temporary opts.  Patch from
9559	dsr@mail.lns.cornell.edu (Daniel S. Riley)
9560
9561	* amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
9562	processing /defaults.  Free temporary opts.  Patch from
9563	dsr@mail.lns.cornell.edu (Daniel S. Riley)
9564
9565	* conf/mtab/mtab_osf.c (read_mtab): patch from
9566	 dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
9567	 uninitialized memory on Digital Unix.
9568
95691998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9570
9571	* aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
9572	systems now use "char *" as their mount type.
9573
95741998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9575
9576	* amd/conf.c (gopt_map_type, ropt_map_type): check if map type
9577	exists.
9578
9579	* amd/mapc.c (mapc_type_exists): function to test if a map of
9580	certain type exists.
9581
95821998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
9583
9584	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9585	include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
9586	in RH-5.1 sparc64 between <netinet/in.h> and
9587	<linux/byteorder/generic.h> (2.1 kernels).
9588
95891998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9590
9591	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
9592	5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
9593	from yp_all().
9594
95951998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9596
9597	* conf/mount/mount_linux.c (parse_opts): check for pcfs support
9598	only if autoconfigured.
9599
96001998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9601
9602	* Makefile.am (EXTRA_DIST): distribute README.yk2 file.
9603
9604	* README.y2k: explain y2k compliance status of am-utils.
9605
96061998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
9607
9608	* amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
9609	amfs_host_umounted): clnt_sperrno() may return a const.
9610
9611Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9612
9613	* aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
9614	Zoulas. Turned on checking for mount options: async, synchronous,
9615	deadthresh, leasterm, nqnfs, and readahead.
9616
9617	* amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
9618	to include prototype definition for nis_isup().
9619
9620Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9621
9622	* hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
9623
9624Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9625
9626	* released snapshot am-utils-6.0a17s1
9627
9628Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9629
9630	* aux/macros/host_macros.m4: all x86 hosts should have $arch be
9631	i386, not i[456]86.
9632
9633Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9634
9635	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9636	include/am_defs.h: include <linux/posix_types.h> before
9637	<linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
9638	headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
9639	__KERNEL_STRICT_NAMES).
9640
9641	* aux/configure.in: check for <linux/posix_types.h> because it is
9642	need for RedHat 5.1.
9643
9644Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9645
9646	* scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
9647	.in as well, so it doesn't get removed by make clean.
9648
9649Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9650
9651	* aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
9652	check_mount_type.m4}: redhat 5.1 puts some modules in
9653	/lib/modules/preferred/.
9654
9655Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9656
9657	* amd/ops_autofs.c (mount_autofs): cast pid to long.
9658
9659Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9660
9661	* conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
9662	conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
9663	avoid amd/am_ops.c (show_fstypes) from erroneously claiming
9664	support.
9665
9666Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9667
9668	* libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
9669	unconditionally, may be missing on Ultrix V4.3.
9670
9671Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9672
9673	* conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
9674	missing from <sys/mntent.h>.
9675
9676	* conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
9677	without KERNEL defined here.
9678
9679	* aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
9680	<cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
9681	ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
9682
9683	* amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
9684
9685	* ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
9686	Removed purely local (and obsolete) entry.
9687
9688Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9689
9690	*******************************************************************
9691	*** Released am-utils-6.0a16					***
9692	*******************************************************************
9693
9694Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9695
9696	* aux/macros/check_mount_style.m4: define freebsd3 mount style.
9697
9698	* aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
9699
9700	* aux/macros/check_mtype_printf_type.m4,
9701	aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
9702	of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
9703	integers, but I'll keep them as integers and do the mapping in
9704	conf/mount/mount_freebsd3.c
9705
9706	* minor new port to i386-pc-bsdi3.1.
9707
9708	* minor new port to i386-unknown-netbsd1.3.1.
9709
9710	* amd/opts.c: new option addopts:=ARG, which smartly merges ARG
9711	options with whatever the /default ones for a key are.  This
9712	allows adding or overriding /default options individual keys.
9713
9714	* amd/am_ops.c (ops_match): strdup/malloc string assigned to
9715	opt_opts because it'll get free()'d upon next use.
9716	(merge_opts): new function to merge two sets of options.
9717	(ops_match): if addopts option exist, append and merge it to the
9718	current default options.
9719
9720Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9721
9722	* wire-test/wire-test.c (main): use dynamically allocated returned
9723	string with list of interfaces.
9724
9725	* amd/get_args.c (get_version_string): allocate enough space for
9726	header version string and a list of network interfaces of any
9727	length.
9728
9729	* libamu/wire.c (print_wires): return dynamically allocated string
9730	containing list of networks.  Must be dynamic because some sites
9731	had potentially dozens of network interfaces.  Patch from Matthew
9732	Crosby <mcrosby@ms.com> slightly modified.
9733
9734Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9735
9736	* conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
9737	irix 5.3 does not have full header definitions for it.
9738
9739	* fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
9740	undefined it when not needed (similar to amd/conf_tok.l)
9741
9742	* hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
9743	of these to unsigned short (because uid_t on some linux systems is
9744	small).
9745
9746	* released snapshot am-utils-6.0a16s10
9747
9748	* doc/am-utils.texi (opts Option): documented resvport mount
9749	option.
9750
9751Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9752
9753	* doc/am-utils.texi (-D-Option): document behavior of -D info and
9754	especially what it does to hesiod (turn on RES_DEBUG).
9755
9756	* scripts/amd.conf.5: document info debugging option.
9757
9758	* libamu/xutil.c (dbg_opt): parse info debugging option.
9759
9760	* include/am_utils.h (D_INFO): define new trace option.
9761
9762	* Makefile.am (EXTRA_DIST): include list of official mirrors in
9763	distribution.
9764
9765	* libamu/wire.c (SIZE): in the simple case, just compute
9766	sizeof(struct ifreq).
9767
9768Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9769
9770	* amd/amd.c (daemon_mode): set a temporary secure umask(0022)
9771	before writing log file and restore it afterwards.  Patch from
9772	Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9773
9774	* amd/get_args.c (get_args):
9775
9776	* doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
9777	file specified by -F is always processed last.
9778
9779	* amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
9780	won't be reused.  Allows startup script to redirect stdout.  Patch
9781	from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9782
9783	* libamu/xutil.c (switch_to_logfile): compare logfile name and
9784	syslog string with correct length.  Patch from Donald Buczek
9785	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9786
9787	* amd/restart.c (restart): correctly inherit existing NFS V.3
9788	mounts upon restart.  Patch from Donald Buczek
9789	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9790
9791Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9792
9793	* using libtool 1.2 and automake 1.3 (with my patches).
9794
9795	* aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
9796	AMU_CFLAGS to avoid conflicts with automake-1.3.
9797
9798Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9799
9800	* converted to using libtool-1.2.
9801
9802Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9803
9804	* fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
9805	for loop (ITER) which used to run only to initialize the variable
9806	dd once and then break; with a simple assignment.
9807
9808	* hlfsd/hlfsd.h: cleanup so it compiles with Solaris
9809	/opt/SUNWspro/bin/cc, and use gid_t not int.
9810
9811	* amd/mapc.c (mapc_sync): don't dereference pointer (so it
9812	compiles with Solaris /opt/SUNWspro/bin/cc)
9813
9814Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9815
9816	* aux/config.{guess,sub}: used from gcc-2.8.1.
9817
9818Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9819
9820	* released snapshot am-utils-6.0a16s9
9821
9822	* INSTALL, doc/am-utils.texi (Supported Platforms): updated names
9823	based on new output of new config.guess.
9824
9825	* aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
9826
9827	* amd/amd.8,doc/am-utils.texi: document correct usage of default
9828	/etc/amd.conf file.
9829
9830	* fixmount/fixmount.c (inetresport,privsock): use some more
9831	portable code from amq/amq.c.
9832
9833	* amd/get_args.c (get_args): use default /etc/amd.conf file only
9834	if no arguments had been passed to amd.
9835
9836	* fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
9837	ala amq/amq.c so that fixmount will work on both types of systems.
9838
9839	* amq/amq.c (main): do no close tcp socket before running udp try,
9840	because we're not sure if it was opened at all.
9841
9842	* mips-dec-ultrix* port merged in and cleaned up.
9843
9844	* aux/configure.in: up minor shared library revision number, since
9845	it has changed enough.
9846
9847	* hlfsd/hlfsd.c (main): don't check for overlay mount option here,
9848	as it is now done in compute_nfs_args().  Remove ultrix specific
9849	code also because it was moved to compute_nfs_args().
9850
9851	* conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
9852	we have more generic code in print_nfs_args().
9853
9854	* libamu/mount_fs.c (print_nfs_args): print maxlen of
9855	nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
9856	struct knetconfig from nfs_args->knconf.
9857
9858	* aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
9859	headers here, but in try_compile_anyfs.m4.
9860
9861	* aux/macros/type_ufs_args.m4: move test for struct ufs_specific
9862	(for ultrix) here from its own macro.
9863
9864	* aux/macros/type_cdfs_args.m4: move test for struct iso_specific
9865	(for ultrix) here from its own macro.
9866
9867	* amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
9868	for overlay mount option.  Remove code which checks for overlay
9869	option, as it is now done in compute_nfs_args().
9870
9871	* libamu/mount_fs.c (compute_mount_flags): move here code which
9872	checks for overlay mount option which was in amd/amfs_toplvl.c:
9873	mount_amfs_toplvl().
9874
9875Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
9876
9877	* The following are Rainer's ChangeLog entries for his ultrix
9878	port, added manually. -Erez.
9879
9880	* merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
9881	(mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
9882
9883	* include/am_defs.h: include cdfs specific mount headers
9884	avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
9885
9886	* include/am_compat.h: define several mount options corresponding
9887	to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
9888	noversion, rrip (cdfs), nocache, quota, sync (generic) removed
9889	duplicate MNTTAB_OPT_RO definition
9890
9891	* aux/macros/try_compile_anyfs.m4: include Ultrix specific
9892	ufs/cdfs mount headers
9893
9894	* aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
9895	specific mount headers
9896
9897	* aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
9898	mount types in mount headers (Ultrix)
9899
9900	* aux/configure.in: Ultrix/Digital UNIX specific checks: new
9901	headers, mount structures and fields, filesystem and mount types,
9902	mount flags
9903
9904	* aux/acconfig.h: placeholders for new mount options: quota
9905	(generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
9906	cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
9907	structures
9908
9909	* amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
9910	ufs_args.ufs_flags and has ufs specific pgthresh option
9911
9912	* amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
9913	CDFS mount flags and options
9914
9915	* amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
9916	hlfsd/hlfsd.c (main): store generic mount flags in
9917	nfs_args.gfs_flags, handle separate NFS ro flag
9918
9919	* aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
9920	struct_ufs_specific}.m4: new files; check for Ultrix specific
9921	mount structures
9922
9923	* conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
9924
9925	* aux/macros/type_auth_create_gidlist.m4 (ultrix*):
9926	AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
9927	comment in <rpc/auth.h>
9928
9929	* include/am_defs.h: #define KERNEL to avoid definition of
9930	gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
9931	<config.h> to force single definition here
9932
9933	* libamu/mount_fs.c (compute_nfs_args): Ultrix support for
9934	nfs_args.gfs_flags moved to callers store mount options in
9935	nap->optstr
9936
9937	* include/am_defs.h: fix _am_mntent mnt_{type, opts} field
9938	descriptions
9939
9940	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
9941	include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
9942	definition in prototypes
9943
9944	* aux/macros/mount_headers.m4: include <sys/errno.h> before
9945	AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
9946	definitions
9947
9948	* conf/nfs_prot/nfs_prot_ultrix.h: new file
9949
9950	* aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
9951
9952	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
9953	aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
9954	inclusion of <rpc/xdr.h>
9955
9956Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9957
9958	* aux/configure.in: save state of config.cache and confdefs.h
9959	(as dbgcf.h) at various points of the configure.
9960
9961	* aux/macros/save_state.m4: new macro to save state of configure,
9962	esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
9963	cache variables that are known so far.
9964
9965	* released snapshot am-utils-6.0a16s8
9966
99671998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
9968
9969	* fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
9970	it, but only for flex.
9971
9972Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9973
9974	* hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
9975	to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
9976	to write the dump file.
9977
9978	* doc/am-utils.texi,amd/opts.c: rename all references to nomadic
9979	functions to boolean functions, which is what they really are.
9980
9981	* aux/configure.in: don't look for strcasecmp in libucb at all,
9982	but rather complete it from libamu/strcasecmp.c as needed.
9983
9984Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9985
9986	* conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
9987
9988	* libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
9989	which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
9990	Schmidt <tschmidt@micron.com>.
9991
9992	* released snapshot am-utils-6.0a16s7
9993
9994	* conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
9995	hppa1.0-hp-hpux11.00.tgz.
9996
9997Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9998
9999	* converted all sources to use mntent field names, and map mnttab
10000	field names to mntent's.
10001
10002	* include/am_defs.h (mnt_special): map struct mnttab field names
10003	to struct mntent field names.
10004
10005	* aux/macros/check_mount_trap.m4: hpux11's mount trap style is
10006	identical to svr4/solaris2.
10007
10008	* aux/macros/check_mount_style.m4: hpux11's mount style is
10009	identical to svr4/solaris2.
10010
10011	* aux/macros/check_network_transport_type.m4: hpux11 is a TLI
10012	system!
10013
10014	* aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
10015	dereferencing style is same as svr4.
10016
10017	* aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
10018	dereferencing style is same as svr4.
10019
10020	* conf/transp/transp_tli.c (create_nfs_service): if failed to
10021	getnetconfigent() of ticlts, then try udp (hpux11).
10022
10023	* conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
10024	struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
10025	2.5.1 (HP used them).
10026
10027	* amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
10028	because hpux11 doesn't like it. if t_open failed, print error
10029	based on t_errlist, not sys_errlist.
10030
10031Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10032
10033	* doc/am-utils.texi: lots of documentation fixes from Rainer Orth
10034	<ro@TechFak.Uni-Bielefeld.DE>.
10035
10036Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
10037
10038	* fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
10039	later.
10040
10041	* include/am_defs.h: defined the extern for ualarm() if it isn't
10042	found, regardless if the function isn't found in standard
10043	libraries, because otherwise libamu will include it.
10044
100451998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
10046
10047	* initial port to hpux-11 completed.  Compiles cleanly, but
10048	probably does not work, because of missing NFS V.2/3 headers.
10049
10050	* amd/conf_tok.l: cast yytext to char* when passed to strlen and
10051	strdup, for hpux-11's ansi-cc compiler.
10052
10053	* include/am_utils.h: renamed all xfree() to XFREE() to avoid
10054	conflict with hpux-11's system headers.  Also move (voidp) cast
10055	from sources to inside the macro itself.
10056
10057Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10058
10059	* released snapshot am-utils-6.0a16s6
10060
10061	* amd/info_nis.c (nis_isup): new function to test if NIS is up
10062	without hanging amd.  Used to ensure that amd does not clear the
10063	maps when the expiration period arrived, if the service is down.
10064	Otherwise it would be left with empty maps.  It is better to stay
10065	with possibly old information than none at all.
10066
10067	* amd/mapc.c (mapc_sync): check to see if map service is up.
10068
10069Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10070
10071	* aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
10072	includes auxiliary library only if needed.
10073
100741998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10075
10076	* amd/conf_tok.l: undefine ECHO again, so it doesn't get used
10077	later.
10078
10079Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
10080
10081	* conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
10082	completed.
10083
10084	* conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
10085
10086Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10087
10088	* doc/am-utils.texi (Network Host Filesystem): correct example for
10089	type:=host map.
10090
10091	* aux/macros/os_cflags.m4: only osf4 should compile with
10092	-D_SOCKADDR_LEN.
10093
10094	* aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
10095	and OSF4.
10096
10097	* BUGS: include a new file listing known bugs.
10098
10099Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10100
10101	* conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
10102	versions.
10103
10104	* aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
10105	size_t for recvfrom fromlen arg.
10106
10107Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10108
10109	* scripts/ctl-hlfsd.in: turn -D fork so primary process never
10110	hangs.
10111
10112Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10113
10114	* include/am_defs.h: don't include <sys/stat.h> and
10115	<linux/stat.h>, just remaining definitions in <statbuf.h>
10116
10117Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10118
10119	* released snapshot am-utils-6.0a16s5
10120
10121	* conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
10122	mount(2).
10123
10124	* check for <sys/fs/xfs_clnt.h> and include it when needed.
10125
10126	* conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
10127	efs and xfs separately from "ufs".
10128
10129	* amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
10130
10131	* aux/configure.in: look for irix efs and xfs file systems.
10132
10133	* scripts/amd.conf.5: new unmount_on_exit option documented.
10134
10135	* doc/am-utils.texi (unmount_on_exit): new option documented.
10136
10137	* amd/conf.c (gopt_unmount_on_exit): new function to handle new
10138	amd.conf option.
10139
10140	* amd/map.c (umount_exported): if global amd.conf flag
10141	unmount_on_exit is on, then try to unmount all mounted (or
10142	restartable) file systems.
10143
10144	* amd/amd.c: if print_pid option is on, then normally print it to
10145	stdout.  If also pid_file is specified, then print the process ID
10146	into that file.
10147
10148	* amd/get_args.c (get_args): print correct -l option depending if
10149	system supports syslog and/or syslog facilities.  Patch from
10150	Tom Schmidt <tschmidt@micron.com>.
10151
10152	* doc/am-utils.texi (opts Option): updates for documentation for
10153	new cdfs options defperm, nodefperm, noversion, rrip.
10154
10155	* amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
10156	nodefperm, noversion, rrip.
10157
10158	* conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
10159	on osf.
10160
10161	* aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
10162	expand_cpp_string.m4}: use #error to make failed compilations
10163	fail faster, rather than have the program fail during a run.
10164
10165	* include/am_compat.h: added a few new cdfs options: rrip,
10166	noversion, defperm, and nodefperm (used in OSF).
10167
10168Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10169
10170	* released snapshot am-utils-6.0a16s4
10171
10172	* doc/am-utils.texi (Global Parameters): update manual for new
10173	amd.conf global variable hesiod_base.
10174
10175	* scripts/amd.conf.5: update man page for new amd.conf global
10176	variable hesiod_base.
10177
10178	* amd/get_args.c (get_args): use /etc/amd.conf file if exists by
10179	default, else try command line options.  Patch from Randall
10180	S. Winchester <rsw@Glue.umd.edu>.
10181
10182Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10183
10184	* amd/info_hesiod.c (hesiod_search), amd/conf.c
10185	(gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
10186	included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
10187	support a hesiod base name in the amd.conf file.
10188
10189	* doc/am-utils.texi (pid_file Parameter): document new global
10190	amd.conf parameter.
10191
10192	* scripts/amd.conf.5: document new global option pid_file.
10193
10194	* amd/amd.c (daemon_mode): if cannot open pid_file, continue to
10195	run, but print error message.
10196
10197	* amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
10198	init_global_options): Included patch from Randall S. Winchester
10199	<rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
10200
10201	* amd/get_args.c (get_args): correct usage info on amd -t.
10202
10203	* amd/*.c: massive file name and symbol name changes.  All amd
10204	file systems files and symbols are prefix with amfs_*.  Now using
10205	real name of file system: amfs_auto instead of afs, amfs_inherit
10206	instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
10207	clear distinction between amd file system and generic ones like
10208	nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
10209	f/s) and DFS (Distributed f/s).
10210
10211	* amd/amfs_union.c: unionfs for amd is always defined, no need to
10212	#ifdef it.
10213
10214Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10215
10216	* libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
10217	or off, based on the particular quirks of the OS in question.
10218
10219	* aux/macros/check_nfs_socket_connection.m4: new macro to set the
10220	correct wait of handling un/connected NFS sockets.
10221
10222	* scripts/wait4amd.in: use rlogin instead of rsh.
10223
10224	* amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
10225	-v, always show "nfs3" for NFS V.3.
10226
102271998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10228
10229	* lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
10230	more picky than 2.7.2.3 did.
10231
102321998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10233
10234	* include/am_utils.h (dlog): amuDebug macros reduced to shorter
10235	forms.
10236
10237Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
10238
10239	* released snapshot am-utils-6.0a16s3
10240
10241	* include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
10242	in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
10243	must not, fake a definition for varargs.
10244
10245Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10246
10247	* README: show how to configure in additional support such as
10248	hesiod using various --enable-* flags.
10249
10250Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10251
10252	* aux/configure.in: look for strcasecmp(), and replace it if not
10253	available.
10254
10255	* amd/ops_nfsl.c (nfsl_match): host names should be compared using
10256	case insensitive.
10257
10258	* amd/opts.c: for each map variable, define if the comparison
10259	needs to be done case insensitive.
10260
10261	* include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
10262	Patch from Thomas Richter <richter@chemie.fu-berlin.de>
10263
102641998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
10265
10266	* aux/configure.in: look for "isofs" as a possible mount type for
10267	cdfs (RedHat Linux).
10268
10269Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10270
10271	* conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
10272	type if not defined.
10273
10274	* conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
10275	already defined.
10276
10277	* aux/configure.in: look for ext2fs before ufs, b/c some linux
10278	have both.
10279
10280Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10281
10282	* Makefile.am (snapshot): allow me to install snapshots into the
10283	ftp directory.
10284
10285	* scripts/ctl-hlfsd.in: don't turn on -D mem by default.
10286
10287	* amd/get_args.c (get_args): minor bug in output of amd -H.
10288
10289Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10290
10291	*******************************************************************
10292	*** Released am-utils-6.0a15					***
10293	*******************************************************************
10294
10295Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10296
10297	* amd/conf.c (*_browsable_dirs): allow specifying
10298	browsable_dirs=full, which will print *all* entries (other than
10299	/default), including  those with '*' and '/' characters.
10300
10301	* amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
10302	to 1500.
10303
10304	* doc/am-utils.texi: fixed reversed documentation for NFS mount
10305	options vers and proto.
10306
10307	* doc/Makefile.am (install-html): separate target just for
10308	installing html files.  Another new target "alldocs" is just for
10309	installing all files needed for the am-utils home page.
10310
10311	* scripts/amd.conf-sample: updated example for log_file.
10312
10313	* scripts/amd.conf.5: updated for new way to declare new syslog
10314	facility in the log_file option.
10315
10316	* amd/amd.8: updated for new way to declare new syslog facility in
10317	the -l option.
10318
10319	* libamu/xutil.c (get_syslog_facility): allow users to specify the
10320	syslog facility as an appended string to the log device.  Ex. amd
10321	-l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
10322	will use the default LOG_DAEMON facility.
10323
10324	* amd/get_args.c (get_args): updated new syntax for amd -l
10325	syslog:facility.
10326
10327Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10328
10329	* aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
10330	(intel).
10331
10332	* libamu/wire.c (print_wires): bug fix.  Nullify output buffer
10333	before appending to it, on systems with two or more network
10334	interfaces.
10335
10336	* conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
10337	the mntent for cachefs.
10338
10339	* include/am_defs.h: external definition for strstr() should use
10340	const for both arguments.
10341
10342	* aux/configure.in: add extern definitions for getwd() if missing.
10343
10344	* include/am_defs.h: define the extern for strdup() even if the
10345	function does not exist, for it will be filled in by
10346	libamu/strdup.c
10347
10348	* amq/pawd.c (cluster_server): don't use getccent() if the extern
10349	for it isn't there.  On hpux 10.20, the function is in libc, but
10350	<cluster.h> and struct cct_entry do not exist.
10351
10352	* aux/configure.in: check for an extern for getccent() b/c some
10353	hpux systems don't have it (hpux 10.20).
10354
10355Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10356
10357	* doc/am-utils.texi (Amq -T option): manual documentation updates
10358	for new amq options -T/-U.
10359
10360	* amq/amq.8: updated man page for new amq options -T/-U.
10361
10362	* amq/amq.c: two new switches to amq. -U will contact amd using
10363	UDP only.  -T will use TCP only.  Normally amq will try TCP and
10364	if that failed, will try UDP.
10365
10366	* doc/am-utils.texi (pawd): manual documentation for pawd.
10367
10368	* amq/pawd.1: new man page for pawd.
10369
10370Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10371
10372	* amq/pawd.c: a new program, Print Automounter Working Directory,
10373	to print the proper pathname of the cwd or any other pathname,
10374	adjusted for automounter paths, while avoiding mount points.
10375
10376	* aux/macros/localconfig.m4: trivial support for am-utils
10377	maintainers to adjust some of the configuration of am-utils after
10378	it has been auto-configured by putting whatever definitions you
10379	wish in a file called localconfig.h, located in the top build
10380	directory (the same one where config.h is created for you).
10381
10382	* doc/am-utils.texi (Caching Filesystem): updated documents for
10383	cachefs file system.
10384
10385	* amd/ops_cachefs.c: initial cachefs support, for solaris.
10386	type:=cachefs, requires cachedir:=/cache/dir/name to be defined
10387	and initialized with cfsadmin -c.  $rfs is backdir to be cached
10388	from, and $fs is the local mount point of the cachefs.
10389
10390	* conf/mount/mount_svr4.c (mount_svr4): support mounting of
10391	cachefs file systems.
10392
10393	* amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
10394	mnttab type is.
10395
10396Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10397
10398	* amd/opts.c: added support for new variable $cachedir.
10399
10400	* include/am_utils.h: added opt_cachedir field to struct am_opts.
10401
10402Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10403
10404	* amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
10405	local hostname does not match $rhost, and if so, also assume
10406	type:=nfs.
10407
10408Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10409
10410	* updated all source files to add 1998 as a copyright year.
10411
10412	* amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
10413	like type:=linkx if the pathname denoted by $fs exists, and like
10414	type:=nfs if it does not.  A convenient shortcut for the most
10415	popular amd map entry.
10416
10417	* amd/amd.c (main): amd should chdir to / before starting, to
10418	avoid hanging on other NFS server if started elsewhere.
10419
10420	* amd/ops_TEMPLATE.c: added an empty template file for developers
10421	who wish to write new amd pseudo file systems.
10422
10423Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10424
10425	* hlfsd/homedir.c (plt_init): make function exported, to save on
10426	the unnecessary init_homedir() function which was removed.
10427	(table_add): don't use xmalloc() when you can use strdup()
10428	instead.
10429
10430Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10431
10432	* hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
10433	because we will be making more passwd calls afterwards.  On
10434	Solaris 2.5.1, making getpwent() calls after calling endpwent()
10435	results in a memory leak! (and no, even Purify didn't detect
10436	it...)
10437
10438Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10439
10440	* hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
10441	automatically allocated address.
10442
10443	* amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
10444	automatically allocated address.
10445
10446	* ALL SOURCES: change every direct call to free() to xfree(), so
10447	it can be mapped to the right debugging function as needed.
10448
10449	* include/am_utils.h: new free() policy.  If debugging memory,
10450	call dxfree(), which will print the file name and line number
10451	where the free occurred and the pointer address.  if only regular
10452	debugging, then free() and reset  the pointer to NULL so it cannot
10453	be used afterwards inadvertently.  If not DEBUG at all, then just
10454	run free().  Three different #define macros set the right mapping.
10455
10456	* libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
10457	be called only when debugging the memory.
10458
10459Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10460
10461	* wire-test/wire-test.c (main): use xmalloc() not malloc().
10462
10463	* conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
10464	calloc().
10465
10466	* conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
10467
10468	* conf/mount/mount_linux.c (parse_opts): use xmalloc() not
10469	malloc().
10470
10471	* amd/info_ldap.c: use xmalloc() not malloc().
10472
10473	* libamu/xutil.c (xzalloc): new function to allocate memory and
10474	zero its bytes.
10475
10476	* amq/amq.c: amq does not need its own definition of xfree().
10477
10478	* aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
10479	look for function malloc_verify() in libmapmalloc.a, and function
10480	mallinfo() in libmalloc.
10481
10482	* libamu/xutil.c (checkup_mem): do not use mallinfo field
10483	uordbytes, because it does not always exist.  Rather, compute it
10484	from other fields..
10485
10486	* include/am_utils.h: add external definition to xfree() function
10487	used when debugging memory references.
10488
10489Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10490
10491	* amd/ops_afs.c (afs_readdir_browsable): reduce the number of
10492	bytes heuristically computed to be returned to the kernel.
10493	Otherwise browsable_dirs fails on OpenBSD 2.2.
10494
10495	* amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
10496	mf_private field to AFTER it gets used.
10497
10498Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10499
10500	* amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
10501	on systems that don't support it.
10502
10503	* include/am_defs.h: add missing extern definition for free().
10504
10505	* aux/configure.in: check for external definition for free().
10506
10507	* libamu/Makefile.am: add to comment a mention of strstr as an
10508	optional function.
10509
10510	* libamu/xutil.c (switch_to_logfile): use openlog() options only
10511	if they exist.
10512
10513	* conf/transp/transp_sockets.c (get_nfs_version): don't use
10514	clnt_spcreateerror if it does not exist.
10515
10516	* aux/configure.in: check for missing functions clnt_create and
10517	clnt_spcreateerror.  Check for missing strstr, and complete
10518	its code.  Check for missing external definition for strstr.
10519
10520	* aux/macros/host_macros.m4: normalize sun3* names.
10521
10522	* Makefile.am: updates for new sunos3 files distributed.
10523
10524	* conf/nfs_prot/nfs_prot_sunos3.h: new file.
10525
10526	* conf/fh_dref/fh_dref_sunos3.h: new file.
10527
10528	* aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
10529
10530	* aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
10531
10532	* doc/am-utils.texi (wire Selector Variable): updated manual for
10533	adjusted variables wire, network, and netnumber, all using the
10534	in_network() function.
10535
10536Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10537
10538	* amd/opts.c: allow options to be processed by executing arbitrary
10539	functions.  Converted wire, network, and netnumber all to use the
10540	nomadic function in_network.  So from now on they perform a match
10541	against all networks, not just primary.
10542
10543	* initial port to alpha-unknown-linux-gnu, probably works, but
10544	untested yet.
10545
10546	* conf/nfs_prot/nfs_prot_linux.h: add special definitions for
10547	__FD_* macros which for som strange reason do not get included
10548	from <selectbits.h> on redhat alpha linux.  Also turn off usage of
10549	<rpc/des_auth.h> because it is incomplete on the same systems.
10550
10551	* hlfsd/homedir.c (table_add): cast uid field to int, for
10552	comparison.
10553
10554	* include/am_defs.h: more coflicts with redhat alpha linux
10555	"resolved".
10556
10557	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
10558	There's a conflict of definitions on redhat alpha linux between
10559	<netinet/in.h> and <linux/fs.h> which must be avoided.
10560
10561	* aux/configure.in: check for <socketbits.h>, which is in use on
10562	redhat alpha linux.
10563
10564	* doc/am-utils.texi (Selectors): added documentation to describe
10565	the new "!" (negated) nomadic functions.
10566
10567	* amd/opts.c (f_in_network): print debugging info that is correct,
10568	rather than saying that any ARG is on a local network.
10569	(eval_opts): added support for negating nomadic functions, by
10570	prepending "!" to their name.  Example, !exists(/foo/bar).
10571
10572Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10573
10574	* include/am_compat.h: ensure that all NFS3 systems have the mount
10575	table entries (and amd opts switches) "proto" and "vers".
10576
10577	* hlfsd/homedir.c (table_add): added some debugging info to try
10578	and track down a serious memory leak in hlfsd.
10579
105801997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
10581
10582	* libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
10583	you do NOT set the noconn option, and use connected sockets
10584	always.  So I'm now forced not to set it at all, and have the user
10585	specify it as "conn" or "noconn" in their /default entry.  Argh...
10586	Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
10587	buggy (TCP hangs with "short receive" kernel errors).  I'd better
10588	wait until they get it working in their version of the automounter
10589	first.  So I'm putting the "noconn" option back.
10590
10591Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10592
10593	* libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
10594	nfs_args field maxgrouplist accordingly.
10595
10596	* include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
10597	for mount table entry for maxgroups based on NFS mount option
10598	maxgrp.
10599
10600	* aux/configure.in: put back testing for NFS mount option
10601	"maxgrps".  Added test for mount table entry "maxgroups".
10602
10603	* libamu/mount_fs.c (compute_nfs_args): perform more careful tests
10604	on nfs_proto, because it could be NULL.
10605
10606	* doc/am-utils.texi (Selectors): added example of in_network()
10607	selector.
10608
10609	* aux/macros/check_hide_mount_type.m4: all hpux versions,
10610	including 9.x, should use "ignore" as the mount type to hide from
10611	amd.
10612
10613Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10614
10615	* include/am_utils.h (NSTREQ): use new macro instead of strncmp()
10616	every where in the sources.
10617
10618Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10619
10620	* libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
10621	print as much info that is given in struct nfs_args as possible.
10622	useful for detecting internal flags and options, as well as the
10623	file handle used.
10624
10625	* scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
10626	after /etc and before /etc/local.
10627
10628Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10629
10630	* aux/configure.in, libamu/Makefile.am: added support for linking
10631	with specific versions of libamu.  Upped shared library version of
10632	libamu to 1 (libamu.so.1.0.0)
10633
10634	* include/am_defs.h: added external definition for mkstemp() as
10635	needed.
10636
10637	* minor new port to i386-unknown-netbsd1.3 (BETA version of
10638	netbsd).
10639
10640	* aux/config.guess: don't leave a trailing '.' on the system name
10641	for NetBSD-1.3_BETA and similarly for OpenBSD.
10642
10643	* conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
10644	differences in ypall calling conventions.
10645
10646	* mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
10647	in preference over mktemp(), b/c it is more secure.
10648
10649	* aux/configure.in: check for mkstemp(), a more secure version of
10650	mktemp().
10651
10652Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10653
10654	* amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
10655	table "vers" option generally do not set the mnttab entry to
10656	"nfs3", but to "nfs" and then they set "vers=3".  Setting it to
10657	"nfs3" works, but it may break some things like "df -t nfs" and
10658	the "quota" program (esp. on Solaris and Irix).  So on those
10659	systems, set it to "nfs".
10660
10661Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10662
10663	* doc/am-utils.texi (Distrib): updates for new ports, location of
10664	am-utils' home page, and URL cross references (now supported by my
10665	version of texi2html).
10666
10667	* aux/macros/check_mtype_type.m4: also use string type for file
10668	system mount types under nextstep for mount(2).
10669
10670	* aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
10671	integer and string types for file system mount types in mount(2),
10672	but it is better to use string types.
10673
10674	* conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
10675	0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10676	(EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
10677	works.
10678
10679	* conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
10680	not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10681	(EPERM) instead of 0 (OK).
10682
10683	* libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
10684	by -D trace (protocol trace).
10685
106861997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
10687
10688	* A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
10689	macro based on existence on others, and include <sys/stat.h>.
10690
10691Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10692
10693	* aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
10694	inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
10695	which this header is broken (it tries to include non-existing
10696	headers).
10697
10698Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10699
10700	* libamu/mount_fs.c (mnt_flags): support either nfs or generic
10701	mount option for grpid.
10702
10703	* aux/configure.in: turn back on NFS mount option grpid.
10704
10705Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10706
10707	* doc/Makefile.am (install-ps): added target to install postscript
10708	file in the am-utils' home page, as well as a few other useful
10709	files for the new am-utils Web page.
10710
10711Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10712
10713	*******************************************************************
10714	*** Released am-utils-6.0a14					***
10715	*******************************************************************
10716
10717Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10718
10719	* doc/am-utils.texi (Supported Platforms): updated table of new
10720	ports.
10721
10722Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10723
10724	* libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
10725	options so that they can be printed in logs as needed.
10726
10727	* doc/am-utils.texi (osver Parameter): updated for the correct
10728	usage of the -o/-O options.
10729
10730	* scripts/amd.conf.5: corrected info for -o/-O options.
10731
10732	* amd/amd.8: updated man page for new -O op_sys_name option, and
10733	corrected the usage of the -o op_sys_ver option
10734
10735	* amd/get_args.c (get_args): added new amd option -O to override
10736	OS name.
10737	(get_args): updated usage string.  Removed old -m option.  Added
10738	-o and -O options.
10739
10740	* conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
10741	it is not there.  Reportedly, irix 5.2 does not define it.
10742
10743	* scripts/lostaltmail.in: removed references to unused $hack
10744	variable.
10745
10746	* aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
10747	<metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
10748	for solaris2.5.
10749
10750	* doc/am-utils.texi (Distrib): typo in the subscription
10751	instructions to amd-dev.  Patch from Stefan Vogel
10752	<vogel@physik-rzu.unizh.ch>.
10753
107541997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
10755
10756	* NFS3 works on powerpc-ibm-aix4.2.1.0.
10757
10758	* libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
10759	static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
10760	stack of an automatic variable when pointer to it is passed around
10761	several times.
10762
10763Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10764
10765	* libamu/xutil.c (real_plog): syslog like behavior for normal
10766	logging.  Will not print repeated strings, only a count "last
10767	message repeated N times", but will always print something if
10768	message is repeated more than 100 times.
10769
10770	* scripts/lostaltmail.in: look for lostaltmail.conf files also in
10771	/etc/global, /etc/os, and /etc/local (in that order).
10772
10773Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10774
10775	* conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
10776	mounts.
10777
10778	* aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
10779	aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
10780
10781	* conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
10782	NFS_SA_DREF macro is a pointer to the structure that used to be
10783	passed to it before.  So now I have to dereference the pointer
10784	before accessing its values.
10785
10786	* hlfsd/hlfsd.c (main): use the new and cleaner
10787	compute_nfs_args() and compute_automounter_nfs_args() functions.
10788
10789	* amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
10790	compute_nfs_args() and compute_automounter_nfs_args() functions.
10791
10792	* amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
10793	and cleaner compute_nfs_args() and compute_automounter_nfs_args()
10794	functions.
10795
10796	* libamu/mount_fs.c (compute_nfs_args): major code cleanup that
10797	relates for struct nfs_args.  A new function sets the numerous
10798	possible flags and fields of nfs_args_t in an orderly fashion.
10799	Code cleaned up, organized, and moved from amd/hlfsd into
10800	libamu.  This saves on overall size of code.
10801	(compute_automounter_nfs_args): A variant of compute_nfs_args()
10802	which sets special options/flags that need to be used when NFS
10803	mounting an automounter's mount point.  Used by hlfsd and amd.
10804
10805	* amq/amq.c (get_secure_amd_client): don't print any more
10806	"get_secure_amd_client: using TCP, port 12345".  It's more
10807	annoying than useful a message, even when assumed to be compiled
10808	under DEBUG only.
10809
10810Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10811
10812	* aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
10813	mount table entries.  The code used to define the /etc/mnttab name
10814	for file systems based on physical media (disk, cdrom, floppy) to
10815	the generic name, rather than the OS specific name.  For example
10816	autoconf searches for all these types of mount table entries for a
10817	floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
10818	it found any, it hard-coded the mnttab name to "pcfs" rather than
10819	the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
10820	nullfs, unionfs, and umapfs.
10821
10822	* aux/configure.in: also test for xfs (for newer Irix) when
10823	looking for mount type names, numbers, etc of a disk-based ufs.
10824
10825Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
10826
10827	* amq/amq.c (main): use pmap_ping() to test if remote host is up.
10828	This works better on bsdi2 and bsdi3, because their portmapper
10829	does not appear to like forwarding operations (it is generaly
10830	insecure).
10831
10832Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10833
10834	*******************************************************************
10835	*** Released am-utils-6.0a13					***
10836	*******************************************************************
10837
10838Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10839
10840	* conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
10841	struct datum typedef.
10842
10843	* conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
10844	ypall_callback_fxn_t for netbsd.
10845
10846	* aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
10847	the 5th arg to authunix_create(), while before and after they used
10848	gid_t.
10849
10850	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
10851	clnt_create_timed() on older Solaris 2.3 systems that did not have
10852	it.
10853
10854	* conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
10855	kernel only on bsdi2, so do not include it.
10856
10857Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10858
10859	* hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
10860	messages about resolution of mailboxes based on uid/gid.
10861
10862	* scripts/ctl-hlfsd.in: check for alternate password file in
10863	${prefix}/etc/passwd and use it in hlfsd's startup.
10864
10865Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10866
10867	* hlfsd/homedir.c (hlfsd_getpwent): added support for -P
10868	passwdfile option.  If hlfsd is started with -P passwdfile, then
10869	the passwdfile is read and parsed just as a standard unix
10870	passwd(4) file.  Only the username, uid, and homedir fields are
10871	read and checked.  All the rest are ignored.  No NIS/netgroup
10872	support!
10873
10874	* hlfsd/hlfsd.c (main): check if hlfsd is run as root after
10875	parsing command line options, so that usage() can be printed when
10876	-h is invoked.
10877
10878Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10879
10880	* amd/nfs_start.c (mount_automounter): if autofs service listener
10881	fails to initialize it is OK if using a test amd.
10882
10883	* amd/opts.c (f_in_network): new nomadic function in_network(arg),
10884	which returns TRUE if 'arg' is any one of this host's networks.
10885
10886	* libamu/wire.c (getwire): rewritten parts of function, to store
10887	all networks names and numbers in the order of the interface (not
10888	in reverse).
10889
10890Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10891
10892	* aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
10893	would have worked had it not been due to AIX's buggy /bin/sh.
10894
10895	* doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
10896	am-utils.ps in the distribution sources.
10897	(html): generate html documentation for
10898	http://www.am-utils.org
10899
10900Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10901
10902	* conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
10903	ypall_callback_fxn_t.  The NetBSD team compiles all sources with
10904	gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
10905
10906	* amd/info_nis.c: allow for override of ypall_callback_fxn_t
10907	function typedef.
10908
10909	* libamu/xutil.c (amu_release_controlling_tty): new function to
10910	release the controlling tty in a clean and sane manner.  No longer
10911	using setpgid() b/c it may not work.  Uses setsid(),
10912	and ioctl() (in order).  This new function is used in amd/amd.c
10913	and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
10914	systems, but on others it is the same as setpgid().
10915
10916Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10917
10918	* aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
10919	it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
10920	never used, because the configure test for fsname flag wasn't
10921	used.  This fixed a bug in HPUX 10, where syncer and manual mounts
10922	left blank lines in /etc/mnttab.
10923
10924	* aux/configure.in: check for nfs mount option 'fsname'.
10925
10926Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10927
10928	* amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
10929	mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
10930	hpux-10 will mount amd's mounts points as 'ignore' (by df).
10931
10932	* aux/configure.in: check for NFS mount option 'ignore', useful in
10933	HPUX 10.
10934
10935Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10936
10937	* aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
10938	mount type and not NFS, for the amd mount points.
10939
10940	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
10941	an RPC timeout as an error, but just an info message.  From
10942	Andreas Stolcke <stolcke@speech.sri.com>
10943
10944	* If the NFS server is down or does not support the portmapper
10945	call (such as certain Novell NFS servers) we mark it as version 2
10946	and we let the nfs code deal with the case that is down.  If when
10947	the server comes back up, it can support NFS V.3 and/or TCP, it
10948	will use those.  From christos@deshaw.com (Christos Zoulas).
10949
10950	* hlfsd/homedir.c (plt_print): various compile time cleanups to
10951	printfs that take a long, but pass an int to print.  From
10952	christos@deshaw.com (Christos Zoulas).
10953
10954	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
10955	macro to determine if the OS has a bad yp_all(), based on the host
10956	OS name.  So far only irix (all versions) have a bad yp_all, so
10957	they will use am_yp_all() instead (which is slower as it
10958	enumerates manually all of the map's entries).
10959
10960Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
10961
10962	* amd/info_nis.c (am_yp_all): code for a replacement yp_all that
10963	avoids using a file-descriptor leaking yp_all() on some systems
10964	like irix.
10965
10966Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
10967
10968	* fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
10969	systems using /usr/bin/flex.
10970
10971	* amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
10972	that have a modified GNU flex which does define yywrap (DU-4.x).
10973
10974Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10975
10976	* conf/checkmount/checkmount_bsd44.c: include prototype.
10977
10978Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10979
10980	*******************************************************************
10981	*** Released am-utils-6.0a12					***
10982	*******************************************************************
10983
10984Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10985
10986	* conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
10987	code in irix6 until it can be tested correctly
10988
10989	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
10990	on clnt_create for 3 seconds, rather than wait for the much longer
10991	default.
10992
10993	* conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
10994	Includes NFS3, untested.
10995
10996Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10997
10998	* amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
10999	pcfs_args_t if they exist.
11000
11001	* amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
11002	cdfs_args_t if it exists.
11003
11004	* new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
11005	hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
11006
11007Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11008
11009	* doc/am-utils.texi (wire-test): updated documentation for the new
11010	option.
11011
11012	* wire-test/wire-test.8: updated man page for new option.
11013
11014	* wire-test/wire-test.c (main): added a test for various
11015	combinations of NFS proto/vers to a remote/local host.
11016
11017	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11018	<isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
11019	freebsd will correctly set mount options for pcfs and cdfs.
11020
11021	* amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
11022	0777 (if field exists).
11023
11024	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11025	<msdosfs/msdosfsmount.h> if available.
11026
11027	* minor new port: rs6000-ibm-aix4.1.4.0.
11028
11029	* libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
11030	write the "time" field in /etc/mnttab.
11031
11032	* conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
11033	detecting mnt_time field of mntent_t.
11034
11035	* libamu/mtab.c (mnt_free): fixed typo in macro names for
11036	detecting mnt_time field of mntent_t.
11037
11038Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11039
11040	* conf/mtab/mtab_file.c (lock): Use flock() in preference over
11041	fcntl() to lock the mtab file.
11042
11043Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11044
11045	* conf/transp/transp_sockets.c (get_nfs_version): define
11046	the try_again goto label only for NFS3.
11047	(pmap_ping): assume timeout failure of clnt_stat.
11048
11049	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
11050	"groups *".
11051
11052Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11053
11054	* conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
11055	<dsr@mail.lns.cornell.edu> to make sure that amd works with more
11056	secure portmappers that do not allow forwarding of RPC messages to
11057	other services.
11058
11059	* */Makefile.am: all source files should also depend on the new
11060	include/am_xdr_func.h header.
11061
11062	* include/am_xdr_func.h: new file as part of the code cleanup from
11063	Christos Zoulas <christos@deshaw.com>.
11064
11065	* Lots of fixes from Christos Zoulas <christos@deshaw.com> that
11066	involved missing prototypes, cleaned up ones, and removal of
11067	unused variables.
11068
11069	* libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
11070	statement with only one case is unclean.
11071
11072Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11073
11074	* amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
11075	0 so that all fields are initialized to zero at first.  This way
11076	SunOS 4.x and other systems don't get /etc/mtab entries with
11077	random integers for the fsck/freq fields. Patch from Andreas
11078	Stolcke <stolcke@speech.sri.com>.
11079
11080Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11081
11082	* conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
11083	that the important definition for HOSTNAMESZ will be found.
11084
11085	* amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
11086	(inside the nfs_args structure) if the system uses that macro.
11087	Otherwise systems like SunOS refuse to NFS mount long pathnames
11088	and result in ENAMETOOLONG errno's.
11089
11090Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11091
11092	* doc/am-utils.texi (Supported Platforms): specify new support for
11093	solaris 2.6, and hlfsd running on 2.5.1 too.
11094
11095Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11096
11097	* conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
11098	mount if it is not supported or was turned off.
11099
11100Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11101
11102	* conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
11103	again.  Apparently at some previous release SunOS 4 supported was
11104	broken and all nfs mounts resulted in ESTALE.
11105
11106Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11107
11108	* conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
11109	solaris 2.6.
11110
11111	* aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
11112	protocol header selection.
11113
11114Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11115
11116	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
11117	infinite loop.
11118
11119Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11120
11121	*******************************************************************
11122	*** Released am-utils-6.0a11					***
11123	*******************************************************************
11124
11125Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11126
11127	* amd/amd.c (main): if plock() succeeded, don't try to display
11128	errno message.   Patch from Chris Metcalf
11129	<metcalf@catfish.lcs.mit.edu.
11130
11131Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11132
11133	* hlfsd/homedir.c (table_add): make sure duplicate passwd entries
11134	are ignored.   Only the first entry should ever be used, because
11135	that's how lookup in passwd database works.
11136
11137	* conf/transp/transp_sockets.c (get_nfs_version): when determining
11138	if a remote host is up or down, use NFS v.2.  Fix suggested by
11139	Enami Tsugutomo <enami@cv.sony.co.jp>.
11140
11141	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
11142	function to get the best possible NFS version, but also timeout
11143	faster than normal defaults, so remote hosts which are down can be
11144	detected in a reasonable time.
11145	(get_nfs_version): use the new "best" function.
11146
11147Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11148
11149	*******************************************************************
11150	*** Released am-utils-6.0a10					***
11151	*******************************************************************
11152
11153Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11154
11155	* conf/transp/transp_tli.c (get_nfs_version): don't use
11156	clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
11157	and earlier).
11158
11159	* aux/configure.in: test for existence of clnt_tp_create_timed(),
11160	since Solaris 2.4 (and possibly earlier) do not have it.
11161
11162Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11163
11164	* amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
11165	field if it exists (solaris 2.4's autofs does not have it).
11166
11167Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11168
11169	* aux/macros/type_auth_create_gidlist.m4: a new test to determine
11170	the correct type to the 5th argument of authunix_create().
11171
11172Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11173
11174	* libamu/xdr_func.c (xdr_umntrequest): add test for autofs
11175	structure umntrequest, if it has the field rdevid.  Seems Solaris
11176	2.4 and earlier didn't have it.
11177
11178Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11179
11180	* hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
11181	can be done before primary process forks.
11182	(main): bug fix: wait a bit to give child a chance to initialize.
11183	Without this, hlfsd got into a busy infinite loop while, never
11184	completing the mount.
11185
11186	* amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
11187	to make amd works when talking to NIS+ servers in NIS
11188	compatibility mode.
11189
11190Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11191
11192	* amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
11193
11194Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11195
11196	* amd/conf.c (gopt_fully_qualified_hosts): a new function to
11197	process another new global variable.
11198
11199	* amd/ops_nfs.c (make_nfs_auth): if a new global variable
11200	fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
11201	Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
11202
11203	* amd/conf.c (process_last_regular_map): If the amd.conf file only
11204	has a [global] section (pretty useless IMHO), do not try to
11205	process a map that does not exist.
11206
11207	* scripts/amd.conf.5: fixed typos (repeated 'as' word).
11208
11209	* doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
11210
11211	* amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
11212	structure, so it does not carry over from map entry to another.
11213
11214Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11215
11216	* amd/amd.c (main): fixed the meaning of the plock option.  A bug
11217	caused it to be reversed.
11218
11219Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11220
11221	* hlfsd/stubs.c: don't initialize some statics here.  They are
11222	better initialized in hlfsd_init_filehandles().
11223
11224Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11225
11226	* amd/conf.c (gopt_show_statfs_entries): new function and a global
11227	amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
11228	then all maps flagged as browsable will also show a count of the
11229	number of entries (keys) in that map.
11230
11231	* amd/nfs_subr.c (count_map_entries): new function to count number
11232	of entries in a map.  Now used if browsable is turned on in a map,
11233	to return a count of available keys in a given map.
11234
11235	* hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
11236	confused the file handles for ".", "..", and the symlink, causing
11237	mess.
11238
11239	* aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
11240	but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
11241	with bad memcmp() in libc's (nextstep3).
11242
11243Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11244
11245	* aux/configure.in: check if autofs_args_t has a field named
11246	addr.  Solaris has it for specifying the address of the daemon,
11247	but Irix does not.  So how does irix tell the kernel the daemon's
11248	address?  I suspect that it is hardcoded to "localhost" using a
11249	"private well-known port" (#define AUTOFS_PORT 2048).
11250
11251	* conf/nfs_prot/nfs_prot_linux.h: added missing autofs
11252	definitions.
11253
11254	* README.autofs: new file listing autofs support notes
11255
11256	* very preliminary autofs code working.  Call it pre-alpha
11257	quality.
11258
11259Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11260
11261	* amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
11262	"autofs" if system does not support it.
11263
11264	* amd/amd.c (main): log am-utils version string (same as amd -v)
11265	at start of run.
11266
11267	* conf/transp/transp_sockets.c (get_nfs_version): in order to tell
11268	if a remote host is available, try to contact its portmapper and
11269	timeout if no answer is received in 3 seconds.
11270
11271Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11272
11273	* aux/macros/check_extern.m4 (pattern): use a simpler pattern for
11274	match for external function definitions.  The function could span
11275	multiple lines, so only match the opening parenthesis, not the
11276	closing one too.
11277
11278	* aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
11279	posix mode for nextstep3.  It is broken.
11280
11281	* amd/amd.c (init_global_options): run uname() only if
11282	<sys/utsname.h> and uname(2) exist.
11283
11284	* amd/rpc_fwd.c (fwd_packet): if remote host is down, the
11285	forwarding socket is null, so declare this an error.
11286
11287	* include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
11288	for when a remote host is down.  Try, in order, "host down", "host
11289	unreachable", "invalid argument".
11290
11291	* amd/ops_nfs.c (discard_fh): don't dereference a null pointer
11292	(happens when remote host is down, and fp->fh_fs is NULL).
11293	(prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
11294	and FSF_DOWN.
11295
11296	* amd/sched.c: nobody uses "union wait" any more, or so it
11297	appears, so clean up that code.
11298
11299	* conf/transp/transp_tli.c (get_nfs_version): if remote host is
11300	down, time it out faster than default (3 seconds).
11301	(get_mount_client): free netconfig entry when done with it.
11302
11303	* conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
11304	port to nextstep3 (m68k-next-nextstep3).
11305
11306	* fsinfo/Makefile.am (LDADD): needs to link with libamu in case
11307	system does not have strdup().
11308
11309	* include/am_defs.h: complete external definition for getlogin()
11310	if needed.
11311
11312	* conf/transp/transp_tli.c (get_nfs_version): no need to keep
11313	static versout variable.
11314
11315	* amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
11316	server is probably down.  Don't use sendto() in that case.
11317
11318	* buildall (default): run gmake if found, before trying plain
11319	make.  GNU make is always preferable.
11320
11321Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11322
11323	* aux/macros/host_macros.m4: cleanup of os_version and os
11324	overrides.  Solaris 2.5.1 for example will come up as solaris2 and
11325	2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
11326	the amd.conf file.
11327
11328Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11329
11330	*******************************************************************
11331	*** Released am-utils-6.0a9					***
11332	*******************************************************************
11333
11334Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11335
11336	* conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
11337	(i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
11338	from <ndbm.h> and <sys/resource.h>.
11339
11340	* scripts/amd.conf.5: new map page.
11341
11342	* amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
11343	does not.
11344
11345	* amd/amd.8: updated man page.
11346
11347	* amd/get_args.c (get_args): removed defunct -h option to amd.
11348
11349	* amq/amq.8: updated man page.
11350
11351	* amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
11352	SparcCompiler CC won't complain.
11353
11354	* amd/info_hesiod.c (hesiod_search): small fixes to compile with
11355	hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
11356
11357	* aux/macros/opt_ldflags.m4: new option added to configure
11358	--enable-ldflags, to specify -L option for configuring/compiling.
11359	The older one --enable-libs is now to be used only for -l options.
11360
11361	* amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
11362	nc_protoname from nfs_proto if available for all TLI systems, not
11363	just those that have NFS V3.
11364
11365	* amd/info_ldap.c: ldap patches from Leif Johansson
11366	<leifj@matematik.su.se>, adding two new amd.conf ldap variables:
11367	ldap_cache_seconds and ldap_cache_maxmem.
11368
11369	* hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
11370	htons().
11371
11372Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11373
11374	* amd/nfs_start.c (mount_automounter): register amd with the rpc
11375	program number that may have been overridden by amd.conf.
11376
11377	* libamu/xutil.c (set_amd_program_number, get_amd_program_number):
11378	allow storing and retrieving alternate amd program numbers.
11379
11380	* amd/conf.c (gopt_portmap_program): new function to parse
11381	amd.conf entry portmap_program=1234.
11382
11383	* amq/amq.c (main): allow specifying an alternate rpc program
11384	number for amd via -P prognum.
11385
11386	* new amq RPC to get the process id of the running amd.  This is
11387	used in ctl-amd to quickly find the pid of the amd that is to be
11388	killed.
11389
11390	* expanded shared libraries support.  Using GNU libtool-1.0,
11391	am-utils now builds shared libraries on many platforms that have
11392	support for it and proper compilers/linkers.  See "INSTALL" file
11393	for compatibility chart.
11394
11395Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11396
11397	* fsinfo/fsi_lex.l: removed code that was in support of very old
11398	versions of flex.  No longer needed.
11399
11400Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11401
11402	* amd/amd.c (init_global_options): find the kernel architecture
11403	from uname() if possible.
11404
11405Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11406
11407	* new working port: i386-unknown-openbsd2.1
11408
11409Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11410
11411	* working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
11412	structure to actual char[], because the structure was passed to
11413	xdr_fhandle as data and not a pointer.  Surprisingly, gcc
11414	-fpcc-struct-return did not help.
11415
11416	* conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
11417	definitions for solaris 2.4 have to be different from 2.3, and
11418	different from 2.5.
11419
11420	* libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
11421
11422Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11423
11424	* conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
11425	types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
11426
11427	* mk-amd-map/mk-amd-map.8: man page taken from bsd44.
11428
11429Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11430
11431	* conf/mount/mount_linux.c: made the nfs error mapping code into a
11432	small function.
11433
11434Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11435
11436	* conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
11437	error mappings from errno numbers to NFS errors.  From Debian
11438	Linux.
11439
11440	* scripts/am-eject.in (fs): new script (taken from Debian Linux
11441	folks) to auto-unmount floppy/cd devices before ejecting them.
11442
11443	* fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
11444	'5' as second arg to show_area_being_processed.  I'm not sure why.
11445
11446	* fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
11447	second arg to show_area_being_processed.  I'm not sure why.
11448
11449	* conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
11450	ensure that you have a buffer in *xopts to strcat onto.
11451	(mount_linux): fixed from Debian folks to ensure that NFS mount
11452	sockets are connected only for kernels prior to 1.3.10 (avoids
11453	hangs for multi-homed hosts).
11454
11455	* amd/mapc.c (make_entry_chain): from Debian folks: don't skip
11456	over amd map keys that have a prefix, and include the prefix in
11457	the returned readdir().
11458
11459	* amd/info_passwd.c (passwd_init, passwd_search): format
11460	enhancements from the Debian Linux folks.  They added
11461	- var0:=pw-prefix:=anydir
11462	- var1:=pw-rhost:=dom3.dom2.dom1
11463	- var2:=pw-user:=user
11464	- var3:=pw-home:=/anydir/dom1/dom2/dom3/user
11465
11466	* new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
11467
11468	* amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
11469	afs_mount timed out, then explicitly forbid further retries after
11470	the timeout.  (afs_bgmount): bug fix from Debian Linux.  Timeout
11471	values (17 and 5) were mistakenly swapped.
11472
11473Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11474
11475	* conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
11476	support for Solaris 2.4 (the header files incorrectly define parts
11477	of the NFS V.3 protocol, but the kernel does not support it).
11478
11479Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11480
11481	* amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
11482	for determining if using old or new hesiod libraries,
11483	respectively.
11484
11485	* amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
11486	V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
11487	they cause hangs of mounts from multi-homed hosts when the return
11488	route is not the same as the outgoing route (esp. on NetBSD
11489	1.2.1).  If "conn" option was supplied, then don't turn on the
11490	"noconn" mount option.  Otherwise default to "noconn" mount
11491	option.
11492
11493	* aux/configure.in: better check for systems that need libgdbm and
11494	<ndbm.h>
11495
11496Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11497
11498	* hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
11499	mounts are hidden from df(1) on systems that keep mount tables in
11500	kernel, such as osf1.
11501
11502Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11503
11504	*******************************************************************
11505	*** Released am-utils-6.0a8					***
11506	*******************************************************************
11507
11508Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
11509
11510	* hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
11511	AF_INET when hlfsd mounts itself, thus getting an errno "protocol
11512	family not supported".
11513
11514Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11515
11516	* verified that amd on NetBSD 1.2.1 (i386) works, but the OS
11517	itself is flaky.
11518
11519	* verified that amd AIX 3 works w/ the new readdir() code.
11520
11521Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
11522
11523	* amd/mapc.c (maptypes): changed the default map caching type for
11524	nis and ndbm maps to "MAPC_ALL", so that all possible entries will
11525	be available to amd for browsable_dirs=yes.
11526
11527Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11528
11529	* amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
11530	afs_readdir into a browsable version and a non-browsable one.
11531	Fixed bugs that resulted in an infinite nfs_readdir loop on the
11532	localhost for some operating systems.
11533
11534Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11535
11536	* amd/ops_afs.c (afs_readdir): fixed up the browsable code to
11537	comply with nfs_readdir specs.  It was returning all entries at
11538	once, even if there was not enough space in the RPC packet.  Now,
11539	it sends a reasonably sized chunk, and sets static state to resume
11540	it for the next continuation RPC of readdir.
11541
11542	* amd/conf.c (set_conf_kv): fixed bug that resulted in the first
11543	regular map not getting all of the [global] options defaulted from.
11544
11545Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11546
11547	* amq/amq.c (main): fixed so that portmapper "ping" will only fail
11548	upon an RPC timeout
11549
11550	* scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
11551	amd/hlfsd process to kill.
11552
11553	* amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
11554	determine how to avoid df from seeing amd's toplvl mounts.  Moved
11555	from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
11556	is hidden from df.
11557	(mount_toplvl): fixed df types for irix.
11558
11559Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11560
11561	* amq/amq.c (main): fixed bug that caused the 5 second timeout for
11562	TLI amq using udp to be ignored.
11563	(main): if amq cannot contact remote host's portmapper within 5
11564	seconds, timeout and fail faster than the default longer timeout
11565	(this is for non-TLI systems).
11566
11567Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11568
11569	* amq/amq.c (get_secure_amd_client): if amq cannot contact
11570	remote host's portmapper within 5 seconds, timeout and fail faster
11571	than the default TLI timeout of over 4 minutes.
11572
11573	* amd/am_ops.c (ops_showfstypes): added styles for new bsd44
11574	file systems nullfs, unionfs, and umapfs.
11575	(ops_show1): cleanup code and and reuse this function.
11576	(vops): empty placeholders for nullfs, unionfs, and umapfs.
11577
11578	* amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
11579	bsd44 style file systems.
11580
11581	* fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
11582	sources.
11583
11584	* amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
11585	conflict with systems that define it in <sys/ioctl.h> and also
11586	define a conflicting one via lex.  Newer versions of f/lex are ok.
11587
11588Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11589
11590	* amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
11591	acdirmin/max and acregmin/max only if they exist.
11592
11593	* aux/configure.in: test for nfs_args fields acdirmin and
11594	acregmin.
11595
11596Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11597
11598	* aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
11599	"nondev" and commented back in checking for "nodev".  This was a
11600	typo.
11601
11602	* include/am_compat.h: more compatibility options: define "ro"
11603	mnttab option all the time.  Define "overlay" as needed.  Added
11604	more fillers of mnttab options (as per Daniel S. Riley
11605	<dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
11606	acregmin, noac, grpid, nosuid, and actimo.
11607
11608	* libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
11609	per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
11610	the same code for other options in struct opt_tab.
11611
11612Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11613
11614	* amd/get_args.c (get_args): moved amd.conf file parsing to before
11615	the switching the default log/debug options.  Suggested by
11616	dsr@mail.lns.cornell.edu (Daniel S. Riley).
11617
11618	* aux/update_build_version: new script to record the build version
11619	of amd, along with the rest of the info thet comes up with amd -v.
11620
11621Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
11622
11623	* aux/macros/os_cflags.m4: new macro, to add additional
11624	compilation options (also used during configuration), based on the
11625	OS and the compiler.  Used for solaris-2.6, osf, and irix6.
11626
11627Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11628
11629	* amd/conf_tok.l, conf_parse.y: allow values of keys to include
11630	white spaces, if they are double-quoted (key="some value")
11631
11632	* amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
11633	of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
11634
11635Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11636
11637	*******************************************************************
11638	*** Released am-utils-6.0a7					***
11639	*******************************************************************
11640
11641Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11642
11643	* include/am_defs.h: fill in extern definition of innetgr() in
11644	case system headers don't.
11645
11646	* aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
11647	will show the full pathname to yacc/bison and f/lex.  Some systems
11648	have older or bad versions of those and this way the user will
11649	know for sure what is being invoked.
11650
11651	* tasks: file populated with todo items.
11652
11653	* scripts/amd2ldif.in: Script to convert amd maps to plain text
11654	LDAP object files.  Contributed by Leif Johansson
11655	<leifj@matematik.su.se>.
11656
11657	* aux/config.guess: added recognition for sun3's running 4.2bsd,
11658	from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
11659
11660	* amd/conf.c: several variables that were local to a map, were
11661	also added to [global], where they apply to all maps.  Each map
11662	can then individually override those defaults.  Flags
11663	affected: browsable_dirs and mount_type.  Options affected:
11664	map_type, map_options, and search_path.
11665
11666	* amd/amd.h: eliminated several global flags each of which took an
11667	int, in favor of one global flags variable used as a bit field.
11668
11669	* amd/amd.c (init_global_options): moved all global variables into
11670	a single struct amu_global_options, so it is easier to add new
11671	ones and/or identify existing ones.
11672
11673	* amd/get_args.c (get_args): removed unused amd -m option.
11674
11675	* amd/conf.c (gopt_cluster): added new amd.conf option for cluster
11676	name, same as amd -C.
11677
11678	* amd/info_ldap.c: LDAP info map functions from Leif Johansson
11679	<leifj@matematik.su.se>.
11680
11681	* amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
11682	amd.conf options for ldap_base and ldap_hostports.
11683
11684	* amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
11685	if the current host is in the ARG host netgroup.
11686
11687	* aux/configure.in: some systems replaced dbm in libc with GNU's
11688	libgdbm, so check for libgdbm, but only if dbm_open is not in
11689	libc already.  This was a recommendation from Tom Schmidt
11690	<tschmidt@micron.com>.
11691
11692	* conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
11693	completed.
11694
11695Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11696
11697	* port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
11698	V.3.
11699
11700Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
11701
11702	* port to i386-unknown-freebsd3.0 done and working.  Includes NFS
11703	V.3.
11704
11705	* aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
11706	file handle dereferencing style similar to freebsd22.
11707
11708	* include/am_defs.h: need to include <net/if_var.h> before
11709	<netinet/if_ether.h> on freebsd3.
11710
11711	* conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
11712	for freeBSD 3.0.
11713
11714Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11715
11716	* amd/info_nis.c (nis_reload): cast nis' callback function so
11717	picky compilers won't complain.
11718
11719	* libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
11720	gets compiled only if the system has NFS V3 and does not have
11721	xdr_mountres3.
11722
11723Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11724
11725	* COPYING: put in some legal stuff in this file.
11726
11727Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11728
11729	* NFS V3 now works under Irix5, thanks to patches from
11730	Andreas Stolcke <stolcke@speech.sri.com>.
11731
11732	* conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
11733	version and an irix6 version, since irix5's NFS V3 code is broken
11734	and hacky.
11735
11736	* amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
11737	sizes for some hesiod queries.  Patch from Danny Braniss
11738	<danny@cs.huji.ac.il>.
11739
11740Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
11741
11742	* amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
11743
11744Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
11745
11746	* aux/{configure.in,acconfig.h}: added checks for struct
11747	nfs_args's fields proto and sotype (bsdi3).
11748
11749	* amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
11750	nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
11751	to SOCK_STREAM or SOCK_DGRAM.
11752
11753	* aux/macros/check_mount_style.m4: add case for bsdi3.
11754
11755	* amd/info_hesiod.c: got hesiod support for bsdi3.
11756
11757Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11758
11759	* aux/configure.in: look for hesiod on libc (bsdi3)
11760
11761	* amd/get_args.c (get_args): reformat usage so it fits in 80
11762	columns.
11763
11764	* scripts/ctl-amd.in: changed directory name for optional tftpboot
11765	map to /tftpboot/.amd.
11766
11767Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11768
11769	*******************************************************************
11770	*** Released am-utils-6.0a6					***
11771	*******************************************************************
11772
11773Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11774
11775	* scripts/ctl-amd.in: include -T tag for tftpboot.
11776
11777	* new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
11778	is broken and needs work on the specific nfs_args that irix5 uses
11779	for V3 mounts.
11780
11781Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11782
11783	* amd/get_args.c (get_args): new options amd -T tag.  A map with
11784	tag=foo matching the -T tag will be processed.  All untagged maps
11785	get processed all the time.
11786
11787Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11788
11789	* aux/configure.in: need to check for strcasecmp in libucb (ncr2)
11790
11791	* aux/macros/check_os_libs.m4: a new macro to set the usage of
11792	libnsl and libsocket based on the OS.
11793
11794	* libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
11795	defined (problem on osf4).
11796
11797	* conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
11798
11799	* include/am_defs.h, aux/macros/try_compile_nfs.m4,
11800	aux/macros/mount_headers.m4: do include <sys/proc.h> because it
11801	failes on irix5.  Rather, put in the individual
11802	conf/nfs_prot/nfs_prot_*.h headers.
11803
11804	* amd/conf.c: AIX3 doesn't like strdup() being passed a constant
11805	char*, so cast all strdup()'s args to a non-const char*.
11806
11807	* amd/mapc.c (root_newmap): don't try to strdup only a "const
11808	char *".
11809
11810Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11811
11812	* conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
11813	sys/errno.h.
11814
11815Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11816
11817	* made sure am-utils compiles, links, and runs properly on Irix
11818	6.2 using "cc -32 -Wl,-woff,"
11819
11820	* aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
11821	AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
11822	them to $LIBS.
11823
11824	* aux/configure.in: some cleanup of which libraries are needed.
11825	Espectially ensure that libnsl is included only on Solaris, where
11826	so far it is the only system on which it is absolutely necessary.
11827	Also no longer need to include libc explicitly.
11828
11829	* amd/amd.c,wire-test/wire-test.c (main): convert IP address to
11830	network-long order before printing it.
11831
11832	* wire-test/wire-test.c (main): also check and report on the IP
11833	address of the local host, since some systems have bad versions of
11834	get_myaddress, or ones that conflict with other versions in
11835	multiple libraries (SunOS 4 and Irix especially).
11836
11837Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
11838
11839	* scripts/ctl-amd.in: don't use full pathname so killproc() works
11840	better.  Also run bsd44 and irix style ps programs.
11841
11842	* aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
11843	of library no matter if it was found or not.
11844
11845Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11846
11847	* aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
11848	for M_* macros, but ensure that <sys/stream.h> is not included at
11849	all so it won't conflict with other M_* macros.
11850
11851Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
11852
11853	* conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
11854	irix should be "spec" (host:/path), not the dir of the mnt point.
11855
11856	* amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
11857	fixed.  If on, it essentially ignored the setting in a
11858	selector-controlled /defaults if there were 2 or more entries in it.
11859
11860Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11861
11862	* scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
11863	using BSD style ps, then try SVR4 style ps.
11864
11865	* include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
11866	etc., to avoid conflicts with similar named macros in <ldap.h>.
11867
11868	* aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
11869	support needed for LDAP.  Now the code has to be written mostly in
11870	amd/info_ldap.c.
11871
11872	* Included additional patches from Andreas Stolcke
11873	<stolcke@speech.sri.com> to support using the best possible
11874	combination of NFS version (2,3) and protocol (udp,tcp) for any
11875	given host, since it appears that some Irix versions have NFS V3,
11876	but do not support TCP.
11877
11878	* scripts/ctl-amd.in: updated amd control script to look for and
11879	use amd.conf file.
11880
11881Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11882
11883	* amd/mapc.c (mapc_create): now, each map in the amd.conf can be
11884	initialized off of a different type, or default to cycling through
11885	all maps until one of them matches.
11886
11887Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11888
11889	* amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
11890	if browsable_dirs=yes is set in the map section in amd.conf, that
11891	map will return all entries back to a readdir(2).
11892
11893Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11894
11895	* rudimentary amd.conf file support included.  You may even
11896	override things like os=sos5, to get "backwards" compatibility with
11897	upl102.
11898
11899Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11900
11901	* amd/conf.c: new file to process amd.conf file.
11902
11903	* amd/get_args.c (get_args): new options -H to print help.
11904
11905	* moved enable_default_selectors to be amd.conf controlled, and
11906	not compiler controlled.
11907
11908	* amd/get_args.c (get_args): new options -F <conf-file> to parse an
11909	amd configuration file.
11910
11911Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11912
11913	* converted all files that used strcmp() == 0 or != 0  to using
11914	the STREQ() macro.
11915
11916Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11917
11918	* aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
11919	search for any number of functions in any given library.
11920
11921Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11922
11923	* amd/mapc.c: Included patch from Leif Johansson
11924	<leifj@matematik.su.se> to ensure that systems without an RE
11925	library can compile.
11926
11927	* libamu/mount_fs.c (mount_fs): Included patch from Andreas
11928	Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
11929	table are properly delimited by a comma.
11930
11931	* amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
11932	Stolcke <stolcke@speech.sri.com>, to allow users to override the
11933	proto= and vers= mount options.
11934
11935Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
11936
11937	* conf/nfs_prot/nfs_prot_svr4.h: port completed to
11938	i486-ncr-sysv4.3.03.  Assorted source cleanups done.
11939
11940	* include/am_defs.h, aux/macros/mount_headers.m4: don't include
11941	mnttab.h if sys/mnttab.h was already included, because on ncr2,
11942	they contain conflicting entries for struct mnttab.
11943
11944Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
11945
11946	* aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
11947
11948Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
11949
11950	* amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
11951
11952	* aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
11953	on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
11954
11955Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
11956
11957	* aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
11958	nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
11959	better.
11960
11961Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11962
11963	* amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
11964	NULL, set the maxlen and len fields in netbuf to zero.
11965
11966Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11967
11968	* scripts/fix-amd-map.in (name): replace all matching patterns on
11969	line.
11970
11971Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11972
11973	*******************************************************************
11974	*** Released am-utils-6.0a5					***
11975	*******************************************************************
11976
11977Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11978
11979	* amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
11980	procedure now returns the full string that amd -v returns.
11981
11982	* amd/get_args.c (get_version_string): new function to return
11983	complete version/info string so it could be used more flexibly.
11984
11985	* amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
11986	of Fs types into a string buffer, rather than a FILE*.
11987
11988	* amd/mapc.c (mapc_showtypes): put the list of map types into a
11989	string buffer, rather than a FILE*.
11990
11991Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11992
11993	* amd/get_args.c (get_args): amd -v also prints user who built
11994	amd, hostname built on, and date of configuration.
11995
11996Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11997
11998	* scripts/lostaltmail.conf-sample: sample lostaltmail
11999	configuration file.
12000
12001	* scripts/lostaltmail.in: new script lostaltmail used to redeliver
12002	"lost" mail that hlfsd redirected to a temp location because the
12003	primary home file system of the user was full.
12004
12005	* scripts/amd2sun.in: new script amd2sun. Used to convert Sub
12006	automount maps to amd maps.
12007
12008	* scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
12009	stop, or restart hlfsd.
12010
12011	* scripts/expn.1: man page for expn command.
12012
12013	* scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
12014	restart amd.
12015
12016	* scripts/expn.in: new script expn.  Actually taken from David
12017	Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
12018	script.
12019
12020	* scripts/wait4amd.in: new script wait4amd added.  Waits for amd
12021	to come up on a host, and then runs a command (rsh $hostname by
12022	default).
12023
12024	* scripts/Makefile.am: new directory now holds all shell/perl
12025	scripts that belong to am-utils.
12026
12027	* conf/mount/mount_linux.c (parse_opts): new parser for
12028	linux-specific mounts.  Handles fs-type specific mount-options
12029	correctly.  Currently implemented: msdos, iso9660.
12030
12031	* amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
12032	(fix for linux).
12033
12034	* amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
12035	(fix for linux).
12036
12037	* amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
12038	core dumps upon "ls" of a mount point; an invalid pointer was
12039	being returned and dereferenced.
12040
12041	* port to Linux sparc working!
12042
12043	* hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
12044	failed to write test file, or else the fd will leak.
12045
12046Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12047
12048	* amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
12049	instead of strcmp().
12050
12051	* Port to Digital Unix 4.0 (OSF) done.
12052
12053	* hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
12054	with dirname() function in <string.h> on OSF systems.
12055
12056	* fsinfo/fsi_util.c (set_ether_if): take out extern definition of
12057	inet_addr().  It should come from <arpa/inet.h> instead.
12058
12059	* conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
12060
12061	* include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
12062	avoid conflicts with DU 4.0 system header.
12063
12064Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
12065
12066	* libamu/mount_fs.c (mount_fs): pass along NFS version so I can
12067	determine if to include additional options in the mount table file
12068	entry (such as proto=tcp, and vers=3).
12069
12070Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12071
12072	* libamu/mount_fs.c (mount_fs): include NFS version number in the
12073	mount table options, as well as proto={tcp,udp}.
12074
12075Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12076
12077	* NFS V3 code ported to most other systems, so it compiles for V2
12078	and V3 NFS systems.
12079
12080	* NFS VERSION 3 support, first pass.  Working for Solaris and
12081	using TCP.
12082
12083Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12084
12085	* amq/amq.c: many newline characters were missing from various
12086	stderr printfs.
12087
12088Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12089
12090	* conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
12091	Solaris, which include NFS V3 support.
12092
12093	* conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
12094
12095	* conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
12096	protocol version while getting a mount client.
12097
12098	* amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
12099	file handle size, and proper file handle based on the correct NFS
12100	version number.
12101
12102	* conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
12103	Solaris and other SVR4 systems.
12104
12105	* amd/ops_nfs.c: store NFS file handle version and version
12106	specific handle in struct fh_cache.
12107	(got_nfs_fh): pick the correct RPC reply based on the NFS version
12108	of the server.
12109	(prime_nfs_fhandle_cache): figure out the right NFS file handle
12110	for a node, but now include NFS protocol version information.
12111	(call_mountd): set the correct version for the mount protocol,
12112	based on the NFS protocol version.
12113	(nfs_init): use the NFS protocol generic structure
12114	am_nfs_handle_t.
12115
12116	* include/am_utils.h: new structure am_nfs_handle_t to contain all
12117	possible versions of NFS file handles.
12118
12119	* amd/srvr_nfs.c (start_ping): ping program performs NFS version
12120	specific pings.
12121	(recompute_portmap): figure out the correct portmap version mount.
12122	(nfs_keepalive): call start_ping() with the correct NFS version.
12123	(find_nfs_srvr): if mount option "vers=" is given, use it.  Get
12124	the NFS server version and verify that it is up.
12125
12126	* conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
12127	function to find the best NFS version for a particular host.
12128
12129	* libamu/amu.h: determine what is the highest version of NFS we
12130	should try.
12131
12132	* include/am_utils.h (NFS_VERSION3): added definition for NFS V3
12133	protocol number.
12134	Added field fs_version to struct fserver, so we can now store the
12135	server protocol version.
12136
12137Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12138
12139	* aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
12140	underscores too, so I can test for sub-fields.
12141
12142	* libamu/wire.c: use test that checks for sub-fields of struct
12143	ifreq.
12144
12145Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
12146
12147	* port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
12148	into smaller files.  M4 macros fixed to test for existence of
12149	file systems using getvfsbyname().
12150
12151	* amd/sched.c (sigchld): signal handler must waitpid() for all
12152	possible children.
12153
12154	* hlfsd/homedir.c: signal handler must waitpid() for all possible
12155	children.
12156
12157	* aux/macros/check_restartable_signals.m4: new macro to determine
12158	if need to reinstall signal handlers per OS is better than trying
12159	to figure these out based on system macros.
12160
12161Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
12162
12163	* amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
12164
12165	* amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
12166
12167	* amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
12168	(must be supplied for bsdi 3.0)
12169
12170	* libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
12171	associated new macro) for determining the right way to compute the
12172	size of the interface structure.
12173
12174Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12175
12176	* aux/configure.in: need to include libc before libnsl if
12177	get_myaddress() is available because on irix libnsl has a buggy
12178	get_myaddress().
12179
12180	* include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
12181	on Irix 6 (an SVR4 variant)
12182
12183Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12184
12185	*******************************************************************
12186	*** Released am-utils-6.0a4					***
12187	*******************************************************************
12188
12189Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12190
12191	* amd/amq_subr.c (ok_security): turned off insecure code unless
12192	user explicitly runs configure --enable-amq-mount.
12193
12194	* hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
12195
12196	* amd/nfs_start.c (mount_automounter): use code that separately
12197	creates the NFS and the amq service.  Register tcp and udp
12198	services for amd.
12199
12200	* conf/transp/transp_*.c (create_amq_service): new function to
12201	separately create the amq service for amd.  Simplified prototypes
12202	for create_nfs_service().
12203
12204Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12205
12206	*******************************************************************
12207	*** Released am-utils-6.0a3					***
12208	*******************************************************************
12209
12210Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12211
12212	* new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
12213	of small changes to support these two.
12214
12215Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
12216
12217	* conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
12218	should run if MOUNT_TABLE_ON_FILE, not otherwise.
12219
12220Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12221
12222	* hlfsd/hlfsd.c (main): fill in fhsize field if exists
12223	(freebsd-2.2).
12224
12225	* amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
12226	exists (freebsd-2.2).
12227
12228Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12229
12230	* new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
12231	changed the filehandle type in struct nfs_args from nfsv2fh_t to
12232	u_char.
12233
12234Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12235
12236	* SHARED LIBRARIES: too many changes to list individually.  Now,
12237	libamu can be built as a shared library, and other programs link
12238	with it.
12239
12240Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12241
12242	* aux/macros/opt_shared.m4: new macro for setting options for
12243	building shared am-utils libraries.
12244
12245Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12246
12247	* fixmount/fixrmtab: cleaned up the script.
12248
12249	* fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
12250	fixrmtab gets distributed too.
12251
12252	* conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
12253	Added extern for xdr_mountlist().
12254
12255	* aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
12256	MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
12257	the sources.
12258
12259Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12260
12261	* fixmount/hlfsd ported to bsd44, hpux, and linux systems.
12262
12263	* aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
12264
12265	* conf/fixmount/fixmount_default.c: use lockf() if flock() is
12266	unavailable.
12267
12268	* include/am_defs.h: include <string.h> even if don't have
12269	STDC_HEADERS defined (sunos4).
12270	(seteuid): define seteuid() to be setresuid() for systems that
12271	have but not the other (hpux).
12272
12273	* aux/macros/check_extern.m4: test should include <strings.h>.
12274
12275Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12276
12277	* lib/xutil.c (debug_option): moved from amd/getargs.c to this
12278	more proper file.
12279
12280	* include/am_utils.h: put in structure for debug options, for all
12281	progams to use.
12282
12283	* amd/get_args.c: moved structure for debug options out.
12284
12285Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12286
12287	* ported fixmount.
12288
12289	* lib/ualarm.c: replacement function for systems that don't have a
12290	ualarm().
12291
12292	* ported fsinfo.
12293
12294Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12295
12296	* ported mk-amd-map.
12297
12298	* buildall: added -K option to buildall, to run mkconf.
12299
12300Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12301
12302	*******************************************************************
12303	*** Released am-utils-6.0a2					***
12304	*******************************************************************
12305
12306Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12307
12308	* all *.[hcyl] files: add copyright line.
12309
12310	* aux/macros/check_mount_type.m4: test for mount type for
12311	linux-like systems, by checking for loadable or statically linked
12312	kernel filesystem modules.
12313
12314	* aux/macros/check_mnttab_type.m4: test for mount table entry
12315	for linux-like systems, by checking for loadable or statically
12316	linked kernel filesystem modules.
12317
12318	* aux/configure.in: pcfs filesystems can use vfat type (linux)
12319
12320	* aux/macros/check_fs_mntent.m4: test for filesystem existence for
12321	linux-like systems, by checking for loadable or statically linked
12322	kernel filesystem modules.
12323
12324	* conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
12325	9.0 header files.  This should be removed when HPUX 9.0 is deemed
12326	defunct.
12327
12328	* aux/acconfig.h: set an undefined variable for having an extern
12329	to clnt_sperrno().
12330
12331	* include/am_defs.h: define extern for clnt_sperrno() if needed.
12332
12333	* aux/configure.in: test for extern clnt_sperrno().
12334
12335	* aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
12336	similar to irix.
12337
12338	* aux/macros/check_mount_style.m4: use mount helper on HPUX.
12339
12340	* aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
12341	not integer (but may be mapped to one later).
12342
12343	* conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
12344	files.  They have mount(2) and vfsmount(2) which don't take same
12345	arguments, and they have string mount types MNTTYPE_* as well as
12346	integer types MOUNT_*.  So I need this new mount function to map
12347	from string types to integer types for the vfsmount() function.
12348
12349	* conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
12350	vfsmount(), call mount_hpux().
12351
12352Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12353
12354	* lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
12355	both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
12356
12357Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12358
12359	* conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
12360	hpux.
12361
12362	* include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
12363
12364	* aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
12365
12366	* buildall: added ability to configure using other shells than
12367	/bin/sh, on those systems where /bin/sh is buggy or limited
12368	(HPUX).
12369
12370	* aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
12371	defined am_nfs_fh, and also test for plain typedef "nfs_fh".
12372
12373	* aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
12374	reinstated macro.
12375
12376	* aux/configure.in: check for <nfs/export.h>
12377
12378	* include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
12379
12380	* aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
12381	exists.
12382
12383	* aux/macros/mount_headers.m4 (define): removed some non-working
12384	(on HPUX) code that attempts to recreate the fhandle_t rather than
12385	load it up from system headers.  Also added some NFS protocol
12386	header inclusion.  include <nfs/export.h> (HPUX) if exists.
12387
12388Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12389
12390	* aux/macros/mount_headers.m4 (define): Use M4 changequote to
12391	ensure [] brackets are correctly used.
12392
12393	* aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
12394	multi-line M4 inclusions in [].
12395
12396Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12397
12398	* conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
12399	it exists.
12400
12401	* aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
12402	config.h macro for field f_fstypename of struct statfs.
12403
12404	* aux/configure.in: testing for field f_fstypename field of struct
12405	statfs (NetBSD).
12406
12407	* aux/acconfig.h: moved all of the "static" definitions out to a
12408	fixed file called include/am_defs.h.  Added to all */Makefile.am
12409	files a dependency on am_defs.h.  Created am_defs.h of course, and
12410	then added #include <amd_defs.h> to all of the source and header
12411	files that required it.
12412
12413Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
12414
12415	* aux/acconfig.h: two more externals for xdr functions that may be
12416	implemented by libamu.
12417
12418	* conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
12419	definitions.
12420
12421Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12422
12423	* buildall (default): added -D option for turning on even stricker
12424	developer options.
12425
12426	* */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
12427	determine dependencies on optional NFS protocol headers.
12428
12429	* aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
12430
12431	* aux/macros/check_nfs_prot_header.m4: new test to determine what
12432	NFS protocol headers to use.
12433
12434	* conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
12435	complete missing system headers for NFS protocol definitions.
12436
12437Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12438
12439	* amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
12440	#ifdef's as needed.
12441
12442	* amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
12443	suitable #ifdef'ed.
12444
12445	* include/am_compat.h: a couple more mnttab options
12446	(timeo/retrans) setting just in case.
12447
12448	* amd/autil.c (host_normalize): make sure hostent->h_name is
12449	passed a non-const char *.
12450
12451	* conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
12452
12453	* {lib,amq,amd}/*.c (many functions): cast xdr_entry to
12454	XDRPROC_T_TYPE.
12455
12456	* lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
12457	XDRPROC_T_TYPE.
12458
12459	* lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
12460	XDRPROC_T_TYPE.
12461
12462	* lib/wire.c (getwire): Make sure safe assignment from const to
12463	none is done.
12464
12465Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12466
12467	* aux/macros/expand_cpp_int.m4: new macro for expanding integers.
12468
12469	* aux/configure.in: added linux/fs.h support in configure and
12470	several M4 macros.
12471
12472	* conf/mount/mount_linux.c (mount_linux): use macro instead of
12473	"ugly" fixed hex number for mount() arguments.
12474
12475Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12476
12477	* amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
12478	turned all of its code always on.  That code always seems to
12479	compile, as long as you have hesiod and libresolv.
12480
12481	* amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
12482	of its code always on.
12483
12484	* aux/configure.in: removed superfluous test for hs_zone_transfer
12485	function (will never find it because it is an amd-internal
12486	function).
12487
12488	* amd/mapc.c (maptypes): must used correct new name for am-utils'
12489	hesiod initialization function: hesiod_am_init.
12490
12491	* amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
12492	hesiod_am_init so as not to conflict with libhesiod's
12493	hesiod_init() function.
12494
12495	* aux/configure.in: added test and explicit inclusion of
12496	libresolv.a for later resolution of library references with
12497	libhesiod.
12498
12499	* aux/macros/opt_cppflags.m4: new file.  configure/compile C
12500	preprocessor flags.
12501
12502	* aux/macros/opt_libs.m4: new file.  configure/compile library
12503	flags.
12504
12505	* Makefile.am (EXTRA_DIST_AUX): include two new macros
12506	opt_cppflags.m4 and opt_libs.m4.
12507
12508	* aux/configure.in: test for libhesiod needs to additional
12509	libresolv to link completely.  Additional configuration time
12510	options added for setting initial CPPFLAGS and LIBS.
12511
12512Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12513
12514	*******************************************************************
12515	*** Released am-utils-6.0a1					***
12516	*******************************************************************
12517
12518Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12519
12520	* amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
12521	it works on freebsd, where they map dbm_pagfno a non-existing
12522	macro on purpose, to force you to port the code to Berkeley DB.
12523
12524Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12525
12526	* amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
12527	actual mount_toplvl, to avoid some possible race conditions.
12528
12529Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12530
12531	* amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
12532
12533Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12534
12535	* lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
12536
12537	* amd/amd.c (main): fix local address using htonl(). Free up
12538	buffers allocated by netdir_*() functions.
12539
12540Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12541
12542	* amd/fix-amd-map.in: new script that will convert old-style amd
12543	maps to new one.
12544
12545Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12546
12547	* FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
12548	and replies back to simple nfs/link type mount queries).
12549
12550	* conf/mtab/mtab_svr4.c: reorganized the code in this file to be
12551	easier to read, and fixed a few bugs with un/setting the lock file
12552	descriptor.
12553
12554Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12555
12556	* amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
12557	signals in Svr3 systems.  Only stellix ever used this.
12558
12559	* amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
12560	by DYNAMIC_BUFFERS, since it was not in use.
12561
12562Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12563
12564	* amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
12565	takes '=' sign as old selector.  Fix your maps.
12566	(deslashify): removed APOLLO code that treated two '//' as one.
12567
12568Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12569
12570	* amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
12571	was not used.  It made any submount error fail the whole group.
12572
12573	* amd/ops_nfs.c (make_nfs_auth): removed code dependent on
12574	HAS_NFS_QUALIFIED_NAMES.
12575	(mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
12576	is never on.  So code that was triggered by #ifndef
12577	NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
12578	be fixed later.
12579	Removed all ULTRIX_HACK code.  Ultrix is DEAD!
12580	removed all PRESET_AC code, which was only on for Linux to preset
12581	the attribute cache values (otherwise they default to zero).
12582	(nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
12583	have to fixed up later.
12584	(mount_nfs_fh): removed code that was never included, which
12585	attempted to set the port on which amd's nfs mounts on.  This
12586	isn't supported by the ping algorithm yet.  In any case, it is all
12587	done in nfs_init().
12588
12589	* amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
12590	removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
12591	specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
12592	have to be addressed later.
12593
12594	* amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
12595	on PRECISE_SYMLINKS.
12596
12597	* amd/mapc.c (mapc_meta_search): removed code that depended on
12598	HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
12599	to be rethought.
12600	(mapc_add_kv): ported code to use standard regular expression
12601	(regexp) library.
12602
12603	* amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
12604	FLUSH_KERNEL_NAME_CACHE and the macro itself.
12605
12606Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12607
12608	* amd/map.c (exported_ap_alloc): removed all code triggered by
12609	SHRINK_EXPORTED_AP and the macro itself.
12610
12611	* amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
12612	in all the time.  Assuming that there is always NIS realod
12613	available.
12614	(yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
12615	function is broken such that it does not release filedescriptors
12616	it created, then you are hosed.  Get a fix for yp_all from your
12617	vendor or switch operating systems.
12618
12619Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12620
12621	* amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
12622	HAVE_HS_ZONE_TRANSFER.
12623
12624Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12625
12626	* amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
12627	always included.  We should always try to inform the remove mount
12628	daemon of mounts we performed.  If we want an option for this, it
12629	should be a run-time option.
12630
12631	* amd/host_ops.c: removed all that optionally did not make the
12632	directory mount points for amd.
12633
12634	* HOST_EXEC code removed from everywhere.  There is no indication
12635	that it was used anywhere.  If it needs to be used, then a
12636	run-time switch should control it.
12637
12638Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12639
12640	* amd/*_ops.c: removed all references to mntent_t's fields
12641	mnt_freq and mnt_passno, since they are no longe rused (and never
12642	have been).
12643
12644	* amd/am_ops.c: removed function sunos4_match, which was off
12645	anyway.  This was one of the places where an '=' sign was allowed
12646	as an assignment operator (which is now ':=').
12647
12648	* amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
12649	was off anyway.  This was one of the places where an '=' sign was
12650	allowed as an assignment operator (which is now ':=').
12651
12652Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12653
12654	* amq/amq.c: ported to am-utils.  Working.
12655
12656	* conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
12657	to be string, as it should be (rather than a string mapped to int
12658	and back mapped to string).
12659
12660Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12661
12662	* lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
12663
12664	* lib/umount_fs.c: split this into three files: default, osf, and
12665	bsd44, that are in conf/umount/umount_*.c.
12666
12667Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12668
12669	* aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
12670	macro to automatically figure out if an external definition for
12671	sys_errlist[] exists.
12672
12673	* lib/xutil.c (xfree): removed "#undef free" because it's not
12674	needed there.  Any system that redefines free() needs help.
12675
12676	* conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
12677	was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
12678	in active use anywhere.  If added later, it should be a run-time
12679	configuration option.
12680
12681	* conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
12682	be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
12683	in a file in /etc.
12684
12685	* lib/util.c (str3cat): removed _AIX code.  AIX should have a
12686	working realloc, or else find a cleaner solution to this.
12687	(mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
12688	after immediately making directories so that fsck will be able to
12689	fix the filesystem in the event of an immediate crash.  This was
12690	because a bug in UFS which is fixed by now.
12691
12692	* lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
12693	code.  Does not appear to be on and used anywhere.
12694	(dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
12695
12696	* lib/resvport.c: split the binding of reserved ports code to a
12697	separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
12698	from the BSD code.
12699
12700Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12701
12702	* lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
12703	in by automake and configure, for optional sources that need to be
12704	built as part of libamu.a.
12705
12706	* aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
12707	to LIBOBJS.
12708
12709	* lib/memcmp.c (memcmp): new file added to replace a possible bad
12710	implementation of memcmp.
12711
12712Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12713
12714	* converted the sources to use memset/memmove/memcmp instead of
12715	bzero/bcopy/bcmp.
12716
12717	* ran all sources through gnu Indent w/ options specified in
12718	aux/amindent.
12719
12720Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12721
12722	* At this point the initial generation of config.h via autoconf and
12723	some preliminary makefiles via automake is done.  I will not begin
12724	modifying sources, so it's a good time to document from here.
12725
12726Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12727
12728	*******************************************************************
12729	*** Initial ChangeLog Entry					***
12730	*******************************************************************
12731