xref: /netbsd/external/bsd/am-utils/dist/ChangeLog (revision 6550d01e)
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
642008-09-17  Christos Zoulas <christos@zoulas.com>
65
66	* fix manual page section issues (sorting, non-existant)
67
68	* add missing forward declarations
69
70	* avoid null pointer derefs (coverity)
71
72	* more portable endian detection support
73
74	* implement tmpfs support
75
76	* use sizeof var instead of constant
77
78	* fix yyerror declaration and definition
79
80	* fix yy function renaming, and correct some renaming issues.
81
82	* work around automake < 1.9 issue where ylwrap is not being run
83	  for a single yacc or lex file.
84
85	* NetBSD
86	  - handle headers that need other headers to compile
87	  - add exfs and tmpfs specific glue
88	  - add options log, noatime, nocoredump, nodevmtime, softdep,
89	    symperm, union
90	  - NetBSD's new mount system call needs the size of the opaque
91	    filesystem specific structure, but passing 0 for now works.
92	    We would need to change a lot more code to pass the size from
93	    the fs-specific calls, so for now punt.
94	  - recvfrom takes socklen_t * on NetBSD
95	  - handle newer NetBSD using statvfs
96	  - NetBSD calls its ufs ffs
97
98	* Linux
99	  - Most recent kernels have trouble with trying to parse the pid
100	    hostname and do locking. What before was a silent failure, now
101	    there is a warning printed and the mount is rejected. This is
102	    the simplest fix:
103	    (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884)
104
1052007-04-13  Erez Zadok  <ezk@cs.sunysb.edu>
106
107	* amd/sun_map.c (sun_append_str): When translating '&' from Sun
108	automounter maps, replace it with "${key}" in the Amd map, not
109	with the value of the key at the time.  This way '*' maps work
110	too.
111
112	* config.guess.long: don't use -q option to grep because some
113	systems don't support it.  Bug fix for solaris.
114
1152007-03-11  Christos Zoulas  <christos@zoulas.com>
116
117	* amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a
118	string.  It causes spurious xstrlcpy() syslog() errors.  Use
119	memcpy() and explicitly terminate the string.
120
1212007-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
122
123	* updated copyright year to 2007 on all files.
124
1252006-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
126
127	* minor new port: ia64-hp-hpux11.23
128
129	* m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller
130	needs to define rfc931_timeout.
131
132	* amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for
133	libwrap.
134
135	* amd/amq_svc.c: some versions of libwrap require the caller to
136	define rfc931_timeout in addition to allow/deny_severity.
137
138	* amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when
139	forced unmount functionality exists for all systems.
140
141	* libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf
142	only if field exists.
143
144	* conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from
145	including <tiuser> or <sys/tiuser> (TLI definitions are already
146	included from elsewhere).
147
148	* configure.in: detect nfs_args_t->pathconf field.
149
1502006-11-27  Erez Zadok  <ezk@cs.sunysb.edu>
151
152	* doc/Makefile.am: properly publish html files using newer
153	text2html.
154
1552006-11-27  Erez Zadok  <ezk@shekel.local>
156
157        * doc/Makefile.am: obfuscate emails in ChangeLog before it is
158        published on web site.
159
160	* obfuscate many more emails in the distro, esp. of files which get
161        posted on the am-utils web site.
162
1632006-11-26  Erez Zadok  <ezk@shekel.local>
164
165	* minor new port: i386-apple-darwin8.8.1.
166
167        * doc/am-utils.texi: remove obvious URLs used by spammers, and
168        replace them with links to the am-utils web site, which uses PNG
169        images to obfuscate the actual email/mailman URLs.
170
1712006-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
172
173	* doc/am-utils.texi (Password maps): minor typo reported by
174	Christoph P. Kukulies.
175
1762006-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
177
178	* minor new port: i386-pc-linux-fc6.
179
180	* m4/macros/linux_headers.m4: handle newer Linux kernels which
181	removed UTS_RELEASE from <linux/version.h>.
182
1832006-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
184
185	* minor new ports: i386-pc-linux-centos4.4 and
186	powerpc-apple-darwin8.7.0.
187
188	* config.guess.long: recognize CentOS Linux.
189
1902006-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
191
192	* minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris).
193
194	* config.guess.long: recognize NexentaOS (GNU/OpenSolaris)
195
196	* config.guess, config.sub: updates from latest official GNU
197	distributions.
198
1992006-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
200
201	* Minor new ports: i386-unknown-freebsd6.1 (RELEASE),
202	powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
203
2042006-05-10  Erez Zadok  <ezk@cs.sunysb.edu>
205
206	* libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
207	problems on IRIX-6.5.
208
209	* conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
210	signedness problems on IRIX-6.5.
211
2122006-05-01  Erez Zadok  <ezk@cs.sunysb.edu>
213
214	* configure.in: check if libc already includes dbm functionality
215	(as in FreeBSD 6), then don't bother to check specific libraries
216	such as libdbm, gdbm, etc.
217
2182006-04-21  Erez Zadok  <ezk@cs.sunysb.edu>
219
220	* configure.in: detect G/DBM support via gdbm_compat library
221	(Debian 3.1).
222
223	* minor new port: powerpc-apple-darwin8.5.0
224
2252006-04-20  Erez Zadok  <ezk@cs.sunysb.edu>
226
227	* scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
228	NEWS: document new nfs_allow_any_interface parameter.
229
230	* include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
231	not defined, since some systems don't have it.
232
2332006-04-20  Nick Williams <Nick.Williams@morganstanley.com>
234
235	* libamu/wire.c (is_interface_local): new boolena function to
236	determine if address represents any of the local interfaces.
237	(getwire): more properly check if address equals INADDR_LOOPBACK,
238	not if IFF_LOOPBACK is not (the latter isn't as correct).
239
240	* include/am_utils.h: extern for new is_interface_local() function.
241
242	* conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
243	here but in am_compat.h
244
245	* amd/nfs_prot_svc.c (nfs_program_2): if
246	nfs_allow_any_interface=yes, then allow NFS packets from any local
247	interface (not just 127.0.0.1).
248
249	* amd/conf.c (gopt_nfs_allow_any_interface): implement the new
250	amd.conf parameter nfs_allow_any_interface.
251
252	* amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
253	al interfaces are acceptable for local NFS packets.
254
2552006-04-18  Christos Zoulas  <christos@zoulas.com>
256
257	* amd/opts.c: Add support for optionally specifying the hostname
258	to match against the netgroup in the netgrp and netgrpd selectors.
259
2602006-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
261
262	* libamu/mtab.c (hasmntval): fix inverted meaning of error from
263	hasmntvalerr().
264
2652006-04-14  Erez Zadok  <ezk@cs.sunysb.edu>
266
267	* libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
268	hasmntvalerr() function to set attribute cache values only if they
269	were set (regardless whether they were set to zero or a non-zero
270	value).  Before, we were unable to distinguish between an error to
271	parse an option, and a user who actually wanted to set an
272	attribute-cache value to 0.  This now fixes an important
273	performance bug that Amd was turning off the attribute caches even
274	for regular (non-automounter) NFS mounts.
275
276	* libamu/mtab.c (hasmntvalerr): new function to set the value of
277	an option into an integer, but ONLY if that options was set and
278	parsed correctly.  This function returns 1 on error, 0 on success
279	(instead of always setting the option value to 0).
280	(hasmntval): wrapper function around hasmntvalerr, which maintains
281	backwards compatibility (always sets option value to 0, even on
282	error to parse the option).
283
284	* amd/nfs_subr.c (fh_to_mp3): use long int printf format for
285	fhh_pid.
286
2872006-04-05  Christos Zoulas  <christos@zoulas.com>
288
289	* amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
290	(Coverity).
291
2922006-03-27  Erez Zadok  <ezk@cs.sunysb.edu>
293
294	* doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
295	document new nfs_retransmit_counter_toplvl and
296	nfs_retry_interval_toplvl global amd.conf parameters.
297
298	* amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
299	(gopt_nfs_retry_interval_toplvl): parse amd.conf
300	nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
301	parameters.
302
303	* amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
304	timeo/retrans parameters for Amd's toplvl mounts, separately from
305	all other UDP or NFS mounts.
306
307	* amd/amd.h: define a new timeo/retrans parameter for toplvl
308	mounts.
309
3102006-03-22  Erez Zadok  <ezk@cs.sunysb.edu>
311
312	* minor new port: i386-pc-linux-suse10.1 (beta 8).
313
3142006-03-21  Christos Zoulas  <christos@zoulas.com>
315
316	* amd/am_ops.c (merge_opts): Remove useless check found by
317	Coverity; xmalloc never returns NULL.
318
3192006-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
320
321	* minor new ports: i386-pc-linux-fc5.
322
323	* amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
324	openldap-2.3.9), the ldap.h headers deprecate several functions
325	used in this file, such as ldap_unbind.  You get compile errors
326	about missing extern definitions.  Those externs are still in
327	<ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED.  I am
328	turning on that ifdef at the top of info_ldap.c, under the
329	assumption that the functions may be deprecated, but they still
330	work for this (older?) version of the LDAP API.  It gets am-utils
331	to compile, but it is not clear if it will work perfectly.
332
333	* libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
334	(xdr_amq_mount_tree, xdr_amq_mount_tree_p,
335	xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
336	(show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
337	xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
338	libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
339	GCC-4.1 from complaining about "dereferencing type-punned pointer
340	will break strict-aliasing rules" here (but not elsewhere).
341
3422006-03-20  Christos Zoulas  <christos@zoulas.com>
343
344	* libamu/wire.c: avoid potential dereferencing of a NULL pointer
345	(Coverity).
346
347	* hlfsd/homedir.c (delay): remove unnecessary check for NULL
348	pointer (Coverity).
349
350	* fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
351	analyze_mounts): avoid potential dereferencing of a NULL pointer
352	(Coverity).
353
354	* conf/transp/transp_sockets.c (create_amq_service): avoid
355	potential dereferencing of a NULL pointer (Coverity).
356
357	* amd/sched.c (sigchld): properly check for the end of the waiting
358	process list (Coverity).
359
360	* amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
361
362	* amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
363	dereferencing of a NULL pointer (Coverity).
364
365	* amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
366	reusing it (memory leak bug detected by Coverity).
367	(amfs_bgmount): avoid potential dereferencing of a NULL pointer
368	(Coverity).
369
370	* amd/am_ops.c (merge_opts): no need to check if newstr is NULL
371	(bug detected by Coverity).
372
3732006-03-08  Ion Badulescu  <ionut@moisil.badula.org>
374
375	* amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
376	comparison was failing.
377
3782006-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
379
380	* configure.in: properly test for either <gdbm/ndbm.h> or
381	<gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
382	same $ac_cv_* variable name).  Some systems support one header or
383	another.  Patch inspired by work Debian did.
384
3852006-02-16  Daniel P. Ottavio  <ottavio@vm.fsl.cs.sunysb.edu>
386
387	* amd/sum_map_tok.l: Fixed a bug in a regular expression that
388	prevented dashes in hostnames.  This was posted in BZ by Thomas
389	A. Fine.
390
391	* README.sun2amd: Fixed a typo.  Sentence mentions use of autofs
392	type when it should be host type.
393
3942006-01-04  Erez Zadok  <ezk@cs.sunysb.edu>
395
396	* doc/am-utils.texi (auto_attrcache Parameter): revise discussion
397	to mention pros and cons of turning on/off this parameter,
398	including impact on Amd's performance, and ways to improve
399	performance while minimizing the window of vulnerability in which
400	kernel may return the wrong (cached) attributes.
401
4022006-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
403
404	* updated copyright year to 2006 on all files.
405
4062005-12-20  Erez Zadok  <ezk@cs.sunysb.edu>
407
408	* include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
409	register_autofs_service): use a consistent prototype for the
410	dispatch function of the autofs service de/registration functions.
411
4122005-12-03  Erez Zadok  <ezk@cs.sunysb.edu>
413
414	* minor new ports: i386-unknown-netbsdelf2.1,
415	i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
416
4172005-12-02  Erez Zadok  <ezk@cs.sunysb.edu>
418
419	* m4/macros/check_field.m4: remove double inclusion of msdosfs
420	headers, which are included in mount_header1.h (netbsd 2.1 doesn't
421	protect <msdosfs/msdosfsmount.h> which causes compile errors).
422
4232005-11-08  Erez Zadok  <ezk@cs.sunysb.edu>
424
425	* minor new port: i386-unknown-freebsd6.0 (RELEASE)
426
4272005-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
428
429	* amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
430	Amd, not in pawd (to avoid repeated network RPCs).
431
432	* amq/pawd.c (transform_dir): move repeated path resolution into Amd.
433
4342005-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
435
436	* amq/pawd.c (transform_dir): resolve path repeatedly until
437	finished.  Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
438	Added safety check to prevent infinite loops.
439
4402005-10-19  Erez Zadok  <ezk@cs.sunysb.edu>
441
442	* doc/am-utils.texi (opts Option): document new pcfs options
443	longname, nowin95, shortname, user=N, group=N, mask=N, and
444	dirmask=N.
445
446	* amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
447	nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
448
449	* include/am_compat.h: provide compatibility mnttab string names,
450	if needed, for pcfs mount options longname, nowin95, shortname,
451	user=N, group=N, mask=N, and dirmask=N.
452
453	* include/am_utils.h: extern for hasmntstr().
454
455	* libamu/mtab.c (hasmntstr): new function to return the string
456	value following a mount option, up to the next comma-delimited
457	options.
458
459	* configure.in: check for mnttab and pcfs options longname,
460	nowin95, and shortname.
461
462	* Makefile.am (EXTRA_DIST_M4): distribute new macro
463	check_mnt2_pcfs_opt.m4.
464
465	* m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
466	mnttab and mount options.
467
4682005-10-18  Erez Zadok  <ezk@cs.sunysb.edu>
469
470	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
471	correctly, depending if it's a pointer or not.
472
473	* conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
474	#define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
475	or an embedded structure, so we can tell how to print it.
476
477	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
478	field, if it exists.
479
480	* configure.in: check for nfs_args->addrlen field.
481
482	* wire-test/wire-test.c (main), libamu/mount_fs.c
483	(print_nfs_args), fixmount/fixmount.c (inetresport,
484	clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
485	(main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
486	(amfs_mount): document that as per POSIX, we don't need to set the
487	sa_len/sin_len fields in struct sockaddr/sockaddr_in.  The field
488	is used only internally in the kernel.  See
489	www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
490
491	* fixmount/fixmount.c (inetresport): initialize sockaddr_in
492	structure before filling in some fields.
493
4942005-10-11  Erez Zadok  <ezk@cs.sunysb.edu>
495
496	* doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
497	correct mistaken description of nfs_proto.
498
4992005-10-10  Erez Zadok  <ezk@cs.sunysb.edu>
500
501	*******************************************************************
502	*** Released am-utils-6.1a1					***
503	*******************************************************************
504
505	* README.sun2amd: revised.
506
5072005-10-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
508
509	* amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make
510	sure that sun_entry2amd() is not called when yp_match() returns an
511	error, this is done by checking that 'res' is 0.  Bug fix (same
512	BZ#); free the output allocated by yp_match() instead of freeing
513	the return value of sun_entry2amd().
514
515	* amd/sun_map.c (sun_entry2amd): Fix a comment.
516
517	* README.sun2amd: Made a first pass at describing the status of
518	the sun2amd feature.
519	Moved the date.
520
5212005-10-09  Erez Zadok  <ezk@cs.sunysb.edu>
522
523	* README.sun2amd: place holder.
524
525	* Makefile.am (EXTRA_DIST): distribute new README.sun2amd file.
526
5272005-10-07  Erez Zadok  <ezk@cs.sunysb.edu>
528
529	* m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
530	very end, after the test using getvfsbyname().
531
532	* m4/macros/expand_run_string.m4: if the string value returned is
533	empty, consider it invalid.
534
535	* m4/macros/check_varargs_macros.m4: rewrite macro so it'll
536	try and compile the varargs test, not just cpp it.  Some systems
537	pass the old cpp test, but not when you actually try to compile
538	the code (Tru64's cc).
539
540	* conf/autofs/autofs_solaris_v1.h: redefine
541	autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
542	This works everywhere and we avoid linking problems, inline
543	functions, etc.
544
545	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
546	autofs_strdup_space_hack() function altogether.
547
548	* m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
549
550	* configure.in: test for <sys/immu.h> header.
551	Test for pte_t, but only on IRIX6 systems.
552
553	* Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
554
555	* m4/macros/type_pte_t.m4: new test for existence of pte_t
556	typedef, needed on some IRIX-6.5/gcc systems.
557
558	* m4/macros/header_templates.m4: add missing templates for
559	HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
560	HAVE_EXTERN_UALARM.
561
562	* amd/info_exec.c (exec_map_open): break assignment from inside
563	conditional, to work around an IRIX-6.5 cc bug.
564
565	* amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a
566	before libamu.la.  Some linkers (e.g., IRIX-6.5) incorrectly
567	complain about undefined symbols.
568
569	* fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
570	libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
571	comparison between signed and unsigned integers.
572
573	* conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
574	(autofs_strdup_space_hack): move "space_hack" function from static
575	inline in header, into the only source file that needs it.  This
576	is cleaner and also prevents linking problem with some compilers
577	that won't apply CPP macros inside static inline functions (for
578	the strl* functions).
579
580	* amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
581	code.
582	(transform_dir): call the new, efficient amqproc_pawd_1() routine.
583
584	* amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
585
586	* amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
587	wrapper routine.
588
589	* amd/amq_svc.c (amq_program_1): dispatch point for
590	amqproc_pawd_1_svc.
591
592	* amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
593	functionality into Amd, where it can be done a lot more
594	efficiently.  We don't have to construct and ship a whole export
595	tree from Amd to pawd.  We just get a variable-length
596	xdr_wrapstring for the user's path, iterate over the entire export
597	list inside Amd, and return only a matched string if found
598	(otherwise we return "" to indicate that there was no match, and
599	let pawd printf the same string it sent over).
600
601	* amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
602	the AMQPROC_PAWD RPC.
603
6042005-10-06  Erez Zadok  <ezk@cs.sunysb.edu>
605
606	* ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
607	Fixes Tru64 bugs when using ksh.
608
609	* amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
610	into two sections, to workaround a C99 varargs-macro bug in
611	gcc-3.2.2 (RH9).
612
613	* libamu/wire.c (print_wires): convert argument-less xsnprintf to
614	xstrlcpy.
615
616	* include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
617	HAVE_GCC_VARARGS_MACROS to pass file name and line number to
618	xsnprintf/xvsnprintf.
619
620	* libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
621	then also print the source file name and line number that called
622	xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
623	likely an am-utils bug).
624
625	* Makefile.am (EXTRA_DIST_M4): distribute new
626	check_varargs_macros.m4 file.
627
628	* configure.in: execute new AMU_VARARGS_MACROS test.
629
630	* m4/macros/check_varargs_macros.m4: new test to check what style
631	of variable-length argument macros, if any, does the
632	compiler/pre-processor supports.
633
634	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
635	conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
636	amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
637	(mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
638	amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
639	use sizeof() instead of fixed SIZEOF_* macros.
640
641	* libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
642	(DEBUG): if debugging is on, then also print the source file name
643	and line number that called xstrl* with a buffer that wasn't large
644	enough (most likely an am-utils bug)
645
646	* include/am_compat.h (INADDR_NONE): define in a common location,
647	if OS doesn't have it, use 0xffffffffU which should work with any
648	ANSI compiler.
649
650	* fixmount/fixmount.c, libamu/wire.c: remove local definition of
651	INADDR_NONE.
652
653	* amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
654	(amfs_auto_mount): use common SIZEOF_OPTS in definition and call
655	to autofs_get_opts.
656
657	* amd/amd.h (SIZEOF_OPTS): moved #define to common header.
658
6592005-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
660
661	* amd/opts.c (expand_op): Need to check BUFSPACE for env for
662	vlen+1.  Likewise for cp and strlen(cp)+1.
663
664	* amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
665	size argument to autofs_get_opts.
666
6672005-10-05  Erez Zadok  <ezk@cs.sunysb.edu>
668
669	* amq/pawd.c (transform_dir): was using UDP only.  Now will also
670	try TCP if UDP failed.  Destroy client after use to avoid leftover
671	TCP sockets in the kernel.
672
673	* libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
674	from 128 to to 256, because some users have really long option
675	strings.  Suggestion from jon+amd-at-spock.org.
676
677	* amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
678	just vlen.  Bug discovered when started using xstrlcpy().
679
680	* ALL: convert from using strcat to the safer xstrlcat, and from
681	strcpy to safer xstrlcpy.
682
6832005-10-04  Erez Zadok  <ezk@cs.sunysb.edu>
684
685	* hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
686
687	* hlfsd/hlfsd.c (fatalerror): new function instead of macro.
688	Easier to use xstrlcat in this new function.
689
690	* amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
691	from am_utils.h to amd.h, and define its size as a macro that
692	could be passed to xstrl*().
693
694	* ALL: convert from using sprintf to the safer xsnprintf.
695
696	* mk-amd-map/Makefile.am (LDADD): link with libamu to get
697	xsnprintf().
698
699	* amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
700	extern from am_utils.h to amd.h, and define its size as a macro
701	that could be passed to xsnprintf().
702
7032005-10-02  Erez Zadok  <ezk@cs.sunysb.edu>
704
705	* libamu/Makefile.am: use strutil.c, not util.c.
706
707	* libamu/strutil.c: rename from util.c to explain better purpose
708	of file.  Move xvsnprintf and xsnprintf from xutil.c to this file.
709
710	* libamu/xutil.c: explain purpose of file.  Move mkdirs/rmdirs
711	code from old util.c.
712
7132005-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
714
715	* m4/macros/header_templates.m4: templates for FFS.
716
717	* m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
718	system mount table name via the MOUNT_* mount(2) macros (because
719	BSD44 keeps the mount table in the kernel).
720
721	* configure.in: synchronise order of searching for mnttab entries
722	and mount names.  The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
723	efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
724	ufs, and ext3 instead of ext2 on Linux).
725
726	* include/am_defs.h: include <sys/statvfs.h> if it exists.
727
728	* conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
729	and statvfs(), but the latter is preferred, so #define to use
730	statvfs.
731
732	* configure.in: check for statfs(), statvfs(), and
733	<sys/statvfs.h>.
734
735	* config.guess.long: strip trailing '.' on "netbsdelf3.0."
736	(Beta).  Workaround for bug in config.guess.
737
738	* config.{guess,sub}: update to latest versions.
739
7402005-09-30  Christos Zoulas  <christos@zoulas.com>
741
742	* fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
743	hard-coded value of -1.
744
745	* include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
746	to 16KB.  We can afford it these days.
747
748	* libamu/strcasecmp.c (strcasecmp): use unsigned chars in
749	tolower() to avoid sign/size promotion bugs.
750
751	* libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
752	default (it's unfriendly).  If user really wants to, they can set
753	it in /etc/syslog.conf.
754
7552005-09-29  Erez Zadok  <ezk@cs.sunysb.edu>
756
757	* amq/pawd.c (find_mt): if the auto mount type is used, pawd could
758	go into an infinite loop since the mt_directory and mt_mountpoint
759	fields are the same for auto mounts.  Solution: ignore type auto
760	mounts, similar to toplvl.  Bug fix from Jonathan Chen
761	<jon+amd@spock.org>.
762
763	* README.attrcache: document test-attrcache script.
764
765	* scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
766	script.
767
768	* configure.in: build scripts/test-attrcache script and chmod it
769	so it can be executed in place.
770
771	* scripts/test-attrcache.in: script to test the NFS attribute
772	cache using Amd.
773
7742005-09-26  Erez Zadok  <ezk@cs.sunysb.edu>
775
776	* hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
777	nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
778	(hlfsd_init): use new clocktime() function.
779
7802005-09-18  Erez Zadok  <ezk@cs.sunysb.edu>
781
782	* README.attrcache: document netbsd's patchs to support noac.
783
784	* libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
785	code that sets the ac{reg,dir}{min,max} fields so it also sets the
786	appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
787
788	* configure.in: check for nfs_args fields acregmax and acdirmax.
789
790	* README.attrcache: new file documenting in detail OS bugs
791	relating to attribute caching, which can affect Amd's reliability
792	under heavy load.
793	Update status of freebsd and openbsd.
794
795	* doc/Makefile.am: install README.attrcache file as attrache.txt
796	file on am-utils Web site.
797
798	* Makefile.am (EXTRA_DIST): include README.attrcache in distro.
799
800	* BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
801	scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
802	cache bugs on some OSs.
803
8042005-09-17  Erez Zadok  <ezk@cs.sunysb.edu>
805
806	* libamu/xutil.c (clocktime): newly implemented routine.  Uses
807	gettimeofday() each time to return a high-resolution clock time,
808	and does not "cache" the last time.  Returns time in seconds, just
809	like the old implementation.  If passed a non-null argument, will
810	fill it in with the current time in seconds+microseconds.
811
812	* libamu/xutil.c: remove actual declaration of clock_valid, and
813	another never-used declaration for xclock_valid.
814
815	* include/am_utils.h: remove defunct definition of clocktime()
816	macro and clock_valid variable.  Add extern for new definition.
817
818	* libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
819	hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
820	hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
821	conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
822	(open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
823	amd/autil.c (host_normalize): remove defunct clock_valid.
824
825	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
826	node's mtime.
827	(fh_to_mp3): use new clocktime() to update mtime and get a better
828	time resolution.
829
830	* amd/mapc.c (mapc_reload_map): change prototype from returning
831	void to returning an int.  If reloading was needed and succeeded,
832	return 1; else return 0.
833	(mapc_sync): update mtime of parent node if needed.  This is a
834	CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
835	when we run "amq -f" manually or when a map is reloaded.
836
837	* amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
838	(init_map): use new clocktime().
839	(unmount_mp): if the OS doesn't support a "symttl" option, then
840	update the mtime of the parent node using the clocktime(); but if
841	the time hasn't gotten changed because of rapid Amd accesses on
842	systems that don't have a micro-second NFS-client resolution, then
843	increment mtime by one arbitrarily (this could, on some systems
844	and under pathological cases, result in mtime's that are in the
845	future).
846
847	* amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
848	update of parent dir, to prevent DNLC/dcache from caching the old
849	entry, which could result in ESTALE errors, bad symlinks, and
850	more.
851	(am_mounted): record mount time, and update am_stats at the same
852	time, using the double-action redone clocktime() routine.
853	(am_mounted): update parent's mtime from that of the child.
854	(am_unmounted): when unmounting an entry, update mtime of parent
855	node.
856
857	* amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
858	remember it's last non-zero value, save it in a temporary variable
859	to avoid a TOCTOU problem (between an "if" and a "dlog").
860
861	* libamu/xutil.c (show_time_host_and_name),
862	conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
863	amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
864	(find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
865	(nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
866	amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
867	amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
868	amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
869	exec_search), amd/clock.c (timeout, softclock), amd/autil.c
870	(forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
871	amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
872	NULL to clocktime().
873
8742005-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
875
876	* amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just
877	in case.
878	(fh_to_mp3): increment amd_stats.d_stale counter only if we are
879	actually returning ESTALE.
880
881	* amd/info_exec.c (exec_parse_qanswer), amd/info_file.c
882	(file_search_or_reload), amd/info_hesiod.c (hesiod_search),
883	amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm),
884	amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search,
885	nisplus_search): don't dereference mnt_map->cfm which may be null
886	if we're not using an amd.conf file.
887
8882005-09-14  Erez Zadok  <ezk@cs.sunysb.edu>
889
890	* libamu/xutil.c (unregister_amq): if failed to de-register Amd
891	from portmapper, report it under dlog (debugging), not as an
892	annoying plog that always shows up.
893
8942005-09-13  Erez Zadok  <ezk@cs.sunysb.edu>
895
896	* mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c
897	(strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c
898	(sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert),
899	amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload),
900	amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii()
901	arg to unsigned char, which is safer as per Christos.
902
903	* amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char.
904
905	* configure.in: keep a dummy unused AM_PROG_LEX, because old
906	Automake (1.6.3) looks for it if you refer to LEX in your
907	Makefile.am files.  Silly thing, fixed in newer versions of
908	Automake (1.9.2).
909
9102005-09-11  Erez Zadok  <ezk@cs.sunysb.edu>
911
912	* Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro.
913
914	* configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX.
915
916	* m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc
917	exist, but exist with an error if none found.
918
919	* m4/macros/prog_lex.m4: new macro to check if f/lex exist, but
920	exit with an error if not found (am-utils requires f/lex).
921
9222005-09-07  Erez Zadok  <ezk@cs.sunysb.edu>
923
924	* minor new port: powerpc-apple-darwin8.2.0.
925
926	* m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
927	but all newer ones (10.4+) use int.
928
929	* m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
930	6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
931
932	* minor new port: i386-pc-linux-deb3.1.
933
9342005-09-02  Erez Zadok  <ezk@cs.sunysb.edu>
935
936	* conf/mount/mount_linux.c: If autoconf didn't find any disk-based
937	file system on this system (probably because /proc isn't mounted),
938	then provide some default definition for this file to compile.
939
9402005-08-28  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
941
942	* amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white
943	spaces or '\n' before passing strings to the parser.
944
945	* amd/amd.h : oops, reverting bad changes
946
947	* amd/info_file.c : oops, reverting bad changes
948
949	* amd/mapc.c : oops, reverting bad changes
950
951	* amd/sun_map_parse.y : oops, reverting bad changes
952
9532005-08-27  Erez Zadok  <ezk@cs.sunysb.edu>
954
955	* libamu/xutil.c: amd_program_number is a u_long now.
956	(unregister_amq): if pmap_unset failed to de-register Amd from the
957	portmapper, print an error message.
958	(get_amd_program_number): returns a u_long now.
959	(set_amd_program_number): take a u_long now.
960
961	* include/am_utils.h: get_amd_program_number() returns u_long now.
962	set_amd_program_number() takes a u_long now.
963
964	* amq/amq.c: amd_program_number is a u_long, not int.
965
966	* amd/nfs_start.c (mount_automounter): when registering Amd with
967	the portmapper (for Amq service), don't fail if just one of TCP or
968	UDP failed to register, but only if both transports failed.  That
969	way Amq can still contact Amd using the transport that did
970	register correctly.  However, now, if both transports failed to
971	register, then set amd_state to "Done" so it would shutdown
972	cleanly.
973
974	* conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better
975	comments.
976
977	* libamu/xutil.c: debug_flags should always be initialized to
978	D_CONTROL (amq,daemon,fork).
979	(debug_option): allow setting initial immutable debug_flags via
980	amd.conf; afterward, prevent it (i.e., one tries it via "amq -D").
981
982	* Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
983	config.cache.old, and dbgcf.h on "make distclean".
984	(CLEANFILES): remove dbgcf on plain "make clean".
985
986	* amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
987	"make distclean".
988
9892005-08-27  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
990
991	* amd/info_file.c (file_search_or_reload): Changed the key
992	variable that is passed to the sun_entry2amd.
993
994	* amd/mapc.c (mapc_add_kv): Add support for multiple entries
995	packed into one line.  This is a workaround for handling Sun style
996	mounts that contains multiple entries on one line: "multi-mount
997	entries".  The sun2amd conversion tools will convert such entries
998	into type:=auto and pack each of the auto-entries into one line
999	separated by '\n'.  The mapc_add_kv function will now recognize
1000	such entries and add then.
1001
1002	* amd/sun2amd.c (sun2amd_convert): Add print statement that
1003	includes the line number during a parser failure.
1004
1005	* sun_map.c: Fix the AMD_MAP_PREF_KW definition.  Fix spelling.
1006	(sun_mountpts2amd): removed this function
1007	(sun_hsfs2amd): added some more comments
1008	(sun_nfs2amd): moved support for multi-mount entries from this
1009	function to sun_multi2amd().
1010	(sun_multi2amd): New function to handle multi-mount entries.  This
1011	function will convert the Sun version to an Amd type:=auto.  Each
1012	extra auto entry will be appended to the same line separated by a
1013	'\n'.
1014	(sun_entry2amd): Fixed a bug if-statement.  This function now
1015	checks for multi-mount entries.
1016
1017	* amd/sun_map.h: Add a fstype member to the sun_mountpt struct.
1018
1019	* amd/sun_map_parse.y: Parser now supports fstype for multi-mount
1020	entries.
1021
1022	* amd/sun_map_tok.l: No longer print the line and column number
1023	when parsing.  This is because the parser is handed strings not
1024	files.  Therefore, the line number will always be 1.  It is now up
1025	to the higher level tools to echo line information during error
1026	when they feed the parser.
1027
10282005-08-24  Erez Zadok  <ezk@cs.sunysb.edu>
1029
1030	* configure.in: wrap all LDAP and HESIOD tests in test whether
1031	--with-OPT was used.
1032
10332005-08-20  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1034
1035	* amd/sun_map.c: Clean up #defines
1036	(sun_entry2amd) : Verify that the key and entry values passed are
1037	not NULL.  Free the Sun entry struct when done.
1038
1039	* amd/sun_map.h: Add some "not implemented yet" comments to the
1040	map and mmap structures.
1041
1042	* amd/sun_map_parse.y: Removed automap include functionality, it
1043	will need to be re-implemented using a pre-processor.
1044	Clean up function calls.
1045
10462005-08-16  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1047
1048	* amd/sun2amd.c (sun2amd_convert): If the input line is too long
1049	don't return an error just null terminate and continue.  Fix bug:
1050	the map key was not written.
1051
1052	* amd/sun_map.c: Add a new Amd device, and cdfs constant.
1053	(sun_locations2amd): Write the NFS type keyword
1054	for each host of the mount entry.  Add a space between each mount
1055	location.
1056	(sun_hsfs2amd): New function to support hsfs to
1057	cdfs.
1058	(sun_nfs2amd): Don't write the nfs type here.  Fix
1059	comments.
1060	(sun_entry2amd): Change function parameter var for
1061	clarity.  Add support for hsfs.
1062
1063	* amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list
1064	after it has been returned.
1065
10662005-08-16  Erez Zadok  <ezk@cs.sunysb.edu>
1067
1068	* amd/get_args.c (get_args): initialize debug_flags if they've
1069	never been set.
1070
10712005-08-15  Erez Zadok  <ezk@cs.sunysb.edu>
1072
1073	* amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount
1074	point.  Now, we can properly initialize the cfm structure of the
1075	mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX)
1076	inside each info_*.c file.
1077	(mapc_find): takes 4rd arg (mntpt) and passes it to calls to
1078	mapc_create.
1079	(root_newmap): pass NULL as 4th arg (mntpt).
1080
1081	* amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to
1082	initialize map cfm structure (including flags) so late.
1083
1084	* amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to
1085	mapc_find.
1086
1087	* amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to
1088	mapc_find.
1089
1090	* amd/amd.h: extern for mapc_find changed to pass the mount point.
1091
1092	* libamu/xutil.c: debug_flags should be unsigned.
1093	(dbg_opt): fix comments for updated debug_flags, add "defaults".
1094	(debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be
1095	changed, because they could mess Amd's state and only make sense
1096	to be set once when Amd starts.  Currently these immutable flags
1097	are "daemon," "fork," "amq," and "mtab."  If Amd not compiled with
1098	debugging, set default "control" options (daemon,fork,amq).
1099	(unregister_amq): proper use of D_AMQ.
1100
1101	* include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT,
1102	D_IMMUTABLE, and D_MASK.  Updated definitions of D_ALL and D_TEST.
1103	debug_flags extern should be unsigned.
1104
1105	* scripts/amd.conf-sample (debug_options): mention new "defaults"
1106	option.
1107
1108	* scripts/amd.conf.5,doc/am-utils.texi: document new debug option
1109	"defaults" and properly explain the corrected meanings of
1110	"daemon," "fork," "amq," and their "no" inversions.  Better
1111	explain "all" and "test" too.  Correct default debug_mtab file to
1112	/tmp/mtab.
1113
1114	* hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK.
1115
1116	* hlfsd/homedir.c (homedir): proper use of D_FORK.
1117
1118	* hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of
1119	D_DAEMON.
1120
1121	* amd/nfs_start.c (mount_automounter): proper use of D_AMQ.
1122
1123	* amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab,
1124	which is more common on more systems (instead of /tmp/mnttab).
1125
1126	* amd/amd.c (main): properly use D_DAEMON.
1127
11282005-08-14  Erez Zadok  <ezk@cs.sunysb.edu>
1129
1130	* libamu/xutil.c (xlog_opt): define new pseudo log_option named
1131	"defaults", which is an alias for "fatal,error,user,warning,info".
1132
1133	* scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new
1134	log_option "defaults".
1135
1136	* amq/amq.8: typo.  Arg name for -D is "debug_options" not
1137	"log_options".
1138
1139	* libamu/xutil.c: make xlog_level static, and initialize it to
1140	XLOG_DEFAULT.
1141	(cmdoption): take unsigned int as flags argument, and print any
1142	errors as XLOG_ERROR (which cannot be turned off).
1143	(switch_option): remove old code which disallowed you from turning
1144	off flags that were set when Amd started up.  Now, you can turn
1145	any log option on/off at start time or later on (via amq -x),
1146	other than the two mandatory options (fatal+error).
1147
1148	* include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR.  Define
1149	XLOG_MASK to mask out unused flag bits.  Define XLOG_DEFAULT to be
1150	what it was before (fatal + error + user + warning + info), but
1151	use the new mask.  Remove extern's for xlog_level and
1152	xlog_level_init.  Change extern for cmdoption() to take an
1153	unsigned flags argument.
1154
1155	* doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8:
1156	document mandatory log options
1157	(fatal+error) which cannot be turned off and are always on by
1158	default.  They must be on so that Amd can report crucial errors,
1159	including those related to setting flags on/off.
1160
1161	* hlfsd/hlfsd.c (main): remove hack to initialize log_options.
1162
1163	* wire-test/wire-test.c: remove reference to unused xlog_level.
1164
1165	* amd/mapc.c (mapc_create): 'alloc' flags variable should be
1166	unsigned.
1167
1168	* amd/get_args.c (get_args): no need for hack using
1169	xlog_level_init.
1170
1171	* amd/Makefile.am: separate sources common to amd and sun2amd into
1172	a special, locally-built only, static library called libaminfo.a.
1173
1174	* libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf()
1175	wrapper function.
1176	(xvsnprintf): new function which already gets a va_list.  This was
1177	needed to avoid nesting va_list's (which apparently isn't
1178	allowed).
1179
1180	* include/am_utils.h: prototype for new xvsnprintf wrapper.
1181
1182	* configure.in: sinclude([vers.m4]) version number file.
1183
1184	* vers.m4: new file to separate version number out of
1185	configure.in, useful for nightly snapshot script to generate
1186	nightly version string.
1187
1188	* Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
1189
11902005-08-14  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1191
1192	* amd/info_file.c: add key to sun_entry2amd()'s parameters
1193
1194	* amd/info_hesiod.c: add key to sun_entry2amd()'s parameters
1195
1196	* amd/info_ldap.c: add key to sun_entry2amd()'s parameters
1197
1198	* amd/info_ndbm.c: add key to sun_entry2amd()'s parameters
1199
1200	* amd/info_nis.c: add key to sun_entry2amd()'s parameters
1201
1202	* amd/info_nisplus.c: add key to sun_entry2amd()'s parameters
1203
1204	* amd/sun_map.c: New functions to support sun translation to amd.
1205	The function sun_entry2amd's parameters were expanded to include
1206	the key value.  sun_entry_2amd() now returns NULL on error.
1207
1208	* amd/sun_map.h: Expand sun_entry2amd's parameters to include key
1209	value.
1210
1211	* amd/sun_map_parse.y: Change how file system types are parsed out
1212	of the list of options for each entry.  The previous way was not
1213	working properly so now we just look for the 'fstype' keyword in
1214	each option.  If it exists we copy its key value.
1215	Added some comments to sun_map_parse_read().
1216
1217	* amd/amd.h: Added an extern from info_file.c called
1218	file_read_line().  Previously this function was static but is now
1219	used in sun2amd.c.
1220
1221	* amd/info_file.c: Changed the static function read_line() to a
1222	public function called file_read_line().  This function is now
1223	used in sun2amd.c
1224
1225	* amd/sun2amd.8: Filled in the contents of this man page.  This is
1226	a conversion utility that converts Sun maps to Amd maps.
1227
1228	* amd/sun2amd.c: Implemented a working version of this utility.
1229
12302005-08-11  Erez Zadok  <ezk@cs.sunysb.edu>
1231
1232	* amd/sun_map_parse.y: instead of using a custom FOO_alloc()
1233	function, use Amd's CALLOC(struct FOO) macro.
1234
1235	* amd/sun_map.h: remove extern definitions to functions no longer
1236	needed.
1237
1238	* amd/sun_map.c: removed superfluous *_alloc() functions, some of
1239	which caused conflicts with same-named symbols in the parser
1240	(since we rename 'yyalloc' to 'sun_map_alloc').
1241
1242	* configure.in: keep AC_INIT on same line, for nightly snapshot
1243	build script.
1244
1245	* amd/Makefile.am: f/lex libraries are incompatible with multiple
1246	scanners, so don't link Amd with libl.a/libfl.a.
1247
12482005-08-10  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1249
1250	* amd/sun_map_tok.l: Clean up regular expression so HPUX stops
1251	whining.
1252
12532005-08-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1254
1255	* amd/sun_map_parse.y: Moved license below special yacc bracket to
1256	be portable with HPUX's yacc.  Clean up externs.
1257
1258	* amd/sun_map_tok.l: Moved license below special lex bracket to be
1259	portable with HPUX's lex.  Fixed definitions to allow for a
1260	non-flex lex to parse strings instead of files.  Added some casts
1261	to strlcpy usage to silence warnings.  Moved the % options because
1262	HPUX was complaining,
1263
12642005-08-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1265
1266	* amd/sun_map_tok.l: Applied some definition goop to handle the
1267	ECHO symbol that lex defines.  This symbol causes problems on
1268	RedHat-EL-powerPC platforms.  Replaced strncpy with strlcpy.
1269	Renamed the function sun_map_yyinput to sun_map_input.  This
1270	function is a utility function that is not generated by lex.
1271	Therefore, the 'yy' may cause confusion.
1272
12732005-08-08  Erez Zadok  <ezk@cs.sunysb.edu>
1274
1275	* amd/sun_map_tok.l: allocate more output slots so lex scanners
1276	don't run out of memory.
1277
1278	* amd/sun_map_parse.y: declare extern for sun_map_parse().
1279
1280	* libamu/xutil.c (xsnprintf): ensure proper comparisons between
1281	signed and unsigned quantities.
1282
12832005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1284
1285	* libamu/util.c, amd/autil.c (strsplit): moved strsplit() function
1286	from Amd code to to libamu, so sun2amd could use it.
1287
1288	* amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man
1289	page.
1290	(EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files
1291
1292	* amd/sun2amd.8: placeholder for man page.
1293
1294	* amd/sun2amd.c: placeholder for C version of translator from Sun
1295	syntax maps to Amd maps.
1296
1297	* */*.[0-9]: include file name in nroff source comment.
1298
1299	* ALL: use '0' properly when assigning or passing it to functions.
1300	If in the context pointer, use NULL.  If in the context of a
1301	single char (say within a string), the use '\0'.  This is just to
1302	make the code clearer.
1303
1304	* m4/macros/header_templates.m4: template for HAVE_MAP_SUN.
1305
1306	* amd/mapc.c (maptypes): add placeholder for Sun-syntax map
1307	methods.
1308
1309	* amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c
1310
1311	* amd/info_sun.c: placeholder for meta info parser to get info
1312	from Sun automount-style /etc/auto_master, possibly following
1313	into multiple info services (via /etc/nsswitch.conf).
1314
1315	* libamu/xutil.c (xsnprintf): if vsnprintf truncated the output
1316	string to avoid an overflow, print an error.  Include some code to
1317	break out any possible infinite loop between plog() and
1318	xsnprintf().
1319	(real_plog): now we can use (carefully) xsnprintf() directly.
1320
1321	* amd/sun_map.[hc]: cleanup and formatting.
1322
1323	* amd/sun_map_parse.y: to match the literal string "fstype=" use
1324	double quotes, not single quotes.
1325
1326	* amd/get_args.c (get_args): call conf_parse() using conf_in.
1327
1328	* amd/amd.h: use renamed parser symbols (yyparse -> conf_parse;
1329	yyin -> conf_in).
1330
1331	* ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb,
1332	and suggested by the Automake manual.  This enhanced parser will
1333	prefix each conflicting yacc/lex symbol with a unique name
1334	produced from INPUT.  For example, if INPUT is foo_parse.y, then
1335	yyparse() becomes foo_parse().  This requires that both your .l
1336	and corresponding .y files have the same prefix (e.g., foo_parse.y
1337	and foo_tok.l).
1338
1339	* amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c
1340	source files are built automatically, and therefore should not be
1341	in the distro (IMHO), and should be cleaned upon "make clean".
1342	(amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files.
1343
1344	* ylwrap: new file needed because we have two parsers now.
1345
1346	* amd/sun_map_{parse.y,tok.l}: cleanup and formatting.
1347
13482005-08-06  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1349
1350	* amd/Makefile.am: Added new files sun_map.h, sun_map.c,
1351	sun_map_parse.y, and sun_map_tok.l.  These files add support for
1352	parsing Sun style maps.  The yacc/lex files needed custom rules so
1353	they don't cause symbol conflicts with each other.
1354
1355	* amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the
1356	line limit for info services.
1357
1358	* amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN
1359
1360	* amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN,
1361	added support for parsing Sun style maps.  The support for Sun
1362	maps is done using the sun_entry2amd() function.  This function is
1363	called for each entry line that is read only when Sun parsing is
1364	enabled.  For each entry line that is passed to the function a
1365	copy of the Amd equivalent is returned.
1366
1367	* amd/sun_map.h: new header file for Sun style map support
1368
1369	* amd/sun_map.c: new source file for Sun style map support, clean
1370	up comments, additional sun2amd conversion routines
1371
1372	* amd/sun_map_parse.y: new yacc file for parsing Sun style maps,
1373	fix copyright notice, put filename below license.
1374
1375	* amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix
1376	copyright notice, put filename below license.
1377
1378	* amd/get_args.c: replace usage of strlcat with xstrlcat
1379
1380	* include/am_utils.h: added 'extern void xstrlcat()'
1381
1382	* libamu/util.c: Added a xstrlcat() function that wraps the
1383	syscall strlcat() so that string truncations can be logged.
1384
13852005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1386
1387	* amd/info_file.c (file_search, file_reload): pass mnt_map to
1388	file_search_or_reload.
1389	(file_search_or_reload): ensure that mnt_map is never NULL.
1390
1391	* amd/info_nis.c (nis_search): call sun_entry2amd() if
1392	sun_map_syntax=yes.
1393
1394	* amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if
1395	sun_map_syntax=yes.
1396
1397	* amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if
1398	sun_map_syntax=yes.
1399
1400	* amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm.
1401	(search_ndbm): call sun_entry2amd() if sun_map_syntax=yes.
1402
1403	* amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if
1404	sun_map_syntax=yes.
1405
1406	* amd/info_exec.c (exec_search): pass mnt_map to
1407	exec_parse_qanswer.
1408	(exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes.
1409
1410	* doc/am-utils.texi (sun_map_syntax Parameter): document new
1411	common parameter.
1412
1413	* scripts/amd.conf.5: selectors_in_defaults is a common parameter,
1414	not just [global].  Use consistent capitalization of Amd/Amq.
1415	Document new sun_map_syntax parameter.
1416
1417	* scripts/amd.conf-sample: properly list all of the parameters
1418	which are common to both the [global] and the per-map sections.
1419	(sun_map_syntax): example of new parameter.
1420
1421	* doc/am-utils.texi (Common Parameters): selectors_in_defaults is
1422	a common parameter, not just [global].
1423
1424	* scripts/amd.conf-sample (sun_map_syntax): example of new flag.
1425
1426	* amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse
1427	sun_map_syntax flag (global or per map).
1428
1429	* amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the
1430	map uses Sun automounter syntax.
1431
1432	* cvs-server.txt: update instructions after branching 6.1-stable.
1433
14342005-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
1435
1436	*******************************************************************
1437	*** Released am-utils-6.1.1					***
1438	*******************************************************************
1439
1440	* libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
1441	vsprintf, not sprintf.
1442
1443	* conf/umount/umount_osf.c (umount_fs): refer to proper formal
1444	parameter name.
1445	(umount2_fs): pass second arg to umount().
1446
1447	* ALL: remove CVS ID and put actual file name in source.
1448
1449	* conf/autofs/*.[hc]: proper copyright headers.
1450
1451	* whitespace reformatting.  Remove remaining '%W%' SCCS IDs.
1452
1453	* amd/mntfs.c (free_mntfs): don't discard the last reference to an
1454	mntfs that had been mounted already.  It won't have the
1455	MFF_RESTARTED flag on, as it gets turned off after the entry is
1456	mounted, but it will have the MFF_RSTKEEP flag on.
1457
1458	* amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
1459	show the mntfs's flags.
1460
14612005-08-01  Erez Zadok  <ezk@cs.sunysb.edu>
1462
1463	* conf/mtab/mtab_linux.c: removed unused code.  Cleanup.
1464	(handler): removed this bad signal handler.
1465	(lock_mtab): Redhat's original code set a signal handler called
1466	"handler()" for all non-ALRM signals.  The handler called
1467	unlock_mntlist(), plog'ed the signal name, and then exit(1)!
1468	Never, ever, exit() from inside a utility function.  This messed
1469	up Amd's careful signal-handling code, and caused Amd to abort
1470	uncleanly only any other "innocent" signal
1471	(even simple SIGUSR1), leaving behind a hung Amd mnt point.  That
1472	code should have at least restored the signal handlers' states
1473	upon a successful mtab unlocking.  Anyway, that handler was
1474	unnecessary, because will call unlock_mntlist() properly anyway on
1475	exit.
1476
1477	* conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
1478	message that we're inside the unlock_mntlist function.
1479
1480	* amd/amd.c (main): use new setup_sighandler() for Amd's four main
1481	signals (INT, TERM, HUP, and CHLD).
1482	(main) Add SIGINT and SIGTERM to masked_sigs, used in
1483	nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
1484	to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
1485	HAVE_SIGACTION.  So this change makes Amd behave consistently.
1486
1487	* include/am_utils.h: extern for new setup_sighandler().
1488
1489	* libamu/xutil.c (setup_sighandler): new utility function to setup
1490	a single signal-handler regardless of what method is supported by
1491	this OS.
1492	(going_down): call unlock_mntlist() when exiting, to ensure that
1493	Amd will remove any leftover mtab lock files, if any.
1494
1495	* amd/restart.c (restart_automounter_nodes): cleanup function.
1496
1497	* minor new port: i386-pc-linuxoldld-deb3.1.
1498
1499	* configure.in: include <sys/types.h> before <linux/socket.h> to
1500	get the definition of size_t on Debian-3.1r0a.
1501
15022005-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
1503
1504	* amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
1505	IP address.  First check if it differs from the existing one of
1506	the fserver, and copy only if it changed.  If it did change, flush
1507	the fhandle cache to avoid a stale fhandle being reused.  This
1508	allows Amd to detect IP address changes even for an fserver that
1509	lost one or more NFS pings, but not enough to be declared totally
1510	down.  We handle the "totally down" fserver case in
1511	check_fs_addr_change().
1512
1513	* amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
1514	amd/nfs_subr.c (nfs_quick_reply): code clarity.
1515
1516	* conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
1517	errnos to NFS errors.
1518
1519	* conf/umount/umount_linux.c (umount2_fs): cleanup code.  Trying
1520	stat() seems doomed to hang at times, so don't try stat at all,
1521	because umount2() appears to be clever enough to never hang.
1522
15232005-07-25  Erez Zadok  <ezk@cs.sunysb.edu>
1524
1525	* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
1526	particular fserver may need forced/lazy unmounts when it's mntfs's
1527	are unmounted.
1528
1529	* amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
1530	the user specified forced_unmounts=yes in amd.conf, and this
1531	fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
1532	forced/lazy unmounts, then try forced/lazy unmounts.  This should
1533	allow a hung mount point to be removed.
1534
1535	* amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
1536	detection code to its own function.
1537	(check_fs_addr_change): new function to detect if the IP address
1538	of a downed host has changed, and do various cleanups and fixups
1539	to try and recover as best from that situation (e.g., flushing
1540	various caches).  Also set the FSF_FORCE_UNMOUNT flag for the
1541	fserver in question.
1542	(flush_srvr_nfs_cache): pass fserver as argument, so we can
1543	selectively flush the NFS cache for a single fserver (or all of
1544	them, if you pass NULL).
1545
1546	* libamu/xutil.c (switch_to_logfile): truncate a regular-file log
1547	file if user passed non-zero "truncate_log" flag.
1548
1549	* include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
1550
1551	* amd/get_args.c (get_args): pass "truncate_log" flag as per
1552	amd.conf global settings.
1553
1554	* amd/conf.c (gopt_truncate_log): store global value of
1555	truncate_log flag.
1556
1557	* amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
1558	reload): don't truncate log file when calling switch_to_logfile().
1559
1560	* amd/amd.h (CFM_TRUNCATE_LOG): new flag.  Fix comment typo.
1561
1562	* NEWS, doc/am-utils.texi (truncate_log Parameter),
1563	scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
1564	new truncate_log amd.conf parameter.
1565
1566	* amd/conf.c (gopt_forced_unmounts): check Linux kernel version
1567	and alert if your version may be too old for MNT_FORCE to work
1568	(before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
1569	Otherwise it may be impossible to pin down the exact kernel
1570	version in which we should enable this feature.
1571
1572	* conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
1573	EBUSY, then don't try to stat(2) before MNT_DETACH because it
1574	could hang.
1575
15762005-07-21  Erez Zadok  <ezk@cs.sunysb.edu>
1577
1578	* conf/umount/umount_linux.c (umount_fs): cleanup this function,
1579	breaking long "if" statements using "goto out".
1580
1581	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
1582	call new utility function umount2_fs() as needed (EBUSY, EIO, or
1583	ESTALE).
1584
1585	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
1586	define a new utility function to invoke forcible/lazy unmounts
1587	without touching any mtab files.  This separate utility function
1588	is useful because it can be called from elsewhere.
1589
1590	* amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
1591	before Amd mounts toplvl mounts, which gives us a hook for cleanup
1592	of a previously dead Amd.  In our case, if the user asked for
1593	forced_unmounts, and the OS supports it, then we try forced/lazy
1594	unmounts on any previous toplvl mounts.  This is useful if a
1595	previous Amd died and left behind toplvl mount points (this Amd
1596	will clean them up!).  WARNING: Don't use forced/lazy unmounts if
1597	you have another valid Amd running, because this code WILL force
1598	those valid toplvl mount points to be detached as well!
1599
1600	* amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
1601	try forced/lazy unmounts because it will prevent a normal Amd from
1602	terminating and cleaning up properly (self-deadlocking: detached
1603	mounts hang the parent Amd on a stat).  Since we already do
1604	unmounts in the background, then try a safer policy: after trying
1605	the normal unmounts a few times (5 sec), escalate and try forced
1606	unmounts a few times (5 more seconds), and if even that failed,
1607	then try the ultimate -- detached unmounts (which always succeed).
1608	This allows Amd to first try and shutdown cleanly, and gradually
1609	try more forcible ways to shutdown.  On Linux, this procedure will
1610	cleanly shutdown Amd even if there are processes with their CWD on
1611	Amd's mount points (which normally result in EBUSY).
1612
16132005-07-20  Erez Zadok  <ezk@cs.sunysb.edu>
1614
1615	* Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
1616
1617	* conf/umount/umount_aix.c: easier if AIX has its own unmount
1618	helper file.
1619
1620	* m4/macros/check_umount_style.m4: AIX needs its own unmount style
1621	file.
1622
1623	* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
1624
16252005-07-19  Erez Zadok  <ezk@cs.sunysb.edu>
1626
1627	* conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
1628	forced-unmount flag.
1629
1630	* conf/umount/umount_default.c (umount_fs): if regular umount got
1631	EBUSY, EIO, or ESTALE, then try forced unmount, if supported.  Try
1632	umount2 (Solaris) or uvmount (AIX).
1633
1634	* conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
1635	umount() failed with EIO or ESTALE, also try forced unmount.
1636
16372005-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
1638
1639	* amd/autil.c (amfs_mount), amd/amfs_toplvl.c
1640	(amfs_toplvl_umount): enable forced/lazy unmounts only if user
1641	asked for it (and dlog it).
1642
1643	* scripts/amd.conf.5: document new force_unmount global parameter.
1644
1645	* doc/am-utils.texi (forced_unmounts Parameter): document new
1646	global parameter.
1647
1648	* amd/conf.c (gopt_forced_unmounts): process forced_unmounts
1649	option (default "no").  Exit with an error if user specified the
1650	option as "yes" but configure couldn't find support for either the
1651	MNT_FORCE or MNT_DETACH flags.
1652
1653	* scripts/amd.conf-sample (forced_unmounts): example usage of new
1654	option.
1655
1656	* amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
1657	option.
1658
1659	* m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
1660
1661	* configure.in: check for generic u/mount options "detach" and
1662	"force".
1663
1664	* include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
1665	Define AMU_UMOUNT flags for force, detach, and autofs.
1666
1667	* amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
1668	unmount flags unconditionally.  Pass them to UMOUNT_FS().
1669
1670	* conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
1671	if needed, because some Linux systems don't define them
1672	(presumably because it would be too dangerous to expose these
1673	flags to users).
1674
1675	* amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
1676	then assume that we're in trouble, possibly because a previous
1677	mount is hung.  So, first try to force a lazy unmount of the old
1678	mount.  If the forced unmount worked, then try again to mount the
1679	desired file system.  If the forced unmount failed, then don't
1680	retry: just return an error.
1681
1682	* amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
1683	(amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
1684	amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
1685	amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
1686	amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
1687	amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
1688	(umount_fs), conf/umount/umount_default.c (umount_fs),
1689	conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
1690	(umount_fs): compute and use unmount specific flags.
1691
16922005-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
1693
1694	* configure.in: better help for users, if nfs_args can't be found.
1695
16962005-07-15  Erez Zadok  <ezk@cs.sunysb.edu>
1697
1698	* BUGS: more details on AIX's need to install bos.net.nfs.adt
1699	before configuring am-utils (else configure cannot find struct
1700	nfs_args on AIX).
1701
17022005-07-10  Erez Zadok  <ezk@cs.sunysb.edu>
1703
1704	* amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
1705	address of a down server had changed.
1706
1707	* amd/info_union.c (union_reload): use safer xsnprintf() routine.
1708
1709	* amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
1710	of a named but down fserver changed (i.e., the previous IP address
1711	is no longer responding).  If so, then reset the fserver to the
1712	new IP address, and set the fserver's flags such that the function
1713	will fall through to doing the usual NFS version/proto checks and
1714	pinging.  (This should fix one case of bug #308.)
1715
1716	* conf/umount/umount_linux.c (umount_fs): warn if plain umount()
1717	failed, before we try to ignore any errors or try optional
1718	umount2(), possibly with forced/lazy unmount.
1719	(umount_fs): dlog when unmount succeeded.
1720
17212005-07-08  Erez Zadok  <ezk@cs.sunysb.edu>
1722
1723	* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
1724	that are compatible with NFSv3.
1725
17262005-07-07  Erez Zadok  <ezk@cs.sunysb.edu>
1727
1728	* m4/macros/header_templates.m4: extern template for strlcat().
1729
1730	* amd/get_args.c (get_version_string): use safer strlcat (or
1731	replacement strlcat).  Use new wrapper xsnprintf() function, which
1732	will use the safer vsnprintf() if available, else default to plain
1733	sprintf.
1734
1735	* configure.in: check for existence of strlcat() and its extern,
1736	replacing with libamu/strlcat.c as needed.
1737
1738	* libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
1739
1740	* include/am_defs.h: optional strlcat() extern.
1741
1742	* include/am_utils.h: extern for new xvsnprintf().
1743
1744	* configure.in: overdue new major libtool shlib version.
1745	Check for snprintf function and extern.
1746
17472005-07-06  Erez Zadok  <ezk@cs.sunysb.edu>
1748
1749	* conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
1750	aix4_nfs_args_bis.
1751
1752	* Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
1753	distribution.
1754
1755	* conf/mount/mount_aix.c: mount style for aix 5.x and newer.
1756
1757	* conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
1758
1759	* m4/macros/check_mount_style.m4: split mount styles for
1760	aix3.x/4.x and the newer (and better) aix 5.x code.
1761
17622005-07-05  Erez Zadok  <ezk@cs.sunysb.edu>
1763
1764	* amq/pawd.c (getawd): avoid buffer overflow.  Bug fix from Graeme
1765	Wilford <G.Wilford@surrey.ac.uk>.
1766
17672005-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
1768
1769	* amd/map.c (get_next_exported_ap): Avoid running off the end of
1770	the exported_ap[] array.  Patch from jon+amd-at-spock.org.  Fixed
1771	bug #301.
1772
17732005-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
1774
1775	* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
1776
1777	* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
1778	must come before C code.
1779
1780	* conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
1781	that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
1782	Patch from Red Hat, which they adapted from mtab_file.c.  Minor
1783	fixes to this file.
1784
1785	* m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
1786	handling.
1787
17882005-06-24  Erez Zadok  <ezk@cs.sunysb.edu>
1789
1790	* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
1791	copying code.
1792
17932005-06-23  Erez Zadok  <ezk@cs.sunysb.edu>
1794
1795	* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
1796	be missing from older hpux10 systems.
1797
1798	* configure.in: update bug-reporting address to list
1799	https://bugzilla.am-utils.org/ as well as the mailing list.
1800
1801	* Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
1802	macro.
1803
1804	* conf/transp/transp_tli.c (get_nfs_version): always use
1805	rpcvers_t, now that it'll be automatically discovered.
1806
1807	* configure.in: check for rpcvers_t type.
1808
1809	* m4/macros/type_rpcvers_t.m4: new macro to check for type of
1810	rpcvers_t (Some Solaris versions need it).
1811
1812	* conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
1813	here, but in the actual source files that may need it.
1814
1815	* libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
1816	already.
1817
1818	* include/am_defs.h: define extern for sleep(3) if needed.
1819
1820	* m4/macros/header_templates.m4: template for sleep(3) extern.
1821
1822	* configure.in: check for extern for sleep(3), which is missing
1823	from some old (and buggy) versions of gcc's fixinc'ed headers.
1824
1825	* conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
1826	nfs_args from actual system headers.
1827
1828	* conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
1829	structure.
1830
18312005-06-22  Erez Zadok  <ezk@cs.sunysb.edu>
1832
1833	* BUGS: update Solaris information about use of f/lex and
1834	yacc/bison.
1835
18362005-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
1837
1838	* minor new port: i386-pc-linux-suse9.3.
1839
18402005-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1841
1842	* configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
1843	so u32 is available for <linux/sunrpc/msg_prot.h>.
1844
18452005-06-16  Erez Zadok  <ezk@cs.sunysb.edu>
1846
1847	* amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
1848	exec maps will always match when users use amd with command line
1849	args (not amd.conf).  Using that legacy way, unfortunately, means
1850	that Amd will use it's hard-coded info-service search path, which
1851	doesn't work for everyone.  It's much better to use amd.conf and
1852	specify what you want exactly.
1853
18542005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1855
1856	* minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
1857
1858	* m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
1859	int as the type of recvfrom()'s 6th argument.
1860
1861	* m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
1862	int as the type of yp_order()'s 3rd argument.
1863
18642005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1865
1866	* scripts/amd.conf-sample (map_type): typo, said mount_type
1867	instead of map_type for the 'exec' example.
1868
18692005-06-11  Erez Zadok  <ezk@cs.sunysb.edu>
1870
1871	*******************************************************************
1872	*** Released am-utils-6.1					***
1873	*******************************************************************
1874
18752005-06-04  Erez Zadok  <ezk@cs.sunysb.edu>
1876
1877	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
1878	only if the user specified them in amd.conf or elsewhere.  If they
1879	were not specified, don't do anything, which would let the OS use
1880	its own defaults.
1881
1882	* amd/get_args.c (get_args): negative timeo/retrans are "good" in
1883	that they represent uninitialized values (meaning to let the OS
1884	use it's default values).  So only check if user specified a value
1885	equal to zero (invalid).
1886
1887	* amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
1888	specify timeo/retrans at all.
1889
18902005-06-03  Erez Zadok  <ezk@cs.sunysb.edu>
1891
1892	*******************************************************************
1893	*** Released am-utils-6.1-rc7					***
1894	*******************************************************************
1895
1896	* m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
1897	configuring, not just for building.  That way the two phases
1898	(configure and compile) are in sync.  This fixes getwire() on
1899	OSF/1 systems.
1900
1901	* conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
1902	defined in system headers.
1903
19042005-06-01  Erez Zadok  <ezk@cs.sunysb.edu>
1905
1906	* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
1907	longer needed.
1908
19092005-05-28  Erez Zadok  <ezk@cs.sunysb.edu>
1910
1911	* completed set of fixes for irix6.5.
1912
1913	* Minor new ports alpha-unknown-linux-gentoo1.4.16
1914	alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
1915	sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5.  Test
1916	those systems with both cc and gcc, where possible.
1917
1918	* include/am_xdr_func.h: remove trailing comma at end of enum
1919	list.
1920
1921	* m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
1922	undefined.  So give it a dummy value.
1923
1924	* libamu/alloca.c: remove file from distro.
1925
1926	* configure.in: don't call AC_FUNC_ALLOCA any more.
1927
1928	* include/am_defs.h: remove header fixups for <alloca.h>, now that
1929	we don't need it.
1930
1931	* amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
1932	avoid only use of alloca() in am-utils, and to use strdup
1933	explicitly.  This way we can avoid using alloca, a feature that's
1934	not portable on various systems.
1935
1936	* amq/amq.c: remove unused lint/rcsid cruft.
1937
19382005-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
1939
1940	* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
1941	extra parentheses around assignments in "if" expressions (gcc
1942	complains).
1943
1944	* conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
1945	for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
1946	xdr_groups.
1947
1948	* configure.in: check for <linux/socket.h>, which, if found,
1949	appears to be preferable to <sys/socket.h>.  Use it to find
1950	<linux/nfs_mount.h>.  On some Linux systems
1951	(Gentoo), both exist but only one must be included, or else you
1952	get redefined structure errors.
1953
1954	* libamu/wire.c (is_network_member): check if masknum is
1955	INADDR_NONE, not "< 0" because it's an unsigned quantity.
1956
1957	* libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
1958	because it's an unsigned quantity.
1959
19602005-05-26  Erez Zadok  <ezk@cs.sunysb.edu>
1961
1962	*******************************************************************
1963	*** Released am-utils-6.1-rc6					***
1964	*******************************************************************
1965
19662005-05-25  Erez Zadok  <ezk@cs.sunysb.edu>
1967
1968	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
1969	missing definition of struct thread_credentials in <sys/vfs.h>
1970	but trying to bring that definition in drags a whole lot of other
1971	messy stuff.  So just provide a dummy definition for this
1972	structure.
1973
19742005-05-24  Erez Zadok  <ezk@cs.sunysb.edu>
1975
1976	* Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
1977
1978	* m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
1979
1980	* m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
1981	systems, so we can find extern definition for mntctl().
1982
1983	* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
1984	define an extern for mntctl() if needed.
1985
1986	* amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
1987	style comments in C code.  Some C compilers don't accept it.
1988
1989	* amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
1990	of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
1991	xlC.
1992
1993	* amd/get_args.c: rename symbol conf_file to amu_conf_file to
1994	avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
1995	Oh, when will people who develop libraries learn to always prefix
1996	their exported symbols with a library-specific name?
1997
1998	* configure.in: check for mntctl() extern on AIX systems.
1999
2000	* ltmain.sh: update from latest libtool-1.5.18, so we can properly
2001	build on AIX 5.2/5.3 with cc and with gcc.
2002
2003	* m4/macros/libtool.m4: update from latest libtool-1.5.18.  This
2004	time, and from now on, we must include libtool.m4 from the libtool
2005	distribution itself.  That way we ensure that we use an ltmain.sh
2006	that matches the appropriate libtool M4 macros.  This makes
2007	am-utils no longer dependent on having libtool installed on a
2008	given system on which you run bootstrap.
2009
20102005-05-23  Erez Zadok  <ezk@cs.sunysb.edu>
2011
2012	* minor new port: i386-pc-linux-deb3.0.
2013
20142005-05-22  Erez Zadok  <ezk@cs.sunysb.edu>
2015
2016	* minor new ports: i386-unknown-netbsdelf2.0.2 and
2017	i386-unknown-openbsd3.7.
2018
20192005-05-20  Erez Zadok  <ezk@cs.sunysb.edu>
2020
2021	* minor new ports: i386-pc-linux-gentoo1.4.16 and
2022	powerpc-unknown-linux-yellowdog2.3.
2023
2024	* include/{mount_headers2.h, am_defs.h}: safer setup before
2025	inclusion of <linux/nfs_mount.h>, which is broken on several
2026	systems.
2027
2028	* configure.in: test for <linux/nfs2.h>.  Separate special test
2029	for <linux/nfs_mount.h> because we need to define __KERNEL__ for
2030	that test, as well as optionally define struct nfs2_fh for some
2031	systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
2032
2033	* config.guess.long: support Gentoo and Yellow Dog Linux distros.
2034
20352005-05-18  Erez Zadok  <ezk@cs.sunysb.edu>
2036
2037	* minor new ports: i386-pc-linux-suse9.2 and
2038	i386-unknown-freebsd5.4.
2039
2040	* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
2041
20422005-05-17  Erez Zadok  <ezk@cs.sunysb.edu>
2043
2044	*******************************************************************
2045	*** Released am-utils-6.1-rc5					***
2046	*******************************************************************
2047
2048	* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
2049	sending annoying warning for a minor issue.
2050
20512005-05-17  Ion Badulescu <ionut@moisil.badula.org>
2052
2053	* amd/nfs_subr.c: check for NULL pointer before dereferencing it.
2054
20552005-05-16  Erez Zadok  <ezk@cs.sunysb.edu>
2056
2057	* minor new ports: powerpc-apple-darwin7.9.0.
2058
2059	* m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
2060	from OS name because it's no longer relevant.  Also, don't include
2061	the major OS version number in the OS name because that's also
2062	unnecessary (and users can always use $osver in maps).
2063
2064	* amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
2065	struct am_fh, because it's the most portable method.  Bug fix
2066	suggestion from Dan Riley <dsr at mail.lns.cornell.edu>.  Better
2067	fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
2068	actual size we use.
2069
2070	* amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
2071	def_opts to options given in -opts, appended with the /default
2072	options.  Bug fix suggestion from Dan Riley <dsr at
2073	mail.lns.cornell.edu>.
2074
20752005-05-13  Erez Zadok  <ezk@cs.sunysb.edu>
2076
2077	*******************************************************************
2078	*** Released am-utils-6.1-rc4					***
2079	*******************************************************************
2080
20812005-05-11  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2082
2083	* amd/amd.c (main) : fixed memory leak detected by valgrind
2084
2085	* amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
2086	valgrind
2087
20882005-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
2089
2090	* m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
2091	check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
2092	check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
2093	for "macosx" as valid OS string, so we compile properly on Darwin
2094	systems.
2095
2096	*******************************************************************
2097	*** Released am-utils-6.1-rc3					***
2098	*******************************************************************
2099
2100	* rerun bootstrap to get a working configure script that actually
2101	checks for limits.h and dependent linux autofs/nfs headers.
2102
2103	* configure.in: remove redundant check for limits.h.
2104
21052005-05-09  Erez Zadok  <ezk@cs.sunysb.edu>
2106
2107	*******************************************************************
2108	*** Released am-utils-6.1-rc2					***
2109	*******************************************************************
2110
21112005-05-08  Erez Zadok  <ezk@cs.sunysb.edu>
2112
2113	* amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
2114	old_def_opts variable.
2115
21162005-05-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2117
2118	* amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
2119	entry has a single dash '-', that the default options are reset.
2120	This functionality was somehow lost from earlier releases and
2121	reported by Dan Riley <dsr@mail.lns.cornell.edu>.
2122
21232005-05-05  Erez Zadok  <ezk@cs.sunysb.edu>
2124
2125	* config.guess.long: detect SuSE Enterprise Server and call it
2126	"sles" not "suse".
2127
21282005-05-02  Erez Zadok  <ezk@cs.sunysb.edu>
2129
2130	* doc/am-utils.texi (amd): document proper use of
2131	/etc/hosts.allow.  Don't spawn a new Amd process because Amd will
2132	get confused if someone else waitpid's on its children (which
2133	often do important un/mount work).  Issue reported by Francis
2134	Montagnac <Francis.Montagnac at sophia.inria.fr>.
2135
2136	* minor new ports: powerpc64-unknown-linux-rhel4, and
2137	powerpc64-unknown-linux-sles9.
2138
21392005-05-01  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2140
2141	* amd/amfs_host.c (amfs_host_umount): We do not want to pass
2142	ENOENT as an error because if the directory does not exists our
2143	work is done anyway.
2144
2145	* conf/umount/umount_linux.c (umount_fs): If we are successful or
2146	there was an ENOENT, remove the mount entry from the mtab file.
2147
21482005-05-01  Ion Badulescu  <ionut@moisil.badula.org>
2149
2150	* amd/nfs_subr.c: am_fh definition moved here from amd.h;
2151	restructured to better reflect its duality (old/new filehandles)
2152	(fh_to_mp3): fhh_gen is always used, even for new style f/h
2153	(mp_to_fh): ditto
2154
2155	* amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
2156	only place where it's used)
2157
21582005-04-30  Erez Zadok  <ezk@cs.sunysb.edu>
2159
2160	* m4/macros/host_macros.m4: use sw_vers on Apple machines to find
2161	out more appropriate OS name (macosx) and OS version (10.3.x) than
2162	uname(3) reports.
2163
21642005-04-29  Erez Zadok  <ezk@cs.sunysb.edu>
2165
2166	* config.guess, config.sub, doc/texinfo.tex: updates from latest
2167	official GNU distributions.
2168
2169	* m4/macros/host_macros.m4: for macosx, change architecture value
2170	from "Power Macintosh" to "powerpc".
2171
2172	* libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
2173	int (it's a size_t).
2174
21752005-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
2176
2177	* scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
2178	Parameter), scripts/amd.conf-sample: document new
2179	normalize_slashes global configuration parameter.
2180
2181	* amd/opts.c (deslashify, normalize_slash): don't touch trailing
2182	slashes, even if multiples of them, if user said
2183	normalize_slashes=no in amd.conf.
2184
2185	* amd/conf.c (gopt_normalize_slashes): new function to record if
2186	to normalize slashes or not.
2187
2188	* amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
2189	normalize double-slashes or not ("yes" by default).
2190
2191	* amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
2192	This is the parent mntfs which does the mf->mf_fo
2193	(am_opts type), and we're passing TRUE here to tell mf_mounted to
2194	actually free the am_opts.
2195
2196	* amd/autil.c (mf_mounted): Be careful when calling free_ops and
2197	XFREE here.  Some pseudo file systems like nfsx call this
2198	function, even though it would be called by the lower-level amd
2199	file system functions.  nfsx needs to call this function because
2200	of the other actions it takes.  So we pass a boolean from the
2201	caller (yes, not so clean workaround) to determine if we should
2202	free or not.  If we're not freeing (often because we're called
2203	from a callback function), then just to be sure, we'll zero out
2204	the am_opts structure and set the pointer to NULL.  The parent
2205	mntfs node owns this memory and is going to free it with a call to
2206	mf_mounted(mntfs,TRUE).
2207
2208	* amd/amd.h: pass flag to mf_mounted, to free or not to free the
2209	am_opts.
2210
2211	* amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
2212	tell it not to free the am_opts, to avoid double free.
2213
2214	* include/am_defs.h: include limits.h if found.
2215
2216	* configure.in: check for limits.h.  Check for certain Linux
2217	headers such as auto_fs.h after checking for limits.h, and include
2218	the latter if it exists, because some Linux headers depend on
2219	limits.h.  This prevents warnings during configure time.
2220
22212005-04-12  Erez Zadok  <ezk@cs.sunysb.edu>
2222
2223	* amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
2224	values from default global UDP settings, because it can cause
2225	unexpected timeouts in Amd on slow systems.  The default that each
2226	OS provides for these toplvl NFS mounts should be OK, or else you
2227	can use the map_options entry.
2228
22292005-04-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2230
2231	* amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
2232	source buffer is treated more as a filehandle than a string.
2233
2234	* amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
2235	source buffer is treated more as a filehandle than a string.
2236
2237	* amd/opts.c (free_op): No longer need to assign pointer to NULL
2238	after XFREE.
2239
2240	* amd/opts.c (expand_op): Revert back to using strncpy() instead
2241	of xstrlcpy.  The code is correct and relies on the semantics of
2242	strncpy.
2243
2244	* libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
2245	of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
2246	truncate our concocted "hostname:/path" string prematurely if the
2247	nap->hostname field is ever less than 64 bytes long
2248	(MAXHOSTNAMELEN).
2249
2250	* libamu/util.c (xstrlcpy): Return immediately if len is 0 to
2251	avoid unnecessary work.  Log an error and return if len is less
2252	than 0.
2253
22542005-04-07  Erez Zadok  <ezk@cs.sunysb.edu>
2255
2256	* include/am_utils.h (XFREE): XFREE() should nullify the pointer
2257	even when compiling without debugging.  It's safer this way.
2258
2259	* libamu/xutil.c (am_set_hostname),
2260	hlfsd/stubs.c (nfsproc_lookup_2_svc),
2261	fsinfo/fsinfo.c (fsi_get_args),
2262	fixmount/fixmount.c (is_same_host, remove_mount, main),
2263	conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
2264	conf/mount/mount_svr4.c (mount_svr4),
2265	conf/mount/mount_linux.c (setup_loop_device),
2266	conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
2267	conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
2268	amd/opts.c (expand_op),
2269	amd/ops_nfs.c (mount_nfs_fh),
2270	amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
2271	amd/amfs_host.c (amfs_host_mount),
2272	amd/am_ops.c (merge_opts):
2273	use the new xstrlcpy instead of strncpy.
2274
2275	* conf/checkmount/checkmount_{default,svr4}.c
2276	(fixmount_check_mount): document why NOT to use xstrlcpy.
2277
2278	* libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
2279	more, just MAXHOSTNAMELEN.
2280
2281	* libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
2282	recursion, since xstrlcpy may use plog).
2283
2284	* libamu/util.c (xstrlcpy): truncating a string is serious.  Use
2285	XLOG_ERROR not XLOG_WARNING.
2286
22872005-04-06  Erez Zadok  <ezk@cs.sunysb.edu>
2288
2289	* include/am_utils.h: external definition for new xstrlcpy
2290	function.
2291
2292	* libamu/util.c (xstrlcpy): new function.  Similar to strncpy, but
2293	uses strlcpy to guarantee that the resulting string is null
2294	terminated, and also warn if the resulting string was truncated.
2295
2296	* libamu/xutil.c (get_server_pid): move this function from util.c
2297	which is for general-purpose utilities.
2298
2299	* m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
2300
2301	* include/am_defs.h: provide extern definition for strlcpy, if
2302	needed.
2303
2304	* libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
2305
2306	* configure.in: search for strlcpy and its extern.
2307
2308	* amq/pawd.c (find_mt): It only handles *some* filesystem types,
2309	so it breaks on direct xfs mounts for example.  The fix (from
2310	Christos Zoulas) is simple: We need to exclude toplvl to avoid
2311	infinite recursion, but all other fs's are game.
2312
23132005-03-31  Erez Zadok  <ezk@cs.sunysb.edu>
2314
2315	* amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
2316	copying exactly len bytes, so add null just to be safe.
2317
23182005-03-30  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2319
2320	* amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
2321	to make sure it null terminates.
2322
23232005-03-29  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2324
2325	* amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
2326	the memset can be removed because strncpy() should padd the
2327	buffer with NULLs anyway.
2328
23292005-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2330
2331	* include/am_defs.h: Clarify comment.
2332
23332005-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
2334
2335	* include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
2336	won't complain about a conflict for this definition between
2337	<rpcsvc/nis.h> and <sys/acl.h>.
2338
23392005-03-20  Erez Zadok  <ezk@cs.sunysb.edu>
2340
2341	* amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
2342
2343	* libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
2344	%lx.
2345
23462005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2347
2348	*******************************************************************
2349	*** Released am-utils-6.1-rc1					***
2350	*******************************************************************
2351
23522005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2353
2354	* conf/transp/transp_tli.c (get_nfs_version): use proper type for
2355	versout on Solaris (rpcvcers_t).
2356
2357	* amd/mapc.c (mapc_showtypes): if last map type to print, don't
2358	append newline or comma to it.
2359
2360	* libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
2361	to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
2362	casting it to an int (size is different).
2363
2364	* configure.in, NEWS: prepare for 6.1-rc1 release.
2365
23662005-03-17  Erez Zadok  <ezk@cs.sunysb.edu>
2367
2368	* scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
2369	<adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
2370	the ldap.schema expects.
2371
2372	* amd/map.c (exported_ap_free): We're using a free-list data
2373	structure and re-using malloc'ed objects.  So, to be safe, memset
2374	entire structure when it's freed, not just the pointer.
2375	(umount_exported): bug fix to on-exit code.  Don't run
2376	am_unmounted() unless unmount_mp() didn't run, since the latter
2377	already calls am_unmounted().  This way we avoid a double-free
2378	bug.
2379
23802005-03-15  Erez Zadok  <ezk@cs.sunysb.edu>
2381
2382	* tasks: updates.  Executable maps is supported.  NFSv4 and
2383	FreeBSD autofs isn't.
2384
2385	* Makefile.am (EXTRA_DIST): include FAQ in distro.
2386
2387	* doc/Makefile.am (alldocs): install README.lda and README.osx.
2388
2389	* FAQ: new file, better late than never.
2390
23912005-03-14  Erez Zadok  <ezk@cs.sunysb.edu>
2392
2393	* scripts/amd2ldif.in: patch to add the amdMapName attribute to
2394	the amdMapTimestamp object when amd2ldif converts it.  This is
2395	necessary if you are using type:=auto mounts and want those
2396	mountmaps looked up through LDAP.  Patch from Jim Zajkowski
2397	<jim.zajkowski@gmail.com>.
2398
23992005-03-12  Erez Zadok  <ezk@cs.sunysb.edu>
2400
2401	* minor new ports: i386-pc-linux-rhel4.
2402
2403	* minor new ports: powerpc-apple-darwin7.8.0.
2404
24052005-03-10  Erez Zadok  <ezk@cs.sunysb.edu>
2406
2407	* amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
2408	cleaner.
2409
2410	* ltmain.sh: upgrade from libtool-1.5.6.
2411
2412	* m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
2413	Linux 2.6 kernel modules, which have a .ko extension, not .o.  Now
2414	we can properly detect which file systems exist on Linux 2.6 based
2415	systems (SLES9, RHEL4, Fedora, etc.).
2416
24172005-03-09  Erez Zadok  <ezk@cs.sunysb.edu>
2418
2419	* m4/macros/host_macros.m4: find out what's the OS software
2420	distribution name, if any.
2421
2422	* m4/macros/header_templates.m4: template for DISTRO_NAME.
2423
2424	* amd/get_args.c (get_version_string): print again full_os, os,
2425	osver, and vendor (bug fix).
2426	(get_version_string): print distribution name, if known (e.g.,
2427	rh9, suse8, etc.).
2428
2429	* amd/mapc.c (mapc_showtypes): wrap around list of supported map.
2430
24312005-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
2432
2433	* amd/map.c (umount_exported): when unmounting file systems on
2434	exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
2435	instead of unmount_node() because the latter always unmounts in
2436	the foreground, whereas the former unmounts in the bg/fg as
2437	needed.  Unmounting always in the foreground has two problems: (1)
2438	if the unmount hangs, amd hangs, and (2) for type:=program, the
2439	unmount script is execve'd(!) thus replacing the main amd process,
2440	which never gets to finish up, leaving the amd mount points hung.
2441
2442	* NEWS: mention new feature of executable maps.
2443
2444	* AUTHORS: Acknowledge Erik Kline.
2445
2446	* scripts/amd.conf.5: document executable maps and
2447	exec_map_timeout parameter.
2448
2449	* scripts/amd.conf-sample: examples of an executable map and
2450	exec_map_timeout.
2451
2452	* m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
2453
2454	* doc/am-utils.texi: document Executable maps and exec_map_timeout
2455	parameter.
2456
2457	* amd/conf.c (gopt_exec_map_timeout): function to parse
2458	exec_map_timeout [global] parameter.
2459
2460	* amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
2461	timeout to 10 seconds, and a global placeholder for the
2462	configurable value.
2463
2464	* amd/amd.c (init_global_options): initialize default executable
2465	map timeout.
2466
2467	* amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
2468	tarball.
2469
2470	* configure.in: enable executable maps.
2471
2472	* amd/mapc.c: define executable map functions and behavior.
2473
2474	* amd/info_exec.c: executable map implementation from Erik Kline
2475	<ekline at ekline dot com>, modified, cleaned-up, and fixed.
2476
24772005-03-07  Erez Zadok  <ezk@cs.sunysb.edu>
2478
2479	* amd/info_file.c (file_init_or_mtime): consolidate identical
2480	file_init and file_mtime into one function.
2481
24822005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2483
2484	* doc/am-utils.texi (Program Filesystem): if umount/unmount are
2485	not specified, Amd uses "umount ${fs}" by default.
2486
2487	* amd/amfs_program.c (amfs_program_match): if neither unmount nor
2488	umount parameters are specified, use the default userland umount
2489	program with "umount ${fs}".  This way type:=program doesn't have
2490	to specify the umount program for basic unmounting actions.
2491	(amfs_program_init): save unmount program string in mf_private
2492	only if it's NULL, not based on mf_refc.
2493
2494	* configure.in: auto-detect name of userland unmount program.
2495
2496	* aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
2497	unmount program.
2498
2499	* amd/ops_cachefs.c (cachefs_init): save unmount program string in
2500	mf_private only if it's NULL, not based on mf_refc.
2501
2502	* configure.in: don't "discover" inheritance file system any more,
2503	since we don't have the .c file for it.
2504
2505	* amd/get_args.c (get_version_string): hack to still show that we
2506	support the inherit file system in output of amd -v.
2507
25082005-03-05  Ion Badulescu  <ionut@moisil.badula.org>
2509
2510	* amd/amfs_inherit.c: removed, dead code
2511
2512	* amd/Makefile.am,
2513	amd/am_ops.c,
2514	amd/amd.h,
2515	conf/autofs/autofs_linux.h,
2516	conf/autofs/autofs_solaris_v1.h,
2517	conf/autofs/autofs_solaris_v2_v3.h,
2518	m4/macros/header_templates.m4: removed references to amfs_inherit.c
2519
25202005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2521
2522	* amd/autil.c (am_mounted): completely rewrite the unmount
2523	no/timeout code to (1) make more sense for odd conditions, and (2)
2524	allow utimeout=N mount options to override FS_NOTIMEOUT default
2525	flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
2526
2527	* libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
2528
2529	* conf/umount/umount_linux.c (umount_fs): strtok is destructive,
2530	so use strdup'ed string.
2531
2532	* conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
2533	use strdup'ed string.
2534
25352005-03-04  Erez Zadok  <ezk@cs.sunysb.edu>
2536
2537	* scripts/amd.conf.5, doc/am-utils.texi (cache_duration
2538	Parameter): clarify actual behavior: this Parameter affects
2539	initial mount timeout as well as the linear backoff what happens
2540	the initial failed EBUSY unmount.
2541
2542	* doc/am-utils.texi (opts Option): better explanation of
2543	utimeout=N mount pseudo-option.
2544
2545	* amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
2546
25472005-03-02  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2548
2549	* AUTHORS: add Dan Ottavio.
2550
2551	* scripts/amd.conf.5: document new debug_mtab_file option.
2552
2553	* scripts/amd.conf-sample (debug_mtab_file): show example.
2554
2555	* doc/am-utils.texi (debug_mtab_file Parameter): document new
2556	option.
2557
2558	* conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
2559	doesn't exist by the time Amd tries to exist, return a 0 rather
2560	than hang indefinitely.
2561
2562	* amd/conf.c (gopt_debug_mtab_file): new function to parse
2563	debug_mtab_file option.
2564
2565	* amd/amd.h: placeholder for debug_mtab_file string.
2566	Define default debug_mtab_file to "/tmp/mtab".
2567
2568	* NEWS: document new debug_mtab_file option.
2569
25702005-03-02  Erez Zadok  <ezk@cs.sunysb.edu>
2571
2572	* conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
2573	users want Amd's NFS service to bind to some arbitrary "localhost"
2574	address, show which address was actually resolved and bound to.
2575
25762005-03-01  Erez Zadok  <ezk@cs.sunysb.edu>
2577
2578	* amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
2579	(update_nfs_pingval) that initializes the pinger, as well as turns
2580	it on/off as needed, and handles changing its value.  This is to
2581	avoid races and other infinite-loop conditions that could result
2582	in ping storms.
2583
2584	* amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
2585	new file server structure, default the ping value to AM_PINGER
2586	(30sec) and set the FSF_PING_UNINIT flag.
2587
2588	* amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
2589	pinger had been initialized for a given file server.
2590
2591	* scripts/ctl-amd.in (stop): no need to check if
2592	/var/lock/subsys/amd file exists if you do an rm -f afterward.
2593	Ensure that proper return value is returned from script.
2594
2595	* NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
2596	so that if N=-1, pings are off; if N=0, pings are set to the
2597	default value (currently 30 seconds).
2598
25992005-02-28  Erez Zadok  <ezk@cs.sunysb.edu>
2600
2601	* amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
2602	__rpc_get_local_uid to verify if the RPC call through the
2603	local host interface came from UID 0.
2604
2605	* configure.in: look for internal libnsl function
2606	__rpc_get_local_uid (seems to be available on all known TLI
2607	systems, Solaris and HP-UX 11).
2608
2609	* conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
2610	function for TLI systems (and it violated a array's bounds,
2611	discovered with libumem.so).
2612	(bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
2613	just to be on the safe side, set struct t_bind's qlen field to non
2614	zero (64 by default).  This value cannot be zero for TCP
2615	connections, and it's unclear if it's good to have it zero for UDP
2616	connections, so setting it to 64 is safer.
2617
26182005-02-27  Erez Zadok  <ezk@cs.sunysb.edu>
2619
2620	* doc/am-utils.texi (opts Option, Keep-alives): update text on
2621	ping option.
2622
2623	* amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
2624	server ping values, turn them off, or re-enable them.
2625	(find_nfs_srvr): call update_nfs_pingval() as needed.
2626
2627	* hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
2628	handler, but use _exit(2) instead.
2629
2630	* amd/amd.c (parent_exit): This signal handler is called during
2631	Amd initialization.  The parent forks a child to do all the hard
2632	automounting work, and waits for a SIGQUIT signal from the child.
2633	When the parent gets the signal it's supposed to call this handler
2634	and exit(3), thus completing the daemonizing process.  Alas, on
2635	some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
2636	always terminate the parent process.  Worse, the parent process
2637	now refuses to accept any more SIGQUIT signals -- they are
2638	blocked.  What's really annoying is that this doesn't happen all
2639	the time, suggesting a race condition somewhere.
2640	(This happens even if I change the logic to use another signal.)
2641	I traced this to something which exit(3) does in addition to
2642	exiting the process, probably some atexit() stuff or other
2643	side-effects related to signal handling.  Either way, since at
2644	this stage the parent process just needs to terminate, I'm simply
2645	calling _exit(2).  Note also that the OpenGroup doesn't list
2646	exit(3) as a recommended "Base Interface" but they do list
2647	_exit(2) as one.  This fix seems to work reliably all the time.
2648
2649	* scripts/wait4amd2die.in: change default to recognize that amd is
2650	down more quickly (check every 3 seconds instead of 5).
2651
26522005-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
2653
2654	* libamu/xutil.c (amu_release_controlling_tty): warn if closing
2655	stdin/stdout/stderr failed.  No need for tempfd.
2656
2657	* scripts/ctl-{amd,hlfsd}.in: before running any real program in
2658	these shell scripts, chdir to "/" to avoid possible hangs with
2659	existing NFS mounts.  This was causing ctl-amd's forked
2660	grand-child amd process to hang if restartable_mounts=no.  Go
2661	figure.
2662
26632005-02-25  Erez Zadok  <ezk@cs.sunysb.edu>
2664
2665	* minor new port ia64-unknown-linux-rhel4
2666
2667	* fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
2668	(RHEL4 gcc 3.4.3 ia64 compiler complains).
2669
26702005-02-24  Erez Zadok  <ezk@cs.sunysb.edu>
2671
2672	* minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
2673
26742005-02-23  Erez Zadok  <ezk@cs.sunysb.edu>
2675
2676	* minor new port: i386-pc-linux-rhel3.
2677
2678	* INSTALL: major update of the compatibility list.
2679
2680	* m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
2681
26822005-02-22  Erez Zadok  <ezk@cs.sunysb.edu>
2683
2684	* scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
2685	document new preferred_amq_port [global] option.
2686
2687	* scripts/amd.conf-sample (preferred_amq_port): example.
2688
2689	* include/am_utils.h: add preferred_amq_port to prototype.
2690
2691	* conf/transp/transp_tli.c (bind_preferred_amq_port): new function
2692	to bind the Amq RPC service for UDP and TCP to a preferred port
2693	(or to any port if preferred_amq_port==0).
2694	(create_amq_service): decide if to bind to RPC_ANYFD, or to a
2695	requested port.
2696
2697	* conf/transp/transp_sockets.c (create_amq_service): if
2698	preferred_amq_port is greater than 0, then bind to that port for
2699	both UDP and TCP.  If preferred_amq_port==0, then bind to any
2700	port.
2701
2702	* amd/nfs_start.c (mount_automounter): pass global
2703	preferred_amq_port value to create_amq_service().
2704
2705	* amd/conf.c (gopt_preferred_amq_port): new function to parse
2706	amd.conf value for preferred_amq_port.
2707
2708	* amd/amd.h: placeholder for preferred_amq_port.
2709
27102005-02-21  Erez Zadok  <ezk@cs.sunysb.edu>
2711
2712	* conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
2713	bindnfs_port to a more proper name.  This function binds the NFS
2714	service to a specified port, and only for UDP.
2715
2716	* conf/transp/transp_tli.c: cleanup some code, rename some
2717	functions, in preparation for RPC amq port specification code.
2718
27192005-02-19  Erez Zadok  <ezk@cs.sunysb.edu>
2720
2721	* */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
2722	reserved for users to pass them on the command line.  Instead, use
2723	autoconf's internal AM_CFLAGS and AM_LDFLAGS.
2724
2725	* depcomp, install-sh, missing, mkinstalldirs: update from latest
2726	versions of Automake 1.9.2.
2727
2728	* m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
2729	regexp/patsubst M4 commands.  Newer versions of autoconf (e.g.,
2730	v2.59) complain about those.
2731
27322005-02-17  Erez Zadok  <ezk@cs.sunysb.edu>
2733
2734	* amd/opts.c (f_xhost): if we don't have hstrerror, just print the
2735	value of h_errno.
2736
2737	* configure.in: include -lresolv if it defines the hstrerror()
2738	function and not already available in existing libraries.
2739
2740	* minor new port: powerpc-apple-darwin7.7.0.
2741
2742	* amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
2743	later compared against an unsigned quantity (complaint from gcc
2744	3.3 on SuSE 8.2)
2745
2746	* include/am_utils.h: remove unnecessary (and conflicting) extern
2747	for bind_resv_port2(), which is declared as static in
2748	transp_tli.c.
2749
2750	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
2751	NEWS: document four new amd.conf options: nfs_retry_interval_udp,
2752	nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
2753	nfs_retransmit_counter_tcp.
2754
2755	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
2756	wether nfs_proto was "udp" or "tcp".
2757
2758	* amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
2759	from default UDP settings (because toplvl mounts are UDP for now).
2760
2761	* amd/get_args.c (get_args): use parameters to -t option to set
2762	both UDP and TCP timeo/retrans values.
2763
2764	* amd/conf.c: (gopt_nfs_retransmit_counter_udp,
2765	(gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
2766	(gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
2767	retrans/timeo parameters separately.
2768	(gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
2769	specified, use it to set defaults for both UDP and TCP.
2770
2771	* amd/amd.c (init_global_options): initialize default values of
2772	both UDP and TCP retrans/timeo values to -1.
2773
2774	* amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
2775	timeo values, one for udp mounts and another for tcp mounts.
2776
27772005-02-16  Erez Zadok  <ezk@cs.sunysb.edu>
2778
2779	* README.osx: new file with some instructions for Mac OS-X users,
2780	courtesy Kevin Layer.
2781
2782	* amd/get_args.c (get_args): move call to switch_to_logfile()
2783	after processing -v, so we don't print "no logfile defined; using
2784	stderr" when we're about to print version info and exit anyway.
2785
2786	* minor new port: powerpc-ibm-aix5.3.0.0.
2787
2788	* hlfsd/hlfsd.c (main): rewrite code to avoid negative array
2789	references.
2790
2791	* conf/checkmount/checkmount_aix.c: remove extern definition for
2792	mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
2793
2794	* amd/info_union.c (union_reload): rewrite code to avoid negative
2795	array references.
2796
2797	* amd/opts.c (split_opts, expand_op): rewrite code to avoid
2798	negative array references.
2799
2800	* conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
2801	since AIX 5.3 has it in <sys/vmount.h>.
2802
2803	* libamu/xutil.c (real_plog): rewrite code to avoid negative array
2804	references.
2805
2806	* libamu/wire.c (is_network_member): rearrange code slightly to
2807	avoid negative array references (AIX 5.3 xlC 7.0 compiler
2808	complains about it).
2809
28102005-01-26  Erez Zadok  <ezk@cs.sunysb.edu>
2811
2812	* doc/am-utils.texi (xhost Selector Function): document new
2813	selector function.
2814
2815	* amd/opts.c (f_xhost): new function for use when matching the
2816	"host" selector for the current host's name.  This function will
2817	now match the primary host name as well as all known aliases
2818	(CNAMES) that gethostbyname() returns.  This function now supports
2819	a new function selector called xhost(ARG); the old host==ARG
2820	selector is unharmed.
2821
28222005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2823
2824	* NEWS: document the ability to restart old mount points
2825
2826	* amd/map.c (mount_auto_node): force the fileid of the
2827	root to be 1, so that it won't change between restarts; use the
2828	root filesystem's own methods instead of hard-coding the use of
2829	the default methods
2830
2831	* conf/transp/transp_tli.c (create_nfs_service): better cleanup on
2832	error conditions.
2833	(bind_resv_port2): allow the caller to request a certain port.
2834
2835	* conf/transp/transp_sockets.c (bind_resv_port): allow the caller
2836	to request a certain port.
2837	(create_nfs_service): better cleanup on error conditions.
2838
2839	* amd/restart.c (restart_automounter_nodes): new function, takes
2840	care of restarting automounter NFS mount points (autofs will come
2841	later).
2842	(restart): skip all automounter mount points.
2843
2844	* amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
2845	implementation: if the path to the node is shorter than sizeof(fh)
2846	chars (currently 32 chars for a NFSv2 fh), simply store it inside
2847	the fh. For longer paths, keep the old implementation.
2848
2849	* amd/nfs_start.c (mount_automounter): reorder things so that
2850	restarting the toplvl filesystems occurs before anything else (so
2851	that we can grab all the ports we need before we accidentally use
2852	them for something else).
2853
2854	* amd/mntfs.c (locate_mntfs): remove dead code; add special
2855	handling of restarted toplvl filesystems.
2856
2857	* amd/mapc.c (root_keyiter): fix up a comment.
2858
2859	* amd/map.c (path_to_exported_ap): new function, searches for and
2860	returns a node by the path to it.
2861	(get_root_nfs_fh): remove unnecessary fiddling with the root fh.
2862
2863	* config.guess.long: support Red Hat Enterprise Linux
2864
28652005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2866
2867	* libamu/util.c (rmdirs): prevent amd from logging 'Read-only
2868	filesystem' errors when the mount point has an ancestor (i.e. '/')
2869	that is mounted read-only.  Patch from David Rage <rage@ucl.ac.uk>.
2870
28712005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2872
2873	* conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
2874	autofs space hack
2875
2876	* conf/umount/umount_default.c (umount_fs): there is no need for
2877	HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
2878
28792005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2880
2881	* doc/am-utils.texi (Automatic Unmounting): document new umount2()
2882	behavior on Linux.
2883
2884	* conf/umount/umount_linux.c (umount_fs): new file.  On Linux, if
2885	umount(2) failed with EIO or ESTALE, try umount2(2) with
2886	MNT_FORCE+MNT_DETACH.  Based on patch from Christos Zoulas
2887	<christos@zoulas.com>.
2888
2889	* m4/macros/check_umount_style.m4: pick new linux umount style.
2890
2891	* Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
2892	file.
2893
28942005-01-16  Erez Zadok  <ezk@cs.sunysb.edu>
2895
2896	* conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
2897	m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
2898	of "nfs_args" test.
2899
29002005-01-13  Erez Zadok  <ezk@cs.sunysb.edu>
2901
2902	* amd/get_args.c (show_usage): separate function to print usage
2903	string.
2904	(get_args) Call show_usage() from get_args when needed, then exit.
2905
2906	* amd/get_args.c (get_version_string): print also domain, host,
2907	and hostd.
2908	(get_args): print version string at the very end, after all other
2909	values had been initialized.  Patch from Christos Zoulas
2910	<christos@zoulas.com>.
2911
2912	* conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
2913	conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
2914	in timeouts in the RPC code between socket and TLI
2915	implementations.  The clntudp_create timeout has a different
2916	meaning than the clnt_call timeout.  Set the timeout of the create
2917	to 2 seconds which means retry if no answer in two seconds, and
2918	the timeout call to 6 seconds, which will give us consistently 2
2919	to 3 pings.  This is useful on occasional network UDP loss where a
2920	single packet loss would wrongfully mark a server down.  (The TLI
2921	code is the one that had the problem occurs.)  Patch from Christos
2922	Zoulas <christos@zoulas.com>.
2923
2924	* libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
2925	compiles even for systems that don't have the nfs_args
2926	ac{reg,dir}{min,max} fields.
2927
2928	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
2929	add "noac" if amd.conf option auto_attrcache was set to 0.  This
2930	should hopefully make the compute_nfs_attrcache_flags patch even
2931	safer.
2932
2933	* libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
2934	function to compute attribute-cache values.  This function now
2935	computes attribute-cache flags for BOTH Amd's automount points
2936	(NFS) as well as any normal NFS mount that Amd performs.
2937	(compute_nfs_args, compute_automounter_nfs_args): call
2938	compute_nfs_attrcache_flags to figure out attribute-cache related
2939	flags.  Patch from Christos Zoulas <christos@zoulas.com>.
2940
2941	* scripts/amd.conf-sample: show examples of new global options
2942	domain_strip and auto_attrcache.
2943
2944	* scripts/amd.conf.5: document new global options domain_strip and
2945	auto_attrcache.  Add warning to auto_attrcache use in case of
2946	ESTALE.
2947
2948	* doc/am-utils.texi: minor cleanups and document new global
2949	options domain_strip and auto_attrcache.  Add warning to
2950	auto_attrcache use in case of ESTALE.
2951
2952	* amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
2953	option auto_attrcache.
2954	(gopt_domain_strip): parse new global amd.conf option
2955	domain_strip.  Part of a patch from Christos Zoulas
2956	<christos@zoulas.com>.
2957
2958	* amd/autil.c (host_normalize): don't call domain_strip()
2959	unconditionally, but depend on the new global amd.conf flag
2960	domain_strip.
2961
2962	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
2963	set attribute cache timeout value given other configured global
2964	defaults.
2965	(amfs_toplvl_mount): set automount point attribute cache option
2966	value to "noac" if attrcache=0, else set it to whatever
2967	set_auto_attrcache_timeout() returns.
2968
2969	* amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
2970	if to strip the domain from the host name or not, default options
2971	set to strip the domain.
2972	Store global value of automount attribute cache timeout value.
2973
2974	* amd/amd.c (init_global_options): add flag to record automount
2975	point attribute cache value.
2976
2977	* amd/amd.c (do_memory_locking): new function to encapsulate all
2978	of the memory-locking functionality, which was in main() before.
2979	Also added a call to madvise(), just in case.
2980	(main): call do_memory_locking() to pin process memory if amd.conf
2981	asked for it, but do so after the main Amd process daemonizes,
2982	because mlock/mlockall is not inherited by fork() by default.
2983	Slightly restructured patch from Jonathan Chen
2984	<jon+amd@spock.org>.
2985
2986	* configure.in: check for madvise(2).
2987
2988	* config.guess, config.sub: updates for latest official GNU
2989	versions.
2990
2991	* m4/GNUmakefile: update paths to "make update"
2992
29932005-01-12  Erez Zadok  <ezk@cs.sunysb.edu>
2994
2995	* conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
2996	that's compatible for HPUX11 as well as NFSv3.
2997
2998	* include/am_defs.h: On AIX 5.2, both <resolv.h> and
2999	<arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
3000	-D_USE_IRS (so that we get extern definitions for hstrerror() and
3001	others).  So undef MAXDNAME before it gets redefined.
3002
3003	* include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
3004	<sys/acl.h>, which is included in many other header files.
3005	<rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes.  So if you're
3006	unlucky enough to include both headers, you get a compile error
3007	because the two symbols conflict.  Temp hack: undefine acl.h's
3008	GROUP_OBJ before including nis.h, because we don't need acl.h for
3009	am-utils.
3010
3011	* m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
3012	certain extern definitions of resolver functions become available.
3013
3014	* amd/opts.c (expand_op): use #define for expand_error string
3015	because some compilers complain about the use of static const
3016	char[] inside a varargs function.
3017
3018	* minor new port i386-unknown-netbsdelf1.6.2.
3019
3020	* new port i386-unknown-netbsdelf2.0.
3021
3022	* minor port i386-unknown-freebsd5.3.
3023
3024	* libamu/mount_fs.c (compute_nfs_args): don't compare
3025	nap->maxgrouplist against NULL but against 0 directly, because on
3026	FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
3027	about a type mismatch.
3028
3029	* minor port i386-pc-linux-fc3 (Fedora Core 3).
3030
30312005-01-11  Erez Zadok  <ezk@cs.sunysb.edu>
3032
3033	* hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
3034	FC3 doesn't have proper extern definition for the defunct
3035	sigpause().
3036
3037	* configure.in: look for sigsuspend().
3038
30392005-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3040
3041	* updated copyright year to 2005 on all files.
3042
30432004-11-29  Erez Zadok  <ezk@cs.sunysb.edu>
3044
3045	* scripts/amd.conf.5: Small fixes to typos in man page, from
3046	Thomas Klausner <tk@giga.or.at>.
3047
30482004-10-22  Erez Zadok  <ezk@cs.sunysb.edu>
3049
3050	* ldap.schema: add this file to distribution.
3051
30522004-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
3053
3054	* doc/am-utils.texi: fix old URLs.
3055
30562004-09-01  Erez Zadok  <ezk@cs.sunysb.edu>
3057
3058	* conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
3059	multiple calls to mntctl().  Patch suggested by Michael van Elst
3060	<M.van.Elst@science-computing.de>.
3061
30622004-08-07  Erez Zadok  <ezk@cs.sunysb.edu>
3063
3064	* doc/am-utils.texi (Program Filesystem): document how to get
3065	double slashes in Amd maps.
3066
3067	* amd/opts.c (normalize_slash): support escaped slashes, needed
3068	for SMB mounts.  Use '\\\/\\\/' in a string to get a double slash.
3069
30702004-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
3071
3072	* amd/amfs_program.c (amfs_program_match): bug fix.  Complain if
3073	both opt_unmount and opt_umount are missing, not when just one of
3074	them is missing.
3075
30762004-08-03  Erez Zadok  <ezk@cs.sunysb.edu>
3077
3078	* amq/pawd.c (find_mt): recognize "linkx" type mounts.  Patch from
3079	Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>.  Support "nfsx" while
3080	we're at it.
3081
3082	* doc/am-utils.texi: mention bugzilla.  Fix broken URL HREF's.
3083
30842004-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
3085
3086	* amq/pawd.c (find_mt): recognize "host" type mounts.  Patch from
3087	Dan Nelson <dnelson@allantgroup.com>.
3088
30892004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3090
3091	* doc/am-utils.texi, NEWS: minor typos fixed.
3092
30932004-07-30  Erez Zadok  <ezk@play.cs.columbia.edu>
3094
3095	* include/am_xdr_func.h: cannot have field-less structure; put a
3096	dummy field in.
3097
3098	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
3099	2nd arg of xdr_u_int to a u_int*, not int*.
3100	(autofs_mount_2_req): don't use C++ // comments.
3101
31022004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3103
3104	* m4/macros/{try_compile_anyfs,check_field}.m4: include
3105	<fs/msdosfs/msdosfsmount.h> if it exists.  Part of a set of
3106	FreeBSD 5 patches from Martin Blapp <mb@imp.ch>.
3107
3108	* include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
3109	exists.
3110
3111	* amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
3112	0777 by default.
3113
3114	* configure.in: check for pcfs_args_t.dirmask field.  Check for
3115	existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
3116
31172004-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
3118
3119	* minor new port: i386-pc-linux-fc2 (Fedora Core 2).
3120
3121	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
3122	unless the function exists in libldap and the extern is in
3123	<ldap.h>.  Recently, openldap removed the extern from ldap.h, but
3124	left the function in libldap, for binary compatibility; however
3125	ldap_enable_cache and related functions have been deprecated (and
3126	no longer listed in the header files), and therefore should be
3127	avoided.
3128
3129	* m4/macros/check_extern_ldap.m4: new macro to check for
3130	LDAP-specific externs.  This is separate from check_extern.m4 so
3131	as to avoid breaking the general-purpose macro with LDAP-specific
3132	headers.
3133
3134	* m4/macros/header_templates.m4: extern template for new
3135	HAVE_EXTERN_LDAP_ENABLE_CACHE.
3136
3137	* configure.in: call new check_extern_ldap.m4 macro.
3138
3139	* Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
3140	macro.
3141
3142	* config.guess.long: distinguish between redhat and fedora-core
3143	releases.
3144
31452004-07-23  Erez Zadok  <ezk@cs.sunysb.edu>
3146
3147	* Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
3148	8.2.  This systems' latest GCC (gcc version 3.3 20030226
3149	prerelease) correctly caught a lot of possibly bad comparisons
3150	between signed and unsigned quantities.
3151
3152	* hlfsd/homedir.c (table_add, plt_search): changed first arg of
3153	both functions to u_int.
3154
3155	* hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
3156	Changed proto for plt_search arg to u_int.
3157
3158	* amq/amq.c (show_mi, main): change 'i' to u_int.
3159
3160	* amq/pawd.c (find_mlp): change 'i' to u_int.
3161
3162	* amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
3163	u_int.
3164
3165	* amd/amd.h: change prototype of vreaddir and amfs_error_readdir
3166	to use u_int count parameter.
3167
3168	* amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
3169	(amfs_error_readdir): change 'count' parameter in proto to u_int.
3170
3171	* amd/amd.h: change proto of amfs_generic_readdir() to use u_int
3172	count parameter.
3173
3174	* amd/readdir.c (make_entry_chain): preflen should be u_int.
3175	(amfs_readdir_browsable): change 'count' to u_int.
3176	(amfs_generic_readdir): change 'count' to u_int.
3177
3178	* amd/amd.h: amu_global_options's portmap_program field should be
3179	u_long, not int (to match RPC conventions).  Change am_fh's
3180	fhh_gen field to u_int, to match am_gen field in struct am_node.
3181
3182	* amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
3183	to avoid size differences.
3184
3185	* conf/mount/mount_linux.c (find_unused_loop_device): cast to int
3186	to avoid comparison between chars and integers.
3187
3188	* libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
3189	comparisons between signed and unsigned integers.
3190
31912004-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
3192
3193	* minor new port: i386-pc-linux-suse9.1.
3194
3195	* include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
3196	because SuSE wants __kernel_old_dev_t.  Instead, just define it
3197	directly to what they both use: an unsigned short.
3198
31992004-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
3200
3201	* minor new port: i386-unknown-freebsd4.10
3202
32032004-04-29  Ion Badulescu  <ionut@moisil.badula.org>
3204
3205	* amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
3206	mountpoints for autofs-based sublinks the right way
3207
32082004-04-28  Ion Badulescu  <ionut@moisil.badula.org>
3209
3210	Fixes for various memory management problems discovered by
3211	Rainer's purify run:
3212
3213	* conf/transp/transp_tli.c (check_pmap_up): zero out struct
3214	timeval before using;
3215	(get_nfs_version): ditto
3216
3217	* amd/map.c (umount_exported): make sure we don't try to free the
3218	same am_node multiple times, by setting its corresponding
3219	exported_ap slot to null
3220
3221	* amd/get_args.c (get_version_string): a static pointer is pretty
3222	pointless, make it automatic
3223
3224	* amd/conf.c (gopt_debug_options): remove unnecessary strdup();
3225	(gopt_log_options): ditto
3226	(gopt_print_version): free version string after using it
3227
3228	* amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
3229	it
3230
3231	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
3232	(amfs_lookup_mntfs): free def_opts on return
3233
3234	* amd/amd.c (daemon_mode): zero out struct sigaction before using
3235	it;
3236	(main): ditto
3237
32382004-04-27  Ion Badulescu  <ionut@moisil.badula.org>
3239
3240	* amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
3241	the real mount of an autofs-based sublink
3242
32432004-04-25  Ion Badulescu  <ionut@moisil.badula.org>
3244
3245	* amd/map.c (free_map_if_success): avoid dereferencing a pointer
3246	to potentially freed memory
3247
32482004-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
3249
3250	* minor new port: i386-unknown-freebsd5.2.1.
3251
32522004-01-30  Ion Badulescu  <ion@guppy.limebrokerage.com>
3253
3254	* scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
3255
32562004-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
3257
3258	* minor new port: sparc64-unknown-linux-deb3.0
3259
3260	* config.guess.long: recoognize Debian Linux.
3261
32622004-01-22  Erez Zadok  <ezk@cs.sunysb.edu>
3263
3264	* conf/transp/transp_tli.c (amu_get_myaddress): use
3265	htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
3266	available.
3267
32682004-01-21  Erez Zadok  <ezk@cs.sunysb.edu>
3269
3270	* wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
3271	parameter to amu_get_myaddress().
3272
3273	* conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
3274	localhost_address amd.conf parameter, if defined (else default to
3275	HOST_SELF_CONNECT).
3276	Removed htonl() around socket address copying (I think it was
3277	wrong) since plog("My IP address is...") in amd.c was printing
3278	addresses wrong on Solaris x86..
3279
3280	* conf/transp/transp_sockets.c (amu_get_myaddress): comment out
3281	old DEBUG code that warns if 127.0.0.1 isn't the same as what
3282	get_myaddress() reports.  Add code to resolve value of
3283	localhost_address amd.conf parameter, if defined (else default to
3284	127.0.0.1).
3285
3286	* amd/conf.c (gopt_localhost_address): new function to parse
3287	amd.conf parameter localhost_address.
3288
3289	* amd/amd.h: global field to store amd.conf localhost_address
3290	parameter.
3291
3292	* amd/amd.c (main): call amu_get_myaddress with global option,
3293	which could have been set in amd.conf.
3294
3295	* NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
3296	scripts/amd.conf.5: document new option localhost_address.
3297
32982004-01-20  Ion Badulescu  <ionut@moisil.badula.org>
3299
3300	* amd/conf.c (gopt_nfs_allow_insecure_port): support function for
3301	the new "nfs_allow_insecure_port" amd.conf directive
3302
3303	* amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
3304	port and drop the request only if the "nfs_allow_insecure_port"
3305	option is not set in amd.conf
3306
3307	* doc/am-utils.texi (Global Parameters): documented the new
3308	amd.conf directive "nfs_allow_insecure_port"
3309
3310	* scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
3311
3312	* scripts/amd.conf-sample (nfs_allow_insecure_port): added the
3313	"nfs_allow_insecure_port" directive
3314
33152004-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
3316
3317	* doc/am-utils.texi: amd-workers is defunct.
3318
33192004-01-19  Erez Zadok  <ezk@cs.sunysb.edu>
3320
3321	* cvs-server.txt: updated instructions
3322
33232004-01-18  Erez Zadok  <ezk@cs.sunysb.edu>
3324
3325	* minor new port: i386-unknown-freebsd5.2.
3326
33272004-01-05  Erez Zadok  <ezk@cs.sunysb.edu>
3328
3329	* MIRRORS.{txt,html}: verify each mirror site, update to new
3330	locations (if found), and remove stale mirrors URLs.
3331
3332	* updated copyright year to 2004 on all files.
3333
33342004-01-03  Erez Zadok  <ezk@cs.sunysb.edu>
3335
3336	* MIRRORS.txt: track status.
3337
3338	* Makefile.am (install-snapshot): new directory to install
3339	snapshots (now that am-utils home page is moved).
3340
33412004-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
3342
3343	* INSTALL, README.autofs: remove forced text-mode.
3344
3345	* doc/am-utils.texi: fix Amd book URL.
3346
3347	* Makefile.am (EXTRA_DIST): include new mirror files in tarball.
3348
3349	* AUTHORS, BUGS, README, README.y2k, configure.in,
3350	doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
3351	and mailing lists.
3352
3353	* MIRRORS.{html,txt}: updates.
3354
3355	* doc/Makefile.am: install mirror lists officially.
3356
33572004-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3358
3359	* tasks: things to do after migrating ftp/Web sites.
3360
33612003-12-09  Erez Zadok  <ezk@cs.sunysb.edu>
3362
3363	* fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page.  Bug
3364	report from Eric S. Raymond <esr@thyrsus.com>.
3365
33662003-11-18  Erez Zadok  <ezk@cs.sunysb.edu>
3367
3368	* Makefile.am (EXTRA_DIST_M4): exclude removed file
3369	m4/macros/struct_nfs_fh3.m4 from distro.
3370
33712003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3372
3373	* libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
3374	FHSIZE3 (may be undefined).
3375
33762003-10-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
3377
3378	Compile fix for Solaris7 with LDAP:
3379
3380	* include/am_defs.h: moved the ldap headers before am_nfs_prot.h
3381	to facilitate using ldap types in it
3382
3383	* conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
3384	definitions that Sun left out of their headers
3385
33862003-10-24  Ion Badulescu  <ionut@moisil.badula.org>
3387
3388	* conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
3389	definitions, they are now defined globally
3390
3391	* libamu/xdr_func.c: unconditionally define all xdr functions
3392	needed for NFSv3, but with an am_ prefix to prevent namespace
3393	collisions
3394
3395	* amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
3396	libamu/mount_fs.c: added the am_ prefix to all
3397	structures and functions having to do with NFSv3 to prevent
3398	namespace collisions
3399
3400	* include/am_utils.h: moved definition of am_nfs_handle to ...
3401
3402	* include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
3403	am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
3404	am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
3405	am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
3406	am_LOOKUP3res here; remove cross-platform compile helper macros
3407	AMU_LOOKUP3RES_*.
3408
3409	* include/am_defs.h: include am_xdr_func.h before am_utils.h to
3410	provide definitions for NFS filehandles
3411
3412	* amd/amd.h: removed declaration for xdr_mountres3
3413
3414	* doc/am-utils.text: minor warning fix
3415
3416	* BUGS: document the autoconf warnings when trying to compile
3417	system header files in isolation
3418
34192003-10-23  Ion Badulescu  <ionut@moisil.badula.org>
3420
3421	* m4/macros/struct_nfs_fh3.m4: removed, not needed
3422
3423	* configure.in: check if struct mounta has the optptr field;
3424	removed all NFSv3-related checks, we implement everything
3425	internally now
3426
3427	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
3428	touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
3429
34302003-10-22  Ion Badulescu  <ionut@moisil.badula.org>
3431
3432	* m4/macros/struct_nfs_fh3.m4: removed, not used anymore
3433
3434	* libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
3435	comments
3436
3437	* configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
3438	always use our own
3439
34402003-10-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3441
3442	* BUGS: document the limitations of bind mounts on Linux
3443
34442003-10-21  Ion Badulescu  <ionut@moisil.badula.org>
3445
3446	* buildall: added support for -i (make install)
3447
34482003-10-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3449
3450	* NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
3451	* INSTALL: Mention its test status.
3452
34532003-10-16  Erez Zadok  <ezk@cs.sunysb.edu>
3454
3455	* amd/ops_nfs.c (nfs_init): declare as static to match forward
3456	definition at top of file.
3457
3458	* conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
3459	added missing definitions for LOOKUP3res, diropargs3, etc.
3460
34612003-10-15  Erez Zadok  <ezk@cs.sunysb.edu>
3462
3463	* libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
3464	libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
3465	(got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
3466	webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
3467	cleanup some inconsistencies with how we treat NFSv3 file handles.
3468	Whenever we need to get data out of a filehandle given to us, we
3469	assume that it uses the OS's native fhandle structure
3470	(often struct nfs_fh3).  When we store the fhandle data for our
3471	own use, however, we store it in one of two ways.  The first, is
3472	that we use the system's default nfs_fh3 structure; the second is
3473	that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
3474	through an elaborate autoconf song-and-dance to "discover" it as a
3475	native fh3 handle structure).  It appears that we do the latter,
3476	instead of using the system's default fhandle structure, simply to
3477	avoid extra malloc's and free's, because whereas nfsv2's fhandle
3478	structure is a simple 32-byte buffer, nfsv3's fhandle structures
3479	often just define a "char *" for the fhandle data, and the caller
3480	must malloc/free the space inside as needed.  Our code was never
3481	written with constructor/destructor callbacks for these nfsv3
3482	filehandles.  Moreover, we carefully wrote our own am_nfs_fh3
3483	structure so IT JUST SO HAPPENS to align with most (hopefully all)
3484	of the fhandle structures for v3: first four bytes are the length
3485	fields and the next four bytes are the fhandle data.  Sigh.
3486	Having this inconsistent use of v3 filehandles can be a real bear,
3487	because we simply cannot avoid using the system's default fhandle
3488	structure indirectly, through things like diropargs3 in
3489	xdr_diropargs3(), which has inside of it a reference to the
3490	system's default nfs_fh3 structure.  ANYWAY, the current fix I've
3491	come up with is to generalize the way we dereference field names
3492	within the nfs_fh3 structure (whether ours or the system's) and
3493	the same for the system's LOOKUP3res structure.  I'm not pleased
3494	with this fix; I'd rather we don't use our own am_nfs_fh3
3495	structure at all.
3496
3497	* libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
3498	function if we have NFS3, because we often use our own,
3499	incompatible am_nfs_fh3 structure.
3500
3501	* include/am_xdr_func.h: We cannot use the native system's
3502	xdr_nfs_fh3 because we are defining our own incompatible
3503	am_hfs_fh3 structure for some systems.
3504
3505	* include/am_xdr_func.h: Define default values for field names of
3506	struct nfs_fh3 and LOOKUP3res.
3507
3508	* doc/am-utils.texi (debug_options Parameter): minor typo fixed.
3509
3510	* conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
3511	names for struct nfs_fh3 and LOOKUP3res, so override the default
3512	names here.
3513
3514	* configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
3515	AMU_STRUCT_NFS_FH3, because the latter depends on the former.
3516
3517	* amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
3518	and clarify if-the-else clauses.
3519
35202003-10-13  Ion Badulescu  <ionut@moisil.badula.org>
3521
3522	* amd/get_args.c (get_version_string): change "Built by" to
3523	"Configured by", and add a new "Built by" line using the variables
3524	below
3525
3526	* m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
3527	BUILD_DATE to build_version.h
3528
3529	* amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
3530	must be initialized even for them, otherwise we lose opt_sublink
3531	(and perhaps other options as well). Report from Rainer Orth.
3532
3533	* amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
3534	pointer dereferencing was a bit too aggressive and could end up
3535	not processing the sublink option if the filesystem was already
3536	mounted.
3537
35382003-10-11  Ion Badulescu  <ionut@moisil.badula.org>
3539
3540	Fix restarted filesystem by disabling the amfs_inherit filesystem
3541	and moving the restarting logic into the generic code. The old
3542	code is still there, will be removed sometime in the near future.
3543
3544	* amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
3545	return the pointer to the restarted filesystem
3546	(free_mntfs): check for the MFF_RESTART flag instead of the
3547	amfs_inherit ops
3548
3549	* amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
3550	filesystem is in use
3551
3552	* amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
3553	filesystem is not being restarted
3554	(amfs_nfsx_remount): if the filesystem is already mounted,
3555	short-circuit the code and just continue
3556
3557	* amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
3558	filesystem is not being restarted; remove hack that was used to
3559	work around an amfs_inherit problem
3560
35612003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3562
3563	Use WebNFS to obtain file handles for mount(2).
3564
3565	* NEWS: Document WebNFS support.
3566
3567	* configure.in: Check for public mount option.
3568	* include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
3569	* doc/am-utils.texi (opts Option): Renamed webnfs to public,
3570	update description.
3571
3572	* amd/amd.h (FSF_WEBNFS): New mntfs flag.
3573	* include/am_utils.h (RPC_XID_WEBNFS): New XID type.
3574
3575	* amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
3576	WebNFS mount/umount attempts.
3577	* amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
3578	(got_nfs_fh_webnfs): New function.
3579	(flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
3580	(prime_nfs_fhandle_cache): Likewise.
3581	Remove unconditional return of public file handle for WebNFS, but
3582	get NFS file handles via mountd or WebNFS instead.
3583	(webnfs_lookup): New function.
3584	(nfs_umounted): Don't inform mountd if MFF_WEBNFS.
3585	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
3586	packets.
3587	* amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
3588	WebNFS servers.
3589	Mention host in info message.
3590	(find_nfs_srvr): Handle public mount option.
3591	Prefer NFSv3/tcp if the client supports it.
3592	Allow port mount option to override default or result from portmap
3593	lookup.
3594
3595	* libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
3596	xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
3597	xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
3598	* include/am_xdr_func.h: Declare them.
3599	* configure.in: Check for them.
3600	* conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
3601	definitions and types.
3602
36032003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3604
3605	Support IRIX 6 private mount option.
3606
3607	* configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
3608	name string.
3609	(AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
3610	* aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
3611	MNT2_NFS_OPT_PRIVATE): Provide templates.
3612	* include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
3613	* doc/am-utils.texi (opts Option): Document it.
3614
36152003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3616
3617	* doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
3618	mount option.
3619
36202003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3621
3622	* libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
3623	Don't reference removed fh3.
3624
36252003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3626
3627	* NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
3628
3629	* INSTALL: Mention test status of various ports.
3630	Describe IRIX 6 autofs status.
3631
36322003-10-09  Ion Badulescu  <ionut@moisil.badula.org>
3633
3634	* NEWS: updated
3635
3636	* amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
3637	we've done all the tests and we know we have a valid and mountable
3638	mntfs. Otherwise we could end up dereferencing null pointers.
3639
3640	* amd/amd.h: fixed a copy&paste comment bug
3641
3642	* amd/am_ops.c (ops_match): minor code cleanup
3643
3644	* doc/am-utils.texi: fixed various typos; added warning about the
3645	racy nature of nfsx; removed duplicated listing of debug options;
3646	added paragraph about signals supported by hlfsd; removed the long
3647	list of (maybe) supported platforms since it duplicates the list
3648	in INSTALL.
3649
36502003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3651
3652	Simplify FD_SET etc. use.
3653
3654	* include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
3655	if missing.
3656	(rpc_pending_now, run_rpc): Use them.
3657	* configure.in: Check for fds_bits field in fd_set.
3658	* amd/nfs_start.c (run_rpc): Use it.
3659
36602003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3661
3662	Improve RPC XID handling.
3663
3664	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
3665	Convert xid to/from host/network byte order.
3666
36672003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3668
3669	Use NFS V2/V3 file handles instead of mount results.
3670
3671	* include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
3672	only, not MOUNTPROC_MNT results.
3673	* amd/amfs_host.c (fetch_fhandle): Use local variables to store
3674	MOUNTPROC_MNT results.
3675	* amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
3676	* amd/ops_nfs.c (struct fh_cache): New member fh_status.
3677	(got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
3678	Store MOUNTPROC_MNT errors in fh_status.
3679	(prime_nfs_fhandle_cache): Get fh_error from fh_status.
3680	* hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
3681	* libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
3682	handles straight from new am_nfs_fhandle_t.
3683
36842003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3685
3686	* amd/clock.c (CID_ALLOC): Remove unused argument.
3687	(timeout): Likewise.
3688
3689	* amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
3690	(prime_nfs_fhandle_cache): Likewise.
3691	(call_mountd): Use UDPMSGSIZE instead of magic constant.
3692
3693	* amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
3694	(fwd_packet): Likewise.
3695	Handle TLOOK error from t_rcvudata().
3696
36972003-09-30  Ion Badulescu  <ionut@moisil.badula.org>
3698
3699	* NEWS: updated
3700
3701	* libamu/mount_fs.c (mount_fs): don't try to recreate the mount
3702	point if the mount fails with ENOENT: in the best case we would be
3703	papering over a bug, and in the worst case we could cause a
3704	deadlock (with autofs). If there are races, they need to be
3705	exposed and fixed properly.
3706
3707	* conf/autofs/autofs_solaris_v1.h,
3708	  conf/autofs/autofs_solaris_v2_v3.h,
3709	  conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
3710	semantics don't allow us to mount nfsx directly onto an autofs
3711	mountpoint, so disallow it
3712
3713	* amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
3714	to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
3715	map entries...
3716	(amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
3717	in the upper layer, so don't do anything else beside wakeup() on
3718	success
3719	(amfs_nfsx_remount): only create the mountpoints as we need them,
3720	avoids creating them on the wrong filesystem in the case of
3721	hierarchical mounts; fix crash-generating typo (m should really be
3722	mf and I swear I hate single-character variable names)
3723
3724	* amd/amfs_generic.c (amfs_cont): one more dlog
3725	(amfs_bgmount): amazingly enough, even foreground mounts can be
3726	backgrounded (in the case of nfsx), so account for this
3727	possibility and permit retries
3728
3729	* m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
3730	and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
3731
3732	* amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
3733	@AMU_AUTOFS_PROT_HEADER@
3734
37352003-09-29  Erez Zadok  <ezk@urd.fsl.cs.sunysb.edu>
3736
3737	* minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
3738	PlayStation 2)
3739
3740	* amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
3741	"char protocols[]" unless MNTTAB_OPT_PROTO is defined.
3742
37432003-09-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3744
3745	Consolidate alloca support.
3746
3747	* amd/amq_svc.c: Move alloca support ...
3748	* include/am_defs.h: ... here.
3749	* amd/conf_parse.y: Remove alloca support.
3750	* fsinfo/fsi_gram.y: Likewise.
3751
37522003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3753
3754	Handle Solaris 10.
3755	* m4/macros/check_nfs_prot_headers.m4
3756	(AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
3757	sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
3758	Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
3759
3760	* m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
3761	solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
3762	micro releases to cope with Solaris 2.5.1.
3763	Explicitly match solaris2*, sunos5*.
3764
37652003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3766
3767	* amd/amq_svc.c: Provide alloca prerequisites.
3768
3769	* conf/transp/transp_tli.c (register_autofs_service): Fix typo.
3770
37712003-09-23  Ion Badulescu  <ion@opteron.tower-research.com>
3772
3773	* minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
3774	Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
3775
37762003-09-22  Ion Badulescu  <ionut@buggy.badula.org>
3777
3778	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
3779
37802003-09-19  Ion Badulescu  <ionut@moisil.badula.org>
3781
3782	* amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
3783	enough, we should lstat() the sublink if it's defined.
3784	(amfs_nfsl_ffserver): ditto
3785	(ALL): Removed some obsolete comments. The nfsl code is now little
3786	more than a very straight-forward switch between link and nfs.
3787
3788	* amd/amfs_link.c (amfs_link_match): more up-to-date explanation
3789	for the prepend-the-dot hack for type link; also, the sublink is
3790	already normalized and absolute, so take advantage of that
3791
3792	* amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
3793	already normalized and absolute, so take advantage of that
3794
3795	* amd/am_ops.c (ops_match): normalize the sublink here, early into
3796	the matching process
3797
3798	* amd/autil.c (am_mounted): be consistent and accept both
3799	"nounmount" and "noumount" as pseudo mount options (same as
3800	"unmount" and "umount" nearby)
3801
3802	* amd/Makefile.am (build_version.h): fixed dependencies (depends
3803	on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
3804
38052003-09-19  Erez Zadok  <ezk@dhcp8.fsl.cs.sunysb.edu>
3806
3807	* amd/amq_subr.c (amqproc_export_1_svc): force double casting to
3808	avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
3809	type-punned pointer will break strict-aliasing rules".
3810
38112003-09-16  Ion Badulescu  <ionut@moisil.badula.org>
3812
3813	* Released beta version 6.1b4
3814
38152003-09-15  Ion Badulescu  <ionut@moisil.badula.org>
3816
3817	* doc/am-utils.texi (opts Option): removed documentation for old
3818	ignore_portmapper mount option, documented the new webnfs option
3819
3820	* NEWS: webnfs support
3821
3822	* amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
3823	(former "ignore_portmapper") mount option is present
3824
3825	* amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
3826	filehandle (all zeros) if MFF_WEBNFS is set
3827	(nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
3828
3829	* amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
3830
38312003-09-13  Ion Badulescu  <ionut@moisil.badula.org>
3832
3833	* amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
3834	NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
3835	to create_ping_payload; renamed nfs_pinged to
3836	nfs_keepalive_callback; renamed nfs_timed_out to
3837	nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
3838	made ping_buf and ping_len arrays with one element for each
3839	supported nfs version
3840
3841	* amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
3842
3843	* amd/amfs_host.c (amfs_host_init): ditto
3844
3845	* amd/ops_nfs.c (call_mountd): ditto
3846
38472003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3848
3849	* BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
3850	patches.
3851
38522003-08-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3853
3854	* amd/autil.c (strealloc): don't call malloc_verify() unless it
3855	exists.
3856
3857	* configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
3858	after we figure out PROG_CC and other compiler features, because
3859	some of the option processing macros need a compiler to function.
3860
3861	* libamu/xutil.c: don't define variables that won't be used unless
3862	mallinfo() and malloc_verify() exist.
3863	(real_plog): don't call checkup_mem unless
3864	mallocinfo() and malloc_verify() exist.
3865	(checkup_mem): don't define this function unless mallocinfo() and
3866	malloc_verify() exist.
3867
3868	* m4/macros/opt_debug.m4: check for functions malloc_verify and
3869	mallinfo in general libraries and then in libmapmalloc and
3870	libmalloc.  These seem to have disappeared in FreeBSD 5.x.
3871
3872	* libamu/xutil.c (dxfree): print pointer using %p
3873
38742003-08-29  Erez Zadok  <ezk@a-opendarwin.fsl.cs.sunysb.edu>
3875
3876	* configure.in: start 6.1b4-pre officially (belated)
3877
3878	* minor new port: i686-apple-darwin6.6
3879
38802003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3881
3882	* conf/autofs/autofs_solaris_v1.c: convert relative targets to
3883	absolute paths when using lofs mounts
3884
3885	* conf/autofs/autofs_solaris_v2_v3.c: ditto
3886
3887	* conf/autofs/autofs_linux.c: ditto
3888
38892003-08-27  Ion Badulescu  <ionut@buggy.badula.org>
3890
3891	* README.autofs: added a paragraph about the resource consumption
3892	of auto maps over autofs
3893
3894	* amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
3895	the MFF_IS_AUTOFS flag from init_mntfs() to
3896	amfs_lookup_one_mntfs(), where it belongs
3897
3898	* amd/mntfs.c (init_mntfs): ditto
3899
39002003-08-27  Ion Badulescu  <ion@guppy.limebrokerage.com>
3901
3902	* amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
3903	denied a filehandle by the server (used to be EIO)
3904
39052003-08-27  Erez Zadok  <ezk@a-bsdi42.fsl.cs.sunysb.edu>
3906
3907	* conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
3908
39092003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3910
3911	* conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
3912	daemon-initiated timeouts on autofs filesystems, since apparently
3913	they appear as "always busy" to the kernel-based expiration routine
3914
39152003-08-26  Ion Badulescu  <ionut@buggy.badula.org>
3916
3917	* NEWS: updated
3918
3919	* conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
3920	FS_ON_AUTOFS
3921	(AUTOFS_LINKX_FS_FLAGS): ditto
3922
3923	* conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
3924	FS_ON_AUTOFS
3925	(AUTOFS_LINKX_FS_FLAGS): ditto
3926
3927	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
3928	FS_ON_AUTOFS
3929	(AUTOFS_LINKX_FS_FLAGS): ditto
3930
3931	* amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
3932	original opt_fs, instead store the new mount point for autofs in a
3933	temporary variable and pass it around. Fixes a problem with the
3934	link side of nfsl.
3935
39362003-08-25  Ion Badulescu  <ionut@moisil.badula.org>
3937
3938	* NEWS: updated
3939
3940	* amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
3941	initialize the fh_wchan member of the cache entry
3942	(prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
3943	argument of call_mountd()
3944
3945	* amd/map.c (free_map_if_success): use get_mntfs_wchan for the
3946	wchan_t argument of wakeup()
3947
3948	* amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
3949	wchan_t argument of wakeup_task() and wakeup()
3950
3951	* amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
3952	wchan_t argument of nfs_srvr_port()
3953
3954	* amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
3955	argument of sched_task() and wakeup()
3956	(amfs_retry): minor cleanup
3957	(amfs_bgmount): call nfs_quick_reply on failure
3958
3959	* amd/sched.c (get_mntfs_wchan): new function which calls the
3960	member function get_wchan if defined, otherwise returns the mntfs
3961	pointer itself
3962
3963	* amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
3964	calls get_mntfs_wchan() on the inherited filesystem
3965
3966	* amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
3967	of the ops to 0
3968
3969	* amd/amd.h: new function type vget_wchan
3970	(struct mntfs): new member get_wchan which returns the waiting
3971	channel associated with the mntfs (normally itself)
3972
39732003-08-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3974
3975	* conf/mount/mount_linux.c (parse_opts): minor cleanup
3976
3977	* conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
3978	break in case autofs_ptype_expire_multi
3979
39802003-08-22  Ion Badulescu  <ionut@moisil.badula.org>
3981
3982	* conf/autofs/autofs_solaris_v1.h: undefine autofs support if
3983	autofs_args_t cannot be determined (hopefully fixes a reported
3984	IRIX 6.5.4 problem).
3985
3986	* conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
3987	HAVE_FS_AUTOFS / #endif (see above)
3988
3989	* conf/autofs/autofs_linux.h: undefine autofs support if the
3990	necessary header files are not found (fixes a reported RedHat 6.2
3991	Sparc problem).
3992
3993	* conf/autofs/autofs_linux.c: wrap entire file in #ifdef
3994	HAVE_FS_AUTOFS / #endif (see above)
3995
3996	* libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
3997	if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
3998
3999	* amd/map.c (unmount_mp, unmount_exported): move the code that
4000	changes the fattr from NFLNK to NFDIR from unmount_mp to
4001	unmount_exported, it was causing troubles (ESTALE) after failed
4002	unmounts. This is still very very unclean, but it's the same as the
4003	old 6.0 code.
4004
40052003-08-22  Nick Williams <Nick.Williams@morganstanley.com>
4006
4007	* amd/info_ldap.c (amu_ldap_init): don't try to pass a null
4008	pointer as a string to plog, Solaris (and other OS's) don't like
4009	it and will dump core.
4010
40112003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
4012
4013	* amd/amd.h: introduced two new types, wchan_t and opaque_t, as
4014	aliases of voidp. This makes reading the code easier on the eyes. :)
4015
4016	* ALL: replace various instances of voidp with wchan_t and
4017	opaque_t, as appropriate
4018
40192003-08-13  Ion Badulescu  <ionut@nicu.badula.org>
4020
4021	* NEWS, configure.in: bumped version up to 6.1b4-pre
4022
40232003-08-13  Ion Badulescu  <ionut@moisil.badula.org>
4024
4025	* Released beta version 6.1b3
4026
40272003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
4028
4029	* conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
4030	symlinks for host mounts; assorted fixes for the symlink mode
4031
40322003-08-05  Ion Badulescu  <ionut@moisil.badula.org>
4033
4034	* conf/umount/umount_default.c (umount_fs): enable space hack
4035	handling for autofs v1
4036
4037	* amd/map.c (get_first_exported_ap, get_next_exported_ap): new
4038	functions that facilitate iterating through the list of
4039	mountpoints
4040
4041	* amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
4042	and get_next_exported_ap
4043
4044	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
4045
40462003-08-04  Erez Zadok  <ezk@ulkesh.dyn.optonline.net>
4047
4048	* configure.in: check if system stores mount tables in files
4049	(usually in /etc), and configure couldn't find a definition for
4050	either struct mntent or struct mnttab.  If so, abort configure
4051	because this could be a new/misconfigured system, or a bug in
4052	am-utils.
4053
40542003-08-04  Ion Badulescu  <ionut@moisil.badula.org>
4055
4056	* conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
4057	compile warning
4058
40592003-08-04  Ion Badulescu  <ionut@buggy.badula.org>
4060
4061	* conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
4062	ops->mount_fs() for an already mounted filesystem
4063	(autofs_umount_fs): only call ops->umount_fs() if we're holding
4064	the last reference to the filesystem
4065
4066	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4067	(autofs_umount_fs): ditto
4068
4069	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4070	(autofs_umount_fs): ditto
4071
4072	* amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
4073	already-mounted filesystems
4074	(amfs_cont): only release the autofs_fh if the filesystem is not
4075	mounted; add another comment about the NFS_SCALEDOWN hack
4076	(amfs_bgmount): if the mntfs is already mounted, skip just the
4077	filesystem initialization, but do call mount_node()
4078
4079	* amd/map.c (mount_node): always call autofs_mount_fs(), but only
4080	call ops->mount_fs() if the mntfs is not yet mounted
4081	(unmount_node): always call autofs_umount_fs(), but only call
4082	ops->umount_fs() if the refcount on the mntfs equals 1.
4083
40842003-08-02  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4085
4086	* conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
4087	here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
4088	define dummy struct netexport, and include <ufs/ufs/extattr.h>
4089	wrapped in _KERNEL).
4090
4091	* conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
4092	here with the proper workarounds for freebsd5.1 (define dummy
4093	struct ufs_extattr_per_mount).
4094
4095	* conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
4096	here with the proper workarounds for bsdi2 (define MAXQUOTAS and
4097	dummy struct netexport).
4098
4099	* include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
4100	here, b/c every *BSD system has some sort of problem in including
4101	this header file, which includes ugly workarounds.  Inclusion of
4102	this header was already moved out of am_defs.h (used to compile
4103	amd), but we forgot to move it out of mount_headers1.h (used to
4104	configure).  The specific inclusion of ufsmount.h is now in the OS
4105	specific nfs_prot.h file.
4106
4107	* configure.in: if configure could not find any definition for
4108	"struct nfs_args", abort configure with an explanatory message.
4109	There's no point in continuing, as this could be a system bug,
4110	buggy am-utils, or a new system to which am-utils wasn't ported to
4111	yet.
4112
4113	* minor new port: i386-pc-solaris2.9
4114
41152003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4116
4117	* doc/am-utils.texi (NFS-Link Filesystem): make the documentation
4118	match the code (as well as basic logic operations: the negation of
4119	'a or b' is 'not a and not b', not 'not a or not b')
4120
41212003-08-01  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4122
4123	* minor new port: i386-unknown-openbsd3.3.
4124
4125	* m4/macros/check_libwrap_severity.m4: new macro to check if
4126	libwrap includes the integer variables deny_severity and
4127	allow_severity, since some libwrap implementations do and others
4128	don't.  The test tries to compile and run a simple empty main()
4129	program, then the same program while defining these two variables:
4130	comparing the results of the two tests, we can tell whether we
4131	should define NEED_LIBWRAP_SEVERITY_VARIABLES.
4132
4133	* Makefile.am (EXTRA_DIST_M4): distribute new macro
4134	check_libwrap_severity.m4.
4135
4136	* m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
4137	we must define explicitly since we've overridden the
4138	action-if-found in AC_CHECK_LIB(wrap).  Also template for
4139	NEED_LIBWRAP_SEVERITY_VARIABLES.
4140
4141	* amd/amq_svc.c: if libwrap does not include the severity
4142	variables, then define and initialize them here.
4143
4144	* amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
4145	Amd binary.  Other am-utils binaries don't need -lwrap.
4146
4147	* configure.in: if libwrap is found, only define it in @WRAPLIB@,
4148	so we don't automatically link every am-utils binary with -lwrap.
4149	Run test for existence of severity variables in libwrap.
4150
41512003-07-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4152
4153	* conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
4154	and gid.
4155
4156	* configure.in: move check for AC_CHECK_LIB(libwrap) as far down
4157	as possible because on modern tcpwrapper systems such as openbsd,
4158	the caller must provide two symbols: deny_severity and
4159	allow_severity, which determine the logging level of rejected and
4160	requested requests, respectively.  If this check happens too
4161	early, then $LIBS includes -lwrap, which causes many subsequent
4162	tests that need to run a compiled program to fail with missing
4163	symbols.
4164
4165	* m4/macros/header_templates.m4: fix typo in template for
4166	readdirplus.
4167
4168	* configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
4169
4170	* minor new port: i386-unknown-netbsdelf1.6.1.
4171
4172	* configure.in: save state before system-specific tests are run.
4173
4174	* m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
4175	because the compiled test program failed to run.
4176
41772003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4178
4179	* NEWS, README.autofs: updated
4180
4181	* libamu/mount_fs.c (mount_fs): added support for the space hack
4182
4183	* doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
4184	are not expired by default; correct and expand the section
4185	describing the program filesystem
4186
4187	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
4188	FS_ON_AUTOFS for supported filesystems
4189
4190	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
4191	mf->mount_fs()
4192	(autofs_umount_fs): call mf->umount_fs()
4193
4194	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
4195	prototype for malloc()
4196	(AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
4197	supported filesystems
4198
4199	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
4200	for the space hack; call mf->mount_fs()
4201	(autofs_umount_fs): add support for the space hack; call
4202	mf->umount_fs()
4203	(autofs_mount_succeeded): add support for the space hack
4204
4205	* conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
4206	FS_ON_AUTOFS for supported filesystems
4207
4208	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
4209	AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
4210	(autofs_mounted): host mounts are now supported on all autofs
4211	versions, remove the hack to turn it off on v3
4212	(autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
4213	as needed
4214	(autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
4215	success
4216	(ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
4217	'#ifdef autofs_ptype_expire_multi'
4218
4219	* amd/map.c (mount_node): autofs_mount_fs() now calls
4220	mf->mount_fs() internally
4221	(unmount_node): autofs_umount_fs() now calls mf->umount_fs()
4222	internally
4223
4224	* amd/autil.c (am_mounted): minor cleanup
4225
4226	* amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
4227	nfs_fs_flags
4228
4229	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
4230	flag instead of hardcoding filesystem types
4231	(amfs_bgmount): better mount_type logging
4232
4233	* amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
4234	this filesystem can be mounted directly onto an autofs mountpoint
4235
42362003-07-31  Ion Badulescu  <ionut@buggy.badula.org>
4237
4238	* amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
4239	calling amfs_link_ops.umount_fs() for NFS filesystems)
4240	(amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
4241	properly elsewhere
4242	(amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
4243	using link (not NFS)
4244
42452003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4246
4247	* README.autofs: Correct IRIX spelling.
4248	AutoFS support exists only on IRIX 6.
4249	Update IRIX 6 status.
4250
4251	Allow AutoFS V1 support to compile on IRIX 6.
4252	* conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
4253	SVCXPRT * arg.
4254	Remove superfluous \n from dlog messages.
4255	(autofs_unmount_1_req): Likewise.
4256	Switch to get_exported_ap.
4257	(autofs_program_1): Invoke handlers with additional transp arg.
4258	* conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
4259	autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
4260
4261	* conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
4262	AutoFS mounts.
4263	[HAVE_FS_LOFS]: Likewise for lofs mounts.
4264
4265	* conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
4266	Don't disable AutoFS support any more.
4267
4268	* conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
4269	(register_autofs_service): Define autofs_xprt.
4270
4271	* m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
4272	Solaris 8+ comment to mention AutoFS V4.
4273	(irix6*): Enable AutoFS V1 support on IRIX 6.
4274
42752003-07-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4276
4277	* NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
4278	of autofs_use_lofs.
4279
42802003-07-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4281
4282	* amd/ops_efs.c (efs_mount): Replace on_autofs arg with
4283	MFF_ON_AUTOFS flag.
4284	(efs_umount): Likewise.
4285
42862003-07-30  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4287
4288	* conf/umount/umount_bsd44.c (umount_fs): convert to new way of
4289	unmounting which takes autofs into account.
4290
42912003-07-30  Ion Badulescu  <ionut@moisil.badula.org>
4292
4293	* ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
4294	hack; pass a new on_autofs argument to mount/umount function,
4295	based on the MFF_ON_AUTOFS mntfs flag
4296
4297	* NEWS, README.autofs: updated
4298
4299	* scripts/amd.conf.5: document new option autofs_use_lofs
4300
4301	* scripts/amd.conf-sample (autofs_use_lofs): document new option
4302
4303	* m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
4304	the autofs header as amu_autofs_prot.h instead of slurping it into
4305	aux_conf.h
4306
4307	* libamu/mount_fs.c (mount_fs): removed old stub, renamed
4308	mount_fs2 to mount_fs, added new argument on_autofs
4309
4310	* doc/am-utils.texi (Direct Automount Filesystem): document
4311	problems with nfs direct mounts on modern kernels, document good
4312	autofs support for direct mounts on Solaris
4313	(autofs_use_lofs Parameter): document this new option
4314	(browsable_dirs Parameter): note that mount storms are avoided
4315	when using autofs
4316
4317	* conf/umount/umount_bsd44.c (umount_fs): removed old stub,
4318	renamed umount_fs2 to umount_fs
4319
4320	* conf/umount/umount_osf.c (umount_fs): removed old stub,
4321	renamed umount_fs2 to umount_fs, added new argument on_autofs
4322
4323	* conf/umount/umount_default.c (umount_fs): ditto as above; return
4324	an error on ENOENT instead of faking success
4325
4326	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
4327	simplified, now only consults the map for existance of the key and
4328	returns success if key is found
4329	(autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
4330	not on;
4331	(autofs_mount_2_free): implemented
4332	(autofs_unmount_2_req): use get_exported_ap() instead of
4333	referencing export_ap directly
4334	(autofs_mount_succeeded): remove code for replying to lookup
4335	requests, now only mount requests can end up here
4336	(autofs_mount_failed): ditto
4337
4338	* conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
4339	FS_AUTOFS
4340	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4341
4342	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
4343	FS_AUTOFS
4344	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4345	(AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
4346
4347	* conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
4348	factored out of autofs_umount_fs()
4349	(autofs_mount_fs): renamed from autofs_link_mount() and expanded
4350	to deal with filesystems mounted indirectly (via lofs/bind
4351	mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
4352	(autofs_umount_fs): ditto, from autofs_link_umount()
4353
4354	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4355	* (autofs_umount_fs): ditto
4356
4357	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4358	* (autofs_umount_fs): ditto
4359
4360	* amd/opts.c: made fs_static static
4361
4362	* amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
4363	and nfs_umounted static
4364	(mount_nfs_fh): removed unnecessary arguments
4365
4366	* amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
4367	the ffserver method, because using NULL causes problems
4368
4369	* amd/ops_cdfs.c (cdfs_ops): ditto
4370
4371	* amd/ops_efs.c (efs_ops): ditto
4372
4373	* amd/ops_lofs.c (lofs_ops): ditto
4374
4375	* amd/ops_pcfs.c (pcfs_ops): ditto
4376
4377	* amd/ops_ufs.c (ufs_ops): ditto
4378
4379	* amd/ops_xfs.c (xfs_ops): ditto
4380
4381	* amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
4382	map.c
4383
4384	* amd/nfs_start.c: use get_exported_ap() instead of referencing
4385	exported_ap directly
4386
4387	* amd/mntfs.c (locate_mntfs): new function, factored out of
4388	find_mntfs
4389	(locate_mntfs): special-case FS_DIRECT filesystems: for direct
4390	mounts we will have two filesystems mounted on the same m/p
4391	(realloc_mntfs): removed the old EZK hack for failovers
4392
4393	* amd/map.c (get_exported_ap): new function that returns an
4394	exported_ap member by its index
4395	(root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
4396	made static
4397	(fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
4398	(get_root_ap): removed unused second argument
4399	(unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
4400	to catch more cases
4401	(mount_node): call autofs_mount_fs after ops->mount_fs for autofs
4402	nodes
4403	(unmount_node): call autofs_umount_fs before ops->umount_fs for
4404	autofs nodes
4405
4406	* amd/conf.c: new global option "autofs_use_lofs", takes yes/no
4407	values
4408
4409	* amd/autil.c (amfs_mount): take an extra argument (mf)
4410	(amfs_mount): call autofs_compute_mount_flags() for mounts
4411	directly on autofs m/p
4412	(am_unmounted): document and avoid the race between am_umounted()
4413	at shutdown time and amfs_cont()
4414
4415	* amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
4416	instead of referencing internal map variables directly
4417
4418	* amd/amq_subr.c (amqproc_export_1_svc): ditto
4419
4420	* amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
4421	nfs_fs_flags
4422	(amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
4423	(amfs_toplvl_umount): refuse to attempt the unmount if the
4424	mountpoint is not a directory
4425
4426	* amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
4427	flag into the nfs f/s at the bottom of the stack
4428
4429	* amd/amfs_nfsl.c: call nfs and link member functions through
4430	their respective am_ops structures, not directly
4431
4432	* amd/amfs_linkx.c (amfs_linkx_umount): new static stub
4433
4434	* amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
4435	static functions
4436	(amfs_link_mount): removed call to autofs_link_mount()
4437	(amfs_link_umount): removed call to autofs_link_umount()
4438
4439	* amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
4440	nfs_fs_flags
4441	(do_mount): removed superfluous function arguments
4442
4443	* amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
4444	nfs_fs_flags
4445
4446	* amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
4447	nfs_fs_flags
4448	(amfs_auto_mount): pass extra argument (mf) to amfs_mount
4449
4450	* amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
4451	use lofs-mounts or symlinks when mounting on autofs
4452	(CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
4453	(VLOOK_LOOKUP): new flag, will merely check if a key exists
4454	(MFF_IS_AUTOFS): renamed from MFF_AUTOFS
4455	(MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
4456	on an autofs m/p, or indirectly via a lofs mount/symlink
4457	(fh_to_mp2): macro expanded throughout the code and removed
4458	(mntfs): removed mf_real_mount hack
4459	(autofs_mount_fs): renamed from autofs_link_mount
4460	(autofs_umount_fs): renamed from autofs_link_umount
4461	(mount_lofs): exposed
4462	various other cleanups, functions/variables made static and removed
4463
4464	* aux_conf.h.in: removed @am_utils_autofs_style@, it is now
4465	included directly as amu_autofs_prot.h
4466
44672003-07-24  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4468
4469	* doc/am-utils.texi, scripts/amd.conf.5: document that
4470	use_tcpwrappers is "yes" by default.
4471
4472	* amd/amd.c (init_global_options): set default global options.
4473
4474	* amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
4475	are always on (plock and use_tcpwrappers).
4476
4477	* scripts/amd.conf-sample: reorganize values per option so default
4478	one is listed first.
4479
44802003-07-23  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4481
4482	* tasks: trim old stuff.  Discuss new parser.
4483
4484	* amd/conf.c (set_conf_kv): initialize the very first map in conf
4485	file from global defaults.  Bug fix which was introduced after
4486	conf.c code restructuring.
4487
44882003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4489
4490	* m4/macros/header_templates.m4: template for
4491	HAVE_EXTERN_HOSTS_CTL.
4492
4493	* include/am_defs.h: define extern for hosts_ctl() if needed.
4494
4495	* configure.in (AMU_CHECK_EXTERNS): check for extern definition
4496	for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
4497
4498	* m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
4499
45002003-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
4501
4502	* hlfsd/hlfsd.h: redundant extern for mboxfile removed.
4503
4504	* amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
4505	amd.conf global option use_tcpwrappers=yes.
4506
4507	* scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
4508	doc/am-utils.texi (use_tcpwrappers Parameter): document new
4509	amd.conf global option.
4510
4511	* amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
4512	option called use_tcpwrappers ("no" by default).
4513
4514	* amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
4515	code only if both libwrap and tcpd.h exist.
4516	(amq_program_1): log warning when an Amq service client is denied,
4517	and a debug message when a client is allowed.
4518
4519	* amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
4520	(AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
4521
4522	* include/am_defs.h: include tcpd.h if available and libwrap
4523	available.
4524
4525	* configure.in: check for tcpd.h.
4526
45272003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4528
4529	* scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
4530	hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
4531	because it removes useful spaces in between paragraphs.  Based on
4532	smaller patch from Philippe Troin <phil@fifi.org>.
4533
45342003-07-17  Philippe Troin  <phil@fifi.org>
4535
4536	* amq/amq.8: Document the libwrap/amd behavior.
4537
4538	* amd/amq_svc.c (libwrap_check_client): New function to validate
4539	an amq connection with libwrap.
4540	(amq_program_1): Call libwrap_check_client() and close the
4541	connection if libwrap does not allow it.
4542
4543	* configure.in: Check for the tcp wrappers library.
4544
45452003-07-17  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4546
4547	* amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
4548	amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
4549	(hlfsd_init): cast pointers to void* before casting them to
4550	another type, to avoid gcc-3.3 -Wall warnings.
4551
4552	* fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
4553	avoid conflict with builtin function in gcc-3.3.
4554
45552003-07-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4556
4557	* scripts/amd.conf-sample: Remove obsolete comment.
4558
45592003-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
4560
4561	* amd/info_file.c (read_line): check for errors from fgets().
4562	Although rare, they can occur upon disk or network failures.
4563	Patch from Nick Williams <Nick.Williams@morganstanley.com>.
4564
45652003-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4566
4567	* BUGS (Solaris 8): Update patch revisions, mention old autofs
4568	patches, fix filenames and rpcgen command.
4569
45702003-07-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4571
4572	* doc/am-utils.texi (map_defaults Parameter): document new
4573	map_defaults option.
4574
4575	* scripts/amd.conf.5: document new map_defaults option.
4576
4577	* scripts/amd.conf-sample (map_type): show examples of new
4578	map_defaults option.
4579
4580	* amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
4581
4582	* amd/get_args.c (get_args): call process_all_regular_maps().
4583
4584	* amd/conf.c: keep head and tail of cfm list.
4585	(init_cf_map): reworked reset_cf_map.  This one doesn't reset a
4586	globaly reused cfm, but rather just inherits [global] options.
4587	(set_conf_kv): just store global/map options without actually
4588	creating any mnt_map's.  Essentially, we now parse the whole
4589	amd.conf file, and then try to process the maps one at a time.
4590	(process_one_regular_map): new function to process one map, just
4591	renamed from process_regular_map.
4592	(process_all_regular_maps): new exported function to process all
4593	maps.  No need for hacky process_last_map().
4594	(find_cf_map): new exported function to return a cf_map_t given a
4595	map's mount point (e.g., /home or /net).
4596
4597	* amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
4598	specificed a map_defaults for a given map.  If so, use that
4599	instead of the /defaults that came from the map itself.  Also
4600	restructure code a bit so it's not one huge long "if" statement.
4601
4602	HACK ALERT: there's no easy way to find out what the map mount
4603	point is at this point, so I am forced to initialize the
4604	mnt_map->cfm field here for the first time, upon the very first
4605	search for a /defaults entry in this map.  This initialization is
4606	much better done in mapc_create(), but it's impossible to do that
4607	there with the current code structure.
4608
4609	* amd/amd.h: struct cf_map becomes linked list.  struct mnt_map
4610	includes pointer to cf_map_t, amd.conf defaults and options for a
4611	given map. extern cleanups.
4612
46132003-07-15  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4614
4615	* amd/info_hesiod.c (hesiod_search): It's not possible to have a
4616	key such as ".access" in a hesiod map as that would imply a null
4617	node in the DNS tree.  So a lookup for such a key must clearly
4618	fail.  With the current info_hesiod.c it does (after calling
4619	hes{,iod}_resolve) but returns an error that confuses some
4620	programs - eg. apache.  This patch shortcuts the process and just
4621	returns ENOENT for any key starting with ".".  Patch submitted by
4622	by Mark Davies <mark@mcs.vuw.ac.nz>.
4623
4624	* include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
4625	fsinfo's own xcalloc.
4626
4627	* fsinfo/fsi_util.c (xcalloc): remove redundant function.
4628
46292003-07-14  Erez Zadok  <ezk@cs.sunysb.edu>
4630
4631	* include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
4632	xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
4633	never defined.  Define it as needed.  Patch from Mark Davies
4634	<mark@mcs.vuw.ac.nz>.
4635
46362003-07-14  Ion Badulescu  <lionut@gonzales.badula.org>
4637
4638	* BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
4639	v4 without updating all the header files)
4640
46412003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4642
4643	* NEWS, tasks: updated
4644
4645	* amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
4646	the am_mfarray, unconditionally
4647	(amfs_bgmount): call free_mntfs when we're done with a mntfs, call
4648	dup_mntfs when starting processing of a new one; make sure we
4649	always go through 'goto failed' for a failed mntfs; use the error
4650	code returned by autofs_get_fh()
4651
4652	* conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
4653	codes in case of problems
4654
46552003-07-13  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4656
4657	* BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex.  In
4658	short, use flex.
4659
46602003-07-13  Erez Zadok  <ezk@a-hpux11.fsl.cs.sunysb.edu>
4661
4662	* fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
4663	lex scanners don't run out of mem.
4664
46652003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4666
4667	* amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
4668	special provision
4669
4670	* amd/mntfs.c (find_mntfs): compare the filesystem type
4671	(i.e. mf_ops) in addition to mf_info; the special provision
4672	mentioned below is really for any filesystem already mounted on
4673	our mount point, not just for inherited filesystems
4674
46752003-07-13  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4676
4677	* doc/Makefile.am (install-html): build per-chapter HTML manual,
4678	as well as manual in one big HTML file.
4679
4680	* doc/am-utils.texi: Minor corrections.  Ack Ion's autofs work.
4681	Ack maintainers.  New section on How to get additionl info,
4682	including the Amd book.  Correct stale URLs and Emails.
4683
4684	* amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
4685	fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
4686	scripts/amd.conf.5, scripts/automount2amd.8,
4687	wire-test/wire-test.8: include references to info pages, proper
4688	authors, am-utils Web page, and amd book.
4689
46902003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4691
4692	* amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
4693	a special provision for inherited filesystems. This unbreaks the
4694	handling of parallel mounts
4695
4696	* amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
4697	filesystems, there can be no alternative mntfs to try to mount
4698
46992003-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
4700
4701	* amd/amd.8: reference am-utils info page in amd man page, as per
4702	Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
4703
4704	* fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
4705	yywrap() if it doesn't exist.
4706
4707	* amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
4708	fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
4709	newer flex 2.5.31 (beta development).  These include resolving
4710	conflicts with yylineno, unput() vs. nounput(), etc.
4711
47122003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4713
4714	* amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
4715	calling assign_error_mntfs()
4716	(amfs_generic_mount_child): ditto
4717
4718	* amd/autil.c (assign_error_mntfs): move the check for
4719	(am_error > 0) up into the caller, it's less confusing that way
4720
4721	* tasks: some updates
4722
4723	* conf/transp/transp_tli.c (check_pmap_up): new function which
4724	detects if the remote portmapper is functional
4725	(amu_clnt_create_best_version): removed
4726	(get_nfs_version): use a much simplified version of the old
4727	amu_clnt_create_best_version(), based on clnt_create_vers() and
4728	its _timed() counterpart
4729
4730	* conf/transp/transp_sockets.c (check_pmap_up): new function which
4731	detects if the remote portmapper is functional
4732	(pmap_ping): deleted
4733	(get_nfs_version): removed calls to pmap_ping, already done by
4734	caller
4735
4736	* amd/srvr_nfs.c: call check_pmap_up() before continuing with
4737	get_nfs_version()
4738
4739	* amd/amfs_generic.c: updated a couple of log messages
4740
4741	* configure.in: detect clnt_create_vers and clnt_create_vers_timed;
4742	changed LIBTOOL versioning to 3:0:0
4743
47442003-07-12  Ion Badulescu  <lionut@gonzales.badula.org>
4745
4746	* conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
4747	FS_AUTOFS because the host mount cannot be a top level mount
4748	(AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
4749	doesn't support direct mounts
4750
47512003-07-12  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4752
4753	* amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
4754	macros.
4755
47562003-07-10  Ion Badulescu  <ionut@buggy.badula.org>
4757
4758	* include/am_utils.h (dlog): improved version for gcc, using
4759	vararg macros
4760
4761	* amd/rpc_fwd.c (fwd_packet): unused variable when compiling
4762	without debugging
4763
47642003-07-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4765
4766	* include/am_utils.h (dlog): change the #define of non-debugging
4767	dlog to "nothing" so that all that'll be left behind is a list of
4768	args in parenthesis (arg,arg,...).  GCC and other native C
4769	compilers seem OK with it, even if it doesn't optimize away the
4770	whole debugging line.
4771
4772	* ltmain.sh: was from libtool 1.4.2.  updated to libtool 1.4.3,
4773	the latest on RH9 systems (but is not the latest libtool
4774	available).  Stay with stable version in preparation for 6.1
4775	release.
4776
4777	* config.{guess,sub}, doc/texinfo.tex: update to latest off of
4778	ftp.gnu.org.
4779
47802003-07-09  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4781
4782	* amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
4783	style comments: breaks non-C++ compilers (like AIX xlC 6)
4784
47852003-07-02  Ion Badulescu  <ionut@buggy.badula.org>
4786
4787	* doc/am-utils.texi (opts Option): document ignore_portmapper option
4788
4789	* conf/transp/transp_sockets.c (get_nfs_version): better
4790	protocol/version cycling while probing remote server; better log
4791	messages
4792
4793	* amd/srvr_nfs.c (start_ping): improved log message
4794	(find_nfs_srvr): always use requested nfs_version/nfs_proto; make
4795	sure we have a valid NFS port; start the server as "valid, down" if
4796	the remote portmapper tells us the NFS service is not running;
4797	implement the "ignore_portmapper" pseudo-mount option
4798
4799	* amd/rpc_fwd.c (fwd_packet): better debug messages
4800
4801	* amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
4802	denied; call wakeup even if mountd call fails
4803
4804	* amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
4805	instead of checking the flags directly
4806	* amd/srvr_amfs_auto.c (free_srvr): ditto
4807
4808	* amd/amfs_generic.c (amfs_bgmount): refined some error/debug
4809	messages
4810
4811	* amd/amd.h (FSRV_ERROR): new macro
4812	(FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
4813	local filesystem) is always up
4814
48152003-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
4816
4817	* amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
4818	umount options are present.
4819
4820	* doc/am-utils.texi (Program Filesystem): document alias options
4821	to unmount:=, umount:=.
4822
4823	* amd/opts.c (expansions): initialize opt_umount.
4824	(to_free): initialize opt_umount.
4825
4826	* amd/amfs_program.c (amfs_program_match): ensure that only one of
4827	umount:= or unmount:= options are specified, but that at least one
4828	of them is listed.
4829
4830	* amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
4831	annoying in type:program, when one forgets the 'n' in "unmount").
4832	They are two separate fields, so we can catch mistakes when
4833	someone tries to define both options.
4834
4835	* doc/am-utils.texi (Program Filesystem): explain that both mount
4836	and unmount options must be specified.  Correct example to show
4837	both.
4838
48392003-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
4840
4841	* XXX: beginning of new amd.conf option map_defaults: will parse
4842	the option and set remember it in the right places.  Need to
4843	document this and actually hook it up with the rest of the code.
4844	Any volunteers? :-)
4845
4846	* scripts/amd.conf-sample (map_defaults): example of map_defaults
4847	amd.conf option.
4848
4849	* amd/conf.c (reset_cf_map): initialize global and per-mount
4850	map_defaults.
4851	(gopt_map_defaults): parse global map_defaults.
4852	(process_regular_option,ropt_map_defaults): parse per-map
4853	map_defaults amd.conf option.
4854
4855	* amd/amd.h: a place to store global and per-mount map_defaults.
4856
4857	* BUGS: more notes about AIX 5.2 problems and how to overcome
4858	them.
4859
48602003-06-10  Erez Zadok  <ezk@cs.sunysb.edu>
4861
4862	* doc/Makefile.am: force version.texi to be rebuilt regardless of
4863	maintainer mode.  Silly Automake will not build version.texi if
4864	maintainer mode is off (this is hardcoded into the automake perl
4865	script!).  According to the Automake maintainers, users should
4866	always build in CVS trees with maintainer-mode on; but what if I
4867	don't want to?!  I don't want to distribute Makefiles with
4868	maintained rules in them to users.  The Automake maintainers also
4869	say that "make dist" will rebuild version.texi no matter what.  I
4870	find that not to be the case.  It failed to run a "make" before
4871	"make dist" because version.texi doesn't exist!  Chicken and Egg
4872	situation.  So, until Automake deals with version.texi in a more
4873	flexible and friendly manner, I adapted a rule to build
4874	version.texi and inserted it in this Makefile.am.
4875
48762003-06-09  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4877
4878	* mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
4879	next best thing to using mkstemp().  Patch from Hendrik Scholz
4880	<hscholz@raisdorf.net>.
4881
48822003-05-08  Ion Badulescu  <ion@guppy.limebrokerage.com>
4883
4884	* libamu/mount_fs.c (compute_automounter_mount_flags): use
4885	MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
4886
4887	* m4/macros/header_templates.m4: added template for
4888	MNT2_GEN_OPT_AUTOMOUNTED
4889
48902003-05-01  Ion Badulescu  <ionut@nicu.badula.org>
4891
4892	* amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
4893
48942003-04-23  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4895
4896	* conf/transp/transp_sockets.c (create_amq_service): minor cpp
4897	directive indentation and commenting.
4898
48992003-04-22  Ion Badulescu  <ionut@moisil.badula.org>
4900
4901	* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
4902	for an RPC library DoS issue (original patch from Martin Blapp,
4903	massaged into something more digestable by me)
4904
49052003-04-14  Ion Badulescu  <ionut@moisil.badula.org>
4906
4907	* conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
4908	left over from the recent cleanup
4909
49102003-04-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4911
4912	* doc/Makefile.am (DVIPS): use proper options for dvips.
4913
4914	* doc/am-utils.texi (opts Option): document new 'unmount' option,
4915	and better explain the 'nounmount' option.  Also some misc options
4916	for better generation of html manual.
4917
4918	* doc/Makefile.am (install-html): support newer texi2html 4.0
4919	options, as older options were renamed or changed behavior.
4920
4921	* amd/autil.c (am_mounted): support new 'unmount' option, to allow
4922	all file system mounts to timeout and thus expire.  This option is
4923	useful for removable local media such as CD-ROMs, USB drives,
4924	etc. so they can expire when not in use, and get unmounted (such
4925	drives can get work out when they keep spinning).  Patch from
4926	Christos Zoulas <christos@zoulas.com> (originally from Koji
4927	Imada).
4928
49292003-04-10  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4930
4931	* configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
4932	do not get added to Makefiles by default (they are confusing to
4933	users who don't have autotools installed).
4934
49352003-04-09  Ion Badulescu  <ion@guppy.limebrokerage.com>
4936
4937	* amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
4938	the 2001-05-23 entry) back to the 6.0 code
4939
49402003-04-04  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4941
4942	* libamu/xutil.c (switch_to_logfile): don't try to print logfile
4943	if it is null (strlen core dump on solaris).  Bug report from John
4944	P. Rouillard <rouilj@ieee.org>.
4945
49462003-03-31  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4947
4948	* fsinfo/fsinfo.8: typo co-ordinate -> coordinate.  Typo report
4949	from Perry E. Metzger" <perry@piermont.com>.
4950
49512003-03-25  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4952
4953	* include/am_defs.h: Don't include malloc.h if stdlib.h exists,
4954	because modern systems (e.g., BSD) complain if you use malloc.h
4955	instead of stdlib.h.  Let's hope there are no systems out
4956	there that need both.
4957
49582003-03-20  Erez Zadok  <ezk@suse73.fsl.cs.sunysb.edu>
4959
4960	* minor new port: sparc64-unknown-linux-suse7.3.
4961
49622003-03-20  Erez Zadok  <ezk@a-freebsd5.fsl.cs.sunysb.edu>
4963
4964	* minor new port: i386-unknown-freebsd5.0.
4965
4966	* configure.in: detect nfsclient/nfsargs.h.
4967
4968	* conf/nfs_prot/nfs_prot_freebsd3.h: include
4969	<nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
4970
49712003-03-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4972
4973	* amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
4974	scripts/amd.conf.5, scripts/expn.1: minor spell checking and
4975	extraneous space elimination.
4976
49772003-03-07  Ion Badulescu  <ionut@buggy.badula.org>
4978
4979	* conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
4980	descriptors if limit exceeded
4981	(autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
4982	(autofs_release_fh): release pending_mounts and pending_umounts
4983	queues
4984	(autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
4985
4986	* amd/mntfs.c (init_mntfs): delete initialization of removed
4987	mf_autofs_fh
4988	(uninit_mntfs): delete call to autofs_release_fh()
4989
4990	* amd/map.c (init_map): init autofs_fh to 0, delete initialization
4991	of removed autofs_data
4992	(free_map): release autofs_fh after unmounting map; delete call to
4993	autofs_free_data()
4994	(umount_exported): call autofs_release_mp() prior to unmounting
4995	autofs f/s
4996	(unmount_mp): ditto
4997	(free_map_if_success): call autofs_get_mp() if unmounting fails
4998	(timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
4999	timeouts instead of the per-mountpoint am_ttl
5000
5001	* amd/autil.c (am_unmounted): release autofs_fh after unmounting
5002	autofs f/s
5003
5004	* amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
5005	autofs f/s fails;
5006	(amfs_bgmount): ditto
5007
5008	* amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
5009	more related to the mount point than to the f/s mounted;
5010	added am_autofs_ttl to am_node, for running expirations on entire
5011	filesystems
5012
5013	* conf/autofs/autofs_*: autofs_get_fh() returns int instead of
5014	autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
5015	instead of autofs_fh_t *, in an effort to not deal with
5016	autofs-specific data structures outside autofs code;
5017	new methods autofs_get_mp() and autofs_release_mp(), which
5018	acquire/release autofs resources to allow clean unmount attempts;
5019	nuke autofs_data_t, never used
5020
5021	* amd/amd.h: prototypes for new and changed autofs functions
5022
50232003-03-07  Ion Badulescu  <ion@guppy.limebrokerage.com>
5024
5025	* amd/nfs_subr.c (do_readlink): eliminate third argument, never used
5026	(nfsproc_getattr_2_svc): reorganize the code a bit
5027
5028	* amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
5029	am_node * argument
5030
5031	* amd/amd.h: changed prototype for mk_fattr()
5032
5033	* amd/autil.c (am_unmounted): when remounting, use the parent
5034	node's lookup_child() and mount_child() operations, not the
5035	generic ones
5036
5037	* amd/amfs_generic.c (amfs_cont): minor code optimization
5038
50392003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5040
5041	* amd/amfs_auto.c: lots of renames and code moving:
5042	amfs_auto_match() -> amfs_generic_match(), moved to generic;
5043	amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
5044	amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
5045	amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
5046	free_continuation(): moved to generic, made static;
5047	assign_error_mntfs(): moved to autil.c;
5048	amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
5049	amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
5050	try_mount() + mount_node() -> mount_node(), moved to map.c
5051	amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
5052	amfs_parse_defaults(): moved to generic;
5053	amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
5054	amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
5055	amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
5056	amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
5057	amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
5058	next_nonerror_node(): moved to autil.c;
5059	amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
5060	amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
5061
5062	* amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
5063	and moved to autil.c
5064
5065	* amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
5066	out of amd/amfs_auto.c
5067
5068	* amd/amd.h: struct continuation moved to generic.c; prototypes
5069	for the renamed functions; NumChild renamed to NumChildren
5070
5071	* amd/map.c: collaped unmount_node_wrap() and unmount_node() into
5072	the latter
5073
5074	* amd/mapc.c: key_already_in_chain(): moved to readdir.c;
5075	make_entry_chain(): moved to readdir.c;
5076
5077	* amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
5078	amfs_generic_find_srvr()
5079
5080	* amd/amfs_*.c: adjustments for the renames above
5081
5082	* amd/ops_*.c: low-level filesystems don't need a find_server()
5083	method
5084
5085	* amd/Makefile.am: added amfs_generic.c and readdir.c
5086
5087	* doc/am-utils.texi: minor clarification for auto maps
5088
50892003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5090
5091	* amd/amd.h: moved lots and lots of amd-only stuff here, from
5092	include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
5093	to be function typedefs, not pointer to function typedefs
5094
5095	* include/am_utils.h: see above
5096
5097	* amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
5098	function typedef changes
5099
51002003-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
5101
5102	* BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
5103	bug.
5104
51052003-02-02  Erez Zadok  <ezk@siamese.fsl.cs.sunysb.edu>
5106
5107	* NEWS: minor new port: ia64-unknown-linux-rh2.1AS
5108
51092003-01-31  Ion Badulescu  <ion@console.limebrokerage.com>
5110
5111	* m4/macros/os_cflags.m4: rhapsody and darwin are the same
5112
5113	* amd/autil.c (mount_node): vastly simplified, just a wrapper now
5114
5115	* amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
5116	hack, we now do it properly in the generic code
5117
5118	* amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
5119	forking the child; set and reset MFF_MOUNTING here, not in
5120	mount_node(), because the latter might be running in child
5121	context; call am_mounted() after a successful foreground mount
5122
51232003-01-29  Ion Badulescu  <ionut@moisil.badula.org>
5124
5125	* configure.in: new flag --with[out]-ndbm; don't pull in libldap
5126	if building --without-ldap; look for the gdbm/ndbm.h header; make
5127	explicit the dependency between the ndbm headers and libraries;
5128	define NEW_DBM_H as the ndbm header that should be used
5129
5130	* include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
5131	instead of trying to second-guess configure
5132
5133	* m4/macros/header_templates.m4: new template for NEW_DBM_H
5134
5135	* m4/macros/check_map_funcs.m4:
5136	(ac_upcase_map_name): use the third argument correctly
5137
5138	* ltmain.sh: working version from libtool-1.4.2-7
5139
5140	* buildall: print the entire configure command, including extra
5141	arguments; pass each of the extra arguments separately, not
5142	commingled into one
5143
51442003-01-28  Ion Badulescu  <ion@guppy.limebrokerage.com>
5145
5146	* include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
5147	DEBUG; it is not used without DEBUG, but it is referenced at
5148	compile time. Bug report from John Kilburg <john@physics.unlv.edu>.
5149	(D_ALL): don't include D_XDRTRACE, too verbose and normally
5150	unnecessary
5151
51522003-01-28  Erez Zadok  <ezk@cs.sunysb.edu>
5153
5154	* ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
5155	from latest official GNU versions.
5156
51572003-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
5158
5159	* BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
5160	vmount).
5161
51622003-01-25  Ion Badulescu  <ionut@moisil.badula.org>
5163
5164	* Released beta version 6.1b2
5165
51662003-01-24  Ion Badulescu  <ionut@moisil.badula.org>
5167
5168	* amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
5169	calling rmdirs() on mountpoint
5170
5171	* amd/amfs_auto.c (amfs_auto_bgmount): ditto
5172
5173	* amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
5174
5175	* doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
5176
5177	* NEWS: "sftlookup" -> "softlookup"
5178
5179	* amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
5180	check for "nosoftlookup" in combination with "soft"
5181
51822003-01-23  Ion Badulescu  <ion@guppy.limebrokerage.com>
5183
5184	* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
5185	freebsd22 derivative
5186
5187	* NEWS: updated for Darwin changes
5188
5189	* .cvsignore: added A.i386-apple-darwin6.0
5190
5191	* m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
5192	Darwin
5193
51942003-01-23  Erez Zadok  <ezk@cs.sunysb.edu>
5195
5196	* conf/mount/mount_aix.c (mount_aix3): clean back this file from
5197	all the debugging cruft that is no longer needed (and really was
5198	never needed in the first place).
5199
52002003-01-10  Erez Zadok  <ezk@cs.sunysb.edu>
5201
5202	* scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
5203	(map) files for testing basic amd functionality such as whether it
5204	can mount its own mount NFS points.
5205
52062002-12-28  Ion Badulescu  <ionut@moisil.badula.org>
5207
5208	* amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
5209	pings are disabled
5210
5211	* libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
5212	instead of casting the pointer to (enum_t *)
5213	(xdr_mountstat3): ditto
5214	(xdr_nfsstat): ditto
5215
5216	* libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
5217	64-bit big-endian platforms, bug report from Bill Fenner
5218	<fenner@research.att.com>
5219
5220	* configure.in: increase library patchlevel
5221
5222	* libamu/xutil.c (amu_release_controlling_tty): close and reopen
5223	file descriptors 0,1,2 before calling setsid()
5224
52252002-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
5226
5227	* updated copyright year to 2003 on all files
5228
52292002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5230
5231	* rename "aux/" subdir into "m4/" so as to avoid problems with
5232	MS-DOS systems (where "AUX" is a reserved name).  This required
5233	fixing numerous files.
5234
52352002-12-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5236
5237	* configure.in: don't check for bad hasmntopt() function if
5238	hasmntopt() doesn't exist on the system, because we will replace
5239	it with our own version anyway.
5240
5241	* conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
5242	dlog because htonl() returns a u_long.
5243
52442002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5245
5246	* include/am_defs.h: use system's hasmntopt() only if it is found
5247	and it is not buggy.
5248
5249	* libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
5250	char.
5251
5252	* amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
5253	amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
5254	libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
5255	to amu_hasmntopt().  Don't use hasmntopt() directly any more!
5256
5257	* aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
5258	hasmntopt() function, which incorrectly finds the option "soft" in
5259	a string "hard,softlookup,ro".
5260
5261	* libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
5262	hasmntopt(), to match what most systems use.
5263
5264	* aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
5265
5266	* configure.in: invoke test for bad hasmntopt()
5267
5268	* NEWS: minor new port, i386-pc-linux-rh8.0.
5269	Mention autofs-v4 on solaris9 works.
5270
5271	* bootstrap: remove any autom4te-*.cache directories, now that
5272	autoconf uses a version number for them.
5273
52742002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5275
5276	Patches from Christos Zoulas:
5277
5278	-1- am_utils.h: add full prototypes
5279	-2- amfs_auto.c make functions static and add prototypes
5280	-3- map.c: kill double free
5281	-5- transp_sockets.c: add full prototypes
5282
52832002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5284
5285	* NEWS: updated
5286
5287	* doc/am-utils.texi (opts Option): document sftlookup
5288
5289	* conf/autofs/autofs_solaris_v2_v3.c: compile fixes
5290
52912002-11-22  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5292
5293	* amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
5294	%ld not %d.
5295
52962002-11-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5297
5298	* {amd,fsinfo}/Makefile.am: remove special rules for processing
5299	yacc/lex files, now that autoconf/automake properly handle them
5300	better (esp. now that bison 1.75 behaves differently than older
5301	bison versions).
5302
53032002-11-21  Erez Zadok  <ezk@cs.sunysb.edu>
5304
5305	* config.guess.long: updated script so it will properly find the
5306	version number of the new Itanium 2 machines running "Red Hat
5307	Linux Advanced Workstation release 2.1AW (Derry)".  The script now
5308	will report ia64-unknown-linux-rh2.1AW.
5309
53102002-11-20  Ion Badulescu  <ionut@moisil.badula.org>
5311
5312	* amfs_auto_bgmount(): almost complete rewrite
5313
5314	* fixed amfs_inherit to do the right thing and not dereference
5315	freed mntfs'es
5316
5317	* #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
5318	amfs_autofs_lookup_child()
5319
5320	* release the autofs_fh only in one place
5321
5322	* remove the mountpoint only if mf_refc == 1
5323
5324	* print the mntfs type in free_mntfs()
5325
5326	* new pseudo-mount option 'sftlookup' which causes lookups to
5327	mounted shares from downed servers to return EIO; the default
5328	depends on whether the mount is 'hard' or 'soft'
5329
5330	* improved querying of supported NFS versions on the server --
5331	don't even try if it's known to be down
5332
5333	* solaris autofs mount code moved to transp_{sockets,tli}.c
5334
5335	* incipient (non-functional) AIX autofs support
5336
53372002-11-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5338
5339	* doc/am-utils.texi (Keep-alives): removed outdated info about not
5340	maintaining the state of TCP NFS servers
5341
53422002-11-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5343
5344	* include/am_utils.h: prototype for ops_search()
5345
5346	* amd/am_ops.c (ops_search): new function for searching the right
5347	set of ops for a given filesystem type
5348
5349	* amd/restart.c (restart): cleanup and split into two functions in
5350	preparation for handling the restart of amd's own mount points
5351	(restart_fake_mntfs): new function, factored out from restart()
5352
53532002-11-04  Ion Badulescu  <ionut@buggy.badula.org>
5354
5355	* amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
5356	(cdfs_umount): ditto
5357
5358	* conf/mount/mount_linux.c (mount_linux): factor it out to
5359	mount_linux_nfs() and mount_linux_nonfs()
5360	(mount_linux_nonfs): generalize loop device support to all
5361	filesystems (not just cdfs); make it automatic for anything that's
5362	a regular file
5363	(parse_opts): deprecate the explicit "loop" mount option
5364	(do_mount_linux): minor cleanup
5365
5366	* conf/umount/umount_default.c (umount_fs2): release loop device
5367	on umount()
5368
53692002-11-03  Erez Zadok  <ezk@cnm20>
5370
5371	* include/am_defs.h: moved #include of net/if.h above net/route.h,
5372	because on AIX 5.2 if.h is needed for route.h (let's hope it
5373	doesn't break things on other systems).
5374
5375	* include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
5376	to be defined, but I don't want to move the inclusion of signal.h
5377	this early into this file.  Luckily, amd doesn't need the size of
5378	this structure in any other structure that it uses.  So we
5379	sidestep it for now.
5380
5381	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
5382	but I couldn't find its definition anywhere.  Luckily, amd doesn't
5383	need the size of this structure in any other structure that it
5384	uses.  So we sidestep it for now.
5385
53862002-11-02  Erez Zadok  <ezk@cs.sunysb.edu>
5387
5388	* config.guess, config.sub, doc/texinfo.tex: updates from
5389	the latest GNU distributions (2002-09-05).
5390
53912002-10-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5392
5393	* conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
5394	mount.h for NFSOPT_* and NFSMNT_*.
5395	Don't use typedefs that aren't found in system header files.
5396
53972002-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
5398
5399	* Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
5400
5401	* conf/nfs_prot/nfs_prot_aix5_2.h: new file.
5402
5403	* aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
5404	for "struct aux52_nfs_args".
5405
5406	* aux/macros/check_nfs_prot_headers.m4: define new header file for
5407	AIX 5.2.
5408
54092002-10-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5410
5411	* scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
5412	man page.
5413
5414	* scripts/amd.conf-sample (ldap_proto_version): show example of use
5415
5416	* doc/am-utils.texi (ldap_proto_version Parameter): document new
5417	amd.conf option.
5418
5419	* amd/conf.c (gopt_ldap_proto_version): new conf function to
5420	support ldap_proto_version amd.conf parameter.
5421
5422	* amd/amd.h: field to hold LDAP protocol version.
5423
5424	* amd/amd.c (init_global_options): set default for
5425	ldap_proto_version.  ldap_proto_version patch from George Ross
5426	<gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>.
5427
5428	* amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
5429	unbinding from an LDAP server that may have been restarted.  Fix
5430	from George Ross <gdmr@dcs.ed.ac.uk>.
5431
54322002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5433
5434	* remove all autoconf stuff added for sys_nerr
5435
5436	* amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
5437
5438	* libamu/strerror.c: more explicit text for unknown errno's
5439
54402002-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
5441
5442	* include/am_defs.h: define "extern int sys_err" if needed.
5443
5444	* aux/macros/header_templates.m4: template for
5445	HAVE_EXTERN_SYS_NERR.
5446
5447	* hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
5448	(show_mi): remove "extern int sys_err"
5449
5450	* configure.in: execute test for "extern int sys_err"
5451
5452	* Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
5453
5454	* aux/macros/extern_sys_nerr.m4: new test to check for existence
5455	of "extern int sys_nerr" definition in system headers.
5456
54572002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5458
5459	* libamu/xutil.c (dbg_opt): bring comments in line with the code
5460
5461	* hlfsd/hlfsd.c (main): use amuDebug() instead of touching
5462	debug_flags directly
5463
5464	* amd/amd.c (main): don't init debug_flags, leave it as zero (no
5465	debugging by default)
5466
54672002-09-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5468
5469	Debug code sanitization:
5470
5471	- amuDebug() becomes an expression, and explicit if() statements
5472	are added around it throughout the code
5473	- amuDebugNo() goes away (ugh!)
5474	- D_AMQ, D_DAEMON and D_FORK reverse their meaning
5475	- D_ALL contains only options that don't affect amd's functionality
5476
54772002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5478
5479	* amd/amfs_auto.c (free_continuation): avoid double-free'ing the
5480	mntfs if there was an error/timeout
5481
54822002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5483
5484	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
5485	of "return NULL" to signal an error to the upper layers
5486	(amfs_auto_mount): use strdup so the string can be free'd later on
5487	[Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>]
5488
54892002-09-03  Ion Badulescu  <ion@guppy.limebrokerage.com>
5490
5491	Patches from George Ross <gdmr@dcs.ed.ac.uk>:
5492
5493	* amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
5494	it will be done in free_continuation(); assorted debugging messages
5495
5496	* amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
5497	timeout to avoid problems with late ping replies
5498
5499	* amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
5500	debugging messages
5501
5502	* amd/map.c (unmount_node): more verbose debug message
5503
55042002-07-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
5505
5506	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
5507	de-allocated memory in str3cat
5508	(amfs_auto_lookup_mntfs): check for buffer overflow
5509
55102002-07-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5511
5512	* scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
5513	<wiz@danbala.ifoer.tuwien.ac.at>.
5514
55152002-06-26  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5516
5517	* doc/Makefile.am (install-html): don't use locally hacked
5518	texi2html features.
5519
5520	* conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
5521	systems should use 127.0.0.1 as the localhost address over which
5522	you can do NFS mounts.  In the past we found that some NFS clients
5523	may not allow mounts from localhost.  So we used get_myaddress()
5524	and that seemed to work.  Alas, on some other systems,
5525	get_myaddress() may return one of the interface addresses at
5526	random, and thus use a less efficient IP address than 127.0.0.1.
5527	The solution is to hard-code 127.0.0.1, but still check if
5528	get_myaddress() returns a different value and warn about it.
5529
5530	* doc/am-utils.texi: don't use ':' in @cindex entries.
5531
55322002-06-25  Ion Badulescu  <ion@guppy.limebrokerage.com>
5533
5534	* Released beta version 6.1b1
5535
55362002-06-24  Ion Badulescu  <ionut@moisil.badula.org>
5537
5538	* aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
5539
5540	* conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
5541	aix51_nfs_args, rename unknown fields to u<number>, add the
5542	unknown new field into the middle of the old 4.2 structure
5543
55442002-06-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
5545
5546	* include/am_compat.h: better test for struct netconfig
5547	(!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
5548
5549	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5550
5551	* buildall: fix 'buildall -b' on hpux9 and aix5.1
5552
55532002-06-24  Ion Badulescu  <ionut@buggy.badula.org>
5554
5555	* INSTALL: updated
5556
5557	* conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
5558	(autofs_link_umount): ditto
5559
5560	* amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
5561
55622002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5563
5564	* conf/autofs/autofs_linux.c: compile fixes for autofs v3
5565
55662002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5567
5568	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
5569	expirations needed;
5570	(autofs_timeout_mp): likewise
5571
5572	* conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
5573	needed;
5574	(autofs_timeout_mp): likewise
5575
5576	* conf/autofs/autofs_linux.c (autofs_mounted): set the first
5577	expiration interval
5578
5579	* amd/autil.c (am_mounted): call autofs_mounted here, instead of
5580	in mf_mounted()
5581
5582	* amd/amd.h (NEVER): moved here from map.c
5583	(autofs_mounted): change argument from mntfs* to am_node*
5584
55852002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5586
5587	* conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
5588	timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
5589	(autofs_timeout_mp): don't update the ttl if we're going down
5590
5591	* amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
5592	timeout on that particular am_node has expired
5593
5594	* conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
5595	the ttl, as per the comment (compilers are not very good at
5596	translating comments into code...)
5597
5598	* amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
5599	instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
5600	between link mounts pointing to the same target
5601
56022002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5603
5604	* conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
5605	functions for sending messages back to the kernel
5606	(autofs_expire_one): initial implementation of the kernel-based
5607	expiration handler
5608	(autofs_handle_expire): call autofs_expire_one()
5609	(autofs_handle_expire_multi): ditto
5610	(autofs_umount_succeeded): search pending_umounts, send message
5611	back to the kernel
5612	(autofs_umount_failed): ditto
5613	(autofs_mount_succeeded): tell amd core not to expire autofs entries
5614	(autofs_timeout_mp): expiration function for autofs filesystems
5615	(autofs_timeout_mp_task): helper function for autofs_timeout_mp
5616
5617	* conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
5618	keeping tracking of pending umounts
5619	(autofs_fh_t) rename pending to pending_mounts, add pending_umounts
5620
5621	* conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
5622
5623	* conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
5624
5625	* amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
5626	filesystems
5627
5628	* amd/autil.c (mf_mounted): move here the call autofs_mounted()
5629	from amfs_auto_mounted().
5630
56312002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5632
5633	* amd/nfs_start.c (mount_automounter): Security fix.  if user sets
5634	-D noamq, don't even create listening socket.  Suggestion by Ed
5635	Ravin <eravin@panix.com>.
5636
56372002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5638
5639	* hlfsd/homedir.c (homedir): use setgid() instead of setegid()
5640
5641	* ALL: #ifdef cleanups, unify some TLI/socket function prototypes
5642
56432002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5644
5645	* conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
5646	na_gid and na_uid.  NetBSD patch from Jun-ichiro itojun Hagino
5647	<itojun@iijlab.net>.
5648
5649	* doc/am-utils.texi (Option): document xlatecookie mount option.
5650
5651	* libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
5652	NFS mount option.  Patch from Matthias Scheler <tron@zhadum.de>
5653	for NetBSD.
5654
56552002-06-22  Ion Badulescu  <ionut@edgar.badula.org>
5656
5657	* conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
5658	AUTOFS_LINK_FS_FLAGS
5659
5660	* conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
5661	mounts in autofs_link_mount/umount
5662
56632002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5664
5665	* configure.in: check for devid inside struct umntrequest
5666
5667	* conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
5668	new umntrequest structure in v4.
5669	(autofs_unmount_2_req): ditto
5670
5671	* README.autofs: updated for Solaris 2.5/2.5.1
5672
56732002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5674
5675	* configure.in: only define LDAP/Hesiod if both the headers and
5676	the libraries exist, and the user didn't explicitly disable those
5677	maps.
5678
56792002-06-22 Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5680
5681	* doc/am-utils.texi: fix typos.  Can't use ":" in @cindex entries.
5682
56832002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5684
5685	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
5686	amd/amd.8, amd/get_args.c (get_args): document amd -A option.
5687
5688	* amd/get_args.c (get_args): support "amd -A arg" option to
5689	override the system's detected architecture.  Patch from George
5690	Ross <gdmr@dcs.ed.ac.uk>.
5691
5692	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
5693	if the system doesn't have it.
5694
5695	* configure.in: detect existence of ldap_enable_cache function,
5696	because it doesn't exist on Solaris 9's latest ldap libraries.
5697
5698	* amd/info_ldap.c: LDAP patches from George Ross
5699	<gdmr@dcs.ed.ac.uk>.  Rework of old code, support for wildcards in
5700	LDAP queries, and an FD leak fix.
5701
57022002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5703
5704	* buildall: use ksh for configure on aix5.1; pass the extra
5705	arguments after "--" to configure, not to make
5706
5707	* Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
5708
5709	* conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
5710	with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
5711	mount with the alternative nfs3_args structure
5712
5713	* conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
5714	structure, similar to that in aix5.1, for a hack that tries to
5715	compensate for IBM's brain fart
5716
5717	* conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
5718
5719	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5720
5721	* BUGS: update for direct mounts on Linux; document the brokenness
5722	of /bin/sh on AIX 5.1 and HP-UX 9
5723
5724	* NEWS: aix5.1 port, aix4.3 workaround
5725
57262002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
5727
5728	* ltmain.sh: use libtool 1.4d, needed support for newer AIX.
5729
57302002-06-21  Ion Badulescu  <ion@guppy.limebrokerage.com>
5731
5732	* aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
5733	all solaris2.6+, not just for 2.[6-8]
5734
5735	* conf/autofs/autofs_default.h: disable autofs if configure
5736	detects it
5737
57382002-06-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5739
5740	* aux/macros/with_addon.m4: correct M4 quoting.
5741
5742	* aux/macros/cache_check_dynamic.m4: correct M4 quoting.
5743
5744	* bootstrap: show version of autotools being used.  Helps
5745	maintainer debugging.
5746
5747	* configure.in: new proper syntax for libtool and
5748	ansi2knr-filtering rules, required by autoconf 1.53 and higher.
5749
57502002-06-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5751
5752	* aux/GNUmakefile: new search paths for "update" target.
5753
5754	* config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
5755	the latest GNU distributions.
5756
57572002-06-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5758
5759	* amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
5760	function into the new amfs_auto_lookup_one_child function; return
5761	null if all ivecs failed to match
5762
57632002-05-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5764
5765	* config.guess.long: support SuSE version names in long
5766	config.guess format.
5767
57682002-05-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5769
5770	* scripts/lostaltmail.in (vrfy_user): unlink temp files if too
5771	small.
5772
57732002-04-07  Ion Badulescu  <ionut@moisil.badula.org>
5774
5775	* hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
5776
57772002-03-29  Ion Badulescu  <ionut@moisil.badula.org>
5778
5779	* README.autofs: solaris 2.5/2.5.1 info, other minor changes
5780
5781	* doc/am-utils.texi (History): document solaris 2.5+ support
5782
5783	* include/am_utils.h: new member in struct mntfs: mfs_real_mount;
5784	autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
5785	prototype for umount_fs2(); extra argument for UMOUNT_FS()
5786
5787	* hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
5788
5789	* libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
5790	function; swap mntdir and real_mntdir as necessary for solaris 2.5
5791	autofs support
5792
5793	* conf/umount/umount_default.c (umount_fs2): swap mntdir and
5794	real_mntdir as necessary for solaris 2.5 autofs support
5795
5796	* conf/umount/umount_*.c (umount_fs): wrapper around the new
5797	umount_fs2() function
5798	(umount_fs2): new function which takes the real mountpoint as an
5799	extra argument
5800
5801	* conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
5802	compiled in
5803
5804	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
5805	function that appends a space at the end of a string (the famous
5806	"Autofs Space Protocol")
5807
5808	* conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
5809
5810	* conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
5811	system-specific definitions for these macros
5812
5813	* conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
5814	which are now handled properly by more generic code
5815	(autofs_link_umount): complain if umount_fs() fails, rmdir the
5816	mountpoint on success
5817	(autofs_umount_succeeded): remove the rmdirs() code, now handled
5818	by generic code
5819	(autofs_mount_succeeded): ditto
5820
5821	* amd/nfs_start.c (checkup): implement it as an emtpy stub if
5822	DEBUG is not defined
5823	(run_rpc): call autofs_add_fdset() after umount_exported() to
5824	avoid passing invalid file descriptors to select(); use plog()
5825	instead of perror()
5826
5827	* amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
5828	(uninit_mntfs): free mf_real_mount
5829
5830	* amd/autil.c (am_unmounted): don't remove the mount point if a
5831	remount is pending, also don't make the removal conditional on not
5832	being an autofs mount point
5833
5834	* amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
5835	mf->mf_real_mount instead of mf->mf_mount
5836
5837	* amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
5838	rmdirs() on mf->mf_real_mount instead of mf->mf_mount
5839
5840	* amd/amfs_host.c (make_mntpt): change the third argument to be
5841	the mountpoint, not the entire mntfs structure
5842	(do_mount): takes real_mntdir as an extra argument
5843
5844	* amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
5845	mountpoint here from try_mount(), otherwise the change to mf_flags
5846	is lost for background mounts; remove the mountpoint if we created
5847	it and the mount fails
5848	(amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
5849	autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
5850
5851	* amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
5852	AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
5853	header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
5854	mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
5855	extra argument
5856
5857	* amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
5858	the real mountpoint as an additional argument
5859
58602002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5861
5862	* amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
5863	values back from mount_fs().  Return correct error number from
5864	this function.
5865
5866	* conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
5867	cruft from this function, moved elsewhere.
5868	(mount_linux): prepare for loop-device mounts of ISO images.
5869
58702002-03-28  Ion Badulescu  <ionut@buggy.badula.org>
5871
5872	* libamu/Makefile.am (EXTRA_DIST): added strerror.c
5873
5874	* libamu/strerror.c: strerror() implementation for systems lacking it
5875
5876	* doc/am-utils.texi (History): rewrote the history :) about autofs
5877	support
5878
5879	* conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
5880	(autofs_unmount_2_req): minor cleanup
5881	(create_autofs_service): print log message
5882	(destroy_autofs_service): ditto
5883
5884	* conf/autofs/autofs_linux.c: updated copyright
5885
5886	* amd/nfs_start.c (mount_automounter): move the debug message into
5887	create_autofs_service()
5888
5889	* amd/amd.c (main): call destroy_autofs_service() before
5890	going_down(), not after
5891
5892	* configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
5893	if the ldap headers are not found
5894
58952002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5896
5897	* amd/info_ldap.c: patch from "Sebastien Bahloul"
5898	<sebastien.bahloul@medasys.org> to fix a simple initialization bug
5899	and change "HE" to HE_ENT so as to compile on HPUX.
5900
59012002-02-26  Erez Zadok  <ezk@t3.fsl.cs.sunysb.edu>
5902
5903	* conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
5904	atttributes field named "uid".  So #define na_uid to it.
5905
59062002-02-12  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5907
5908	* scripts/lostaltmail.in: don't verify user if -noverify option
5909	was turned on.  fix comment typo.
5910
59112002-02-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5912
5913	* amd/Makefile.am (TESTS): enable one test script, test1.sh.
5914
5915	* amd/test1.sh: re-commit simple test script.
5916
59172002-02-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5918
5919	* Released snapshot 6.1a5
5920
5921	* NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
5922
5923	* README: require newer auto-tools, update mailing list address
5924
5925	* README.autofs: major update
5926
5927	* configure.in: version changed to 6.1a5
5928
59292002-02-11  Ion Badulescu  <ionut@moisil.badula.org>
5930
5931	* conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
5932	stat() on the am_link if called from the parent amd, to prevent
5933	deadlocks
5934
5935	* amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
5936	fstype is not link but we have a sublink (Linux autofs needs this)
5937	(am_mounted): call amfs_link_ops.mount_fs if the fstype is not
5938	link but we have a sublink (Linux autofs needs this)
5939
5940	* amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
5941	not the amd entry point
5942
59432002-02-09  Ion Badulescu  <ionut@moisil.badula.org>
5944
5945	* conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
5946	structure for returning the results from readdir_2()
5947	(xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
5948	changed to process our internal format (which is essentially the
5949	NFS readdir format)
5950	(xdr_autofs_getrddirres): not needed, deleted
5951	(xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
5952	changes to handle amd_rddirres instead of autofs_rddirres
5953	(autofs_lookup_2_req): return AUTOFS_NONE instead of
5954	AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
5955	(autofs_readdir_2_req): implemented
5956	(autofs_readdir_2_free): not needed, deleted
5957	(autofs_program_2): changes from autofs_rddirres to amd_rddirres
5958	(autofs_get_fh): changed initialization of the fh->map member, it
5959	now gets the mountpoint path because it makes it easier to
5960	implement readdir
5961	(autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
5962	code touching fh->addr
5963	(destroy_autofs_service): new function, deregister the autofs
5964	service with the portmapper on exit
5965
5966	* conf/autofs/autofs_linux.c (autofs_handle_missing): update
5967	statistics
5968	(destroy_autofs_service): new stub
5969
5970	* amd/mapc.c (mapc_find): fixed indentation
5971
5972	* amd/map.c (find_ap_recursive): renamed from find_ap2(), made
5973	static
5974
5975	* amd/amd.h: removed prototype for find_ap2(), added prototype for
5976	destroy_autofs_service()
5977
5978	* amd/amd.c (main): call destroy_autofs_service() before going
5979	down
5980
59812002-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5982
5983	* aux/macros/check_field.m4: need also a new version of
5984	AC_CHECK_MEMBERS (plural).
5985
59862002-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5987
5988	* aux/macros/check_field.m4: include a fixed version of
5989	AC_CHECK_MEMBER.  g/cc will fail to check a member if the .member
5990	is itself a data structure, because you cannot compare, in C, a
5991	data structure against NULL; you can compare a native data type
5992	(int, char) or a pointer.  Solution: do what I did in my original
5993	member checking macro: try to take the address of the member.  You
5994	can always take the address of anything.
5995
59962002-01-31  Erez Zadok  <ezk@localhost.localdomain>
5997
5998	* remove old '%W%' SCCS IDs from all sources.
5999
60002002-01-21  Ion Badulescu  <ionut@moisil.badula.org>
6001
6002	* conf/mount/mount_linux.c (mount_linux): fix breakage introduced
6003	by the loop device mount support. Linux mount takes a real string
6004	as the last argument, unless the mount type is NFS, NCP, or SMB.
6005
60062002-01-20  Erez Zadok  <ezk@localhost.localdomain>
6007
6008	* hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
6009	because we made some important changes.
6010
60112002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
6012
6013	* include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
6014	by default
6015
6016	* NEWS: document latest changes
6017
6018	* amd/map.c (unmount_mp): same fix as for hlfsd, update the
6019	seconds field in mtime because Linux ignores the useconds field
6020
6021	* hlfsd/homedir.c: made some global vars static
6022	(plt_init): remove all trailing '/' chars from root's home;
6023	use root's home, not the username (silly bugfix)
6024
60252002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
6026
6027	* hlfsd/homedir.c (homedir): don't special case uid 0 as having /
6028	as home; instead use the root account's home
6029	(plt_init): properly initialize root_home from the root account's
6030	home directory, or as "" if root doesn't exist
6031	(plt_reset): free root_home
6032
60332002-01-20  Erez Zadok  <ezk@localhost.localdomain>
6034
6035	* hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
6036	Increment seconds, not microseconds (which are ignored by NFS).
6037	Set symlink owner to euid.
6038
6039	* hlfsd/homedir.c (homedir): pass gid to this function, so we can
6040	also change the effective GID of the process writing to the user's
6041	home dir, as well as the group of the hlfsd symlink.
6042	(homedir): run setegid in the right places.
6043
60442002-01-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6045
6046	* scripts/redhat-ctl-amd.in: refer to @sbindir@ not
6047	${prefix}/sbin.
6048
6049	* scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
6050	${prefix}/etc.  Bug report from "A Braunsdorf"
6051	<ab@eas.purdue.edu>.
6052
60532002-01-13  Erez Zadok  <ezk@localhost.localdomain>
6054
6055	* configure.in: only check for clock_gettime if --enable-debug was
6056	used.
6057
6058	* aux/macros/opt_debug.m4: define a cache variable to record value
6059	of debug option used.
6060
6061	* libamu/xutil.c (show_time_host_and_name): do not use
6062	clock_gettime unless debugging was compiled in.  This way, if
6063	debugging is not compiled, we don't bother linking with librt,
6064	libpthread, and a whole lot of other libraries that aren't that
6065	necessary (esp. on Linux).
6066
60672002-01-12  Erez Zadok  <ezk@wavy.dyn.optonline.net>
6068
6069	* doc/am-utils.texi (opts Option): document loop option.
6070
6071	* include/am_utils.h: each mounted file system (mntfs) should
6072	optionally store the loop device used in the field mf_loopdev.
6073
6074	* conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
6075	loop function extern definitions.  For now this code is here
6076	because we only support loop devices on Linux.
6077
6078	* conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
6079	mount option.
6080	(parse_opts): when skipping over unknown mount options, skip over
6081	"loop" (since it was given in amd map entry), but not over
6082	loop=/dev/loopX, because the latter will go into /etc/mtab.
6083	(do_mount_linux): override actual cdfs mounted  device name
6084	because with loop devices you don't mount the .iso file directly,
6085	but the /dev/loopX device that was setup for it.
6086	(show_loop, is_loop_device, find_unused_loop_device,
6087	setup_loop_device, delete_loop_device): support code for loop
6088	devices.
6089
6090	* amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
6091	setup loop device before isofs mount, if "loop" option was given,
6092	before actual mount(2).
6093	(cdfs_mount): pass loopdev name to mount_cdfs().
6094	(cdfs_umount): delete/unset loop device after a successful
6095	unmount, if a loop device was used.
6096
6097	* amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
6098
6099	* include/am_compat.h: If loop device (header file) exists, define
6100	mount table option MNTTTAB_OPT_LOOP.
6101
6102	* conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
6103	here until we have a better way to detect /dev/loop devices.
6104
6105	* include/am_defs.h: include <linux/loop.h> if it exists.  Define
6106	LARGEFILE support macros, possibly needed for loop devices.
6107	Redefine dev_t apropriately for loop devices.
6108
6109	* configure.in: check for <linux/loop.h>.
6110
61112002-01-10  Ion Badulescu  <ion@guppy.limebrokerage.com>
6112
6113	* conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
6114	parameter 2 orders of magnitude larger than udp (patch from Trond
6115	Myklebust)
6116
61172002-01-09  Erez Zadok  <ezk@localhost.localdomain>
6118
6119	* aux/macros/linux_headers.m4: properly [quote] a long string in
6120	m4 and use AC_MSG_WARN.
6121
6122	* ALL: put /* comments */ on #else/#endif lines everywhere.
6123
6124	* configure.in, aux/macros/with_addon.m4: due to limitation of
6125	AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
6126	package for help string.
6127
6128	* doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
6129	FSinfo section of the manual.
6130	(map_reload_interval Parameter): document new amd.conf global
6131	parameter.
6132
6133	* scripts/amd.conf.5 document new global option
6134	map_reload_interval.  Sort entries for nfs_vers and nfs_proto
6135	alphabetically.
6136
6137	* amd/nfs_start.c (do_select): increment do_mapc_reload's value by
6138	global map_reload_interval value, not by fixed ONE_HOUR.
6139
6140	* amd/amd.c (main): increment do_mapc_reload's value by global
6141	map_reload_interval value, not by fixed ONE_HOUR.
6142
6143	* scripts/amd.conf-sample (map_reload_interval): usage example
6144
6145	* amd/amd.c (init_global_options): initialize map_reload_interval
6146	to 3600 seconds.
6147
6148	* amd/conf.c (gopt_map_reload_interval): support a new global
6149	amd.conf option map_reload_interval, to determine how often (in
6150	seconds) Amd should check if the map source has changed and then
6151	reload it it.  This value was hard-coded to one hour, now it's the
6152	default if not otherwise specified.
6153
6154	* doc/am-utils.texi (plock Parameter): document plock=yes option
6155	as using mlockall(2) if found.
6156
6157	* scripts/amd.conf.5: document -S option as using mlockall(2) if
6158	found.
6159
6160	* include/am_defs.h: include <sys/mman.h> if it exists.
6161
6162	* configure.in: check for mlockall() function.  Check for
6163	sys/mman.h.
6164
6165	* amd/amd.c (main): support mlockall() on systems that have it and
6166	don't have plock(3) for plock=yes.  On systems that have both,
6167	will try plock() first and then mlockall(), until one of them (if
6168	any) succeeds.
6169
61702002-01-09  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6171
6172	* aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
6173	with_addon.m4 (ac_upcase): fix help string formatting using
6174	AC_HELP_STRING.
6175
6176	* amd/test1.sh: simple test script for "make check".  Runs "amd
6177	-v".
6178
6179	* amd/Makefile.am (TESTS): add one simple test script, running
6180	"amd -v" and checking its return value.  More tests can be added.
6181
6182	* aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
6183
6184	* aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
6185	Instead, list bracketed regexp patterns in [[double brackets]].
6186
6187	* aux/macros/header_templates.m4: remove all unnecessary
6188	HAVE_FIELD_* definitions, now that we're using autoconf's new
6189	AC_CHECK_MEMBERS.
6190
6191	* aux/macros/field_mntent_t_mnt_time_string.m4: don't call
6192
6193	* configure.in: use new syntax for AMU_CHECK_FIELD
6194
6195	* aux/macros/check_field.m4: use new and simpler macro
6196	AC_CHECK_MEMBERS.  Change all sources to use HAVE_aggregate.member
6197	instead of HAVE_FIELD_aggregate.member.
6198
6199	* aux/amdgrep: simple utility script to egrep the am-utils sources
6200	for any pattern.
6201
6202	* aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
6203	check_umount_style.m4, check_network_transport_type.m4}: use newer
6204	AC_LIBOBJ macros instead of modifying $LIBOBJS directly
6205
6206	* aux/macros/func_bad_memcmp.m4: redefine to use native
6207	AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
6208
6209	* fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
6210	pre-ANSI C compilers will ignore it.
6211
6212	* conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
6213	correctly depending on whether it takes a void or a 0.
6214
6215	* configure.in: check if s/getpgrp() takes void or a 0.
6216
62172002-01-08  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6218
6219	* configure.in: use the newer AC_CONFIG_LINKS instead of
6220	AC_LINK_FILES.
6221
6222	* aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
6223	check_mnttab_style.m4, check_mount_style.m4,
6224	check_network_transport_type.m4, check_umount_style.m4,
6225	check_nfs_prot_headers.m4: removed backward compatible code for
6226	pre-autoconf-2.14.
6227
62282002-01-07  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6229
6230	* doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
6231	this Makefile could explicitly chdir to other directories and run
6232	make there.
6233	(install-ps): use ${MAKE} with ${MFLAGS}.
6234
6235	* Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
6236	Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
6237	could explicitly chdir to other directories and run make there.
6238	(install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
6239
6240	* configure.in: call AC_PROG_MAKE_SET to check if make program
6241	defines $MAKE variable.
6242
6243	* amd/get_args.c (get_version_string): use new PACKAGE_* macros
6244	and also report the bug-reporting address.
6245
6246	* aux/macros/package_{name,version}.m4, header_templates.m4: using
6247	new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
6248
6249	* aux/macros/name_bugreport.m4: simple macro to print out the
6250	bug-reporting address which was configured in AC_INIT.
6251
6252	* bootstrap: remove new autoconf messages about misuse of
6253	m4_patsubst and m4_regexp (internal GNU M4 macros).
6254
6255	* configure.in: remove old comment above AC_OUTPUT.
6256	Use AC_CONFIG_FILES and AC_OUTPUT separately.
6257	Fix AC_REVISION use.
6258	Add AC_COPYRIGHT.
6259	Use new style for AC_INIT, listing package name, version, and
6260	bug-reporting address.
6261	Call new AMU_PACKAGE_* macros.
6262
6263	* updated copyright year to 2002 on all files
6264
6265	* configure.in: using newly renamed am-utils macros (AMU_*)
6266
6267	* aux/macros/*.m4: renamed ALL am-utils specific macros so they
6268	start with AMU_*, not AC_*.  That way it is easier to distinguish
6269	between macros that come with am-utils and those that are part of
6270	Autoconf or Automake.  It helps to identify those am-utils macros
6271	that can be removed once there is generic support for them in a
6272	future version of Autoconf.
6273
6274	* bootstrap: run automake --copy
6275	remove autom4te.cache dir before rerunning autoconf
6276
62772001-12-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6278
6279	* scripts/amd.conf.5: correct title to section 5, not 8.  Correct
6280	reversed meaning of nfs_proto and nfs_vers parameters.  Typos
6281	reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
6282
62832001-12-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6284
6285	* scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
6286
6287	* scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
6288
62892001-12-02  Ion Badulescu  <ionut@moisil.badula.org>
6290
6291	* hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
6292	non-mkstemp code
6293
6294	* scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
6295	happy
6296
6297	* scripts/ctl-hlfsd.in: ditto (for hlfsd)
6298
6299	* conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
6300	get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
6301
6302	* conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
6303
63042001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6305
6306	* tasks: updated
6307
6308	* NEWS: document the fixed autofs fd leak
6309
6310	* amq/amq.8: better document the -f option
6311
63122001-11-29  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6313
6314	* libamu/mount_fs.c (mnt_flags): same this as for nolock option
6315	handling, do for maxgrps.
6316
63172001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6318
6319	* conf/autofs/autofs_linux.c (hash_init): determine the max number
6320	of fd's at runtime, use it to dynamically scale the hash and list
6321	arrays
6322	(autofs_get_fh): sanity check, don't allow a pipe() fd greater
6323	than autofs_max_fds
6324	(autofs_release_fh): close our end of the pipe here (no clue why
6325	or when it got commented out)
6326	(autofs_mounted): set kernelfd to -1 after closing it
6327
63282001-11-28  Philippe Troin  <phil@fifi.org>
6329
6330	* libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
6331	opts.
6332	(compute_nfs_args): Added nolock handling.
6333	Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>.
6334
63352001-11-27  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6336
6337	* ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
6338	Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
6339	issues.  Had to use HP's own yacc/lex.
6340
63412001-11-26  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6342
6343	* */Makefile.am: don't use $(OBJECTS) directly because it is no
6344	longer automatically defined now that Automake has automatic
6345	dependency tracking (which I turn off).  Instead, hard-code
6346	minimal dependencies on am-utils' header files to depend on
6347	PROG_OBJECTS (where PROG is the program name being built).  This
6348	was discovered by using HP's non-GNU make program.
6349
6350	* amd/nfs_start.c (checkup): cast getpagesize() return val to
6351	long, to avoid conflicts in division of a long by an int (on
6352	hpux11i, with their ANSI/C compiler).
6353
6354 	* INSTALL, doc/am-utils.texi: port updates
6355
6356	* minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
6357	i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
6358	ia64-unknown-linux-rh7.1.
6359
6360	* include/am_defs.h: actually declare extern definition for
6361	xdr_callmsg() if it doesn't already exist.
6362
6363	* aux/macros/header_templates.m4: declare template for
6364	HAVE_EXTERN_XDR_CALLMSG.
6365
6366	* configure.in: check for extern definition for xdr_callmsg()
6367	because hpux11 has that function but a bad <rpc/xdr.h> header file
6368	that doesn't define it in the right place.
6369
6370	* libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
6371	on hpux11 its type is dev_t.
6372
6373	* conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
6374	yet.
6375
63762001-11-16  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6377
6378	* buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
6379	to /bin/sh limitations.
6380
6381	* bootstrap (cmd): turn back on --ignore-deps (this Automake may
6382	have problems)
6383
6384	* libamu/xutil.c: remove __attribute__ format_arg statement for
6385	expand_error() because this function, although taking a
6386	printf-like string, does not use it in a printf function; it only
6387	expands a non-printf amd-special syntax %m.
6388
63892001-11-14  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6390
6391	* conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
6392	before using it because older Linux systems don't define this
6393	(e.g., Red Hat 4.2)
6394
63952001-11-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6396
6397	* configure.in: convert to using autoconfig 2.52.  Use new macros.
6398	AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
6399	parts of autogenerated config.h.in; increase autoconf
6400	pre-requisite to version 2.50; use AC_DISABLE_SHARED not
6401	AM_DISABLE_SHARED.
6402
6403	* aux/macros/cache_check_dynamic.m4: finally I can use the new
6404	$ECHO_N syntax in macros instead of $ac_n, since I'm using a new
6405	autoconf.  Isn't it nice to be such forward looking and having
6406	placed a comment "XXX: use the next line for autoconf-2.14 and
6407	newer"... :-)
6408
6409	* aux/macros/save_state.m4: highlight message with ***'s
6410
6411	* aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
6412
6413	* config.{guess,sub}: upated from latest prep ftp distributions
6414
6415	* depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
6416
6417	* ltmain.sh: updated from latest Libtool 1.4.2
6418
6419	* bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
6420	called without default to allow cross compiling" warnings.  And,
6421	it only took like 3+ years to fix this.  But, now it has anoter,
6422	albeit less annoying warning (which the manual says to ignore):
6423	"AC_PROG_LEX invoked multiple times".
6424	When autoheader is run, don't treat the "all clear" message
6425	"config.h.in is update" as an error.
6426
6427	* ltconfig: removed. not needed with latest version of libtool
6428
6429	* aux/macros/header_templates.m4: replaces acconfig.h and defines
6430	all CPP macros we use in this package, including their
6431	accompanying C /* comments */.
6432
6433	* acconfig.h: removed. replaced by new autoconf system to generate
6434	header templates using AH_TEMPLATE macros and such.
6435
6436	* aux/macros/msg.m4: removed.  Replaced with new macro
6437	AC_MSG_NOTICE
6438
6439	* Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4.  Add
6440	aux/macros/header_templates.m4
6441
6442	* configure.in: early, in host_macros.m4, I'm renaming silly linux
6443	$host_os names such as linux-gnu and lignux to plain "linux".
6444	Alas, RMS finally had his way and libtool will NOT recognize
6445	"linux" as a valid system, only "linux-gnu".  Sigh.  Rich, I know
6446	you're responsible to Linux's fame.  Kudos to you and your
6447	cohorts.  But please don't force the rest of us to use those ugly
6448	or long names.  Solution: temporarily name $host_os to "linux-gnu"
6449	before calling the AC_PROG_LIBTOOL macro, then name it back to
6450	"linux".  (That way I don't have to maintain my own version of
6451	ltmain.sh.
6452
6453	* buildall: force running configure -C (to create and use a local
6454	config.cache file).  New default behavior for autoconf is NOT to
6455	use cache files.  Yeah, that's gonna fly real well with am-utils,
6456	with its 700+ automatic tests.
6457
6458	* conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
6459	mktemp, if the former is available.
6460
6461	* conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
6462	mktemp, if the former is available.
6463
6464	* mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
6465	if the former is available.
6466
6467	* aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
6468	be on a separate line, as per new Autoconf manual, to avoid some
6469	Bourne Shell syntactical bizarreness.
6470
64712001-11-13  Erez Zadok  <ezk@a-rh71i.fsl.cs.suunysb.edu>
6472
6473	* amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
6474	for IA64 Linux.
6475
64762001-11-12  Ion Badulescu  <ionut@buggy.badula.org>
6477
6478	* libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
6479	pointing to '\0' on success, so we need to allow for it. This
6480	fixes the problem with rejecting numerical mount options if they
6481	are the last option in the string.
6482
6483	* configure.in: increased library patchlevel
6484
6485	* NEWS: document the parsing bug
6486
64872001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6488
6489	* configure.in: bumped version up to 6.1a5-pre
6490
6491	* NEWS: fixed speeling mistaike
6492
64932001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6494
6495	* released snapshot am-utils-6.1a4
6496
64972001-10-26  Ion Badulescu  <ionut@moisil.badula.org>
6498
6499	These changes fix autofs support for sublinks. While it is not
6500	perfect by any means and is hardly better than non-autofs, at
6501	least it works.
6502
6503	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
6504	reply if the mount is in progress
6505	(autofs_mount_succeeded): handle both delayed lookups and mounts
6506	(autofs_mount_failed): ditto
6507
6508	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
6509	original opt_fs if we have a sublink
6510
65112001-10-23  Ion Badulescu  <ionut@moisil.badula.org>
6512
6513	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
6514	instead of new_mf) which was causing null pointer error when
6515	sublinks were being used
6516
65172001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6518
6519	* README.autofs: updated
6520
6521	* NEWS: updated
6522
6523	* INSTALL: updated
6524
6525	* AUTHORS: added myself
6526
6527	* doc/am-utils.texi: updated
6528
6529	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
6530	xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
6531	(autofs_readdir_2_req): cast req->rda_offset to (int), same as
6532	above
6533
65342001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6535
6536	Autofs direct mounts have been verified to work on Solaris2.[67].
6537
6538	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6539	retrieve the uid and gid from the lookup request
6540	(autofs_mount_2_req): skip the first char in the name (it's a
6541	leading '/') if this is a direct mount
6542
6543	* amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
6544	and amfs_auto_mount_child for amfs_direct's methods
6545
6546	* amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
6547	if the mntfs lookup fails
6548
65492001-10-21  Ion Badulescu  <ionut@moisil.badula.org>
6550
6551	* include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
6552	pending a remount
6553	(mntfs): new member mf_fsflags, holds a copy of the filesystem's
6554	fs_flags
6555	(am_ops): new member autofs_fs_flags, holds the filesystem's flags
6556	when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
6557
6558	* conf/autofs/autofs_linux.c (create_autofs_service): turn on
6559	FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
6560	(autofs_umount_succeeded): don't rmdir the mountpoint if a remount
6561	is needed [lest the access that triggered the remount will fail]
6562
6563	* amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
6564	into mf_fsflags on initialization
6565
6566	* amd/autil.c (am_unmounted): start the remounting right away if
6567	the node is marked as needing a remount [fixes the Linux autofs
6568	deadlock when mount/unmount collide]
6569
6570	* amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
6571	needing a remount if a mount request comes in while we're
6572	unmounting it
6573	(amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
6574	into mf_fsflags if this is an autofs node
6575
6576	* amd/amfs_*.c, amd/ops_*.c: added initialization for the new
6577	autofs_fs_flags member of am_ops
6578
65792001-10-20  Ion Badulescu  <ionut@moisil.badula.org>
6580
6581	With these changes, Solaris 2.[67] autofs support is finally
6582	functional!
6583
6584	* conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
6585	(autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
6586	xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
6587	(autofs_lookup_2_req): do an actual lookup here, and tell the
6588	kernel to create a symlink if necessary
6589	(autofs_mount_2_req): no need to am_autofs_data
6590	(autofs_program_2): enable AUTOFS_READDIR
6591	(autofs_link_mount): no code needed here
6592	(autofs_link_umount): return success
6593	(autofs_mount_succeeded): lstat real mount points; don't mark
6594	symlinks as NOTIMEOUT
6595
6596	* amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
6597
6598	* amd/map.c (init_map): init am_dev and am_rdev to -1
6599	(free_map): free am_mfarray and all mntfs's listed
6600
6601	* amd/autil.c (mf_mounted): move the lstat of the node to the
6602	autofs-specific code
6603
6604	* amd/amfs_link.c (amfs_link_ops): don't background symlink creation
6605
66062001-10-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6607
6608	* aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
6609	* BUGS: Explain this.
6610
66112001-10-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6612
6613	* doc/am-utils.texi (redhat-ctl-amd): document new script.
6614
6615	* scripts/Makefile.am: build redhat-ctl-amd but do not install it.
6616
6617	* scripts/redhat-ctl-amd.in: new script, useful to correctly
6618	control Amd on Red Hat Linux systems.  Script adapted from ctl-amd
6619	and Red Hat's own rc.d script.
6620
66212001-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6622
6623	* conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
6624	(MNT2_NFS_OPT_AUTO): Disable.
6625	* Makefile.am (EXTRA_DIST_CONF): Reflect new name.
6626	* aux/macros/check_nfs_prot_headers.m4: Use this file for all
6627	Tru64 UNIX V5 and up releases.
6628
66292001-09-24  Ion Badulescu  <ionut@moisil.badula.org>
6630
6631	* include/mount_headers1.h (MFS): define as 1 instead of nothing,
6632	to fix compile problems on OS X (patch from Ahmon Dancy)
6633
6634	* aux/macros/try_compile_anyfs.m4 (MFS): ditto
6635
66362001-08-13  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6637
6638	* doc/am-utils.texi (in_network Selector Variable): document
6639	expanded syntax
6640
6641	* libamu/wire.c (is_network_member): support for network/netmask
6642	as well as network/bits syntax in in_network()
6643
66442001-08-11  Erez Zadok  <ezk@a-linux64.fsl.cs.sunysb.edu>
6645
6646	* amq/amq.c (show_mti): print full four digits for year, and print
6647	it in MM/DD/YYYY format, not in YY/MM/DD format.
6648
66492001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6650
6651	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6652	initial attempt to do something useful -- but commented out for now
6653	(autofs_link_mount): create an action structure with a link
6654	request and pass it up
6655	(autofs_mount_2_req): pass the link request to the kernel
6656	(autofs_free_data): new helper function
6657
6658	* conf/autofs/autofs_linux.h: added definition for autofs_data_t
6659
6660	* conf/autofs/autofs_solaris_v2_v3.h: ditto
6661
6662	* amd/map.c (init_map): initialize am_autofs_data
6663	(free_map): call the autofs cleanup function if necessary
6664
6665	* include/am_utils.h (am_node): added private data and cleanup
6666	function for autofs
6667
6668	* tasks: removed some obsolete entries
6669
66702001-08-11  Erez Zadok  <ezk@a-solaris8.fsl.cs.sunysb.edu>
6671
6672	* amd/map.c (free_map_if_success): run autofs_umount_failed() only
6673	if this mount node is of type autofs.
6674
66752001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6676
6677	* amd/amd.h: removed mf_array from struct continuation (moved into
6678	am_node)
6679
6680	* include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
6681	vlookup_child; added vmount_child; added mount_child to the fs_ops
6682	API; added prototypes for amfs_auto_mount_child and
6683	amfs_error_mount_child
6684
6685	* amd/map.c (init_map): initialize am_mfarray to 0
6686
6687	* amd/amfs_*, amd/ops_*: new API function mount_child, old API
6688	function lookuppn renamed to lookup_child
6689
6690	* amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
6691	amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
6692	amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
6693	amfs_auto_mount_child; moved the freeing of the error mntfs in the
6694	newly allocated am_node from lookup_mntfs to mount_child; make
6695	sure lookup_child returns a negative error if the node needs to be
6696	mounted; removed the call to lookuppn3 from lookup_child
6697
6698	* amd/amfs_error.c: added stub implementations of
6699	amfs_error_lookup_child and amfs_error_mount_child
6700
6701	* amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
6702	conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
6703	call both lookup_child and mount_child, instead of the old
6704	lookuppn API method
6705
67062001-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6707
6708	* amd/get_args.c (get_args): a better way to handle GNU and
6709	non-GNU getopts without strdup-ing the getopt string.
6710
67112001-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6712
6713	* amd/info_ldap.c (amu_ldap_rebind): The first time you called
6714	amu_ldap_init, aldh->ldap is not set.  So when amu_ldap_rebind is
6715	called, this function is absolutely sure to return 0.  Then
6716	amu_ldap_init return 0 without having opened any LDAP connection.
6717	This is not the correct behavior.
6718	(get_ldap_timestamp, amu_ldap_search): error to free an object
6719	("entry") that is automatically freed by the library.  Patch from
6720	Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>.
6721
67222001-07-19  Ion Badulescu  <ionut@moisil.badula.org>
6723
6724	* AUTHORS (variables): added Philippe Troin
6725
6726	* Makefile.am (EXTRA_DIST): added bootstrap
6727
6728	* include/am_compat.h (xfs_args_t): define as u_int if the
6729	filesystem is supported but we can't autodetect the type for
6730	xfs_args_t. This allows Linux to mount xfs filesystems.
6731
67322001-07-12  Philippe Troin  <phil@fifi.org>
6733
6734	* doc/am-utils.texi: Added @dircategory Administration.
6735
67362001-07-12  Philippe Troin  <phil@fifi.org>
6737
6738	* aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
6739	with only the `yes' and `no' as possible answers.
6740
6741	* configure.in: Added support for disabling LDAP and HESIOD even
6742	if the supporting libraries are found.
6743
6744	* Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
6745
67462001-07-12  Philippe Troin  <phil@fifi.org>
6747
6748	* include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
6749	if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
6750	and the linux nodev options are different beasts.
6751
6752	* conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
6753	entry (not really necessary on linux).
6754
67552001-07-12  Philippe Troin  <phil@fifi.org>
6756
6757	* amd/get_args.c (get_args): Prepend "+" to the getopt string if
6758	HAVE_GNU_GETOPT to avoid getting all options (even the ones after
6759	the first non-option argument) slurped in by GNU getopt.
6760
6761	* aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
6762	if GNU/glibc getopt implementation is detected.
6763
6764	* configure.in: Added call to AC_CHECK_GNU_GETOPT.
6765
6766	* acconfig.h: Document HAVE_GNU_GETOPT.
6767
6768	* Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
6769
67702001-06-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6771
6772	* LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
6773	am-utils URL references use www.am-utils.org, not the columbia
6774	URL.
6775
67762001-06-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6777
6778	* conf/transp/transp_sockets.c (create_nfs_service): cast to
6779	u_long to ensure clean compile on freebsd5 and bsdi2.
6780
67812001-05-23  Ion Badulescu  <ionut@moisil.badula.org>
6782
6783	WARNING: WORK IN PROGRESS
6784
6785	It works for me on Linux (both autofs and nfs mounts), for nfs and
6786	link, but I won't make any guarantees outside those.
6787
6788	* amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
6789	point and the device/fileserver are the same. This is an important
6790	change of philosophy, watch out for memory leaks!
6791
6792	* amd/map.c (get_ap_child): helper function for
6793	amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
6794	and inserts it into all necessary structures
6795
6796	* amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
6797	free any of the removed fields
6798	(amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
6799	subfunctions, including some code stolen from bgmount; lookuppn
6800	now generates an array of possible mntfs to try mounting, and
6801	bgmount will actually try to mount each of them.
6802	(amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
6803	(amfs_parse_defaults): new helper function for lookuppn
6804
68052001-05-19  Erez Zadok  <ezk@kosh.dyn.optonline.net>
6806
6807	* conf/mount/mount_linux.c: typo: added comma after '0' element.
6808
68092001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6810
6811	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
6812	autofs-v4 again
6813	(autofs_get_opts): don't pass pgrp, the kernel will get it
6814	automatically anyway, not to mention that we were passing bogus
6815	data if amd was not daemonized.
6816
6817	* conf/mount/mount_linux.c (linux_nfs_error): don't special case
6818	the 0 result, just put it into the translation list
6819
68202001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6821
6822	* conf/mount/mount_linux.c (linux_nfs_error): don't report success
6823	(0) as error (NE_IO)!
6824
68252001-05-18  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6826
6827	* amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
6828	least one share is already mounted
6829
68302001-05-17  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6831
6832	* libamu/util.c (str3cat): updated comment
6833
6834	* include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
6835
6836	* conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
6837	(autofs_mounted): disable autofs support for host f/s if version < 4
6838	(create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
6839	(autofs_umount_succeeded): use rmdirs instead of rmdir
6840	(autofs_mount_failed): ditto
6841
6842	* amd/opts.c (expand_op): align the debugging messages
6843
6844	* amd/map.c (mount_auto_node): use am_node *mp instead of casting
6845	the void *arg; update the comment
6846
6847	* amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
6848	comparing to &amfs_direct_ops
6849	(mount_node): ifs_mount doesn't exist, make note of it in the
6850	comment
6851
6852	* amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
6853
6854	* amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
6855	create the mountpoint directory for auto f/s; it is now handled in
6856	autofs_linux.c
6857	(amfs_auto_bgmount): renamed the mpe parameter to mp_error;
6858	renamed dont_retry to retry and reverted its meaning as well;
6859	moved the mp variable up one scope and made use of it throughout
6860	the function;
6861	(amfs_auto_readdir): whitespace
6862	(amfs_auto_readdir_browsable): whitespace, also some debugging
6863
6864	* amd/am_ops.c (vops): updated a comment
6865
6866	* .cvsignore: added A.i386-pc-linux-rh7.[01]
6867
68682001-05-01  Ion Badulescu  <ionut@gonzales.dev.hydraweb.com>
6869
6870	* conf/mount/mount_linux.c: fixed stupid error in the linux
6871	nfs_errormap[], which was mapping ENOENT to success!!!
6872
68732001-04-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6874
6875	* BUGS: added info about the direct mount problems on Linux and
6876	about the kernel patches on www.am-utils.org.
6877
6878	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
6879	removed obsolete comment
6880
6881	* amd/autil.c (forcibly_timeout_mp): always log a message when the
6882	forced unmount request is ignored
6883	(mf_mounted): don't lstat unless this is an autofs mount point,
6884	lest we deadlock
6885
6886	* amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
6887	MFF_MKMNT to the flags, it causes deadlocks later on when
6888	unmounting
6889
68902001-04-14  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6891
6892	* COPYING: update copyright year
6893
6894	* amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
6895	amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
6896	amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
6897	amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
6898	conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
6899	conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
6900	conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
6901	libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
6902	messages for clarity, to avoid duplication, to better recognize
6903	what the message means and where it ran, and to fix typos.
6904
6905	* amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
6906	function's name to the beginning of the function, before any other
6907	messages are logged.
6908
69092001-04-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6910
6911	* conf/mount/mount_linux.c (do_mount_linux): removed plog() of
6912	binary data
6913
69142001-04-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6915
6916	* include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
6917	MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
6918	work (needed for MacOS X); removed duplicate definition of NFS.
6919
69202001-03-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6921
6922	* amd/amd.h, amd/amfs_auto.c, amd/conf.c,
6923	doc/am-utils.texi,
6924	scripts/amd.conf-sample, scripts/amd.conf.5:
6925	renamed selectors_on_default to selectors_in_defaults,
6926	kept the former as a deprecated option;
6927	renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
6928	renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
6929
69302001-03-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6931
6932	* amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
6933	include/am_utils.h: compile fixes for --enable-debug=no
6934
69352001-03-15  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6936
6937	* NEWS: updated
6938
6939	* README.autofs: updated
6940
6941	* conf/mount/mount_linux.c (linux_version_code): export the fn
6942
6943	* conf/nfs_prot/nfs_prot_linux.h: ditto
6944
6945	* conf/autofs/autofs_linux.c (create_autofs_service): verify the
6946	kernel version here, and turn off bind_works if the kernel is
6947	older than 2.4.0.
6948	(autofs_link_mount): don't touch bind_works here, it's useless
6949	b/c we're in a child process; remove the mountpoint directory if
6950	the bind mount fails
6951
6952	* amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
6953	into dlogs
6954
6955	* conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
6956	mntent struct before initializing it
6957
69582001-03-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6959
6960	* conf/mount/mount_linux.c (parse_opts): added support for lofs
6961	(mount_linux): support lofs through bind mounts and/or FiST lofs
6962
6963	* scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
6964	/var/mail and /usr/spool/mail
6965
6966	* conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
6967	kernel is newer than 2.4.0
6968	(MNTTYPE_LOFS): ditto
6969
6970	* conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
6971	(autofs_lookup_failed): removed stub
6972
6973	* conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
6974	the file, made static;
6975	(autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
6976	and friends to determine if bind mounts can be used and to trigger
6977	further cascading mounts; return proper error codes
6978	(autofs_link_umount): distinguish between symlinks and bind mounts
6979	and handle both correctly
6980	(autofs_umount_succeeded): remove call to autofs_link_umount()
6981
6982	* amd/map.c (umount_exported): try to unmount all mount points on
6983	an autofs filesystem; this isn't really needed and will be removed
6984	when we start handling restarting autofs mounts
6985
6986	* amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
6987	if necessary
6988
6989	* amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
6990	causing the wrong mntfs to be selected when using autofs; removed
6991	call to autofs_link_mount() (moved where it belongs, in
6992	amfs_link.c)
6993
6994	* amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
6995	solution is needed, because background mounting is only necessary
6996	for linux autofs + bind mounts
6997
6998	* amd/amd.h: removed prototype for autofs_lookup_failed (internal
6999	static function for linux autofs); added prototype for
7000	autofs_link_umount
7001
7002	* configure.in: bump up library patchlevel
7003
70042001-02-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7005
7006	* aux/macros/check_mount_trap.m4,
7007	aux/macros/check_nfs_fh_dref.m4,
7008	aux/macros/check_nfs_prot_headers.m4,
7009	aux/macros/type_recvfrom_fromlen.m4,
7010	aux/macros/type_yp_order_outorder.m4:
7011	Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
7012	aix[1-3], osf[1-3] and hpux[6-9].
7013
70142001-02-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7015
7016	* check_mount_style.m4, check_mount_trap.m4,
7017	check_network_transport_type.m4, check_nfs_fh_dref.m4,
7018	check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
7019	check_nfs_socket_connection.m4, os_cflags.m4,
7020	type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
7021	cleanup (use [[0-1]] instead of M4 changequote commands).
7022
7023	* Makefile.am: removed unused conf/trap/trap_hpux11.h
7024
70252001-02-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7026
7027	* aux/macros/check_network_transport_type.m4,
7028	aux/macros/check_mount_style.m4,
7029	aux/macros/check_mount_trap.m4,
7030	aux/macros/check_network_transport_type.m4,
7031	aux/macros/check_nfs_fh_dref.m4,
7032	aux/macros/check_nfs_prot_headers.m4,
7033	aux/macros/check_nfs_sa_dref.m4,
7034	aux/macros/check_nfs_socket_connection.m4,
7035	aux/macros/os_cflags.m4,
7036	aux/macros/type_auth_create_gidlist.m4,
7037	aux/macros/type_recvfrom_fromlen.m4,
7038	aux/macros/type_yp_order_outorder.m4:
7039	Reworked the scripts, so that a new _unknown_ version of a known OS
7040	will use the option for the newest _known_ version of that OS. For
7041	example, when freebsd6 comes out, it will use the stuff for
7042	freebsd5, not the stuff for freebsd2. This makes configure more
7043	likely to succeed on new systems/versions.
7044
7045	* Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
7046
70472001-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7048
7049	* Makefile.am (install-snapshot): use a different symlink target
7050	for the experimental snapshots.
7051
70522001-02-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7053
7054	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
7055	distributions.
7056
70572001-02-22  Erez Zadok  <ezk@earth.cs.columbia.edu>
7058
7059	* released snapshot am-utils-6.1a3
7060
7061	* amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
7062	get_args.c
7063
70642001-02-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7065
7066	* libamu/mtab.c: added the functions hasmnteq and haseq to
7067	ease checks for non-numeric values in opt=value strings.
7068	Recoded hasmntval to qualify input as numeric, allow hex and
7069	octal strings on rhs of =, and log when the value is missing
7070	or invalid.
7071
7072	* conf/mount/mount_linux.c: revised mount_linux to use new
7073	hasmnteq function to extract type of non-nfs mounts, and added
7074	a log message to catch possible failure of strdup.
7075
7076	* amd/am_ops.c: revised merge_ops to use new haseq function
7077
7078	* amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
7079	discover protocol setting.
7080
7081	* include/am_utils.h: added function prototypes for hasmnteq
7082	and haseq
7083
70842001-02-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7085
7086	* include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
7087	pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
7088
7089	* include/am_defs.h (_LINUX_NFS3_H): ditto
7090
7091	* conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
7092
70932001-02-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7094
7095	* aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
7096	command.
7097
70982001-02-18  Erez Zadok  <ezk@earth.cs.columbia.edu>
7099
7100	* aux/macros/mount_headers.m4, include/mount_headers[12].h: split
7101	mount_headers.h in two because one relative header (nfs_prot.h)
7102	file cannot be included inside another from the start directory of
7103	the first (it's relative to the directory of the first).
7104
71052001-02-09  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7106
7107	* AUTHORS: added Ahmon Dancy <dancy@franz.com>
7108
7109	* (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
7110
7111	* aux/macros/mount_headers.m4: moved all the C code into a
7112	separate file, include/mount_headers.h; the effect is that
7113	configure goes down in size by a factor of 2.5!
7114
7115	* include/mount_headers.h: new file, with C code from
7116	aux/macros/mount_headers.m4
7117
71182001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7119
7120	* conf/mount/mount_linux.c: made linux_nfs_error() more robust.
7121
71222001-02-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7123
7124	* released snapshot am-utils-6.1a2
7125
7126	* updated ltmain.sh and ltconfig from latest stable version of
7127	libtool-1.3.5
7128
71292001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7130
7131	* conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
7132	of nfs_error here, from mount_linux.c, so that it can actually be
7133	used.
7134
7135	* conf/mount/mount_linux.c: added unused errno 41 to the
7136	nfs_errormap array, lest the following errno's get shifted up by
7137	one!
7138
7139Sat Jan 13 00:04:38 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7140
7141	* amd/amd.h (autofs_lookuppn): Fixup whitespace.
7142	* amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
7143	* amd/amfs_error.c: (amfs_error_match): Likewise.
7144	* amd/amfs_host.c (fetch_fhandle): Fixup whitespace.  Remove
7145	unnecessary temporary variable.
7146	* amd/info_file.c (read_line): Likewise.
7147	(search_or_reload_file): Likewise.
7148	* amd/info_ldap.c (get_ldap_timestamp): Likewise.
7149	* amd/map.c (get_root_ap): Likewise.
7150	* amd/nfs_prot_svc.c: Likewise.
7151	* amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
7152	foofs_readlink, foofs_ffserver): Likewise.
7153	* amd/ops_autofs.c (autofs_bgmount): Likewise.
7154	* amd/ops_lofs.c (lofs_match): Likewise.
7155	* amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
7156	* amd/ops_xfs.c (xfs_match): Likewise.
7157	* amd/srvr_amfs_auto.c (srvrlog): Line break.
7158	* amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
7159	nfs_srvr_port): Fixup whitespace.
7160	* conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
7161	* conf/nfs_prot/nfs_prot_hpux.h: Likewise.
7162	* conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
7163	* conf/nfs_prot/nfs_prot_irix5.h: Likewise.
7164	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
7165	* conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
7166	* conf/nfs_prot/nfs_prot_osf2.h: Likewise.
7167	* conf/nfs_prot/nfs_prot_osf4.h: Likewise.
7168	* conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
7169	* conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
7170	* conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
7171	* conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
7172	* conf/transp/transp_tli.c (get_mount_client): Likewise.
7173	* hlfsd/nfs_prot_svc.c: Likewise.
7174	* include/am_defs.h (sys_errlist): Likewise.
7175	* include/am_utils.h (am_get_progname, am_get_hostname,
7176	amq_program_1): Likewise.
7177	(nfsxprt): Moved declaration.
7178
7179Fri Jan 12 23:31:45 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7180
7181	Removed support for amq -M.
7182
7183	* acconfig.h (ENABLE_AMQ_MOUNT): Removed.
7184	* aux/macros/opt_amq_mount.m4: Removed.
7185	* Makefile.am (EXTRA_DIST_AUX): Don't distribute
7186	opt_amq_mount.m4.
7187	* configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
7188
7189	* amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
7190	* amd/amq_svc.c (amq_program_1): Removed amq -M support.
7191	* amq/amq.c (mount_map): Removed.
7192	(main): Removed -M option handling.
7193	Removed transport-type specific CLIENT creation.
7194	(get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
7195
7196	* amq/amq.8: Removed -M documentation.
7197	* doc/am-utils.texi (Top-level Filesystem): Removed amq -M
7198	reference, but retain comment on mount -t amd.
7199	(Controlling Amd): Likewise.
7200
7201	* tasks: Removed this task.
7202
7203Fri Jan 12 23:18:26 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7204
7205	* conf/autofs/autofs_*.c: Bump copyright year to 2001.
7206	* hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
7207
7208	* aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
7209	solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
7210	protocol version numbers, not solaris versions.
7211	* conf/autofs/autofs_solaris[12].[ch]: Renamed to
7212	autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
7213	* Makefile.am (EXTRA_DIST_CONF): Likewise.
7214
7215	* aux/macros/check_autofs_style.m4: Use solaris2 style for both
7216	versions 2 and 3 of the AutoFS protocol.
7217
7218	Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
7219	with Solaris 8 mntfs).
7220
7221	* conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
7222	xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
7223	autofs_postmount_2_req ): Don't define for version 3.
7224	(autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
7225	AUTOFS_POSTMOUNT if missing.
7226
7227	* conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
7228
7229	* aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
7230	files on systems without existing autofs port.
7231	* conf/autofs/autofs_default.[ch]: New files, empty.
7232	* Makefile.am (EXTRA_DIST_CONF): Distribute them.
7233	* INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
7234	link.
7235
72362001-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7237
7238	* Makefile.am (EXTRA_DIST): distribute new LDAP files.
7239
7240	* README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
7241	proposed Schema, and internet draft.
7242
7243Fri Jan 12 22:27:07 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7244
7245	* Support Tru64 UNIX V5.1:
7246
7247	* conf/nfs_prot/nfs_prot_osf5_1.h: New file.
7248
7249	* Makefile.am (EXTRA_DIST_CONF): Distribute it.
7250
7251	* aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
7252	AutoFS, need to disable it until a port exists.
7253
7254	* INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
7255	minor port.
7256
72572001-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7258
7259	* ALL: bump copyright year to 2001.
7260
72612001-01-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7262
7263	* acconfig.h: correct comments for NODEV/NONDEV mount options
7264
7265Fri Jan  5 05:12:02 2001  Erez Zadok  <ezk@subzero.cs.columbia.edu>
7266
7267	* libamu/xdr_func.c: removed ugly casts to "groups*", now that
7268	irix6's nfs_prot.h is fixed.
7269
7270	* conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
7271	<rpcsvc/mount.h> here so we don't have to include this header.
7272
72732001-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7274
7275	* conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
7276	struct groups, not the pointer to this struct.
7277
7278	* include/am_xdr_func.h: prototype should take "groups *" as 2nd
7279	arg.
7280
7281	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
7282	casting of second arg of xdr_groups to "groups *".  It's only
7283	needed for irix6, due to problems with xdr_groups on that platform.
7284	(xdr_groups): prototype should take "groups *" as 2nd arg.
7285
7286	* conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
7287	definition.  Report from Ahmon Dancy <dancy@franz.com>.
7288
72892000-12-06  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7290
7291	* include/am_defs.h: force non-inclusion of <linux/fs.h> via
7292	<linux/auto_fs.h>
7293
7294	* conf/autofs/autofs_linux.c (autofs_mounted): rename
7295	AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
7296	previous commit)
7297
7298	* configure.in: fixed libtool version
7299
73002000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7301
7302	* doc/am-utils.texi (opts Option): document lock/nolock
7303
73042000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7305
7306	* conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
7307	modified autofs_fh_t to have a linked list of autofs_pending_mount;
7308	added some support for autofs4
7309
7310	* conf/autofs/autofs_linux.c: use a linked list for pending
7311	request, to allow for handling multiple simultaneous request;
7312	incipient non-functional support for autofs4; incipient
7313	non-functional support for bind-mounting
7314
7315	* amd/amd.c (main): print a warning if PROCLOCK is requested but
7316	the O/S doesn't support it
7317
7318	* libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
7319	option
7320
7321	* include/am_defs.h: don't include <linux/fs.h> on a glibc2
7322	system; include <linux/auto_fs4.h> if it exists, instead of
7323	<linux/auto_fs.h>
7324
7325	* include/am_compat.h: define the "nolock" mnttab option if the
7326	NONLM NFS mount option is defined
7327
7328	* acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
7329
7330	* configure.in: added detection of the NONLM Linux NFS mount
7331	option; added a clarification for the library versioning rules and
7332	increased the minor level; added detection of <linux/auto_fs4.h>
7333	and the MS_BIND generic mount option
7334
73352000-11-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7336
7337	* Enabled Solaris 2.7 autofs support (tested, works)
7338
7339	* Updated NEWS, README.autofs
7340
7341	* Updated Makefile's, make dist is now fixed
7342
7343	* Fixed potential memory leak in map.c
7344
7345	* Fixed autofs style detection for solaris 2.[67]
7346
7347	* Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
7348
73492000-11-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7350
7351	More Solaris 2.[67] work in progress:
7352
7353	* changed the API for the mount/umount methods: fmount/fumount are
7354	gone, and mount/umount now take two arguments (am_node and mntfs)
7355
7356	* changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
7357	means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
7358	means the am_node is a node on a filesystem of type autofs.
7359
7360	* renamed nfs_program_2_transp to current_transp so it can be used
7361	with autofs
7362
7363	* renamed quick_reply() to nfs_quick_reply()
7364
7365	* added two more autofs methods: autofs_umount_failed() and
7366	autofs_compute_mount_flags() -- it turns out that on sol2.6 the
7367	autofs mounts MUST be overlay'ed
7368
7369	* moved the autofs_mount_succeeded() into am_mounted()
7370
7371	* made amd *not* timeout autofs mounts -- the kernel will do it
7372	for us
7373
7374	* store dev and rdev of a mounted filesystem in the mntfs
7375	structure, to help autofs
7376
7377	* moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
7378	prevent deadlocking with autofs
7379
7380	* amd/Makefile.am: shuffled things around to make
7381	update_build_version be the last thing that runs
7382
73832000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7384
7385	* split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
7386	and made configure create a symlink to the appropriate one
7387
7388	* moved the xdr autofs functions from libamu/xdr_func.c into the
7389	system-specific conf/autofs/autofs*.c
7390
7391	* added some more experimental code to the sol2.6 autofs support,
7392	but it's by no means functional
7393
73942000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7395
7396	* libamu/wire.c (getwire_lookup): truncate the hostname to
7397	MAXHOSTNAMELEN characters.
7398
73992000-11-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7400
7401	* include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
7402	256 bytes, not 64.   Suggestion form Kris Kennaway
7403	<kris@FreeBSD.org>.
7404
74052000-11-26  Erez Zadok  <ezk@dmath5.geometrie.tuwien.ac.at>
7406
7407	* configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
7408	options kerb, rdirplus, readdirsize, and xlatecookie
7409	(NetBSD-1.5K).
7410
7411	* acconfig.h: recognize NFS mount options rdirplus, readdirsize,
7412	and xlatecookie (NetBSD-1.5K)
7413
74142000-11-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7415
7416	* amd/srvr_nfs.c: comment on NFS proto search order.
7417
7418	* libamu/xutil.c (real_plog): don't try to write the last byte of
7419	the fmt buf.  security suggtion from NetBSD: Thomas Klausner
7420	<wiz@danbala.ifoer.tuwien.ac.at>
7421
74222000-11-22  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7423
7424	* amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
7425	fattr.na_fileid, it is now done in map.c when the map is initialized
7426
7427	* amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
7428	to 0, to avoid cache aliasing problems on Linux (and to follow the
7429	NFS spec!)
7430
74312000-11-22  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
7432
7433	* libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
7434	(security)
7435
7436	* libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
7437	__attribute__, __format__, and __printf__ for GCC string auditing.
7438
7439	* wire-test/wire-test.8: this is not a section 8L man page.
7440
7441	* libamu/xutil.c (expand_error): don't use sys_nerr on systems
7442	that support strerror().
7443	(dplog): fmt is const
7444	(plog): fmt is const
7445	(real_plog): fmt is const.  use new expand_error function with its
7446	new return value. be more careful about running off the end of
7447	char[] fixed size buffers.
7448
7449	* libamu/wire.c (getwire): fix alignment error on alpha using an
7450	extra automatic storage variable ifrpool.
7451
7452	* hlfsd/hlfsd.c (fatal): use proper printf style to plog.
7453
7454	* fsinfo/fsinfo.c (find_username): getlogin() returns a const.
7455
7456	* fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
7457	vfprintf.
7458
7459	* fsinfo/fsi_lex.l (yyerror): use vfprintf.
7460
7461	* fixmount/fixmount.8: this is not a section 8L man page.
7462
7463	* doc/am-utils.texi (Hesiod maps): fixed typo.
7464
7465	* amd/sched.c (do_task_notify): typo in comment.
7466
7467	* amd/opts.c (expand_op): expand_error[] is a const char *.
7468
7469	* amd/amd.c (main): use proper printf style to plog.
7470
74712000-11-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7472
7473	* libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
7474	proplist mnttab flag.  Bug fix from Wolfram Klaus
7475	<klaus@physik.fu-berlin.de>.
7476
74772000-11-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7478
7479	* updated config.guess, config.sub, and doc/texinfo.tex from
7480	mirrors
7481
7482	* Makefile.am (update): proper updating of config.* and texinfo
7483	from mirrors.
7484
7485	* aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
7486	reports their system name as "netbsdelf" in config.guess.
7487
74882000-11-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7489
7490	* doc/am-utils.texi (opts Option): document new mount option
7491	"proplist"
7492
7493	* include/am_compat.h: define amd mount option "proplist" if the
7494	system doesn't recognize it, but the NFS bit flag exists.
7495
7496	* configure.in, acconfig.h: recognize/support "proplist" NFS mount
7497	option in Amd, useful under DU-4.0 to process ACLs over NFS
7498	mounts.
7499
75002000-11-10  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7501
7502	* conf/mount/mount_linux.c (mount_linux): removed unnecessary
7503	rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
7504
75052000-10-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7506
7507	* scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
7508
75092000-11-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7510
7511	Too many changes to list them here. Here's a high level
7512	description:
7513
7514	* Forward-ported the Linux fixes from 6.0.5pre
7515
7516	* Got rid of a mountain of #ifdef DEBUG, replaced with smart
7517	header-file #ifdef's
7518
7519	* and, the grand finale: initial Solaris 2.6 autofs
7520	support. Compiles, mounts, gets requests; all the
7521	infrastructure is in place to actually implement the calls. Linux
7522	autofs might be a bit broken, but only compile-time so it'll be
7523	easy to fix.
7524
75252000-11-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7526
7527	* MIRRORS (Note): added a mirror at ufl.edu
7528
75292000-10-11  Erez Zadok  <ezk@lorien.dev.hydraweb.com>
7530
7531	* amq/amq.8: synchronize Amq's options with reality
7532
7533	* amq/amq.c (main): synchronize Amq's usage() string with reality
7534
75352000-10-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7536
7537	* scripts/ctl-amd.in: add targets condrestart (redhat) and
7538	reload.
7539
75402000-10-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7541
7542	* scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
7543	defined.
7544
75452000-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7546
7547	* amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
7548	\a.
7549
75502000-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7551
7552	* include/am_utils.h: removed unused field opt_autopref
7553
7554	* amd/opts.c: removed unused variable $autopref
7555
75562000-09-05  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7557
7558	* conf/mtab/mtab_svr4.c (lockfile): function not needed unless
7559	MOUNT_TABLE_ON_FILE is defined.
7560	mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
7561	(update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
7562
75632000-09-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7564
7565	* buildall (Usage): typo in usage string
7566
75672000-08-25  Erez Zadok  <ezk@lynn.soscorp.com>
7568
7569	* conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
7570	is no defined on older Linux systems (kernel 2.0.36)
7571
75722000-08-19  Erez Zadok  <ezk@earth.cs.columbia.edu>
7573
7574	* scripts/amd.conf.5: correct swapped descriptions for ldap_base
7575	and ldap_hostports.
7576
7577	* doc/am-utils.texi: correct swapped descriptions for ldap_base
7578	and ldap_hostports.
7579
7580	* scripts/amd.conf-sample: swap examples for ldap_base and
7581	ldap_hostports.
7582
75832000-08-13  Erez Zadok  <ezk@earth.cs.columbia.edu>
7584
7585	* scripts/amd.conf-sample: -O is CLI equivalent to "os"
7586	amd.conf parameter
7587
75882000-07-30  Erez Zadok  <ezk@earth.cs.columbia.edu>
7589
7590	* scripts/amd.conf-sample (nfs_retransmit_counter): correct
7591	meaning and use of parameter
7592
75932000-07-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7594
7595	* doc/am-utils.texi: updated URLs to www.am-utils.org.
7596
75972000-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7598
7599	* doc/am-utils.texi (Supported Platforms): document osf4.0f
7600
76012000-06-19  Erez Zadok  <ezk@vir.cs.columbia.edu>
7602
7603	* doc/am-utils.texi (dollar Selector Variable): document
7604	${dollar}.
7605
7606	* amd/opts.c: special new variable ${dollar} which expands into a
7607	literal '$' sign.  Otherwise there is no way to include a literal
7608	dollar symbol in an amd map.
7609
76102000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7611
7612	* amd/opts.c (eval_selectors): don't deref opt after it's been
7613	XFREE'd
7614
76152000-06-11  Erez Zadok  <ezk@earth.cs.columbia.edu>
7616
7617	* amd/opts.c: move mount_type expansion until later in the list,
7618	so common variable are "hit" first.
7619
76202000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7621
7622	* amd/opts.c (split_opts, eval_selectors): split old function
7623	eval_opts into two, one that only splits non-selectors and
7624	assigns the values to fs_static, and one that only evaluates
7625	selectors; also simplified the rather obfuscated logic inside
7626	these functions
7627	(expand_op): made it take a char * instead of a structure from
7628	which it was using only one field (a char *). Also now returns a
7629	char * instead of modifying said structure in place
7630	(expand_opts): deal with the change above
7631	(expand_selectors): renamed from expand_key
7632	(expand_options): new function, expands non-selectors; it's the
7633	complement of expand_selectors, both of which are just wrappers
7634	around expand_op()
7635	(eval_fs_opts): use the new split_opts, eval_selectors to allow
7636	using options (like ${rhost}) in selectors
7637
76382000-06-11  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7639
7640	* config.guess.long: munge config.guess' output so that intel
7641	linux appears as i386-pc-linux
7642
7643Fri Jun  9 16:06:56 2000  Erez Zadok  <ezk@defiant.dev.hydraweb.com>
7644
7645	* conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
7646	Don't use it.
7647
76482000-06-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7649
7650	* amd/mapc.c (maptypes): Change default allocation mode to
7651	MAPC_INC where reload support is missing to avoid warning in
7652	mapc_create().
7653
76542000-06-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7655
7656	* conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
7657	solaris 2.5 until a full port can be done.
7658
76592000-06-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7660
7661	* Makefile.am, aux/GNUmakefile: fix maintainer rules to update
7662	config.* and texinfo.tex files.
7663
7664	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
7665	mtime update of the symlinks on the SYMTTL option, but rather
7666	delay unmount of what was looked up using am_timeo_w.  Patch from
7667	Nick Williams <Nick.Williams@msdw.com>.  As Nick says "Basically:
7668	during unmount, increment the parent dir's mtime (fixes
7669	people doing amq -u). During stat, increase the TTL (to fix bad-luck
7670	timeouts), but leave the mtime alone."
7671
7672	(nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
7673	nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
7674	Patch from Nick Williams <Nick.Williams@msdw.com>.
7675
7676	* amd/map.c (unmount_mp): update mtime of amd symlink to further
7677	reduce the chances of race conditions between unmounting and
7678	looking up an entry again.  Patch from Nick Williams
7679	<Nick.Williams@msdw.com>.
7680
7681	* README: updated instructions
7682
7683	* bootstrap: remove log file before existing
7684
76852000-06-06  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7686
7687	* configure.in: no longer using aux/ subdir. don't force autoconf
7688	2.14. comment out (but leave explanation) everything that's needed
7689	for autoconf 2.14, so for now it works with autoconf-2.13, but the
7690	code is ready for 2.14 when it is released.  Similar changes to
7691	make code work with automake-1.4, until the next release comes
7692	out.
7693
7694	* libamu/Makefile.am: include definitions that are required in
7695	automake 1.4, but won't be necessary when the next release of
7696	automake comes out (see XXX comments).
7697
7698	* cache_check_dynamic.m4, check_checkmount_style.m4,
7699	check_mnttab_style.m4, check_mount_style.m4,
7700	check_network_transport_type.m4, check_nfs_prot_headers.m4,
7701	check_umount_style.m4: use symlink creation code that works for
7702	both autoconf 2.13 and 2.14 (when the latter comes out).
7703
7704	* bootstrap: new script for maintainers to run to update autoconf,
7705	automake, and libtool related files.  Has the same effect as
7706	"buildall -K".
7707
7708	* removed dependencies on CVS versions of autoconf, automake, and
7709	libtool, especially the modified automake I had.  This is so that
7710	maintainers could built the auto* files out of the latest released
7711	GNU autoconf, automake, and libtool.  However, without my nice
7712	patches to automake, many files that used to live in the aux/
7713	subdir now were moved to the top level source directory: acconfig.h,
7714	acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
7715	config.guess.long, config.h.in, config.sub, configure.in, depcomp,
7716	install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs.  Also
7717	texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
7718
77192000-06-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7720
7721	* cvs-server.txt: instructions for maintainers to access the CVS
7722	server for am-utils.
7723
77242000-06-03  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7725
7726	* amd/restart.c (restart): grr.. passing around initialized
7727	structures is *really* bad habit. memset(mo, 0) so at least we can
7728	test for NULL pointers...
7729
77302000-06-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7731
7732	* amd/am_ops.c (ops_match): changed XLOG_USER messages about
7733	merging addopts options to the more appropriate XLOG_INFO.  Patch
7734	submitted by Tom Schmidt <tschmidt@micron.com>.
7735
7736	* config.{guess,sub}: make sure chmod'ed a+rx.  Updated from
7737	latest GNU copies.
7738
77392000-05-30  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7740
7741	* aux/configure.in: bump up the version to 6.1a2
7742
77432000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7744
7745	* released snapshot am-utils-6.1a1
7746
77472000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7748
7749	* amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
7750	version and store it in the fh
7751	(autofs_get_opts): support protocol version 4
7752
7753	* amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
7754	releasing it
7755
7756	* conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
7757	svc_getcaller() to sockaddr_in, to appease glibc 2.2
7758
7759	* amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
7760	autofs handling and the parent is already handled by autofs,
7761	handle this filesystem as well
7762	(amfs_auto_mount): create the mountpoint for an autofs mount
7763	(amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
7764
7765	* include/am_utils.h (FS_AUTOFS): new flag signalling that the
7766	filesystem wants autofs handling; toplvl, auto, host and direct
7767	have this flag, at least for now
7768
77692000-05-28  Erez Zadok  <ezk@mulberry.mcl.cs.columbia.edu>
7770
7771	* doc/am-utils.texi (Network Filesystem Group): minor typos
7772
77732000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7774
7775	* amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
7776
7777	* amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
7778	version=2 and proto=udp and try again
7779
7780	* amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
7781	instead of a voidp; handle the NFS_SCALEDOWN case by removing the
7782	cached server entry and re-querying the server
7783
7784	* amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
7785	statement, assign mnttype from the fs-specific mf_ops->fs_type
7786	instead
7787
7788	* amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
7789	defined;
7790	(amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
7791	always exists
7792	(amfs_nfsx_umount): removed the hacked am_node -- umounted() now
7793	takes an mntfs; call umounted() only if it's defined
7794
7795	* amd/amfs_auto.c: removed amfs_auto_umounted and moved its
7796	functionality into am_umounted().
7797	(amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
7798	as needing an "NFS scaledown" and retry the operation
7799
7800	* amd/amfs_*.c: changed all fmount/fumount functions to
7801	mount/umount and made them take an am_node instead of an
7802	mntfs. This is a first step towards an amfs/ops API separation.
7803
7804	* amd/{amfs,ops}_*.c: changed the umounted() function to take an
7805	mntfs instead of an am_node
7806
78072000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7808
7809	* amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
7810	up gcc
7811
7812	* aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
7813	which always defines HIDE_MOUNT_TYPE
7814
7815	* amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
7816	initialization -- now done in init_mntfs()
7817
7818	* amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
7819	mounting an autofs-style map
7820
7821	* amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
7822
7823	* amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
7824	necessarily a string type, so handle the nfs/autofs separation
7825	differently
7826
7827	* amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
7828	opt_mount_type (now done in ops_match())
7829
7830	* amd/am_ops.c (ops_match): need to initialize opt_mount_type if
7831	it's not initialized yet
7832
78332000-05-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7834
7835	* libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
7836	one or two arguments (bsdi3 vs. bsdi4)
7837
78382000-05-27  Ion Badulescu  <ib42@chestnut.mcl.cs.columbia.edu>
7839
7840	* libamu/xutil.c (amu_release_controlling_tty): removed an unused
7841	variable from the previous patch
7842
78432000-05-26  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7844
7845	* aux/macros/check_autofs_style.m4: fixed substitution for default
7846	case
7847
7848	* libamu/xutil.c (amu_release_controlling_tty): close standard
7849	file descriptors, re-open them as /dev/null
7850
7851	* include/am_defs.h: don't try to include both <ndbm.h> and
7852	<db1/ndbm.h>, it really doesn't work
7853
78542000-05-16  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7855
7856	* hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
7857	on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
7858	getattr).  This fixes the problem introduced by the Linux nfsv3
7859	patches.
7860
78612000-05-12  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7862
7863	* Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
7864
78652000-05-10  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7866
7867	* amd/ops_autofs.c (autofs_handle_fdset): call
7868	autofs_lookup_failed instead of autofs_mount_failed, if the name
7869	is not in the map
7870	(autofs_umount_{succeeded,failed}): pass the actual mount point,
7871	not its parent, as it's needed for clean-up;
7872
7873	* amd/autil.c (am_unmounted): notify autofs that the umount
7874	succeeded
7875
7876	* amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
7877	moved elsewhere
7878
78792000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7880
7881	* amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
7882	if necessary;
7883	(amfs_auto_mounted): test if opt_mount_type is NULL first
7884	(amfs_auto_mount): revert earlier change
7885
7886	* amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
7887	if mount failed
7888
78892000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7890
7891	* amd/ops_autofs.c (autofs_link_mount): use am_link as target
7892
7893	* amd/map.c (unmount_mp): release file handle for autofs f/s about
7894	to be unmounted; this leak was preventing the unmount altogether
7895
7896	* amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
7897	code, was broken
7898	(amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
7899	handle it
7900
79012000-05-07  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7902
7903	* Merged changes from stable branch
7904
79052000-04-30  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7906
7907	* include/am_defs.h, aux/macros/mount_headers.m4,
7908	aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
7909	linux/list.h before including linux/fs.h, and define __KERNEL__
7910	for those two headers.  All of this to get a couple of definitions
7911	that are needed in the new struct vfsmount.
7912
7913	* aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
7914
7915	* include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
7916	between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
7917	defining _LINUX_IN_H so it doesn't get included.
7918
79192000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7920
7921	* minor new ports: i686-pc-linux-gnu-rh6.2,
7922	i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
7923
79242000-04-03  Erez Zadok  <ezk@vir.cs.columbia.edu>
7925
7926	* aux/acconfig.h: move all #undef macros above @TOP@, so they can
7927	be recognized by pickier autoconf.
7928
79292000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7930
7931	* aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
7932	or \c.
7933
79342000-03-25  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7935
7936	* include/am_defs.h: ditto
7937
7938	* aux/macros/{mount_headers,try_compile_anyfs}.m4: force
7939	non-inclusion of <linux/string.h>.  Breaks build on newer 2.3
7940	kernels.
7941
79422000-02-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7943
7944	* doc/am-utils.texi (Amq -w option): document new amq -w option.
7945
7946	* amq/amq.8: document new amq -w option.
7947
7948	* amq/amq.c: disable last remains of insecure amq -M code.
7949	(main): add amq -H option to show usage.
7950	(main): new amq -w option, translates getpwd() into an amd path.
7951
79522000-02-25  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7953
7954	* libamu/util.c (get_server_pid): new function
7955
7956	* hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
7957
7958	* conf/transp/transp_sockets.c: removed create_autofs_service
7959
7960	* conf/mount/mount_linux.c: added autofs mount options; split
7961	mount_linux into two functions, itself and do_mount_linux
7962
7963	* aux/macros/check_hide_mount_type.m4: better failover
7964
7965	* aux/configure.in: changed version to 6.1a1; added
7966	AC_CHECK_AUTOFS_STYLE
7967
7968	* aux/aux_conf.h.in: added @am_utils_autofs_style@
7969
7970	* amd/opts.c: added "mount_type" option
7971
7972	* amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
7973	variables in here; split create_autofs_service into sun and linux
7974	specific functions
7975
7976	* amd/nfs_start.c: removed autofs-specific variables
7977
7978	* amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
7979	(get_root_ap): renamed root_ap to get_root_ap
7980
7981	* amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
7982	amfs_toplvl_mounted with amfs_auto_mounted
7983	(mount_amfs_toplvl): moved code around, added autofs handling
7984	(amfs_toplvl_mounted): removed
7985
7986	* amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
7987	replaced with amfs_nfsl_u?mount
7988
7989	* amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
7990	replaced with amfs_link_umount
7991
7992	* amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
7993	replaced with amfs_link_u?mount
7994
7995	* amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
7996	from amfs_toplvl_mounted to amfs_auto_mounted
7997
7998	* all: added autofs hooks throughout the code
7999
8000	* amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
8001
8002	* README.autofs: linux status update
8003
80042000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8005
8006	* minor new port: alphaev6-dec-osf5.0
8007
8008	* doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
8009	but only for UDP.
8010
8011	* released snapshot am-utils-6.0.4s3
8012
8013	* conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11.  Note
8014	that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
8015	kernel!  Must set nfs_proto=udp in amd.conf [global].
8016
8017	* aux/config.guess.long: set and export PATH separately.  DU5
8018	/bin/sh doesn't like setting it on the command line in a
8019	back-tick'ed `script`.
8020
80212000-02-24  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8022
8023	* Makefile.am: removed struct_nfs_mount_data.m4
8024
8025	* aux/macros/struct_nfs_mount_data.m4: deleted
8026
8027	* aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
8028
8029	* aux/configure.in: removed check for struct nfs_mount_data
8030
80312000-02-24  Ion Badulescu  <ib42@beetle.mcl.cs.columbia.edu>
8032
8033	* amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
8034	avoid having 'failed' in a message not indicating a failure
8035	(amfs_auto_lookuppn): ditto
8036
8037	* amd/ops_autofs.c (autofs_bgmount): ditto
8038	(autofs_lookuppn): ditto
8039
80402000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8041
8042	* added .cvsignore files into the CVS repository.
8043
8044	* remove files which can be regenerated: .in, configure, some
8045	files in aux/, and more.
8046
80472000-02-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8048
8049	* doc/am-utils.texi (nfs_vers/nfs_proto): description of two
8050	parameters was reversed.  Reported by Paul Jenner
8051	<p.jenner@eim.surrey.ac.uk>.
8052
80532000-02-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8054
8055	* released snapshot am-utils-6.0.4s2
8056
8057	* amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
8058	as inherit, error, and toplvl (failover code).
8059
8060	* amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
8061	global options in amd.conf: one to set the NFS version globally
8062	(i.e., nfs_vers=2), and one to set the NFS protocol globally
8063	(i.e., nfs_proto=udp).
8064
8065	* amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
8066	so when a matching mount entry failed, try the next one.
8067
80682000-02-15  Erez Zadok  <ezk@moisil.cs.columbia.edu>
8069
8070	* amd/amfs_auto.c: a new debug option "readdir" to trace the
8071	progress of the browsable_dirs code.
8072
8073	* conf/mount/mount_linux.c (mount_linux): ensure that the new
8074	linux NFSv3 code works for v2-only machines.
8075
80762000-02-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8077
8078	* aux/configure.in: cleanup unused dnl entries.
8079
8080	* conf/mount/mount_linux.c (parse_opts): typo: check for string
8081	equality, not string inequality for pcfs and cdfs.
8082
8083	* aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
8084
8085	* libamu/mount_fs.c (compute_mount_flags): check for INTR and
8086	NOINTR options as well (intr was never passed to linux mount
8087	syscall).
8088
80892000-02-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8090
8091	* released snapshot am-utils-6.0.4s1
8092
8093	* aux/GNUmakefile: buildall -k (for maintainers) temporarily now
8094	ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
8095	obsolete".  It is harmless but annoying, and will be fixed when
8096	autoconf and automake in their respective CVS trees are working
8097	and in sync again.
8098
8099	* scripts/amd.conf.5: document -D hrtime,xdrtrace
8100
8101	* all man pages: update copyright to 2000.
8102
8103	* doc/am-utils.texi: update copyright to 2000.
8104
8105Wed Feb  9 14:22:31 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8106
8107	* include/am_utils.h (D_XDRTRACE): Define.
8108	(D_TEST): Disable here.
8109
8110	* libamu/xutil.c (dbg_opt): Handle it.
8111
8112	* doc/am-utils.texi (-D-Option): Document it.
8113
8114	* libamu/xdr_func.c: Use it instead of D_TRACE.
8115
8116	* include/am_utils.h (D_HRTIME): Define.
8117
8118	* doc/am-utils.texi (-D-Option): Document it.
8119
8120	* libamu/xutil.c (show_time_host_and_name): Print high-resolution
8121	timestamp if available and activated.
8122
8123	* aux/configure.in (clock_gettime): Check for it in -lrt and
8124	-lposix4.
8125
8126	* hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
8127	if defined, even for some systems with in kernel mount tables.
8128
81292000-02-08  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8130
8131	* aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
8132	allow compiles against libc5
8133
8134	* aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
8135	linux when the kernel doesn't support it
8136
8137	* include/am_compat.h: add workaround for linux efs
8138
81392000-02-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8140
8141	* aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
8142	Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
8143
81442000-02-07  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8145
8146	* libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
8147	nfs (linux NFSv3).
8148
8149	* include/am_defs.h: avoid reinclusion of some header files under
8150	linux.
8151
8152	* conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
8153
8154	* conf/mount/mount_linux.c (mount_linux): support nfs mount
8155	 (implementation) version 4 for NFSv3.
8156
8157	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
8158
8159	* aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
8160	need to fix the code on other linux machines).
8161
8162	* aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
8163
8164	* aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
8165	under linux (depends on ac_cv variable, is that a good idea?)
8166
8167	* added NFSv3 support for linux
8168
8169	* aux/{configure.in,acconfig.h}: new option ver3
8170
8171	* aux/macros/mount_headers.m4: commented out inclusion of
8172	linux/fs.h, it's not needed on rh61 (and actually generates
8173	conflicts), we should see if it's still needed on libc5 systems
8174
8175	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
8176	try to have its own (out of date) list of headers and ifdef's and
8177	...
8178
81792000-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8180
8181	*******************************************************************
8182	*** Released am-utils-6.0.3					***
8183	*******************************************************************
8184
81852000-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8186
8187	* conf/mount/mount_default.c: dummy empty file to work around a
8188	limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
8189	processes them even if they are optional, enclosed in if/else).
8190
81912000-01-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8192
8193	* released snapshot am-utils-6.0.3s5
8194
81952000-01-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8196
8197	* update to use latest version of autoconf, automake, and libtool.
8198
8199	* aux/GNUmakefile (depcomp): "make update" should also update the
8200	depcomp script.
8201
8202	* Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
8203
8204	* aux/configure.in: use renamed AC_CHECK_AMU_FS.
8205
8206	* aux/macros/check_amu_fs.m4: renamed macro name and file name to
8207	say AMU_FS, not AM_FS.
8208
8209	* aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
8210	latest version of autoconf doesn't handle it (bug in 2.14a)
8211
8212	* aux/configure.in: require version 2.14 of autoconf.
8213
8214	* amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
8215
8216	* doc/am-utils.texi (Automount Filesystem): document type:=auto
8217	map browsability option.
8218
8219	* amd/mapc.c (make_entry_chain): patch from Steven Danz
8220	<sdanz@awc.kc.noaa.gov> to allow browsable auto maps.
8221
82222000-01-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8223
8224	* released snapshot am-utils-6.0.3s4
8225
8226	* amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
8227	are set to mapcache:=sync.  Fix from Nick Williams
8228	<Nick.Williams@msdw.com>.
8229
82302000-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8231
8232	* released snapshot am-utils-6.0.3s3
8233
8234	* minor port to i386-unknown-netbsd1.4.1
8235
8236	* amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
8237	<Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale
8238	file handles when doing rapid mounts and umounts in succession
8239	such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
8240
82412000-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8242
8243	* minor port to i386-pc-bsdi4.1.
8244
82452000-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8246
8247	* libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
8248	argument to irs_gen_acc(), which was changed in bsdi 4.1.
8249
82502000-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8251
8252	* amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
8253	systems with in-kernel mount tables unless this macro is defined
8254	(Solaris 8).
8255
82562000-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8257
8258	* ALL: bump copyright year to 2000.
8259
82601999-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8261
8262	* conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
8263	solaris 7, but should not be used unless MAX_MNTOPT_STR also
8264	exists (solaris 8).
8265
8266	* doc/am-utils.texi (opts Option): document new mount option:
8267	optionstr.
8268
8269Fri Dec 10 01:31:53 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8270
8271	* conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
8272	mount_svr4().
8273	(mount_svr4): Adapt prototype.
8274	* conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
8275	they are evaluated and show up in Solaris 8 in-kernel mnttab.
8276
8277	* aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
8278	option.
8279	* aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
8280
82811999-12-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8282
8283	* released snapshot am-utils-6.0.3s2
8284
82851999-12-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8286
8287	* doc/am-utils.texi (opts Option): document noexec and nomnttab
8288	(new to Solaris 8).
8289
8290	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
8291	distribution.
8292
8293	* applied fixes from Rainer Orth for Solaris 8.
8294
8295	* libamu/wire.c (getwire): increment the cp pointer in the loop
8296	body, because the ioctl() inside the "for" loop will overwrite the
8297	ifr structure, thus not detecting all of the interfaces.  Bug
8298	reported and fixed by Amitha Perera <perera@cs.rpi.edu>.
8299
8300Thu Dec  9 19:09:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8301
8302	* conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
8303	MOUNT_TABLE_ON_FILE.
8304
8305	* amd/get_args.c (get_args): Initialize mnttab_file_name even for
8306	in-kernel mount table.  conf/mtab/mtab_svr4.c (read_mtab) depends
8307	on a non-NULL value.
8308
8309	* amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
8310	LDAP structure to get error code, but use it directly.
8311	(amu_ldap_search): Likewise.
8312
8313	* conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
8314	ldap support.
8315	* conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
8316
8317	* conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
8318	nfsstat, already in <nfs/nfs.h>.
8319	* aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
8320	versions beyond 7.
8321	Allow for micro versions of SunOS 5.[67].
8322
8323	* aux/configure.in: Check for new Solaris 8 Beta Refresh
8324	MS_NOMNTTAB mount(2) option.
8325	* aux/macros/check_mnttab_location.m4: Use it to test for
8326	mntfs-based in-kernel mnttab.
8327
8328	* aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
8329
8330	* aux/macros/check_fs_headers.m4: Revert test for duplicate
8331	objects.
8332	* aux/macros/check_fs_mntent.m4: Likewise
8333
8334	* aux/macros/HEADER: Fixed typo.
8335
8336	* include/am_defs.h: Likewise.
8337
83381999-12-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8339
8340	* aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
8341
83421999-11-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8343
8344	* BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
8345
8346	* amd/info_ldap.c (string2he): updated function which does not
8347	corrupt strings when called more than once.  Patch from
8348	JOHANN.PFEFFERL.JP@germany.agfa.com.
8349
83501999-11-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8351
8352	* MIRRORS (Asia): two new mirrors in Japan.
8353
83541999-11-10  Erez Zadok  <ezk@kosh.cs.columbia.edu>
8355
8356	* doc/am-utils.texi: document new variables for ${uid} and ${gid}.
8357
8358	* amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
8359	last lookup from the RPC credentials.
8360
8361	* aux/configure.in: upped version-info to 4:0:2 because I've added
8362	a new interface to libamu.
8363
8364	* libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
8365	so it can be used by amd.
8366
8367	* amd/opts.c: new variables ${uid} and ${gid}.
8368
83691999-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8370
8371	* scripts/ctl-amd.in: add "status" command that tells you if amd
8372	is running on not (same output as RedHat scripts).
8373	Added start_msg and stop_msg targets as they are used on HPUX.
8374	reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8375
83761999-10-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8377
8378	* released snapshot am-utils-6.0.3s1
8379
83801999-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8381
8382	* amd/amd.c (main): On AIX you must lower the stack size using
8383	ulimit() before calling plock.  Otherwise plock will reserve a lot
8384	of memory space based on your maximum stack size limit.  Since it
8385	is not easily possible to tell what should the limit be, I print a
8386	warning before calling plock(). See the manual pages for
8387	ulimit(1,3,4) on your AIX system.
8388
8389	* include/am_defs.h: define default extern for vsnprintf()
8390
8391	* aux/configure.in: check for extern definition for vsnprintf()
8392
83931999-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8394
8395	* amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
8396	<njw@ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
8397	the correct location, but to the top level of the mountpoint and
8398	an (error-hook) is seen being mounted in the log file. This causes
8399	things to Go Wrong(TM).
8400	CAUSE: When evaluating two locations which are requested
8401	'practically simultaneously', and the two locations resolve to the
8402	same NFS mountpoint (but different sublinks), the later request
8403	will be "deferred" and retried after wakeup when the first mount
8404	succeeds. To do this, it rewinds the options location string to
8405	re-evaluate the location when the mount is retried. However, it
8406	shouldn't rewind the options for two reasons: (a) the semantics of
8407	the map language say you shouldn't and (b) the NFS mount reference
8408	is not reset at the same time, meaning that on the retry it will
8409	have an options structure out-of-sync with the mount
8410	structure. The "shortcut" code when retrying the mount sees the
8411	mount structure is already filled in and does not fully evaluate
8412	the options structure.... so if the first location is not the one
8413	which ties in with the mountpoint (see ordering in the
8414	recreate-by), you're now well messed up.
8415
8416	* BUGS: mention aix4.3 plock() bug (memory usage blows up and
8417	plock fails)
8418
84191999-10-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8420
8421	* aux/GNUmakefile: certain files should be copied if they are
8422	newer, not also if they are bigger: install-sh, ltconfig,
8423	ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
8424
8425	* minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
8426
84271999-10-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8428
8429	* aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
8430
8431	* aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
8432
84331999-09-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8434
8435	*******************************************************************
8436	*** Released am-utils-6.0.2					***
8437	*******************************************************************
8438
84391999-09-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8440
8441	* conf/mount/mount_linux.c (mount_linux): print the updated mount
8442	flags.
8443
8444	* doc/am-utils.texi: document $full_os and $vendor.
8445
8446	* scripts/amd.conf-sample: examples of $full_os and $vendor.
8447
8448	* scripts/amd.conf.5: document $full_os and $vendor.
8449
8450	* amd/conf.c: add support for $full_os and $vendor.
8451
84521999-09-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8453
8454	* doc/am-utils.texi (netgrp Selector Function): don't give
8455	examples with old single '=' assignment variable.  Use foo:=bar.
8456
8457	* amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
8458	comment describing this complex function.
8459
8460	* doc/Makefile.am (alldocs): do install-ps last (because distiller
8461	is slow) and install-html next to last (because texi2html is also
8462	slow).
8463
8464	* amd/amd.8: Major fixes to the description of the option -t
8465	timeout.retransmit.
8466
8467	* doc/am-utils.texi: better description of "trace" debug option.
8468	amd -H (not -v) shows log_options and debug_options.  Major fixes
8469	to the description of amd -t timeout.retransmit, and the amd.conf
8470	parameters nfs_retransmit_counter and nfs_retry_interval.
8471
8472	* scripts/amd.conf.5: better description of "trace" debug option.
8473	amd -H (not -v) shows log_options and debug_options.  Major fixes
8474	to the description of the parameters nfs_retransmit_counter and
8475	nfs_retry_interval.
8476
84771999-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8478
8479	* doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
8480	option, but a mount map option.
8481
8482	* libamu/xutil.c (switch_to_logfile): log the name of the log file
8483	we switched into, after the log file had been [re]opened.
8484
84851999-09-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8486
8487	* amd/mapc.c (mapc_reload_map): count and show the number of times
8488	a map was reloaded.  Only reload a map if its modify-time was
8489	updated.  But amq -f forced a reload no matter what.
8490
8491	* amd/amd.h: new flag to struct mnt_map to count number of times a
8492	map was reloaded.
8493
8494	* amd/mapc.c (mapc_reload_map): attempt to reload the map without
8495	losing current data by reloading into a temp copy, and switching
8496	the hashes round only if the reload was successful.  Patch from Jon
8497	Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8498	(mapc_sync): mapc_reload_map() always succeeds.
8499
85001999-09-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8501
8502	* amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
8503	rebind to an LDAP server forever.  Try up to 10 times.
8504
8505	* fsinfo/fsi_lex.l (yyerror): rework code that will never happen
8506
8507	* released snapshot am-utils-6.0.2s2
8508
8509	* aux/configure.in: bumped library version-info to 3:2:1, since
8510	some libamu code got changed.
8511
8512	* libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
8513	is better and more secure.  Fix from "David O'Brien"
8514	<obrien@NUXI.com>.
8515
8516	* aux/configure.in: check for vsnprintf.
8517
85181999-09-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8519
8520	* aux/macros/linux_headers.m4: use AC_MSG_ERROR.
8521
8522	* aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
8523	not optional.  Make sure ARG is supplied else flag an error.
8524
85251999-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8526
8527	* minor port i386-unknown-freebsdelf3.3
8528
8529	* released snapshot am-utils-6.0.2s1
8530
85311999-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8532
8533	* aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
8534
8535	* include/am_defs.h: extern definition for getitimer().
8536
8537	* aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
8538	extern.
8539
8540	* aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
8541	that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
8542	configure.
8543
8544	* aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
8545	'int' as the 5th arg to authunix_create().
8546
8547	* aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
8548	size_t for the 6th arg of recvfrom().
8549
8550	* aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
8551	aix4.x systems.
8552
8553	* libamu/mount_fs.c (print_nfs_args): cast some values to int, to
8554	avoid gcc -Wall errors.
8555
8556	* scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
8557	in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
8558	results in byte-misaligned values.   Bug fix from Jeffrey C Honig
8559	<jch@BSDI.COM>.
8560
8561	* libamu/mount_fs.c (compute_automounter_mount_flags): turn on
8562	automntfs (ignore on bsdi-4.1) flag.
8563	(compute_automounter_nfs_args): ditto.
8564
8565	* aux/acconfig.h: add new flag for automntfs (ignore)
8566
8567	* aux/configure.in: check for new automntfs flag (bsdi-4.1).
8568
85691999-09-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8570
8571	* MIRRORS: added new site in Germany.  Updated status of umn.edu
8572	and ferginc.com, who may no longer be mirroring am-utils.
8573
85741999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8575
8576	*******************************************************************
8577	*** Released am-utils-6.0.1					***
8578	*******************************************************************
8579
85801999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
8581
8582	* aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
8583	netexport defined.
8584
8585	* aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
8586	struct netexport defined.
8587
85881999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8589
8590	* aux/macros/check_field.m4 (ac_upcase_var_name): include
8591	<ifaddrs.h> so we can detect fields within struct ifaddrs.
8592
8593	* libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
8594	getifaddrs() and struct ifaddrs has no ifa_next field.
8595
8596	* aux/configure.in: check if 'struct ifaddrs' has a field
8597	ifa_next.
8598
8599	* include/amq_defs.h (AMQ_STRLEN): double size of amq string
8600	length to 2048 bytes.
8601
8602	* conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
8603	header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
8604	Zoulas> christos@zoulas.com.
8605
8606	* aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
8607	Bug reported by <Christos Zoulas> christos@zoulas.com.
8608
8609	* aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
8610
86111999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8612
8613	* libamu/xutil.c (expand_error): use strerror if available instead
8614	of sys_errlist.  Bug reported by <Christos Zoulas>
8615	christos@zoulas.com.
8616
8617	* hlfsd/hlfsd.c (fatal): use strerror if available instead of
8618	sys_errlist.
8619
8620	* amq/amq.c (show_mi): use strerror if available instead of
8621	sys_errlist.
8622
8623	* aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
8624	nfs_prot header is used for any future (1.5 etc.) netbsd systems.
8625
8626	* amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
8627	"Andrew J. Korty" <ajk@purdue.edu>
8628
86291999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8630
8631	* doc/am-utils.texi (Supported Platforms): updates for redhat
8632	systems.
8633
8634	* INSTALL: updates for redhat systems.
8635
8636	* libamu/wire.c (getwire_lookup): spell "succeeded" correctly
8637
86381999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8639
8640	* scripts/ctl-amd.in: sleep 1 second between killing amd and
8641	restarting it, because amq may respond that amd is down, where in
8642	fact it is still trying to unmount itself after unmapping itself
8643	from the portmapper.
8644
8645	* aux/config.guess.long: new script to print long version of
8646	config.guess output.
8647
8648	* buildall (host_alias): use long version of config.guess.
8649
86501999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8651
8652	* scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
8653	scripts.
8654
86551999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8656
8657	* released snapshot am-utils-6.0.1s11
8658
8659	* libamu/xutil.c (expand_error): make sure expanding the string
8660	with textual version of errno doesn't overrun the 1024 bytes
8661	buffer.
8662	(real_plog): null terminate msg, just in case.
8663
8664	* amq/amq.c (main): don't getopt -M option and don't process it
8665	unless ENABLE_AMQ_MOUNT is on.
8666
8667	* amd/amq_svc.c (amq_program_1): all code that relates to amq -M
8668	is conditional on #ifdef ENABLE_AMQ_MOUNT.
8669
8670	* amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
8671	when amq -M code is disabled.  Not taking any chances.
8672
86731999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8674
8675	* released snapshot am-utils-6.0.1s10
8676
8677Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
8678
8679	* libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
8680	128.59.16.0), try to shift the network out of zeros (e.g.,
8681	128.59.16) and try again.  Irix 6.4 requires short network
8682	numbers.
8683
86841999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8685
8686	* libamu/wire.c (getwire_lookup): correctly compute subnet using
8687	netmask.
8688
8689	* libamu/mount_fs.c (compute_automounter_nfs_args): require that
8690	Amd's own NFS mounts use reserved ports (if possible).  IP packet
8691	security fix from Jeffrey C Honig <jch@BSDI.COM>.
8692
8693	* conf/transp/transp_tli.c (create_autofs_service): use correct
8694	autofs_port.  IP packet security fix from Jeffrey C Honig
8695	<jch@BSDI.COM>.
8696
8697	* conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
8698	function.  IP packet security fix from Jeffrey C Honig
8699	<jch@BSDI.COM>.
8700	(create_nfs_service): use bind_resv_port() directly.  ensure that
8701	privileged ports are used.  IP packet security fix from Jeffrey C
8702	Honig <jch@BSDI.COM>.
8703
8704	* amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
8705	from reserved ports and from a local IP address.  IP packet
8706	security fix from Jeffrey C Honig <jch@BSDI.COM>.
8707
8708	* amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
8709	hard-coded 1024.  IP packet security fix from Jeffrey C Honig
8710	<jch@BSDI.COM>.
8711	(amqproc_mount_1_svc): provide information on the caller making an
8712	amq -M request.  IP packet security fix from Jeffrey C Honig
8713	<jch@BSDI.COM>.
8714
8715	* amd/map.c (free_map_if_success): If the program doing an unmount
8716	of a program filesystem fails, amd tries to interpret the return
8717	code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
8718
8719	* amd/info_nis.c (determine_nis_domain): don't always print
8720	warning about NIS domain name not being set, even if NIS is not in
8721	use.
8722
87231999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8724
8725	* amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
8726	(amu_ldap_search): initialize variable err.
8727
87281999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8729
8730	* libamu/wire.c: written using getifaddrs() for BSD systems,
8731	contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
8732
87331999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8734
8735	* include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
8736
8737	* aux/configure.in: check for irs.h and ifaddrs.h.
8738	Increase libamu.so --version-info to 3:1:1 since we've changed the
8739	source code for the library.
8740	Check for getifaddrs() function.
8741
87421999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8743
8744	* libamu/mount_fs.c (print_nfs_args): print fields namlen and
8745	bsize if they exist.
8746
8747	* conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
8748	and ->bsize fields correctly, if those fields exist.  This is a
8749	bug in that amd neglected to set these fields, but told the
8750	kernel it is mounting the nfs_args_t structure using mount version
8751	3 (which requires both bsize and namlen fields).
8752
8753	* aux/configure.in: test for two new nfs_args_t fields (used on
8754	newer linux with mount versions 2 and 3): bsize and namlen.
8755
8756	* doc/am-utils.texi (netgrpd Selector Function): document new
8757	selector function.
8758
8759	* amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
8760	test if the current host (fully-qualified name) is in the ARG host
8761	netgroup.  The netgrp() function uses the short form of a host
8762	name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
8763
8764	* doc/am-utils.texi (automount2amd): document new script.
8765
8766	* scripts/Makefile.am: create, install, and distribute
8767	automount2amd perl script and its man page.
8768
8769	* scripts/automount2amd.8: new man page for automount2amd.
8770
8771	* scripts/automount2amd.in: new file, contributed a in 1993 by
8772	Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
8773	any automount map options specified.
8774
87751999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8776
8777	* released snapshot am-utils-6.0.1s9
8778
87791999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8780
8781	* amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
8782	1.
8783	(amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
8784	(amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
8785	(u_int)~0.
8786
8787	* amd/mapc.c (make_entry_chain): NFS cookies should be
8788	monotonically increasing, because Linux 2.3 expects that, even
8789	though it is not in the spec (RFC-1094) for NFS V2.
8790
87911999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8792
8793	* aux/macros/check_lib_funcs.m4: removed unused macro.
8794
8795	* aux/macros/linux_headers.m4: new macro to ensure that linux
8796	kernel headers match running kernel version.
8797
8798	* aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
8799	amd is configured on linux hosts that run one kernel but have
8800	headers for a different version.
8801
8802	* amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
8803	logic which uses nis_isup and has_yp_order.  Make sure it is used
8804	correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
8805	Peter Breitenlohner <peb@mppmu.mpg.de>.
8806
8807	* include/am_defs.h: fix conflicts on linux 2.2 systems with older
8808	libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
8809
8810	* scripts/lostaltmail.in: use sockaddr_in(), not pack() to
8811	correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
8812	using pack() results in byte-misaligned values.
8813
88141999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8815
8816	* conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
8817	mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
8818	better macros for case statement.
8819
8820	* conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
8821	unless ldap is actually available.
8822
8823	* use updated config.guess and config.sub.  Use newer automake
8824	that fixes problems with distributing optional libamu files
8825	(clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
8826	and ualarm.c)
8827
88281999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8829
8830	* minor port i386-unknown-openbsd2.5
8831
88321999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8833
8834	* minor ports to freebsdelf 3.[0-2] and 4.0 completed
8835
8836	* aux/macros/check_nfs_prot_headers.m4: support freebsdelf
8837
8838	* aux/macros/check_nfs_socket_connection.m4: support freebsdelf
8839
88401999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8841
8842	* released snapshot am-utils-6.0.1s8
8843
88441999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8845
8846	* include/am_defs.h: avoid various header conflicts on
8847	RedHat/Linux 6.0 and kernels 2.2.10 or newer.
8848
8849	* aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
8850	kernel 2.2.10)
8851
8852	* amd/amfs_program.c (amfs_program_exec): make sure logfp is
8853	initialized dynamically to stderr if needed.
8854
8855	* libamu/xutil.c (dplog): make sure logfp is initialized
8856	dynamically to stderr if needed.
8857	(plog): ditto.
8858
8859	* amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
8860	not initialized.
8861
8862	* libamu/xutil.c: don't initialize logfp statically to stderr,
8863	because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
8864	be manipulated like a variable.
8865
8866	* include/am_defs.h: avoid more conflicts between <linux/fs.h> and
8867	<sys/mount.h> on 2.2 linux kernels.
8868	include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
8869
88701999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8871
8872	* all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
8873
8874	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
8875	renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
8876	won't attempt to add it to the header files to distribute.
8877
88781999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8879
8880	* aux/GNUmakefile: invoke aclocal with new --altdir flag.
8881
88821999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8883
8884	* minor new port: i386-unknown-netbsd1.4 (ALPHA)
8885
8886	* aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
8887	and <isofs/cd9660/cd9660_mount.h> because they are also included
8888	from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
8889	headers on netbsd-1.4_ALPHA.
8890
88911999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8892
8893	* aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
8894	sys_errlist extern doesn't end with [].
8895
8896	* aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
8897
88981999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8899
8900	* newer automake wants texinfo.tex to be in aux/ not doc/
8901
89021999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8903
8904	* amd/conf_parse.y: alloca support.
8905
8906	* fsinfo/fsi_gram.y: alloca support.
8907
8908	* libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
8909	needed.
8910
8911	* aux/configure.in: test for alloca support.  Needed because bison
8912	generates parsers that use alloca, and hpux9 does have alloca and
8913	its /bin/cc doesn't support it builtin (the way gcc does).
8914
8915	* libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
8916	verbatim from bison-1.25.
8917
8918	* include/am_defs.h: fixed typo #errir -> #error
8919
8920	* released snapshot am-utils-6.0.1s7
8921
8922	* README.y2k: more information about am-utils' compatibility, from
8923	Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
8924
8925	* scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
8926	compliant format.  Patch from Paul Balyoz
8927	<pbalyoz@sedona.ch.intel.com>
8928
8929	* doc/am-utils.texi (Supported Platforms): hpux10.20 could have
8930	nfs v.3 support (with some vendor patches), but it is turned off.
8931
8932	* aux/macros/os_cflags.m4: use ansi compiler options on hpux.
8933
8934	* conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
8935	confusing am-utils.  10.20 with some patches has incomplete
8936	support.  Patch from Jon Peatfield
8937	<J.S.Peatfield@damtp.cam.ac.uk>.
8938
89391999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8940
8941	* minor port i386-pc-bsdi4.0.1
8942
89431999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8944
8945	* doc/am-utils.texi (Supported Platforms): add forgotten listing
8946	for powerpc-linux.
8947
89481999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8949
8950	* scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
8951	<jch@BSDI.COM>.
8952
8953	* doc/am-utils.texi: document iso9660 options norrip, gens, and
8954	extatt.
8955	(opts Option): documented dumbtimr and noauto options.  From
8956	Jeffrey C Honig <jch@BSDI.COM>.
8957
8958	* include/am_compat.h: define default strings for options norrip,
8959	gens, and extatt.
8960
8961	* amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
8962	extatt.
8963
8964	* aux/macros/mount_headers.m4: also include
8965	<isofs/cd9660/cd9660_mount.h> as needed.
8966
8967	* aux/configure.in: check for isofs mount options for bsdi4:
8968	norrip, gens, and extatt.  Reported by Jeffrey C Honig
8969	<jch@BSDI.COM>.
8970
8971	* aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
8972	(bsdi4).
8973
89741999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8975
8976	* conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
8977
8978	* conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
8979	for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
8980
89811999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8982
8983	* get latest copies of config.guess, config.sub, ltconfig, and
8984	ltmain.sh from libtool-1.2f.
8985
8986	* all Makefile.am: don't use continuation lines (using \) for
8987	short lists of files.
8988
8989	* libamu/Makefile.am (DISTCLEANFILES): make distclean should
8990	remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
8991	Reported by Jeffrey C Honig <jch@BSDI.COM>.
8992
8993	* fixmount/Makefile.am (DISTCLEANFILES): make distclean should
8994	remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
8995
8996	* Makefile.am (DISTCLEANFILES): make distclean should remove
8997	amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
8998	Jeffrey C Honig <jch@BSDI.COM>.
8999
90001999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9001
9002	* released snapshot am-utils-6.0.1s6
9003
90041999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9005
9006	* INSTALL: document freebsdelf.
9007
9008	* doc/am-utils.texi (Supported Platforms): document freebsdelf.
9009
90101999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9011
9012	* minor new ports: i386-unknown-freebsdelf3.1 and
9013	i386-unknown-freebsdelf4.0
9014
9015	* aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
9016
9017	* aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
9018
9019	* aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
9020
9021	* amd/opts.c (eval_opts): changed log level of "executing
9022	negated..." message from USER to INFO, as per Guntram Wolski
9023	<gwolsk@sei.com>.
9024
90251999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9026
9027	* */Makefile.am (LDADD): force linking against an installed
9028	libamu.{a,so}.
9029
9030	* doc/am-utils.texi (addopts Option): document remopts interaction
9031	with addopts.
9032
9033	* amd/am_ops.c (ops_match): if addopts are specified, apply them
9034	to the value of remopts as well as opts.
9035
9036	* amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
9037
90381999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9039
9040	* released snapshot am-utils-6.0.1s5
9041
9042	* conf/mount/mount_linux.c (mount_linux): set default nfs_args
9043	options for ac{reg,dir}{min,man} as per the mount-2.8a package,
9044	but only if noac option was not used.
9045
90461999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
9047
9048	* conf/mount/mount_linux.c (mount_linux): print nfs_args again
9049	since it was updated.
9050	(mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
9051	and newer.  Bug was found by Neil Conway
9052	<nconway.list@ukaea.org.uk>
9053
90541999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9055
9056	* released snapshot am-utils-6.0.1s4
9057
90581999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9059
9060	* amq/amq.c (main): don't list -M as a valid amq option unless
9061	configure'd with --enable-amq-mount.
9062
9063Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9064
9065	* amd/nfs_start.c (amd_use_autofs): Define.
9066	(mount_automounter): Create autofs service listener only if
9067	necessary to avoid unnecessary clashes with e.g. automountd.
9068
9069	* amd/amd.h (amd_use_autofs): Declare.
9070
9071	* amd/conf.c (gopt_mount_type): Set amd_use_autofs.
9072	(ropt_mount_type): Likewise.
9073
90741999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9075
9076	* aux/macros/check_mnt2_nfs_opt.m4:: ditto
9077
9078	* aux/macros/check_mnt2_cdfs_opt.m4: ditto
9079
9080	* aux/macros/check_mnt2_gen_opt.m4: ditto
9081
9082	* aux/macros/check_mnttab_opt.m4: new macro in this file to loop
9083	over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
9084
9085	* conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
9086	nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
9087	christos@zoulas.com (Christos Zoulas).
9088
9089	* amd/info_hesiod.c: some forward declarations.  Patch from
9090	christos@zoulas.com (Christos Zoulas).
9091
90921999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9093
9094	* libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
9095	option if it was already in that state.  Patch from David
9096	Wolfskill <dhw@whistle.com>.
9097
90981999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9099
9100	* aux/configure.in: automake nowadays supports LTLIBOBJS (but not
9101	LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
9102	rebuild make rules.
9103
9104	* Makefile.am: new rules to remake libtool (maintainers only)
9105
9106	* amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
9107	if -D trace was used.
9108
91091999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9110
9111	* buildall: all if statements should have an else clause because
9112	of Ultrix's /bin/sh.
9113
91141999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9115
9116	* amq/amq.c: removed dummy variables.
9117
9118	* amq/pawd.c: removed dummy variable.s
9119
9120	* fixmount/fixmount.c (usage): removed dummy variables.
9121
9122	* fsinfo/fsinfo.c: removed dummy variables.
9123
9124	* hlfsd/hlfsd.c: removed dummy variables.
9125
9126	* wire-test/wire-test.c: removed dummy variables.
9127
9128	* mk-amd-map/mk-amd-map.c: removed dummy variables.
9129
9130	* doc/texinfo.tex: updates from GNU mirror.
9131
9132	* aux/GNUmakefile (../doc/texinfo.tex): new rule to update
9133	doc/texinfo.tex from GNU mirror.
9134
9135	* released snapshot am-utils-6.0.1s3
9136
9137	* Makefile.am (install-snapshot): better snapshot and new
9138	install-snapshot and test-snapshot rules (maintainer).
9139
9140	* amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
9141	args may be NULL.
9142	Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
9143	Bill Paul <wpaul@ctr.columbia.edu>
9144
91451999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9146
9147	* check for experimental generic 'ignore' mount flag on freebsd3.
9148
9149	* Update library -version-info to 3:0:1 (will result in 2.1.0 .so
9150	version, which is backwards compatible with older versions.)  Only
9151	one new interface was added to libamu.
9152
9153	* amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
9154	that are specific to automounter mounts.
9155
9156	* aux/configure.in: update libamu.so age and revision since a new
9157	interface was added to libamu/mount_fs.c
9158	(compute_automounter_mount_flags).
9159
9160	* libamu/mount_fs.c (compute_automounter_mount_flags): new
9161	function to compute generic mount flags that are specific to mount
9162	points only.
9163
9164	* aux/{configure.in,acconfig.h}: add support for generic mount
9165	entry ignore option.
9166
9167	* released snapshot am-utils-6.0.1s2
9168
9169	* amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
9170
9171	* libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
9172	of knc_semantics from u_long to u_int.
9173
9174	* aux/macros/check_mount_style.m4: freebsd3 no longer needs a
9175	special mount helper.
9176
91771999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9178
9179	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
9180	amu_nfs_conf.h should always be found in $top_builddir.
9181
9182Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9183
9184	* conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
9185	to avoid wrong reports from show_fstypes.
9186
9187	* conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
9188
9189	* conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
9190
9191Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9192
9193	* BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
9194
9195Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9196
9197	* hlfsd/homedir.c (delay): Cast child to long, adapt format.
9198	(hlfsd_getpwent): Likewise for pw_uid.
9199
9200	* amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
9201	format.
9202
9203	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
9204	tv_sec to int to match format.
9205	(get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
9206	formats.
9207
9208	* amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
9209	long, adapt format.
9210
9211	* include/am_defs.h: Handle __attribute__ if available.  From
9212	GNU fileutils 4.0 lib/errors.h.
9213
9214Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9215
9216	* libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
9217	match format.
9218
9219	* hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
9220	adapt format.
9221	(nfsproc_lookup_2_svc): Likewise.
9222	(nfsproc_readlink_2_svc): Likewise for userid, groupid.
9223
9224	* hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9225	format.
9226
9227	* hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
9228	format.
9229
9230	* amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
9231	long, adapt format.
9232
9233	* amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
9234	unsigned long, adapt format.
9235	(got_nfs_fh): Likewise.
9236	(prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
9237	format.
9238	(call_mountd): Likewise, mnt_version also.
9239	(mount_nfs_fh): Likewise.
9240
9241	* amd/ops_autofs.c (autofs_program_1): Cast args to int to match
9242	format.
9243	(autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
9244	unsigned long, adapt formats.
9245	(autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
9246	(autofs_bgmount): Use long format to match arg.
9247	(autofs_lookuppn): Removed superfluous arg.
9248
9249	* amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
9250	format.
9251	(got_portmap): Likewise for port.
9252	(recompute_portmap): Likewise for fs->fs_version, mnt_version.
9253	(find_nfs_srvr): Likewise for nfs_version.
9254
9255	* amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
9256	format.
9257
9258	* amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
9259	to unsigned long, adapt format.
9260	Cast tvv.tv_sec to int to match format.
9261
9262	* amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9263	format.
9264
9265	* amd/map.c (root_fh): Cast pid to long, adapt format.
9266	(timeout_mp): Cast time_t to long, adapt format.
9267
9268	* amd/clock.c (reschedule_timeouts): Use long format, cast time_t
9269	arg.
9270
9271	* amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
9272	match format.
9273	(amfs_host_fmount): Likewise.
9274	(amfs_host_umounted): Likewise.  Removed superfluous arg.
9275
9276	* amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
9277	long, adapt format.
9278	(amfs_auto_bgmount): Use long format, cast time_t arg.
9279	(amfs_auto_lookuppn): Removed superfluous arg.
9280
9281	* amd/amd.c (main): Cast geteuid() result to long, adapt format.
9282
9283	* conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
9284	to int to match format.
9285
9286	* include/am_utils.h: Declare plog, dplog as printf-like.
9287
9288	* conf/mount/mount_irix6.c (mount_irix): Print type as char *.
9289
9290Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9291
9292	* amd/info_hesiod.c (hesiod_isup): New function.
9293	* amd/mapc.c (maptypes): Add it.
9294
92951999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9296
9297	* released snapshot am-utils-6.0.1s1
9298
92991999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9300
9301	* ALL: bump copyright year to 1999.
9302
9303Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9304
9305	* aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
9306	too.
9307
9308	* aux/macros/check_mtype_printf_type.m4: Adapt corresponding
9309	printf type.
9310
9311Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9312
9313	* aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
9314
9315	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
9316
9317	* conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
9318
9319	* conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
9320
9321	* Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
9322	automake.
9323
9324Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9325
9326	* aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
9327	in current automake.
9328
9329Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9330
9331	* doc/am-utils.texi: Added some missing inter-punctation after
9332	@xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
9333	from texinfo 3.12b.
9334
93351999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9336
9337	* doc/texinfo.tex: updated off of latest GNU mirror.
9338
93391999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9340
9341	* doc/am-utils.texi (Supported Platforms): update platforms that
9342	support NFS v.3.  Nicer postscript printing on double-sided pages.
9343
9344	* amd/info_hesiod.c: add extern definition for hesiod_init()
9345
93461999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9347
9348	*******************************************************************
9349	*** Released am-utils-6.0					***
9350	*******************************************************************
9351
93521998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9353
9354	* conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
9355
93561998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9357
9358	* conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
9359	bsdi4 for NFS V3/nfs mounts.
9360
93611998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9362
9363	* using latest libtool (1.2e + patches), now supporting shared
9364	libraries on many more systems.  Also using latest autoconf and
9365	automake (unreleased GNU CVS'd versions.)
9366
9367	* minor new ports: hppa2.0w-hp-hpux11.00,
9368	i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
9369
9370	* fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
9371	have /usr/bin/flex but not libfl.
9372
93731998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9374
9375	* lots of code cleanup, to make sure libamu.so does not use
9376	undefined symbols.  Some system's shared libraries cannot handle
9377	that.
9378
93791998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9380
9381	* include/am_defs.h: only defined seteuid extern if function also
9382	exists and is not superceded by setresuid (hpux).
9383
9384	* amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
9385	braces to avoid confusion with nested if-then-else clauses.
9386
9387	* aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
9388	updated from latest versions.
9389
93901998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9391
9392	* minor new port: i386-pc-bsdi4.0
9393
9394	* conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
9395	definitions for bsdi4.
9396
9397	* {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
9398	some make programs (bsdi4) do not support VPATH correctly.
9399
94001998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9401
9402	* conf/mount/mount_aix.c: minor code cleanup
9403
9404	* aux/configure.in: check for extern definition to xdr_groups.
9405
94061998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9407
9408	* minor new port: powerpc-ibm-aix4.3.1.0
9409
9410	* aux/macros/*.m4: updates for aix 4.3
9411
94121998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9413
9414	* minor new port: i386-unknown-openbsd2.4
9415
9416	* aux/configure.in: don't check for xfs on openbsd because
9417	openbsd-2.4 introduces a new file system named xfs, but different
9418	than Irix's XFS.  Sigh.
9419
9420	* minor new port: i386-unknown-freebsd2.2.8
9421
94221998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9423
9424	* amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
9425	name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
9426
94271998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9428
9429	* scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
9430	avoid race conditions when shutting down systems running amd.
9431
9432	* Makefile.am: add a dist-hook to change modes of the directories
9433	in the tar file so they are not world writable.
9434
9435	* conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
9436	since it is now finally defined in the header files and
9437	(hopefully) stable.
9438
9439	* amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
9440	is specified in mount options.  freebsd patches from David
9441	O'Brien.
9442
9443	* amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
9444	(main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
9445	amd/get_args.c (get_args): posix: use -1 to check for return from
9446	getopt() (not EOF), as per posix.
9447
9448	* amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
9449	O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
9450	real variable whose pointer is on the stack for decoding a long
9451	int.
9452
94531998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9454
9455	* scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
9456	chkconfig utility.
9457
94581998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9459
9460	* released snapshot am-utils-6.0b2s3
9461
9462	* conf/transp/transp_sockets.c (create_nfs_service): remove C++
9463	style comments.
9464
94651998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9466
9467	* released snapshot am-utils-6.0b2s2
9468
9469	* created CVS package
9470
9471	* amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
9472	condition between unmounting and re-mounting an entry, by
9473	increasing the ttl of a looked up entry before unmounting it.
9474	Patch from Mike Mitchell <mcm@unx.sas.com>.
9475
9476	* All files: spell comments and strings.
9477
94781998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9479
9480	* aux/configure.in: look for yp_all in libnsl only if yp_all not
9481	already found elsewhere (in libc or other default libraries).
9482	This is so RedHat 5.1 systems could find yp functions in libnsl,
9483	but also so AIX 4.2.1 will NOT include libnsl, because the latter
9484	has broken nis functionality that also exists and works ok in libc.
9485
94861998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9487
9488	* amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
9489	from Danny Rathjens <dkr@cs.fiu.edu>.
9490
94911998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9492
9493	* released snapshot am-utils-6.0b2s1
9494
94951998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9496
9497	* aux/macros/*.m4: support bsdi4 as bsdi3.
9498
9499	* aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
9500	2.7 (libraries located in /usr/lib/fn).  This is off until Sun
9501	includes LDAP header information.
9502
95031998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9504
9505	*******************************************************************
9506	*** Released am-utils-6.0b1					***
9507	*******************************************************************
9508
95091998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9510
9511	* mk-amd-map/mk-amd-map.c (main): use perror not strerror.
9512	(main): set return type to int if no ndbm maps.
9513
9514	* include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
9515	kernels.
9516
95171998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
9518
9519	* A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
9520	for netbsd 1.3.2.
9521
95221998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9523
9524	* aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
9525	systems put NIS functions there.
9526
9527	* mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
9528	<obrien@NUXI.com> merged in.  Use POSIX -1 return code from
9529	getopt(), not EOF.  Use .db extentions for systems that use it,
9530	instead of .{pag,dir}.
9531
95321998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9533
9534	* wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
9535	amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
9536	"David O'Brien" <obrien@NUXI.com>.
9537
9538	* scripts/amd.conf.5: minor typo reported by "David O'Brien"
9539	<obrien@NUXI.com> in .TH section of man page.
9540
9541	* amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
9542	from Thomas Richter <richter@chemie.fu-berlin.de>.
9543
95441998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9545
9546	* doc/am-utils.texi (Program Filesystem): minor typo fixed as per
9547	Andreas Stolcke <stolcke@speech.sri.com>.
9548
9549	* minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
9550	and sparc-sun-solaris2.7.
9551
9552	* conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
9553	a 4.4lite kernel, and somethings were removed, such as
9554	INITMOUNTNAMES.
9555
9556	* amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
9557	processing /defaults.  Free temporary opts.  Patch from
9558	dsr@mail.lns.cornell.edu (Daniel S. Riley)
9559
9560	* amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
9561	processing /defaults.  Free temporary opts.  Patch from
9562	dsr@mail.lns.cornell.edu (Daniel S. Riley)
9563
9564	* conf/mtab/mtab_osf.c (read_mtab): patch from
9565	 dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
9566	 uninitialized memory on Digital Unix.
9567
95681998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9569
9570	* aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
9571	systems now use "char *" as their mount type.
9572
95731998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9574
9575	* amd/conf.c (gopt_map_type, ropt_map_type): check if map type
9576	exists.
9577
9578	* amd/mapc.c (mapc_type_exists): function to test if a map of
9579	certain type exists.
9580
95811998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
9582
9583	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9584	include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
9585	in RH-5.1 sparc64 between <netinet/in.h> and
9586	<linux/byteorder/generic.h> (2.1 kernels).
9587
95881998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9589
9590	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
9591	5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
9592	from yp_all().
9593
95941998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9595
9596	* conf/mount/mount_linux.c (parse_opts): check for pcfs support
9597	only if autoconfigured.
9598
95991998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9600
9601	* Makefile.am (EXTRA_DIST): distribute README.yk2 file.
9602
9603	* README.y2k: explain y2k compliance status of am-utils.
9604
96051998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
9606
9607	* amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
9608	amfs_host_umounted): clnt_sperrno() may return a const.
9609
9610Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9611
9612	* aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
9613	Zoulas. Turned on checking for mount options: async, synchronous,
9614	deadthresh, leasterm, nqnfs, and readahead.
9615
9616	* amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
9617	to include prototype definition for nis_isup().
9618
9619Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9620
9621	* hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
9622
9623Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9624
9625	* released snapshot am-utils-6.0a17s1
9626
9627Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9628
9629	* aux/macros/host_macros.m4: all x86 hosts should have $arch be
9630	i386, not i[456]86.
9631
9632Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9633
9634	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9635	include/am_defs.h: include <linux/posix_types.h> before
9636	<linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
9637	headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
9638	__KERNEL_STRICT_NAMES).
9639
9640	* aux/configure.in: check for <linux/posix_types.h> because it is
9641	need for RedHat 5.1.
9642
9643Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9644
9645	* scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
9646	.in as well, so it doesn't get removed by make clean.
9647
9648Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9649
9650	* aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
9651	check_mount_type.m4}: redhat 5.1 puts some modules in
9652	/lib/modules/preferred/.
9653
9654Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9655
9656	* amd/ops_autofs.c (mount_autofs): cast pid to long.
9657
9658Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9659
9660	* conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
9661	conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
9662	avoid amd/am_ops.c (show_fstypes) from erroneously claiming
9663	support.
9664
9665Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9666
9667	* libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
9668	unconditionally, may be missing on Ultrix V4.3.
9669
9670Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9671
9672	* conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
9673	missing from <sys/mntent.h>.
9674
9675	* conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
9676	without KERNEL defined here.
9677
9678	* aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
9679	<cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
9680	ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
9681
9682	* amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
9683
9684	* ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
9685	Removed purely local (and obsolete) entry.
9686
9687Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9688
9689	*******************************************************************
9690	*** Released am-utils-6.0a16					***
9691	*******************************************************************
9692
9693Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9694
9695	* aux/macros/check_mount_style.m4: define freebsd3 mount style.
9696
9697	* aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
9698
9699	* aux/macros/check_mtype_printf_type.m4,
9700	aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
9701	of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
9702	integers, but I'll keep them as integers and do the mapping in
9703	conf/mount/mount_freebsd3.c
9704
9705	* minor new port to i386-pc-bsdi3.1.
9706
9707	* minor new port to i386-unknown-netbsd1.3.1.
9708
9709	* amd/opts.c: new option addopts:=ARG, which smartly merges ARG
9710	options with whatever the /default ones for a key are.  This
9711	allows adding or overriding /default options individual keys.
9712
9713	* amd/am_ops.c (ops_match): strdup/malloc string assigned to
9714	opt_opts because it'll get free()'d upon next use.
9715	(merge_opts): new function to merge two sets of options.
9716	(ops_match): if addopts option exist, append and merge it to the
9717	current default options.
9718
9719Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9720
9721	* wire-test/wire-test.c (main): use dynamically allocated returned
9722	string with list of interfaces.
9723
9724	* amd/get_args.c (get_version_string): allocate enough space for
9725	header version string and a list of network interfaces of any
9726	length.
9727
9728	* libamu/wire.c (print_wires): return dynamically allocated string
9729	containing list of networks.  Must be dynamic because some sites
9730	had potentially dozens of network interfaces.  Patch from Matthew
9731	Crosby <mcrosby@ms.com> slightly modified.
9732
9733Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9734
9735	* conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
9736	irix 5.3 does not have full header definitions for it.
9737
9738	* fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
9739	undefined it when not needed (similar to amd/conf_tok.l)
9740
9741	* hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
9742	of these to unsigned short (because uid_t on some linux systems is
9743	small).
9744
9745	* released snapshot am-utils-6.0a16s10
9746
9747	* doc/am-utils.texi (opts Option): documented resvport mount
9748	option.
9749
9750Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9751
9752	* doc/am-utils.texi (-D-Option): document behavior of -D info and
9753	especially what it does to hesiod (turn on RES_DEBUG).
9754
9755	* scripts/amd.conf.5: document info debugging option.
9756
9757	* libamu/xutil.c (dbg_opt): parse info debugging option.
9758
9759	* include/am_utils.h (D_INFO): define new trace option.
9760
9761	* Makefile.am (EXTRA_DIST): include list of official mirrors in
9762	distribution.
9763
9764	* libamu/wire.c (SIZE): in the simple case, just compute
9765	sizeof(struct ifreq).
9766
9767Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9768
9769	* amd/amd.c (daemon_mode): set a temporary secure umask(0022)
9770	before writing log file and restore it afterwards.  Patch from
9771	Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9772
9773	* amd/get_args.c (get_args):
9774
9775	* doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
9776	file specified by -F is always processed last.
9777
9778	* amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
9779	won't be reused.  Allows startup script to redirect stdout.  Patch
9780	from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9781
9782	* libamu/xutil.c (switch_to_logfile): compare logfile name and
9783	syslog string with correct length.  Patch from Donald Buczek
9784	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9785
9786	* amd/restart.c (restart): correctly inherit existing NFS V.3
9787	mounts upon restart.  Patch from Donald Buczek
9788	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9789
9790Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9791
9792	* using libtool 1.2 and automake 1.3 (with my patches).
9793
9794	* aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
9795	AMU_CFLAGS to avoid conflicts with automake-1.3.
9796
9797Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9798
9799	* converted to using libtool-1.2.
9800
9801Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9802
9803	* fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
9804	for loop (ITER) which used to run only to initialize the variable
9805	dd once and then break; with a simple assignment.
9806
9807	* hlfsd/hlfsd.h: cleanup so it compiles with Solaris
9808	/opt/SUNWspro/bin/cc, and use gid_t not int.
9809
9810	* amd/mapc.c (mapc_sync): don't dereference pointer (so it
9811	compiles with Solaris /opt/SUNWspro/bin/cc)
9812
9813Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9814
9815	* aux/config.{guess,sub}: used from gcc-2.8.1.
9816
9817Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9818
9819	* released snapshot am-utils-6.0a16s9
9820
9821	* INSTALL, doc/am-utils.texi (Supported Platforms): updated names
9822	based on new output of new config.guess.
9823
9824	* aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
9825
9826	* amd/amd.8,doc/am-utils.texi: document correct usage of default
9827	/etc/amd.conf file.
9828
9829	* fixmount/fixmount.c (inetresport,privsock): use some more
9830	portable code from amq/amq.c.
9831
9832	* amd/get_args.c (get_args): use default /etc/amd.conf file only
9833	if no arguments had been passed to amd.
9834
9835	* fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
9836	ala amq/amq.c so that fixmount will work on both types of systems.
9837
9838	* amq/amq.c (main): do no close tcp socket before running udp try,
9839	because we're not sure if it was opened at all.
9840
9841	* mips-dec-ultrix* port merged in and cleaned up.
9842
9843	* aux/configure.in: up minor shared library revision number, since
9844	it has changed enough.
9845
9846	* hlfsd/hlfsd.c (main): don't check for overlay mount option here,
9847	as it is now done in compute_nfs_args().  Remove ultrix specific
9848	code also because it was moved to compute_nfs_args().
9849
9850	* conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
9851	we have more generic code in print_nfs_args().
9852
9853	* libamu/mount_fs.c (print_nfs_args): print maxlen of
9854	nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
9855	struct knetconfig from nfs_args->knconf.
9856
9857	* aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
9858	headers here, but in try_compile_anyfs.m4.
9859
9860	* aux/macros/type_ufs_args.m4: move test for struct ufs_specific
9861	(for ultrix) here from its own macro.
9862
9863	* aux/macros/type_cdfs_args.m4: move test for struct iso_specific
9864	(for ultrix) here from its own macro.
9865
9866	* amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
9867	for overlay mount option.  Remove code which checks for overlay
9868	option, as it is now done in compute_nfs_args().
9869
9870	* libamu/mount_fs.c (compute_mount_flags): move here code which
9871	checks for overlay mount option which was in amd/amfs_toplvl.c:
9872	mount_amfs_toplvl().
9873
9874Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
9875
9876	* The following are Rainer's ChangeLog entries for his ultrix
9877	port, added manually. -Erez.
9878
9879	* merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
9880	(mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
9881
9882	* include/am_defs.h: include cdfs specific mount headers
9883	avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
9884
9885	* include/am_compat.h: define several mount options corresponding
9886	to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
9887	noversion, rrip (cdfs), nocache, quota, sync (generic) removed
9888	duplicate MNTTAB_OPT_RO definition
9889
9890	* aux/macros/try_compile_anyfs.m4: include Ultrix specific
9891	ufs/cdfs mount headers
9892
9893	* aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
9894	specific mount headers
9895
9896	* aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
9897	mount types in mount headers (Ultrix)
9898
9899	* aux/configure.in: Ultrix/Digital UNIX specific checks: new
9900	headers, mount structures and fields, filesystem and mount types,
9901	mount flags
9902
9903	* aux/acconfig.h: placeholders for new mount options: quota
9904	(generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
9905	cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
9906	structures
9907
9908	* amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
9909	ufs_args.ufs_flags and has ufs specific pgthresh option
9910
9911	* amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
9912	CDFS mount flags and options
9913
9914	* amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
9915	hlfsd/hlfsd.c (main): store generic mount flags in
9916	nfs_args.gfs_flags, handle separate NFS ro flag
9917
9918	* aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
9919	struct_ufs_specific}.m4: new files; check for Ultrix specific
9920	mount structures
9921
9922	* conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
9923
9924	* aux/macros/type_auth_create_gidlist.m4 (ultrix*):
9925	AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
9926	comment in <rpc/auth.h>
9927
9928	* include/am_defs.h: #define KERNEL to avoid definition of
9929	gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
9930	<config.h> to force single definition here
9931
9932	* libamu/mount_fs.c (compute_nfs_args): Ultrix support for
9933	nfs_args.gfs_flags moved to callers store mount options in
9934	nap->optstr
9935
9936	* include/am_defs.h: fix _am_mntent mnt_{type, opts} field
9937	descriptions
9938
9939	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
9940	include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
9941	definition in prototypes
9942
9943	* aux/macros/mount_headers.m4: include <sys/errno.h> before
9944	AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
9945	definitions
9946
9947	* conf/nfs_prot/nfs_prot_ultrix.h: new file
9948
9949	* aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
9950
9951	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
9952	aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
9953	inclusion of <rpc/xdr.h>
9954
9955Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9956
9957	* aux/configure.in: save state of config.cache and confdefs.h
9958	(as dbgcf.h) at various points of the configure.
9959
9960	* aux/macros/save_state.m4: new macro to save state of configure,
9961	esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
9962	cache variables that are known so far.
9963
9964	* released snapshot am-utils-6.0a16s8
9965
99661998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
9967
9968	* fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
9969	it, but only for flex.
9970
9971Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9972
9973	* hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
9974	to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
9975	to write the dump file.
9976
9977	* doc/am-utils.texi,amd/opts.c: rename all references to nomadic
9978	functions to boolean functions, which is what they really are.
9979
9980	* aux/configure.in: don't look for strcasecmp in libucb at all,
9981	but rather complete it from libamu/strcasecmp.c as needed.
9982
9983Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9984
9985	* conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
9986
9987	* libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
9988	which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
9989	Schmidt <tschmidt@micron.com>.
9990
9991	* released snapshot am-utils-6.0a16s7
9992
9993	* conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
9994	hppa1.0-hp-hpux11.00.tgz.
9995
9996Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9997
9998	* converted all sources to use mntent field names, and map mnttab
9999	field names to mntent's.
10000
10001	* include/am_defs.h (mnt_special): map struct mnttab field names
10002	to struct mntent field names.
10003
10004	* aux/macros/check_mount_trap.m4: hpux11's mount trap style is
10005	identical to svr4/solaris2.
10006
10007	* aux/macros/check_mount_style.m4: hpux11's mount style is
10008	identical to svr4/solaris2.
10009
10010	* aux/macros/check_network_transport_type.m4: hpux11 is a TLI
10011	system!
10012
10013	* aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
10014	dereferencing style is same as svr4.
10015
10016	* aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
10017	dereferencing style is same as svr4.
10018
10019	* conf/transp/transp_tli.c (create_nfs_service): if failed to
10020	getnetconfigent() of ticlts, then try udp (hpux11).
10021
10022	* conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
10023	struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
10024	2.5.1 (HP used them).
10025
10026	* amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
10027	because hpux11 doesn't like it. if t_open failed, print error
10028	based on t_errlist, not sys_errlist.
10029
10030Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10031
10032	* doc/am-utils.texi: lots of documentation fixes from Rainer Orth
10033	<ro@TechFak.Uni-Bielefeld.DE>.
10034
10035Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
10036
10037	* fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
10038	later.
10039
10040	* include/am_defs.h: defined the extern for ualarm() if it isn't
10041	found, regardless if the function isn't found in standard
10042	libraries, because otherwise libamu will include it.
10043
100441998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
10045
10046	* initial port to hpux-11 completed.  Compiles cleanly, but
10047	probably does not work, because of missing NFS V.2/3 headers.
10048
10049	* amd/conf_tok.l: cast yytext to char* when passed to strlen and
10050	strdup, for hpux-11's ansi-cc compiler.
10051
10052	* include/am_utils.h: renamed all xfree() to XFREE() to avoid
10053	conflict with hpux-11's system headers.  Also move (voidp) cast
10054	from sources to inside the macro itself.
10055
10056Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10057
10058	* released snapshot am-utils-6.0a16s6
10059
10060	* amd/info_nis.c (nis_isup): new function to test if NIS is up
10061	without hanging amd.  Used to ensure that amd does not clear the
10062	maps when the expiration period arrived, if the service is down.
10063	Otherwise it would be left with empty maps.  It is better to stay
10064	with possibly old information than none at all.
10065
10066	* amd/mapc.c (mapc_sync): check to see if map service is up.
10067
10068Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10069
10070	* aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
10071	includes auxiliary library only if needed.
10072
100731998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10074
10075	* amd/conf_tok.l: undefine ECHO again, so it doesn't get used
10076	later.
10077
10078Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
10079
10080	* conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
10081	completed.
10082
10083	* conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
10084
10085Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10086
10087	* doc/am-utils.texi (Network Host Filesystem): correct example for
10088	type:=host map.
10089
10090	* aux/macros/os_cflags.m4: only osf4 should compile with
10091	-D_SOCKADDR_LEN.
10092
10093	* aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
10094	and OSF4.
10095
10096	* BUGS: include a new file listing known bugs.
10097
10098Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10099
10100	* conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
10101	versions.
10102
10103	* aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
10104	size_t for recvfrom fromlen arg.
10105
10106Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10107
10108	* scripts/ctl-hlfsd.in: turn -D fork so primary process never
10109	hangs.
10110
10111Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10112
10113	* include/am_defs.h: don't include <sys/stat.h> and
10114	<linux/stat.h>, just remaining definitions in <statbuf.h>
10115
10116Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10117
10118	* released snapshot am-utils-6.0a16s5
10119
10120	* conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
10121	mount(2).
10122
10123	* check for <sys/fs/xfs_clnt.h> and include it when needed.
10124
10125	* conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
10126	efs and xfs separately from "ufs".
10127
10128	* amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
10129
10130	* aux/configure.in: look for irix efs and xfs file systems.
10131
10132	* scripts/amd.conf.5: new unmount_on_exit option documented.
10133
10134	* doc/am-utils.texi (unmount_on_exit): new option documented.
10135
10136	* amd/conf.c (gopt_unmount_on_exit): new function to handle new
10137	amd.conf option.
10138
10139	* amd/map.c (umount_exported): if global amd.conf flag
10140	unmount_on_exit is on, then try to unmount all mounted (or
10141	restartable) file systems.
10142
10143	* amd/amd.c: if print_pid option is on, then normally print it to
10144	stdout.  If also pid_file is specified, then print the process ID
10145	into that file.
10146
10147	* amd/get_args.c (get_args): print correct -l option depending if
10148	system supports syslog and/or syslog facilities.  Patch from
10149	Tom Schmidt <tschmidt@micron.com>.
10150
10151	* doc/am-utils.texi (opts Option): updates for documentation for
10152	new cdfs options defperm, nodefperm, noversion, rrip.
10153
10154	* amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
10155	nodefperm, noversion, rrip.
10156
10157	* conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
10158	on osf.
10159
10160	* aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
10161	expand_cpp_string.m4}: use #error to make failed compilations
10162	fail faster, rather than have the program fail during a run.
10163
10164	* include/am_compat.h: added a few new cdfs options: rrip,
10165	noversion, defperm, and nodefperm (used in OSF).
10166
10167Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10168
10169	* released snapshot am-utils-6.0a16s4
10170
10171	* doc/am-utils.texi (Global Parameters): update manual for new
10172	amd.conf global variable hesiod_base.
10173
10174	* scripts/amd.conf.5: update man page for new amd.conf global
10175	variable hesiod_base.
10176
10177	* amd/get_args.c (get_args): use /etc/amd.conf file if exists by
10178	default, else try command line options.  Patch from Randall
10179	S. Winchester <rsw@Glue.umd.edu>.
10180
10181Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10182
10183	* amd/info_hesiod.c (hesiod_search), amd/conf.c
10184	(gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
10185	included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
10186	support a hesiod base name in the amd.conf file.
10187
10188	* doc/am-utils.texi (pid_file Parameter): document new global
10189	amd.conf parameter.
10190
10191	* scripts/amd.conf.5: document new global option pid_file.
10192
10193	* amd/amd.c (daemon_mode): if cannot open pid_file, continue to
10194	run, but print error message.
10195
10196	* amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
10197	init_global_options): Included patch from Randall S. Winchester
10198	<rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
10199
10200	* amd/get_args.c (get_args): correct usage info on amd -t.
10201
10202	* amd/*.c: massive file name and symbol name changes.  All amd
10203	file systems files and symbols are prefix with amfs_*.  Now using
10204	real name of file system: amfs_auto instead of afs, amfs_inherit
10205	instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
10206	clear distinction between amd file system and generic ones like
10207	nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
10208	f/s) and DFS (Distributed f/s).
10209
10210	* amd/amfs_union.c: unionfs for amd is always defined, no need to
10211	#ifdef it.
10212
10213Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10214
10215	* libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
10216	or off, based on the particular quirks of the OS in question.
10217
10218	* aux/macros/check_nfs_socket_connection.m4: new macro to set the
10219	correct wait of handling un/connected NFS sockets.
10220
10221	* scripts/wait4amd.in: use rlogin instead of rsh.
10222
10223	* amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
10224	-v, always show "nfs3" for NFS V.3.
10225
102261998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10227
10228	* lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
10229	more picky than 2.7.2.3 did.
10230
102311998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10232
10233	* include/am_utils.h (dlog): amuDebug macros reduced to shorter
10234	forms.
10235
10236Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
10237
10238	* released snapshot am-utils-6.0a16s3
10239
10240	* include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
10241	in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
10242	must not, fake a definition for varargs.
10243
10244Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10245
10246	* README: show how to configure in additional support such as
10247	hesiod using various --enable-* flags.
10248
10249Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10250
10251	* aux/configure.in: look for strcasecmp(), and replace it if not
10252	available.
10253
10254	* amd/ops_nfsl.c (nfsl_match): host names should be compared using
10255	case insensitive.
10256
10257	* amd/opts.c: for each map variable, define if the comparison
10258	needs to be done case insensitive.
10259
10260	* include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
10261	Patch from Thomas Richter <richter@chemie.fu-berlin.de>
10262
102631998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
10264
10265	* aux/configure.in: look for "isofs" as a possible mount type for
10266	cdfs (RedHat Linux).
10267
10268Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10269
10270	* conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
10271	type if not defined.
10272
10273	* conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
10274	already defined.
10275
10276	* aux/configure.in: look for ext2fs before ufs, b/c some linux
10277	have both.
10278
10279Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10280
10281	* Makefile.am (snapshot): allow me to install snapshots into the
10282	ftp directory.
10283
10284	* scripts/ctl-hlfsd.in: don't turn on -D mem by default.
10285
10286	* amd/get_args.c (get_args): minor bug in output of amd -H.
10287
10288Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10289
10290	*******************************************************************
10291	*** Released am-utils-6.0a15					***
10292	*******************************************************************
10293
10294Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10295
10296	* amd/conf.c (*_browsable_dirs): allow specifying
10297	browsable_dirs=full, which will print *all* entries (other than
10298	/default), including  those with '*' and '/' characters.
10299
10300	* amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
10301	to 1500.
10302
10303	* doc/am-utils.texi: fixed reversed documentation for NFS mount
10304	options vers and proto.
10305
10306	* doc/Makefile.am (install-html): separate target just for
10307	installing html files.  Another new target "alldocs" is just for
10308	installing all files needed for the am-utils home page.
10309
10310	* scripts/amd.conf-sample: updated example for log_file.
10311
10312	* scripts/amd.conf.5: updated for new way to declare new syslog
10313	facility in the log_file option.
10314
10315	* amd/amd.8: updated for new way to declare new syslog facility in
10316	the -l option.
10317
10318	* libamu/xutil.c (get_syslog_facility): allow users to specify the
10319	syslog facility as an appended string to the log device.  Ex. amd
10320	-l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
10321	will use the default LOG_DAEMON facility.
10322
10323	* amd/get_args.c (get_args): updated new syntax for amd -l
10324	syslog:facility.
10325
10326Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10327
10328	* aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
10329	(intel).
10330
10331	* libamu/wire.c (print_wires): bug fix.  Nullify output buffer
10332	before appending to it, on systems with two or more network
10333	interfaces.
10334
10335	* conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
10336	the mntent for cachefs.
10337
10338	* include/am_defs.h: external definition for strstr() should use
10339	const for both arguments.
10340
10341	* aux/configure.in: add extern definitions for getwd() if missing.
10342
10343	* include/am_defs.h: define the extern for strdup() even if the
10344	function does not exist, for it will be filled in by
10345	libamu/strdup.c
10346
10347	* amq/pawd.c (cluster_server): don't use getccent() if the extern
10348	for it isn't there.  On hpux 10.20, the function is in libc, but
10349	<cluster.h> and struct cct_entry do not exist.
10350
10351	* aux/configure.in: check for an extern for getccent() b/c some
10352	hpux systems don't have it (hpux 10.20).
10353
10354Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10355
10356	* doc/am-utils.texi (Amq -T option): manual documentation updates
10357	for new amq options -T/-U.
10358
10359	* amq/amq.8: updated man page for new amq options -T/-U.
10360
10361	* amq/amq.c: two new switches to amq. -U will contact amd using
10362	UDP only.  -T will use TCP only.  Normally amq will try TCP and
10363	if that failed, will try UDP.
10364
10365	* doc/am-utils.texi (pawd): manual documentation for pawd.
10366
10367	* amq/pawd.1: new man page for pawd.
10368
10369Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10370
10371	* amq/pawd.c: a new program, Print Automounter Working Directory,
10372	to print the proper pathname of the cwd or any other pathname,
10373	adjusted for automounter paths, while avoiding mount points.
10374
10375	* aux/macros/localconfig.m4: trivial support for am-utils
10376	maintainers to adjust some of the configuration of am-utils after
10377	it has been auto-configured by putting whatever definitions you
10378	wish in a file called localconfig.h, located in the top build
10379	directory (the same one where config.h is created for you).
10380
10381	* doc/am-utils.texi (Caching Filesystem): updated documents for
10382	cachefs file system.
10383
10384	* amd/ops_cachefs.c: initial cachefs support, for solaris.
10385	type:=cachefs, requires cachedir:=/cache/dir/name to be defined
10386	and initialized with cfsadmin -c.  $rfs is backdir to be cached
10387	from, and $fs is the local mount point of the cachefs.
10388
10389	* conf/mount/mount_svr4.c (mount_svr4): support mounting of
10390	cachefs file systems.
10391
10392	* amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
10393	mnttab type is.
10394
10395Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10396
10397	* amd/opts.c: added support for new variable $cachedir.
10398
10399	* include/am_utils.h: added opt_cachedir field to struct am_opts.
10400
10401Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10402
10403	* amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
10404	local hostname does not match $rhost, and if so, also assume
10405	type:=nfs.
10406
10407Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10408
10409	* updated all source files to add 1998 as a copyright year.
10410
10411	* amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
10412	like type:=linkx if the pathname denoted by $fs exists, and like
10413	type:=nfs if it does not.  A convenient shortcut for the most
10414	popular amd map entry.
10415
10416	* amd/amd.c (main): amd should chdir to / before starting, to
10417	avoid hanging on other NFS server if started elsewhere.
10418
10419	* amd/ops_TEMPLATE.c: added an empty template file for developers
10420	who wish to write new amd pseudo file systems.
10421
10422Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10423
10424	* hlfsd/homedir.c (plt_init): make function exported, to save on
10425	the unnecessary init_homedir() function which was removed.
10426	(table_add): don't use xmalloc() when you can use strdup()
10427	instead.
10428
10429Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10430
10431	* hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
10432	because we will be making more passwd calls afterwards.  On
10433	Solaris 2.5.1, making getpwent() calls after calling endpwent()
10434	results in a memory leak! (and no, even Purify didn't detect
10435	it...)
10436
10437Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10438
10439	* hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
10440	automatically allocated address.
10441
10442	* amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
10443	automatically allocated address.
10444
10445	* ALL SOURCES: change every direct call to free() to xfree(), so
10446	it can be mapped to the right debugging function as needed.
10447
10448	* include/am_utils.h: new free() policy.  If debugging memory,
10449	call dxfree(), which will print the file name and line number
10450	where the free occurred and the pointer address.  if only regular
10451	debugging, then free() and reset  the pointer to NULL so it cannot
10452	be used afterwards inadvertently.  If not DEBUG at all, then just
10453	run free().  Three different #define macros set the right mapping.
10454
10455	* libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
10456	be called only when debugging the memory.
10457
10458Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10459
10460	* wire-test/wire-test.c (main): use xmalloc() not malloc().
10461
10462	* conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
10463	calloc().
10464
10465	* conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
10466
10467	* conf/mount/mount_linux.c (parse_opts): use xmalloc() not
10468	malloc().
10469
10470	* amd/info_ldap.c: use xmalloc() not malloc().
10471
10472	* libamu/xutil.c (xzalloc): new function to allocate memory and
10473	zero its bytes.
10474
10475	* amq/amq.c: amq does not need its own definition of xfree().
10476
10477	* aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
10478	look for function malloc_verify() in libmapmalloc.a, and function
10479	mallinfo() in libmalloc.
10480
10481	* libamu/xutil.c (checkup_mem): do not use mallinfo field
10482	uordbytes, because it does not always exist.  Rather, compute it
10483	from other fields..
10484
10485	* include/am_utils.h: add external definition to xfree() function
10486	used when debugging memory references.
10487
10488Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10489
10490	* amd/ops_afs.c (afs_readdir_browsable): reduce the number of
10491	bytes heuristically computed to be returned to the kernel.
10492	Otherwise browsable_dirs fails on OpenBSD 2.2.
10493
10494	* amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
10495	mf_private field to AFTER it gets used.
10496
10497Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10498
10499	* amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
10500	on systems that don't support it.
10501
10502	* include/am_defs.h: add missing extern definition for free().
10503
10504	* aux/configure.in: check for external definition for free().
10505
10506	* libamu/Makefile.am: add to comment a mention of strstr as an
10507	optional function.
10508
10509	* libamu/xutil.c (switch_to_logfile): use openlog() options only
10510	if they exist.
10511
10512	* conf/transp/transp_sockets.c (get_nfs_version): don't use
10513	clnt_spcreateerror if it does not exist.
10514
10515	* aux/configure.in: check for missing functions clnt_create and
10516	clnt_spcreateerror.  Check for missing strstr, and complete
10517	its code.  Check for missing external definition for strstr.
10518
10519	* aux/macros/host_macros.m4: normalize sun3* names.
10520
10521	* Makefile.am: updates for new sunos3 files distributed.
10522
10523	* conf/nfs_prot/nfs_prot_sunos3.h: new file.
10524
10525	* conf/fh_dref/fh_dref_sunos3.h: new file.
10526
10527	* aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
10528
10529	* aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
10530
10531	* doc/am-utils.texi (wire Selector Variable): updated manual for
10532	adjusted variables wire, network, and netnumber, all using the
10533	in_network() function.
10534
10535Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10536
10537	* amd/opts.c: allow options to be processed by executing arbitrary
10538	functions.  Converted wire, network, and netnumber all to use the
10539	nomadic function in_network.  So from now on they perform a match
10540	against all networks, not just primary.
10541
10542	* initial port to alpha-unknown-linux-gnu, probably works, but
10543	untested yet.
10544
10545	* conf/nfs_prot/nfs_prot_linux.h: add special definitions for
10546	__FD_* macros which for som strange reason do not get included
10547	from <selectbits.h> on redhat alpha linux.  Also turn off usage of
10548	<rpc/des_auth.h> because it is incomplete on the same systems.
10549
10550	* hlfsd/homedir.c (table_add): cast uid field to int, for
10551	comparison.
10552
10553	* include/am_defs.h: more coflicts with redhat alpha linux
10554	"resolved".
10555
10556	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
10557	There's a conflict of definitions on redhat alpha linux between
10558	<netinet/in.h> and <linux/fs.h> which must be avoided.
10559
10560	* aux/configure.in: check for <socketbits.h>, which is in use on
10561	redhat alpha linux.
10562
10563	* doc/am-utils.texi (Selectors): added documentation to describe
10564	the new "!" (negated) nomadic functions.
10565
10566	* amd/opts.c (f_in_network): print debugging info that is correct,
10567	rather than saying that any ARG is on a local network.
10568	(eval_opts): added support for negating nomadic functions, by
10569	prepending "!" to their name.  Example, !exists(/foo/bar).
10570
10571Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10572
10573	* include/am_compat.h: ensure that all NFS3 systems have the mount
10574	table entries (and amd opts switches) "proto" and "vers".
10575
10576	* hlfsd/homedir.c (table_add): added some debugging info to try
10577	and track down a serious memory leak in hlfsd.
10578
105791997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
10580
10581	* libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
10582	you do NOT set the noconn option, and use connected sockets
10583	always.  So I'm now forced not to set it at all, and have the user
10584	specify it as "conn" or "noconn" in their /default entry.  Argh...
10585	Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
10586	buggy (TCP hangs with "short receive" kernel errors).  I'd better
10587	wait until they get it working in their version of the automounter
10588	first.  So I'm putting the "noconn" option back.
10589
10590Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10591
10592	* libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
10593	nfs_args field maxgrouplist accordingly.
10594
10595	* include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
10596	for mount table entry for maxgroups based on NFS mount option
10597	maxgrp.
10598
10599	* aux/configure.in: put back testing for NFS mount option
10600	"maxgrps".  Added test for mount table entry "maxgroups".
10601
10602	* libamu/mount_fs.c (compute_nfs_args): perform more careful tests
10603	on nfs_proto, because it could be NULL.
10604
10605	* doc/am-utils.texi (Selectors): added example of in_network()
10606	selector.
10607
10608	* aux/macros/check_hide_mount_type.m4: all hpux versions,
10609	including 9.x, should use "ignore" as the mount type to hide from
10610	amd.
10611
10612Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10613
10614	* include/am_utils.h (NSTREQ): use new macro instead of strncmp()
10615	every where in the sources.
10616
10617Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10618
10619	* libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
10620	print as much info that is given in struct nfs_args as possible.
10621	useful for detecting internal flags and options, as well as the
10622	file handle used.
10623
10624	* scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
10625	after /etc and before /etc/local.
10626
10627Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10628
10629	* aux/configure.in, libamu/Makefile.am: added support for linking
10630	with specific versions of libamu.  Upped shared library version of
10631	libamu to 1 (libamu.so.1.0.0)
10632
10633	* include/am_defs.h: added external definition for mkstemp() as
10634	needed.
10635
10636	* minor new port to i386-unknown-netbsd1.3 (BETA version of
10637	netbsd).
10638
10639	* aux/config.guess: don't leave a trailing '.' on the system name
10640	for NetBSD-1.3_BETA and similarly for OpenBSD.
10641
10642	* conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
10643	differences in ypall calling conventions.
10644
10645	* mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
10646	in preference over mktemp(), b/c it is more secure.
10647
10648	* aux/configure.in: check for mkstemp(), a more secure version of
10649	mktemp().
10650
10651Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10652
10653	* amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
10654	table "vers" option generally do not set the mnttab entry to
10655	"nfs3", but to "nfs" and then they set "vers=3".  Setting it to
10656	"nfs3" works, but it may break some things like "df -t nfs" and
10657	the "quota" program (esp. on Solaris and Irix).  So on those
10658	systems, set it to "nfs".
10659
10660Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10661
10662	* doc/am-utils.texi (Distrib): updates for new ports, location of
10663	am-utils' home page, and URL cross references (now supported by my
10664	version of texi2html).
10665
10666	* aux/macros/check_mtype_type.m4: also use string type for file
10667	system mount types under nextstep for mount(2).
10668
10669	* aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
10670	integer and string types for file system mount types in mount(2),
10671	but it is better to use string types.
10672
10673	* conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
10674	0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10675	(EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
10676	works.
10677
10678	* conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
10679	not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10680	(EPERM) instead of 0 (OK).
10681
10682	* libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
10683	by -D trace (protocol trace).
10684
106851997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
10686
10687	* A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
10688	macro based on existence on others, and include <sys/stat.h>.
10689
10690Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10691
10692	* aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
10693	inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
10694	which this header is broken (it tries to include non-existing
10695	headers).
10696
10697Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10698
10699	* libamu/mount_fs.c (mnt_flags): support either nfs or generic
10700	mount option for grpid.
10701
10702	* aux/configure.in: turn back on NFS mount option grpid.
10703
10704Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10705
10706	* doc/Makefile.am (install-ps): added target to install postscript
10707	file in the am-utils' home page, as well as a few other useful
10708	files for the new am-utils Web page.
10709
10710Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10711
10712	*******************************************************************
10713	*** Released am-utils-6.0a14					***
10714	*******************************************************************
10715
10716Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10717
10718	* doc/am-utils.texi (Supported Platforms): updated table of new
10719	ports.
10720
10721Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10722
10723	* libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
10724	options so that they can be printed in logs as needed.
10725
10726	* doc/am-utils.texi (osver Parameter): updated for the correct
10727	usage of the -o/-O options.
10728
10729	* scripts/amd.conf.5: corrected info for -o/-O options.
10730
10731	* amd/amd.8: updated man page for new -O op_sys_name option, and
10732	corrected the usage of the -o op_sys_ver option
10733
10734	* amd/get_args.c (get_args): added new amd option -O to override
10735	OS name.
10736	(get_args): updated usage string.  Removed old -m option.  Added
10737	-o and -O options.
10738
10739	* conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
10740	it is not there.  Reportedly, irix 5.2 does not define it.
10741
10742	* scripts/lostaltmail.in: removed references to unused $hack
10743	variable.
10744
10745	* aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
10746	<metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
10747	for solaris2.5.
10748
10749	* doc/am-utils.texi (Distrib): typo in the subscription
10750	instructions to amd-dev.  Patch from Stefan Vogel
10751	<vogel@physik-rzu.unizh.ch>.
10752
107531997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
10754
10755	* NFS3 works on powerpc-ibm-aix4.2.1.0.
10756
10757	* libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
10758	static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
10759	stack of an automatic variable when pointer to it is passed around
10760	several times.
10761
10762Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10763
10764	* libamu/xutil.c (real_plog): syslog like behavior for normal
10765	logging.  Will not print repeated strings, only a count "last
10766	message repeated N times", but will always print something if
10767	message is repeated more than 100 times.
10768
10769	* scripts/lostaltmail.in: look for lostaltmail.conf files also in
10770	/etc/global, /etc/os, and /etc/local (in that order).
10771
10772Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10773
10774	* conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
10775	mounts.
10776
10777	* aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
10778	aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
10779
10780	* conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
10781	NFS_SA_DREF macro is a pointer to the structure that used to be
10782	passed to it before.  So now I have to dereference the pointer
10783	before accessing its values.
10784
10785	* hlfsd/hlfsd.c (main): use the new and cleaner
10786	compute_nfs_args() and compute_automounter_nfs_args() functions.
10787
10788	* amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
10789	compute_nfs_args() and compute_automounter_nfs_args() functions.
10790
10791	* amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
10792	and cleaner compute_nfs_args() and compute_automounter_nfs_args()
10793	functions.
10794
10795	* libamu/mount_fs.c (compute_nfs_args): major code cleanup that
10796	relates for struct nfs_args.  A new function sets the numerous
10797	possible flags and fields of nfs_args_t in an orderly fashion.
10798	Code cleaned up, organized, and moved from amd/hlfsd into
10799	libamu.  This saves on overall size of code.
10800	(compute_automounter_nfs_args): A variant of compute_nfs_args()
10801	which sets special options/flags that need to be used when NFS
10802	mounting an automounter's mount point.  Used by hlfsd and amd.
10803
10804	* amq/amq.c (get_secure_amd_client): don't print any more
10805	"get_secure_amd_client: using TCP, port 12345".  It's more
10806	annoying than useful a message, even when assumed to be compiled
10807	under DEBUG only.
10808
10809Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10810
10811	* aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
10812	mount table entries.  The code used to define the /etc/mnttab name
10813	for file systems based on physical media (disk, cdrom, floppy) to
10814	the generic name, rather than the OS specific name.  For example
10815	autoconf searches for all these types of mount table entries for a
10816	floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
10817	it found any, it hard-coded the mnttab name to "pcfs" rather than
10818	the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
10819	nullfs, unionfs, and umapfs.
10820
10821	* aux/configure.in: also test for xfs (for newer Irix) when
10822	looking for mount type names, numbers, etc of a disk-based ufs.
10823
10824Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
10825
10826	* amq/amq.c (main): use pmap_ping() to test if remote host is up.
10827	This works better on bsdi2 and bsdi3, because their portmapper
10828	does not appear to like forwarding operations (it is generaly
10829	insecure).
10830
10831Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10832
10833	*******************************************************************
10834	*** Released am-utils-6.0a13					***
10835	*******************************************************************
10836
10837Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10838
10839	* conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
10840	struct datum typedef.
10841
10842	* conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
10843	ypall_callback_fxn_t for netbsd.
10844
10845	* aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
10846	the 5th arg to authunix_create(), while before and after they used
10847	gid_t.
10848
10849	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
10850	clnt_create_timed() on older Solaris 2.3 systems that did not have
10851	it.
10852
10853	* conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
10854	kernel only on bsdi2, so do not include it.
10855
10856Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10857
10858	* hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
10859	messages about resolution of mailboxes based on uid/gid.
10860
10861	* scripts/ctl-hlfsd.in: check for alternate password file in
10862	${prefix}/etc/passwd and use it in hlfsd's startup.
10863
10864Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10865
10866	* hlfsd/homedir.c (hlfsd_getpwent): added support for -P
10867	passwdfile option.  If hlfsd is started with -P passwdfile, then
10868	the passwdfile is read and parsed just as a standard unix
10869	passwd(4) file.  Only the username, uid, and homedir fields are
10870	read and checked.  All the rest are ignored.  No NIS/netgroup
10871	support!
10872
10873	* hlfsd/hlfsd.c (main): check if hlfsd is run as root after
10874	parsing command line options, so that usage() can be printed when
10875	-h is invoked.
10876
10877Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10878
10879	* amd/nfs_start.c (mount_automounter): if autofs service listener
10880	fails to initialize it is OK if using a test amd.
10881
10882	* amd/opts.c (f_in_network): new nomadic function in_network(arg),
10883	which returns TRUE if 'arg' is any one of this host's networks.
10884
10885	* libamu/wire.c (getwire): rewritten parts of function, to store
10886	all networks names and numbers in the order of the interface (not
10887	in reverse).
10888
10889Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10890
10891	* aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
10892	would have worked had it not been due to AIX's buggy /bin/sh.
10893
10894	* doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
10895	am-utils.ps in the distribution sources.
10896	(html): generate html documentation for
10897	http://www.am-utils.org
10898
10899Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10900
10901	* conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
10902	ypall_callback_fxn_t.  The NetBSD team compiles all sources with
10903	gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
10904
10905	* amd/info_nis.c: allow for override of ypall_callback_fxn_t
10906	function typedef.
10907
10908	* libamu/xutil.c (amu_release_controlling_tty): new function to
10909	release the controlling tty in a clean and sane manner.  No longer
10910	using setpgid() b/c it may not work.  Uses setsid(),
10911	and ioctl() (in order).  This new function is used in amd/amd.c
10912	and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
10913	systems, but on others it is the same as setpgid().
10914
10915Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10916
10917	* aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
10918	it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
10919	never used, because the configure test for fsname flag wasn't
10920	used.  This fixed a bug in HPUX 10, where syncer and manual mounts
10921	left blank lines in /etc/mnttab.
10922
10923	* aux/configure.in: check for nfs mount option 'fsname'.
10924
10925Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10926
10927	* amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
10928	mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
10929	hpux-10 will mount amd's mounts points as 'ignore' (by df).
10930
10931	* aux/configure.in: check for NFS mount option 'ignore', useful in
10932	HPUX 10.
10933
10934Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10935
10936	* aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
10937	mount type and not NFS, for the amd mount points.
10938
10939	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
10940	an RPC timeout as an error, but just an info message.  From
10941	Andreas Stolcke <stolcke@speech.sri.com>
10942
10943	* If the NFS server is down or does not support the portmapper
10944	call (such as certain Novell NFS servers) we mark it as version 2
10945	and we let the nfs code deal with the case that is down.  If when
10946	the server comes back up, it can support NFS V.3 and/or TCP, it
10947	will use those.  From christos@deshaw.com (Christos Zoulas).
10948
10949	* hlfsd/homedir.c (plt_print): various compile time cleanups to
10950	printfs that take a long, but pass an int to print.  From
10951	christos@deshaw.com (Christos Zoulas).
10952
10953	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
10954	macro to determine if the OS has a bad yp_all(), based on the host
10955	OS name.  So far only irix (all versions) have a bad yp_all, so
10956	they will use am_yp_all() instead (which is slower as it
10957	enumerates manually all of the map's entries).
10958
10959Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
10960
10961	* amd/info_nis.c (am_yp_all): code for a replacement yp_all that
10962	avoids using a file-descriptor leaking yp_all() on some systems
10963	like irix.
10964
10965Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
10966
10967	* fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
10968	systems using /usr/bin/flex.
10969
10970	* amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
10971	that have a modified GNU flex which does define yywrap (DU-4.x).
10972
10973Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10974
10975	* conf/checkmount/checkmount_bsd44.c: include prototype.
10976
10977Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10978
10979	*******************************************************************
10980	*** Released am-utils-6.0a12					***
10981	*******************************************************************
10982
10983Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10984
10985	* conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
10986	code in irix6 until it can be tested correctly
10987
10988	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
10989	on clnt_create for 3 seconds, rather than wait for the much longer
10990	default.
10991
10992	* conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
10993	Includes NFS3, untested.
10994
10995Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10996
10997	* amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
10998	pcfs_args_t if they exist.
10999
11000	* amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
11001	cdfs_args_t if it exists.
11002
11003	* new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
11004	hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
11005
11006Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11007
11008	* doc/am-utils.texi (wire-test): updated documentation for the new
11009	option.
11010
11011	* wire-test/wire-test.8: updated man page for new option.
11012
11013	* wire-test/wire-test.c (main): added a test for various
11014	combinations of NFS proto/vers to a remote/local host.
11015
11016	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11017	<isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
11018	freebsd will correctly set mount options for pcfs and cdfs.
11019
11020	* amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
11021	0777 (if field exists).
11022
11023	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11024	<msdosfs/msdosfsmount.h> if available.
11025
11026	* minor new port: rs6000-ibm-aix4.1.4.0.
11027
11028	* libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
11029	write the "time" field in /etc/mnttab.
11030
11031	* conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
11032	detecting mnt_time field of mntent_t.
11033
11034	* libamu/mtab.c (mnt_free): fixed typo in macro names for
11035	detecting mnt_time field of mntent_t.
11036
11037Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11038
11039	* conf/mtab/mtab_file.c (lock): Use flock() in preference over
11040	fcntl() to lock the mtab file.
11041
11042Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11043
11044	* conf/transp/transp_sockets.c (get_nfs_version): define
11045	the try_again goto label only for NFS3.
11046	(pmap_ping): assume timeout failure of clnt_stat.
11047
11048	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
11049	"groups *".
11050
11051Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11052
11053	* conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
11054	<dsr@mail.lns.cornell.edu> to make sure that amd works with more
11055	secure portmappers that do not allow forwarding of RPC messages to
11056	other services.
11057
11058	* */Makefile.am: all source files should also depend on the new
11059	include/am_xdr_func.h header.
11060
11061	* include/am_xdr_func.h: new file as part of the code cleanup from
11062	Christos Zoulas <christos@deshaw.com>.
11063
11064	* Lots of fixes from Christos Zoulas <christos@deshaw.com> that
11065	involved missing prototypes, cleaned up ones, and removal of
11066	unused variables.
11067
11068	* libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
11069	statement with only one case is unclean.
11070
11071Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11072
11073	* amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
11074	0 so that all fields are initialized to zero at first.  This way
11075	SunOS 4.x and other systems don't get /etc/mtab entries with
11076	random integers for the fsck/freq fields. Patch from Andreas
11077	Stolcke <stolcke@speech.sri.com>.
11078
11079Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11080
11081	* conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
11082	that the important definition for HOSTNAMESZ will be found.
11083
11084	* amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
11085	(inside the nfs_args structure) if the system uses that macro.
11086	Otherwise systems like SunOS refuse to NFS mount long pathnames
11087	and result in ENAMETOOLONG errno's.
11088
11089Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11090
11091	* doc/am-utils.texi (Supported Platforms): specify new support for
11092	solaris 2.6, and hlfsd running on 2.5.1 too.
11093
11094Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11095
11096	* conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
11097	mount if it is not supported or was turned off.
11098
11099Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11100
11101	* conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
11102	again.  Apparently at some previous release SunOS 4 supported was
11103	broken and all nfs mounts resulted in ESTALE.
11104
11105Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11106
11107	* conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
11108	solaris 2.6.
11109
11110	* aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
11111	protocol header selection.
11112
11113Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11114
11115	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
11116	infinite loop.
11117
11118Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11119
11120	*******************************************************************
11121	*** Released am-utils-6.0a11					***
11122	*******************************************************************
11123
11124Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11125
11126	* amd/amd.c (main): if plock() succeeded, don't try to display
11127	errno message.   Patch from Chris Metcalf
11128	<metcalf@catfish.lcs.mit.edu.
11129
11130Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11131
11132	* hlfsd/homedir.c (table_add): make sure duplicate passwd entries
11133	are ignored.   Only the first entry should ever be used, because
11134	that's how lookup in passwd database works.
11135
11136	* conf/transp/transp_sockets.c (get_nfs_version): when determining
11137	if a remote host is up or down, use NFS v.2.  Fix suggested by
11138	Enami Tsugutomo <enami@cv.sony.co.jp>.
11139
11140	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
11141	function to get the best possible NFS version, but also timeout
11142	faster than normal defaults, so remote hosts which are down can be
11143	detected in a reasonable time.
11144	(get_nfs_version): use the new "best" function.
11145
11146Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11147
11148	*******************************************************************
11149	*** Released am-utils-6.0a10					***
11150	*******************************************************************
11151
11152Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11153
11154	* conf/transp/transp_tli.c (get_nfs_version): don't use
11155	clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
11156	and earlier).
11157
11158	* aux/configure.in: test for existence of clnt_tp_create_timed(),
11159	since Solaris 2.4 (and possibly earlier) do not have it.
11160
11161Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11162
11163	* amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
11164	field if it exists (solaris 2.4's autofs does not have it).
11165
11166Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11167
11168	* aux/macros/type_auth_create_gidlist.m4: a new test to determine
11169	the correct type to the 5th argument of authunix_create().
11170
11171Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11172
11173	* libamu/xdr_func.c (xdr_umntrequest): add test for autofs
11174	structure umntrequest, if it has the field rdevid.  Seems Solaris
11175	2.4 and earlier didn't have it.
11176
11177Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11178
11179	* hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
11180	can be done before primary process forks.
11181	(main): bug fix: wait a bit to give child a chance to initialize.
11182	Without this, hlfsd got into a busy infinite loop while, never
11183	completing the mount.
11184
11185	* amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
11186	to make amd works when talking to NIS+ servers in NIS
11187	compatibility mode.
11188
11189Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11190
11191	* amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
11192
11193Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11194
11195	* amd/conf.c (gopt_fully_qualified_hosts): a new function to
11196	process another new global variable.
11197
11198	* amd/ops_nfs.c (make_nfs_auth): if a new global variable
11199	fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
11200	Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
11201
11202	* amd/conf.c (process_last_regular_map): If the amd.conf file only
11203	has a [global] section (pretty useless IMHO), do not try to
11204	process a map that does not exist.
11205
11206	* scripts/amd.conf.5: fixed typos (repeated 'as' word).
11207
11208	* doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
11209
11210	* amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
11211	structure, so it does not carry over from map entry to another.
11212
11213Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11214
11215	* amd/amd.c (main): fixed the meaning of the plock option.  A bug
11216	caused it to be reversed.
11217
11218Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11219
11220	* hlfsd/stubs.c: don't initialize some statics here.  They are
11221	better initialized in hlfsd_init_filehandles().
11222
11223Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11224
11225	* amd/conf.c (gopt_show_statfs_entries): new function and a global
11226	amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
11227	then all maps flagged as browsable will also show a count of the
11228	number of entries (keys) in that map.
11229
11230	* amd/nfs_subr.c (count_map_entries): new function to count number
11231	of entries in a map.  Now used if browsable is turned on in a map,
11232	to return a count of available keys in a given map.
11233
11234	* hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
11235	confused the file handles for ".", "..", and the symlink, causing
11236	mess.
11237
11238	* aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
11239	but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
11240	with bad memcmp() in libc's (nextstep3).
11241
11242Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11243
11244	* aux/configure.in: check if autofs_args_t has a field named
11245	addr.  Solaris has it for specifying the address of the daemon,
11246	but Irix does not.  So how does irix tell the kernel the daemon's
11247	address?  I suspect that it is hardcoded to "localhost" using a
11248	"private well-known port" (#define AUTOFS_PORT 2048).
11249
11250	* conf/nfs_prot/nfs_prot_linux.h: added missing autofs
11251	definitions.
11252
11253	* README.autofs: new file listing autofs support notes
11254
11255	* very preliminary autofs code working.  Call it pre-alpha
11256	quality.
11257
11258Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11259
11260	* amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
11261	"autofs" if system does not support it.
11262
11263	* amd/amd.c (main): log am-utils version string (same as amd -v)
11264	at start of run.
11265
11266	* conf/transp/transp_sockets.c (get_nfs_version): in order to tell
11267	if a remote host is available, try to contact its portmapper and
11268	timeout if no answer is received in 3 seconds.
11269
11270Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11271
11272	* aux/macros/check_extern.m4 (pattern): use a simpler pattern for
11273	match for external function definitions.  The function could span
11274	multiple lines, so only match the opening parenthesis, not the
11275	closing one too.
11276
11277	* aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
11278	posix mode for nextstep3.  It is broken.
11279
11280	* amd/amd.c (init_global_options): run uname() only if
11281	<sys/utsname.h> and uname(2) exist.
11282
11283	* amd/rpc_fwd.c (fwd_packet): if remote host is down, the
11284	forwarding socket is null, so declare this an error.
11285
11286	* include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
11287	for when a remote host is down.  Try, in order, "host down", "host
11288	unreachable", "invalid argument".
11289
11290	* amd/ops_nfs.c (discard_fh): don't dereference a null pointer
11291	(happens when remote host is down, and fp->fh_fs is NULL).
11292	(prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
11293	and FSF_DOWN.
11294
11295	* amd/sched.c: nobody uses "union wait" any more, or so it
11296	appears, so clean up that code.
11297
11298	* conf/transp/transp_tli.c (get_nfs_version): if remote host is
11299	down, time it out faster than default (3 seconds).
11300	(get_mount_client): free netconfig entry when done with it.
11301
11302	* conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
11303	port to nextstep3 (m68k-next-nextstep3).
11304
11305	* fsinfo/Makefile.am (LDADD): needs to link with libamu in case
11306	system does not have strdup().
11307
11308	* include/am_defs.h: complete external definition for getlogin()
11309	if needed.
11310
11311	* conf/transp/transp_tli.c (get_nfs_version): no need to keep
11312	static versout variable.
11313
11314	* amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
11315	server is probably down.  Don't use sendto() in that case.
11316
11317	* buildall (default): run gmake if found, before trying plain
11318	make.  GNU make is always preferable.
11319
11320Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11321
11322	* aux/macros/host_macros.m4: cleanup of os_version and os
11323	overrides.  Solaris 2.5.1 for example will come up as solaris2 and
11324	2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
11325	the amd.conf file.
11326
11327Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11328
11329	*******************************************************************
11330	*** Released am-utils-6.0a9					***
11331	*******************************************************************
11332
11333Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11334
11335	* conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
11336	(i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
11337	from <ndbm.h> and <sys/resource.h>.
11338
11339	* scripts/amd.conf.5: new map page.
11340
11341	* amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
11342	does not.
11343
11344	* amd/amd.8: updated man page.
11345
11346	* amd/get_args.c (get_args): removed defunct -h option to amd.
11347
11348	* amq/amq.8: updated man page.
11349
11350	* amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
11351	SparcCompiler CC won't complain.
11352
11353	* amd/info_hesiod.c (hesiod_search): small fixes to compile with
11354	hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
11355
11356	* aux/macros/opt_ldflags.m4: new option added to configure
11357	--enable-ldflags, to specify -L option for configuring/compiling.
11358	The older one --enable-libs is now to be used only for -l options.
11359
11360	* amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
11361	nc_protoname from nfs_proto if available for all TLI systems, not
11362	just those that have NFS V3.
11363
11364	* amd/info_ldap.c: ldap patches from Leif Johansson
11365	<leifj@matematik.su.se>, adding two new amd.conf ldap variables:
11366	ldap_cache_seconds and ldap_cache_maxmem.
11367
11368	* hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
11369	htons().
11370
11371Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11372
11373	* amd/nfs_start.c (mount_automounter): register amd with the rpc
11374	program number that may have been overridden by amd.conf.
11375
11376	* libamu/xutil.c (set_amd_program_number, get_amd_program_number):
11377	allow storing and retrieving alternate amd program numbers.
11378
11379	* amd/conf.c (gopt_portmap_program): new function to parse
11380	amd.conf entry portmap_program=1234.
11381
11382	* amq/amq.c (main): allow specifying an alternate rpc program
11383	number for amd via -P prognum.
11384
11385	* new amq RPC to get the process id of the running amd.  This is
11386	used in ctl-amd to quickly find the pid of the amd that is to be
11387	killed.
11388
11389	* expanded shared libraries support.  Using GNU libtool-1.0,
11390	am-utils now builds shared libraries on many platforms that have
11391	support for it and proper compilers/linkers.  See "INSTALL" file
11392	for compatibility chart.
11393
11394Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11395
11396	* fsinfo/fsi_lex.l: removed code that was in support of very old
11397	versions of flex.  No longer needed.
11398
11399Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11400
11401	* amd/amd.c (init_global_options): find the kernel architecture
11402	from uname() if possible.
11403
11404Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11405
11406	* new working port: i386-unknown-openbsd2.1
11407
11408Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11409
11410	* working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
11411	structure to actual char[], because the structure was passed to
11412	xdr_fhandle as data and not a pointer.  Surprisingly, gcc
11413	-fpcc-struct-return did not help.
11414
11415	* conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
11416	definitions for solaris 2.4 have to be different from 2.3, and
11417	different from 2.5.
11418
11419	* libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
11420
11421Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11422
11423	* conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
11424	types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
11425
11426	* mk-amd-map/mk-amd-map.8: man page taken from bsd44.
11427
11428Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11429
11430	* conf/mount/mount_linux.c: made the nfs error mapping code into a
11431	small function.
11432
11433Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11434
11435	* conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
11436	error mappings from errno numbers to NFS errors.  From Debian
11437	Linux.
11438
11439	* scripts/am-eject.in (fs): new script (taken from Debian Linux
11440	folks) to auto-unmount floppy/cd devices before ejecting them.
11441
11442	* fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
11443	'5' as second arg to show_area_being_processed.  I'm not sure why.
11444
11445	* fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
11446	second arg to show_area_being_processed.  I'm not sure why.
11447
11448	* conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
11449	ensure that you have a buffer in *xopts to strcat onto.
11450	(mount_linux): fixed from Debian folks to ensure that NFS mount
11451	sockets are connected only for kernels prior to 1.3.10 (avoids
11452	hangs for multi-homed hosts).
11453
11454	* amd/mapc.c (make_entry_chain): from Debian folks: don't skip
11455	over amd map keys that have a prefix, and include the prefix in
11456	the returned readdir().
11457
11458	* amd/info_passwd.c (passwd_init, passwd_search): format
11459	enhancements from the Debian Linux folks.  They added
11460	- var0:=pw-prefix:=anydir
11461	- var1:=pw-rhost:=dom3.dom2.dom1
11462	- var2:=pw-user:=user
11463	- var3:=pw-home:=/anydir/dom1/dom2/dom3/user
11464
11465	* new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
11466
11467	* amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
11468	afs_mount timed out, then explicitly forbid further retries after
11469	the timeout.  (afs_bgmount): bug fix from Debian Linux.  Timeout
11470	values (17 and 5) were mistakenly swapped.
11471
11472Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11473
11474	* conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
11475	support for Solaris 2.4 (the header files incorrectly define parts
11476	of the NFS V.3 protocol, but the kernel does not support it).
11477
11478Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11479
11480	* amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
11481	for determining if using old or new hesiod libraries,
11482	respectively.
11483
11484	* amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
11485	V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
11486	they cause hangs of mounts from multi-homed hosts when the return
11487	route is not the same as the outgoing route (esp. on NetBSD
11488	1.2.1).  If "conn" option was supplied, then don't turn on the
11489	"noconn" mount option.  Otherwise default to "noconn" mount
11490	option.
11491
11492	* aux/configure.in: better check for systems that need libgdbm and
11493	<ndbm.h>
11494
11495Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11496
11497	* hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
11498	mounts are hidden from df(1) on systems that keep mount tables in
11499	kernel, such as osf1.
11500
11501Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11502
11503	*******************************************************************
11504	*** Released am-utils-6.0a8					***
11505	*******************************************************************
11506
11507Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
11508
11509	* hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
11510	AF_INET when hlfsd mounts itself, thus getting an errno "protocol
11511	family not supported".
11512
11513Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11514
11515	* verified that amd on NetBSD 1.2.1 (i386) works, but the OS
11516	itself is flaky.
11517
11518	* verified that amd AIX 3 works w/ the new readdir() code.
11519
11520Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
11521
11522	* amd/mapc.c (maptypes): changed the default map caching type for
11523	nis and ndbm maps to "MAPC_ALL", so that all possible entries will
11524	be available to amd for browsable_dirs=yes.
11525
11526Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11527
11528	* amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
11529	afs_readdir into a browsable version and a non-browsable one.
11530	Fixed bugs that resulted in an infinite nfs_readdir loop on the
11531	localhost for some operating systems.
11532
11533Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11534
11535	* amd/ops_afs.c (afs_readdir): fixed up the browsable code to
11536	comply with nfs_readdir specs.  It was returning all entries at
11537	once, even if there was not enough space in the RPC packet.  Now,
11538	it sends a reasonably sized chunk, and sets static state to resume
11539	it for the next continuation RPC of readdir.
11540
11541	* amd/conf.c (set_conf_kv): fixed bug that resulted in the first
11542	regular map not getting all of the [global] options defaulted from.
11543
11544Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11545
11546	* amq/amq.c (main): fixed so that portmapper "ping" will only fail
11547	upon an RPC timeout
11548
11549	* scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
11550	amd/hlfsd process to kill.
11551
11552	* amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
11553	determine how to avoid df from seeing amd's toplvl mounts.  Moved
11554	from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
11555	is hidden from df.
11556	(mount_toplvl): fixed df types for irix.
11557
11558Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11559
11560	* amq/amq.c (main): fixed bug that caused the 5 second timeout for
11561	TLI amq using udp to be ignored.
11562	(main): if amq cannot contact remote host's portmapper within 5
11563	seconds, timeout and fail faster than the default longer timeout
11564	(this is for non-TLI systems).
11565
11566Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11567
11568	* amq/amq.c (get_secure_amd_client): if amq cannot contact
11569	remote host's portmapper within 5 seconds, timeout and fail faster
11570	than the default TLI timeout of over 4 minutes.
11571
11572	* amd/am_ops.c (ops_showfstypes): added styles for new bsd44
11573	file systems nullfs, unionfs, and umapfs.
11574	(ops_show1): cleanup code and and reuse this function.
11575	(vops): empty placeholders for nullfs, unionfs, and umapfs.
11576
11577	* amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
11578	bsd44 style file systems.
11579
11580	* fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
11581	sources.
11582
11583	* amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
11584	conflict with systems that define it in <sys/ioctl.h> and also
11585	define a conflicting one via lex.  Newer versions of f/lex are ok.
11586
11587Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11588
11589	* amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
11590	acdirmin/max and acregmin/max only if they exist.
11591
11592	* aux/configure.in: test for nfs_args fields acdirmin and
11593	acregmin.
11594
11595Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11596
11597	* aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
11598	"nondev" and commented back in checking for "nodev".  This was a
11599	typo.
11600
11601	* include/am_compat.h: more compatibility options: define "ro"
11602	mnttab option all the time.  Define "overlay" as needed.  Added
11603	more fillers of mnttab options (as per Daniel S. Riley
11604	<dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
11605	acregmin, noac, grpid, nosuid, and actimo.
11606
11607	* libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
11608	per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
11609	the same code for other options in struct opt_tab.
11610
11611Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11612
11613	* amd/get_args.c (get_args): moved amd.conf file parsing to before
11614	the switching the default log/debug options.  Suggested by
11615	dsr@mail.lns.cornell.edu (Daniel S. Riley).
11616
11617	* aux/update_build_version: new script to record the build version
11618	of amd, along with the rest of the info thet comes up with amd -v.
11619
11620Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
11621
11622	* aux/macros/os_cflags.m4: new macro, to add additional
11623	compilation options (also used during configuration), based on the
11624	OS and the compiler.  Used for solaris-2.6, osf, and irix6.
11625
11626Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11627
11628	* amd/conf_tok.l, conf_parse.y: allow values of keys to include
11629	white spaces, if they are double-quoted (key="some value")
11630
11631	* amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
11632	of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
11633
11634Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11635
11636	*******************************************************************
11637	*** Released am-utils-6.0a7					***
11638	*******************************************************************
11639
11640Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11641
11642	* include/am_defs.h: fill in extern definition of innetgr() in
11643	case system headers don't.
11644
11645	* aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
11646	will show the full pathname to yacc/bison and f/lex.  Some systems
11647	have older or bad versions of those and this way the user will
11648	know for sure what is being invoked.
11649
11650	* tasks: file populated with todo items.
11651
11652	* scripts/amd2ldif.in: Script to convert amd maps to plain text
11653	LDAP object files.  Contributed by Leif Johansson
11654	<leifj@matematik.su.se>.
11655
11656	* aux/config.guess: added recognition for sun3's running 4.2bsd,
11657	from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
11658
11659	* amd/conf.c: several variables that were local to a map, were
11660	also added to [global], where they apply to all maps.  Each map
11661	can then individually override those defaults.  Flags
11662	affected: browsable_dirs and mount_type.  Options affected:
11663	map_type, map_options, and search_path.
11664
11665	* amd/amd.h: eliminated several global flags each of which took an
11666	int, in favor of one global flags variable used as a bit field.
11667
11668	* amd/amd.c (init_global_options): moved all global variables into
11669	a single struct amu_global_options, so it is easier to add new
11670	ones and/or identify existing ones.
11671
11672	* amd/get_args.c (get_args): removed unused amd -m option.
11673
11674	* amd/conf.c (gopt_cluster): added new amd.conf option for cluster
11675	name, same as amd -C.
11676
11677	* amd/info_ldap.c: LDAP info map functions from Leif Johansson
11678	<leifj@matematik.su.se>.
11679
11680	* amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
11681	amd.conf options for ldap_base and ldap_hostports.
11682
11683	* amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
11684	if the current host is in the ARG host netgroup.
11685
11686	* aux/configure.in: some systems replaced dbm in libc with GNU's
11687	libgdbm, so check for libgdbm, but only if dbm_open is not in
11688	libc already.  This was a recommendation from Tom Schmidt
11689	<tschmidt@micron.com>.
11690
11691	* conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
11692	completed.
11693
11694Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11695
11696	* port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
11697	V.3.
11698
11699Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
11700
11701	* port to i386-unknown-freebsd3.0 done and working.  Includes NFS
11702	V.3.
11703
11704	* aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
11705	file handle dereferencing style similar to freebsd22.
11706
11707	* include/am_defs.h: need to include <net/if_var.h> before
11708	<netinet/if_ether.h> on freebsd3.
11709
11710	* conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
11711	for freeBSD 3.0.
11712
11713Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11714
11715	* amd/info_nis.c (nis_reload): cast nis' callback function so
11716	picky compilers won't complain.
11717
11718	* libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
11719	gets compiled only if the system has NFS V3 and does not have
11720	xdr_mountres3.
11721
11722Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11723
11724	* COPYING: put in some legal stuff in this file.
11725
11726Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11727
11728	* NFS V3 now works under Irix5, thanks to patches from
11729	Andreas Stolcke <stolcke@speech.sri.com>.
11730
11731	* conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
11732	version and an irix6 version, since irix5's NFS V3 code is broken
11733	and hacky.
11734
11735	* amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
11736	sizes for some hesiod queries.  Patch from Danny Braniss
11737	<danny@cs.huji.ac.il>.
11738
11739Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
11740
11741	* amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
11742
11743Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
11744
11745	* aux/{configure.in,acconfig.h}: added checks for struct
11746	nfs_args's fields proto and sotype (bsdi3).
11747
11748	* amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
11749	nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
11750	to SOCK_STREAM or SOCK_DGRAM.
11751
11752	* aux/macros/check_mount_style.m4: add case for bsdi3.
11753
11754	* amd/info_hesiod.c: got hesiod support for bsdi3.
11755
11756Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11757
11758	* aux/configure.in: look for hesiod on libc (bsdi3)
11759
11760	* amd/get_args.c (get_args): reformat usage so it fits in 80
11761	columns.
11762
11763	* scripts/ctl-amd.in: changed directory name for optional tftpboot
11764	map to /tftpboot/.amd.
11765
11766Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11767
11768	*******************************************************************
11769	*** Released am-utils-6.0a6					***
11770	*******************************************************************
11771
11772Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11773
11774	* scripts/ctl-amd.in: include -T tag for tftpboot.
11775
11776	* new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
11777	is broken and needs work on the specific nfs_args that irix5 uses
11778	for V3 mounts.
11779
11780Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11781
11782	* amd/get_args.c (get_args): new options amd -T tag.  A map with
11783	tag=foo matching the -T tag will be processed.  All untagged maps
11784	get processed all the time.
11785
11786Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11787
11788	* aux/configure.in: need to check for strcasecmp in libucb (ncr2)
11789
11790	* aux/macros/check_os_libs.m4: a new macro to set the usage of
11791	libnsl and libsocket based on the OS.
11792
11793	* libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
11794	defined (problem on osf4).
11795
11796	* conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
11797
11798	* include/am_defs.h, aux/macros/try_compile_nfs.m4,
11799	aux/macros/mount_headers.m4: do include <sys/proc.h> because it
11800	failes on irix5.  Rather, put in the individual
11801	conf/nfs_prot/nfs_prot_*.h headers.
11802
11803	* amd/conf.c: AIX3 doesn't like strdup() being passed a constant
11804	char*, so cast all strdup()'s args to a non-const char*.
11805
11806	* amd/mapc.c (root_newmap): don't try to strdup only a "const
11807	char *".
11808
11809Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11810
11811	* conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
11812	sys/errno.h.
11813
11814Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11815
11816	* made sure am-utils compiles, links, and runs properly on Irix
11817	6.2 using "cc -32 -Wl,-woff,"
11818
11819	* aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
11820	AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
11821	them to $LIBS.
11822
11823	* aux/configure.in: some cleanup of which libraries are needed.
11824	Espectially ensure that libnsl is included only on Solaris, where
11825	so far it is the only system on which it is absolutely necessary.
11826	Also no longer need to include libc explicitly.
11827
11828	* amd/amd.c,wire-test/wire-test.c (main): convert IP address to
11829	network-long order before printing it.
11830
11831	* wire-test/wire-test.c (main): also check and report on the IP
11832	address of the local host, since some systems have bad versions of
11833	get_myaddress, or ones that conflict with other versions in
11834	multiple libraries (SunOS 4 and Irix especially).
11835
11836Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
11837
11838	* scripts/ctl-amd.in: don't use full pathname so killproc() works
11839	better.  Also run bsd44 and irix style ps programs.
11840
11841	* aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
11842	of library no matter if it was found or not.
11843
11844Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11845
11846	* aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
11847	for M_* macros, but ensure that <sys/stream.h> is not included at
11848	all so it won't conflict with other M_* macros.
11849
11850Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
11851
11852	* conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
11853	irix should be "spec" (host:/path), not the dir of the mnt point.
11854
11855	* amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
11856	fixed.  If on, it essentially ignored the setting in a
11857	selector-controlled /defaults if there were 2 or more entries in it.
11858
11859Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11860
11861	* scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
11862	using BSD style ps, then try SVR4 style ps.
11863
11864	* include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
11865	etc., to avoid conflicts with similar named macros in <ldap.h>.
11866
11867	* aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
11868	support needed for LDAP.  Now the code has to be written mostly in
11869	amd/info_ldap.c.
11870
11871	* Included additional patches from Andreas Stolcke
11872	<stolcke@speech.sri.com> to support using the best possible
11873	combination of NFS version (2,3) and protocol (udp,tcp) for any
11874	given host, since it appears that some Irix versions have NFS V3,
11875	but do not support TCP.
11876
11877	* scripts/ctl-amd.in: updated amd control script to look for and
11878	use amd.conf file.
11879
11880Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11881
11882	* amd/mapc.c (mapc_create): now, each map in the amd.conf can be
11883	initialized off of a different type, or default to cycling through
11884	all maps until one of them matches.
11885
11886Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11887
11888	* amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
11889	if browsable_dirs=yes is set in the map section in amd.conf, that
11890	map will return all entries back to a readdir(2).
11891
11892Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11893
11894	* rudimentary amd.conf file support included.  You may even
11895	override things like os=sos5, to get "backwards" compatibility with
11896	upl102.
11897
11898Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11899
11900	* amd/conf.c: new file to process amd.conf file.
11901
11902	* amd/get_args.c (get_args): new options -H to print help.
11903
11904	* moved enable_default_selectors to be amd.conf controlled, and
11905	not compiler controlled.
11906
11907	* amd/get_args.c (get_args): new options -F <conf-file> to parse an
11908	amd configuration file.
11909
11910Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11911
11912	* converted all files that used strcmp() == 0 or != 0  to using
11913	the STREQ() macro.
11914
11915Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11916
11917	* aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
11918	search for any number of functions in any given library.
11919
11920Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11921
11922	* amd/mapc.c: Included patch from Leif Johansson
11923	<leifj@matematik.su.se> to ensure that systems without an RE
11924	library can compile.
11925
11926	* libamu/mount_fs.c (mount_fs): Included patch from Andreas
11927	Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
11928	table are properly delimited by a comma.
11929
11930	* amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
11931	Stolcke <stolcke@speech.sri.com>, to allow users to override the
11932	proto= and vers= mount options.
11933
11934Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
11935
11936	* conf/nfs_prot/nfs_prot_svr4.h: port completed to
11937	i486-ncr-sysv4.3.03.  Assorted source cleanups done.
11938
11939	* include/am_defs.h, aux/macros/mount_headers.m4: don't include
11940	mnttab.h if sys/mnttab.h was already included, because on ncr2,
11941	they contain conflicting entries for struct mnttab.
11942
11943Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
11944
11945	* aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
11946
11947Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
11948
11949	* amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
11950
11951	* aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
11952	on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
11953
11954Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
11955
11956	* aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
11957	nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
11958	better.
11959
11960Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11961
11962	* amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
11963	NULL, set the maxlen and len fields in netbuf to zero.
11964
11965Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11966
11967	* scripts/fix-amd-map.in (name): replace all matching patterns on
11968	line.
11969
11970Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11971
11972	*******************************************************************
11973	*** Released am-utils-6.0a5					***
11974	*******************************************************************
11975
11976Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11977
11978	* amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
11979	procedure now returns the full string that amd -v returns.
11980
11981	* amd/get_args.c (get_version_string): new function to return
11982	complete version/info string so it could be used more flexibly.
11983
11984	* amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
11985	of Fs types into a string buffer, rather than a FILE*.
11986
11987	* amd/mapc.c (mapc_showtypes): put the list of map types into a
11988	string buffer, rather than a FILE*.
11989
11990Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11991
11992	* amd/get_args.c (get_args): amd -v also prints user who built
11993	amd, hostname built on, and date of configuration.
11994
11995Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11996
11997	* scripts/lostaltmail.conf-sample: sample lostaltmail
11998	configuration file.
11999
12000	* scripts/lostaltmail.in: new script lostaltmail used to redeliver
12001	"lost" mail that hlfsd redirected to a temp location because the
12002	primary home file system of the user was full.
12003
12004	* scripts/amd2sun.in: new script amd2sun. Used to convert Sub
12005	automount maps to amd maps.
12006
12007	* scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
12008	stop, or restart hlfsd.
12009
12010	* scripts/expn.1: man page for expn command.
12011
12012	* scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
12013	restart amd.
12014
12015	* scripts/expn.in: new script expn.  Actually taken from David
12016	Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
12017	script.
12018
12019	* scripts/wait4amd.in: new script wait4amd added.  Waits for amd
12020	to come up on a host, and then runs a command (rsh $hostname by
12021	default).
12022
12023	* scripts/Makefile.am: new directory now holds all shell/perl
12024	scripts that belong to am-utils.
12025
12026	* conf/mount/mount_linux.c (parse_opts): new parser for
12027	linux-specific mounts.  Handles fs-type specific mount-options
12028	correctly.  Currently implemented: msdos, iso9660.
12029
12030	* amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
12031	(fix for linux).
12032
12033	* amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
12034	(fix for linux).
12035
12036	* amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
12037	core dumps upon "ls" of a mount point; an invalid pointer was
12038	being returned and dereferenced.
12039
12040	* port to Linux sparc working!
12041
12042	* hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
12043	failed to write test file, or else the fd will leak.
12044
12045Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12046
12047	* amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
12048	instead of strcmp().
12049
12050	* Port to Digital Unix 4.0 (OSF) done.
12051
12052	* hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
12053	with dirname() function in <string.h> on OSF systems.
12054
12055	* fsinfo/fsi_util.c (set_ether_if): take out extern definition of
12056	inet_addr().  It should come from <arpa/inet.h> instead.
12057
12058	* conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
12059
12060	* include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
12061	avoid conflicts with DU 4.0 system header.
12062
12063Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
12064
12065	* libamu/mount_fs.c (mount_fs): pass along NFS version so I can
12066	determine if to include additional options in the mount table file
12067	entry (such as proto=tcp, and vers=3).
12068
12069Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12070
12071	* libamu/mount_fs.c (mount_fs): include NFS version number in the
12072	mount table options, as well as proto={tcp,udp}.
12073
12074Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12075
12076	* NFS V3 code ported to most other systems, so it compiles for V2
12077	and V3 NFS systems.
12078
12079	* NFS VERSION 3 support, first pass.  Working for Solaris and
12080	using TCP.
12081
12082Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12083
12084	* amq/amq.c: many newline characters were missing from various
12085	stderr printfs.
12086
12087Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12088
12089	* conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
12090	Solaris, which include NFS V3 support.
12091
12092	* conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
12093
12094	* conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
12095	protocol version while getting a mount client.
12096
12097	* amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
12098	file handle size, and proper file handle based on the correct NFS
12099	version number.
12100
12101	* conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
12102	Solaris and other SVR4 systems.
12103
12104	* amd/ops_nfs.c: store NFS file handle version and version
12105	specific handle in struct fh_cache.
12106	(got_nfs_fh): pick the correct RPC reply based on the NFS version
12107	of the server.
12108	(prime_nfs_fhandle_cache): figure out the right NFS file handle
12109	for a node, but now include NFS protocol version information.
12110	(call_mountd): set the correct version for the mount protocol,
12111	based on the NFS protocol version.
12112	(nfs_init): use the NFS protocol generic structure
12113	am_nfs_handle_t.
12114
12115	* include/am_utils.h: new structure am_nfs_handle_t to contain all
12116	possible versions of NFS file handles.
12117
12118	* amd/srvr_nfs.c (start_ping): ping program performs NFS version
12119	specific pings.
12120	(recompute_portmap): figure out the correct portmap version mount.
12121	(nfs_keepalive): call start_ping() with the correct NFS version.
12122	(find_nfs_srvr): if mount option "vers=" is given, use it.  Get
12123	the NFS server version and verify that it is up.
12124
12125	* conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
12126	function to find the best NFS version for a particular host.
12127
12128	* libamu/amu.h: determine what is the highest version of NFS we
12129	should try.
12130
12131	* include/am_utils.h (NFS_VERSION3): added definition for NFS V3
12132	protocol number.
12133	Added field fs_version to struct fserver, so we can now store the
12134	server protocol version.
12135
12136Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12137
12138	* aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
12139	underscores too, so I can test for sub-fields.
12140
12141	* libamu/wire.c: use test that checks for sub-fields of struct
12142	ifreq.
12143
12144Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
12145
12146	* port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
12147	into smaller files.  M4 macros fixed to test for existence of
12148	file systems using getvfsbyname().
12149
12150	* amd/sched.c (sigchld): signal handler must waitpid() for all
12151	possible children.
12152
12153	* hlfsd/homedir.c: signal handler must waitpid() for all possible
12154	children.
12155
12156	* aux/macros/check_restartable_signals.m4: new macro to determine
12157	if need to reinstall signal handlers per OS is better than trying
12158	to figure these out based on system macros.
12159
12160Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
12161
12162	* amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
12163
12164	* amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
12165
12166	* amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
12167	(must be supplied for bsdi 3.0)
12168
12169	* libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
12170	associated new macro) for determining the right way to compute the
12171	size of the interface structure.
12172
12173Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12174
12175	* aux/configure.in: need to include libc before libnsl if
12176	get_myaddress() is available because on irix libnsl has a buggy
12177	get_myaddress().
12178
12179	* include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
12180	on Irix 6 (an SVR4 variant)
12181
12182Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12183
12184	*******************************************************************
12185	*** Released am-utils-6.0a4					***
12186	*******************************************************************
12187
12188Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12189
12190	* amd/amq_subr.c (ok_security): turned off insecure code unless
12191	user explicitly runs configure --enable-amq-mount.
12192
12193	* hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
12194
12195	* amd/nfs_start.c (mount_automounter): use code that separately
12196	creates the NFS and the amq service.  Register tcp and udp
12197	services for amd.
12198
12199	* conf/transp/transp_*.c (create_amq_service): new function to
12200	separately create the amq service for amd.  Simplified prototypes
12201	for create_nfs_service().
12202
12203Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12204
12205	*******************************************************************
12206	*** Released am-utils-6.0a3					***
12207	*******************************************************************
12208
12209Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12210
12211	* new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
12212	of small changes to support these two.
12213
12214Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
12215
12216	* conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
12217	should run if MOUNT_TABLE_ON_FILE, not otherwise.
12218
12219Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12220
12221	* hlfsd/hlfsd.c (main): fill in fhsize field if exists
12222	(freebsd-2.2).
12223
12224	* amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
12225	exists (freebsd-2.2).
12226
12227Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12228
12229	* new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
12230	changed the filehandle type in struct nfs_args from nfsv2fh_t to
12231	u_char.
12232
12233Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12234
12235	* SHARED LIBRARIES: too many changes to list individually.  Now,
12236	libamu can be built as a shared library, and other programs link
12237	with it.
12238
12239Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12240
12241	* aux/macros/opt_shared.m4: new macro for setting options for
12242	building shared am-utils libraries.
12243
12244Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12245
12246	* fixmount/fixrmtab: cleaned up the script.
12247
12248	* fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
12249	fixrmtab gets distributed too.
12250
12251	* conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
12252	Added extern for xdr_mountlist().
12253
12254	* aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
12255	MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
12256	the sources.
12257
12258Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12259
12260	* fixmount/hlfsd ported to bsd44, hpux, and linux systems.
12261
12262	* aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
12263
12264	* conf/fixmount/fixmount_default.c: use lockf() if flock() is
12265	unavailable.
12266
12267	* include/am_defs.h: include <string.h> even if don't have
12268	STDC_HEADERS defined (sunos4).
12269	(seteuid): define seteuid() to be setresuid() for systems that
12270	have but not the other (hpux).
12271
12272	* aux/macros/check_extern.m4: test should include <strings.h>.
12273
12274Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12275
12276	* lib/xutil.c (debug_option): moved from amd/getargs.c to this
12277	more proper file.
12278
12279	* include/am_utils.h: put in structure for debug options, for all
12280	progams to use.
12281
12282	* amd/get_args.c: moved structure for debug options out.
12283
12284Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12285
12286	* ported fixmount.
12287
12288	* lib/ualarm.c: replacement function for systems that don't have a
12289	ualarm().
12290
12291	* ported fsinfo.
12292
12293Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12294
12295	* ported mk-amd-map.
12296
12297	* buildall: added -K option to buildall, to run mkconf.
12298
12299Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12300
12301	*******************************************************************
12302	*** Released am-utils-6.0a2					***
12303	*******************************************************************
12304
12305Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12306
12307	* all *.[hcyl] files: add copyright line.
12308
12309	* aux/macros/check_mount_type.m4: test for mount type for
12310	linux-like systems, by checking for loadable or statically linked
12311	kernel filesystem modules.
12312
12313	* aux/macros/check_mnttab_type.m4: test for mount table entry
12314	for linux-like systems, by checking for loadable or statically
12315	linked kernel filesystem modules.
12316
12317	* aux/configure.in: pcfs filesystems can use vfat type (linux)
12318
12319	* aux/macros/check_fs_mntent.m4: test for filesystem existence for
12320	linux-like systems, by checking for loadable or statically linked
12321	kernel filesystem modules.
12322
12323	* conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
12324	9.0 header files.  This should be removed when HPUX 9.0 is deemed
12325	defunct.
12326
12327	* aux/acconfig.h: set an undefined variable for having an extern
12328	to clnt_sperrno().
12329
12330	* include/am_defs.h: define extern for clnt_sperrno() if needed.
12331
12332	* aux/configure.in: test for extern clnt_sperrno().
12333
12334	* aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
12335	similar to irix.
12336
12337	* aux/macros/check_mount_style.m4: use mount helper on HPUX.
12338
12339	* aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
12340	not integer (but may be mapped to one later).
12341
12342	* conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
12343	files.  They have mount(2) and vfsmount(2) which don't take same
12344	arguments, and they have string mount types MNTTYPE_* as well as
12345	integer types MOUNT_*.  So I need this new mount function to map
12346	from string types to integer types for the vfsmount() function.
12347
12348	* conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
12349	vfsmount(), call mount_hpux().
12350
12351Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12352
12353	* lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
12354	both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
12355
12356Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12357
12358	* conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
12359	hpux.
12360
12361	* include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
12362
12363	* aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
12364
12365	* buildall: added ability to configure using other shells than
12366	/bin/sh, on those systems where /bin/sh is buggy or limited
12367	(HPUX).
12368
12369	* aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
12370	defined am_nfs_fh, and also test for plain typedef "nfs_fh".
12371
12372	* aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
12373	reinstated macro.
12374
12375	* aux/configure.in: check for <nfs/export.h>
12376
12377	* include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
12378
12379	* aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
12380	exists.
12381
12382	* aux/macros/mount_headers.m4 (define): removed some non-working
12383	(on HPUX) code that attempts to recreate the fhandle_t rather than
12384	load it up from system headers.  Also added some NFS protocol
12385	header inclusion.  include <nfs/export.h> (HPUX) if exists.
12386
12387Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12388
12389	* aux/macros/mount_headers.m4 (define): Use M4 changequote to
12390	ensure [] brackets are correctly used.
12391
12392	* aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
12393	multi-line M4 inclusions in [].
12394
12395Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12396
12397	* conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
12398	it exists.
12399
12400	* aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
12401	config.h macro for field f_fstypename of struct statfs.
12402
12403	* aux/configure.in: testing for field f_fstypename field of struct
12404	statfs (NetBSD).
12405
12406	* aux/acconfig.h: moved all of the "static" definitions out to a
12407	fixed file called include/am_defs.h.  Added to all */Makefile.am
12408	files a dependency on am_defs.h.  Created am_defs.h of course, and
12409	then added #include <amd_defs.h> to all of the source and header
12410	files that required it.
12411
12412Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
12413
12414	* aux/acconfig.h: two more externals for xdr functions that may be
12415	implemented by libamu.
12416
12417	* conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
12418	definitions.
12419
12420Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12421
12422	* buildall (default): added -D option for turning on even stricker
12423	developer options.
12424
12425	* */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
12426	determine dependencies on optional NFS protocol headers.
12427
12428	* aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
12429
12430	* aux/macros/check_nfs_prot_header.m4: new test to determine what
12431	NFS protocol headers to use.
12432
12433	* conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
12434	complete missing system headers for NFS protocol definitions.
12435
12436Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12437
12438	* amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
12439	#ifdef's as needed.
12440
12441	* amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
12442	suitable #ifdef'ed.
12443
12444	* include/am_compat.h: a couple more mnttab options
12445	(timeo/retrans) setting just in case.
12446
12447	* amd/autil.c (host_normalize): make sure hostent->h_name is
12448	passed a non-const char *.
12449
12450	* conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
12451
12452	* {lib,amq,amd}/*.c (many functions): cast xdr_entry to
12453	XDRPROC_T_TYPE.
12454
12455	* lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
12456	XDRPROC_T_TYPE.
12457
12458	* lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
12459	XDRPROC_T_TYPE.
12460
12461	* lib/wire.c (getwire): Make sure safe assignment from const to
12462	none is done.
12463
12464Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12465
12466	* aux/macros/expand_cpp_int.m4: new macro for expanding integers.
12467
12468	* aux/configure.in: added linux/fs.h support in configure and
12469	several M4 macros.
12470
12471	* conf/mount/mount_linux.c (mount_linux): use macro instead of
12472	"ugly" fixed hex number for mount() arguments.
12473
12474Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12475
12476	* amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
12477	turned all of its code always on.  That code always seems to
12478	compile, as long as you have hesiod and libresolv.
12479
12480	* amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
12481	of its code always on.
12482
12483	* aux/configure.in: removed superfluous test for hs_zone_transfer
12484	function (will never find it because it is an amd-internal
12485	function).
12486
12487	* amd/mapc.c (maptypes): must used correct new name for am-utils'
12488	hesiod initialization function: hesiod_am_init.
12489
12490	* amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
12491	hesiod_am_init so as not to conflict with libhesiod's
12492	hesiod_init() function.
12493
12494	* aux/configure.in: added test and explicit inclusion of
12495	libresolv.a for later resolution of library references with
12496	libhesiod.
12497
12498	* aux/macros/opt_cppflags.m4: new file.  configure/compile C
12499	preprocessor flags.
12500
12501	* aux/macros/opt_libs.m4: new file.  configure/compile library
12502	flags.
12503
12504	* Makefile.am (EXTRA_DIST_AUX): include two new macros
12505	opt_cppflags.m4 and opt_libs.m4.
12506
12507	* aux/configure.in: test for libhesiod needs to additional
12508	libresolv to link completely.  Additional configuration time
12509	options added for setting initial CPPFLAGS and LIBS.
12510
12511Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12512
12513	*******************************************************************
12514	*** Released am-utils-6.0a1					***
12515	*******************************************************************
12516
12517Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12518
12519	* amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
12520	it works on freebsd, where they map dbm_pagfno a non-existing
12521	macro on purpose, to force you to port the code to Berkeley DB.
12522
12523Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12524
12525	* amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
12526	actual mount_toplvl, to avoid some possible race conditions.
12527
12528Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12529
12530	* amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
12531
12532Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12533
12534	* lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
12535
12536	* amd/amd.c (main): fix local address using htonl(). Free up
12537	buffers allocated by netdir_*() functions.
12538
12539Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12540
12541	* amd/fix-amd-map.in: new script that will convert old-style amd
12542	maps to new one.
12543
12544Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12545
12546	* FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
12547	and replies back to simple nfs/link type mount queries).
12548
12549	* conf/mtab/mtab_svr4.c: reorganized the code in this file to be
12550	easier to read, and fixed a few bugs with un/setting the lock file
12551	descriptor.
12552
12553Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12554
12555	* amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
12556	signals in Svr3 systems.  Only stellix ever used this.
12557
12558	* amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
12559	by DYNAMIC_BUFFERS, since it was not in use.
12560
12561Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12562
12563	* amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
12564	takes '=' sign as old selector.  Fix your maps.
12565	(deslashify): removed APOLLO code that treated two '//' as one.
12566
12567Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12568
12569	* amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
12570	was not used.  It made any submount error fail the whole group.
12571
12572	* amd/ops_nfs.c (make_nfs_auth): removed code dependent on
12573	HAS_NFS_QUALIFIED_NAMES.
12574	(mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
12575	is never on.  So code that was triggered by #ifndef
12576	NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
12577	be fixed later.
12578	Removed all ULTRIX_HACK code.  Ultrix is DEAD!
12579	removed all PRESET_AC code, which was only on for Linux to preset
12580	the attribute cache values (otherwise they default to zero).
12581	(nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
12582	have to fixed up later.
12583	(mount_nfs_fh): removed code that was never included, which
12584	attempted to set the port on which amd's nfs mounts on.  This
12585	isn't supported by the ping algorithm yet.  In any case, it is all
12586	done in nfs_init().
12587
12588	* amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
12589	removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
12590	specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
12591	have to be addressed later.
12592
12593	* amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
12594	on PRECISE_SYMLINKS.
12595
12596	* amd/mapc.c (mapc_meta_search): removed code that depended on
12597	HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
12598	to be rethought.
12599	(mapc_add_kv): ported code to use standard regular expression
12600	(regexp) library.
12601
12602	* amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
12603	FLUSH_KERNEL_NAME_CACHE and the macro itself.
12604
12605Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12606
12607	* amd/map.c (exported_ap_alloc): removed all code triggered by
12608	SHRINK_EXPORTED_AP and the macro itself.
12609
12610	* amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
12611	in all the time.  Assuming that there is always NIS realod
12612	available.
12613	(yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
12614	function is broken such that it does not release filedescriptors
12615	it created, then you are hosed.  Get a fix for yp_all from your
12616	vendor or switch operating systems.
12617
12618Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12619
12620	* amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
12621	HAVE_HS_ZONE_TRANSFER.
12622
12623Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12624
12625	* amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
12626	always included.  We should always try to inform the remove mount
12627	daemon of mounts we performed.  If we want an option for this, it
12628	should be a run-time option.
12629
12630	* amd/host_ops.c: removed all that optionally did not make the
12631	directory mount points for amd.
12632
12633	* HOST_EXEC code removed from everywhere.  There is no indication
12634	that it was used anywhere.  If it needs to be used, then a
12635	run-time switch should control it.
12636
12637Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12638
12639	* amd/*_ops.c: removed all references to mntent_t's fields
12640	mnt_freq and mnt_passno, since they are no longe rused (and never
12641	have been).
12642
12643	* amd/am_ops.c: removed function sunos4_match, which was off
12644	anyway.  This was one of the places where an '=' sign was allowed
12645	as an assignment operator (which is now ':=').
12646
12647	* amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
12648	was off anyway.  This was one of the places where an '=' sign was
12649	allowed as an assignment operator (which is now ':=').
12650
12651Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12652
12653	* amq/amq.c: ported to am-utils.  Working.
12654
12655	* conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
12656	to be string, as it should be (rather than a string mapped to int
12657	and back mapped to string).
12658
12659Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12660
12661	* lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
12662
12663	* lib/umount_fs.c: split this into three files: default, osf, and
12664	bsd44, that are in conf/umount/umount_*.c.
12665
12666Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12667
12668	* aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
12669	macro to automatically figure out if an external definition for
12670	sys_errlist[] exists.
12671
12672	* lib/xutil.c (xfree): removed "#undef free" because it's not
12673	needed there.  Any system that redefines free() needs help.
12674
12675	* conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
12676	was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
12677	in active use anywhere.  If added later, it should be a run-time
12678	configuration option.
12679
12680	* conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
12681	be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
12682	in a file in /etc.
12683
12684	* lib/util.c (str3cat): removed _AIX code.  AIX should have a
12685	working realloc, or else find a cleaner solution to this.
12686	(mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
12687	after immediately making directories so that fsck will be able to
12688	fix the filesystem in the event of an immediate crash.  This was
12689	because a bug in UFS which is fixed by now.
12690
12691	* lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
12692	code.  Does not appear to be on and used anywhere.
12693	(dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
12694
12695	* lib/resvport.c: split the binding of reserved ports code to a
12696	separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
12697	from the BSD code.
12698
12699Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12700
12701	* lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
12702	in by automake and configure, for optional sources that need to be
12703	built as part of libamu.a.
12704
12705	* aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
12706	to LIBOBJS.
12707
12708	* lib/memcmp.c (memcmp): new file added to replace a possible bad
12709	implementation of memcmp.
12710
12711Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12712
12713	* converted the sources to use memset/memmove/memcmp instead of
12714	bzero/bcopy/bcmp.
12715
12716	* ran all sources through gnu Indent w/ options specified in
12717	aux/amindent.
12718
12719Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12720
12721	* At this point the initial generation of config.h via autoconf and
12722	some preliminary makefiles via automake is done.  I will not begin
12723	modifying sources, so it's a good time to document from here.
12724
12725Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12726
12727	*******************************************************************
12728	*** Initial ChangeLog Entry					***
12729	*******************************************************************
12730