ChangeLog revision 38494
1Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2
3	*******************************************************************
4	*** Released am-utils-6.0a16					***
5	*******************************************************************
6
7Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8
9	* aux/macros/check_mount_style.m4: define freebsd3 mount style.
10
11	* aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
12
13	* aux/macros/check_mtype_printf_type.m4,
14	aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
15	of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
16	integers, but I'll keep them as integers and do the mapping in
17	conf/mount/mount_freebsd3.c
18
19	* minor new port to i386-pc-bsdi3.1.
20
21	* minor new port to i386-unknown-netbsd1.3.1.
22
23	* amd/opts.c: new option addopts:=ARG, which smartly merges ARG
24	options with whatever the /default ones for a key are.  This
25	allows adding or overriding /default options individual keys.
26
27	* amd/am_ops.c (ops_match): strdup/malloc string assigned to
28	opt_opts because it'll get free()'d upon next use.
29	(merge_opts): new function to merge two sets of options.
30	(ops_match): if addopts option exist, append and merge it to the
31	current default options.
32
33Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
34
35	* wire-test/wire-test.c (main): use dynamically allocated returned
36	string with list of interfaces.
37
38	* amd/get_args.c (get_version_string): allocate enough space for
39	header version string and a list of network interfaces of any
40	length.
41
42	* libamu/wire.c (print_wires): return dynamically allocated string
43	containing list of networks.  Must be dynamic because some sites
44	had potentially dozens of network interfaces.  Patch from Matthew
45	Crosby <mcrosby@ms.com> slightly modified.
46
47Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
48
49	* conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
50	irix 5.3 does not have full header definitions for it.
51
52	* fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
53	undefined it when not needed (similar to amd/conf_tok.l)
54
55	* hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
56	of these to unsigned short (because uid_t on some linux systems is
57	small).
58
59	* released snapshot am-utils-6.0a16s10
60
61	* doc/am-utils.texi (opts Option): documented resvport mount
62	option.
63
64Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
65
66	* doc/am-utils.texi (-D-Option): document behavior of -D info and
67	especially what it does to hesiod (turn on RES_DEBUG).
68
69	* scripts/amd.conf.5: document info debugging option.
70
71	* libamu/xutil.c (dbg_opt): parse info debugging option.
72
73	* include/am_utils.h (D_INFO): define new trace option.
74
75	* Makefile.am (EXTRA_DIST): include list of official mirrors in
76	distribution.
77
78	* libamu/wire.c (SIZE): in the simple case, just compute
79	sizeof(struct ifreq).
80
81Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
82
83	* amd/amd.c (daemon_mode): set a temporary secure umask(0022)
84	before writing log file and restore it afterwards.  Patch from
85	Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
86
87	* amd/get_args.c (get_args): 
88
89	* doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
90	file specified by -F is always processed last.
91
92	* amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
93	won't be reused.  Allows startup script to redirect stdout.  Patch
94	from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
95
96	* libamu/xutil.c (switch_to_logfile): compare logfile name and
97	syslog string with correct length.  Patch from Donald Buczek
98	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
99
100	* amd/restart.c (restart): correctly inherit existing NFS V.3
101	mounts upon restart.  Patch from Donald Buczek
102	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
103
104Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
105
106	* using libtool 1.2 and automake 1.3 (with my patches).
107
108	* aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
109	AMU_CFLAGS to avoid conflicts with automake-1.3.
110
111Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
112
113	* converted to using libtool-1.2.
114
115Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
116
117	* fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
118	for loop (ITER) which used to run only to initialize the variable
119	dd once and then break; with a simple assignment.
120
121	* hlfsd/hlfsd.h: cleanup so it compiles with Solaris
122	/opt/SUNWspro/bin/cc, and use gid_t not int.
123
124	* amd/mapc.c (mapc_sync): don't dereference pointer (so it
125	compiles with Solaris /opt/SUNWspro/bin/cc)
126
127Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
128
129	* aux/config.{guess,sub}: used from gcc-2.8.1.
130
131Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
132
133	* released snapshot am-utils-6.0a16s9
134
135	* INSTALL, doc/am-utils.texi (Supported Platforms): updated names
136	based on new output of new config.guess.
137
138	* aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
139
140	* amd/amd.8,doc/am-utils.texi: document correct usage of default
141	/etc/amd.conf file.
142
143	* fixmount/fixmount.c (inetresport,privsock): use some more
144	portable code from amq/amq.c.
145
146	* amd/get_args.c (get_args): use default /etc/amd.conf file only
147	if no arguments had been passed to amd.
148
149	* fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
150	ala amq/amq.c so that fixmount will work on both types of systems.
151
152	* amq/amq.c (main): do no close tcp socket before running udp try,
153	because we're not sure if it was opened at all.
154
155	* mips-dec-ultrix* port merged in and cleaned up.
156
157	* aux/configure.in: up minor shared library revision number, since
158	it has changed enough.
159
160	* hlfsd/hlfsd.c (main): don't check for overlay mount option here,
161	as it is now done in compute_nfs_args().  Remove ultrix specific
162	code also because it was moved to compute_nfs_args().
163
164	* conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
165	we have more generic code in print_nfs_args().
166
167	* libamu/mount_fs.c (print_nfs_args): print maxlen of
168	nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
169	struct knetconfig from nfs_args->knconf.
170
171	* aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
172	headers here, but in try_compile_anyfs.m4.
173
174	* aux/macros/type_ufs_args.m4: move test for struct ufs_specific
175	(for ultrix) here from its own macro.
176
177	* aux/macros/type_cdfs_args.m4: move test for struct iso_specific
178	(for ultrix) here from its own macro.
179
180	* amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
181	for overlay mount option.  Remove code which checks for overlay
182	option, as it is now done in compute_nfs_args().
183
184	* libamu/mount_fs.c (compute_mount_flags): move here code which
185	checks for overlay mount option which was in amd/amfs_toplvl.c:
186	mount_amfs_toplvl().
187
188Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
189
190	* The following are Rainer's ChangeLog entries for his ultrix
191	port, added manually. -Erez.
192
193	* merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
194	(mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
195
196	* include/am_defs.h: include cdfs specific mount headers avoid
197	duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
198
199	* include/am_compat.h: define several mount options corresponding
200	to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
201	noversion, rrip (cdfs), nocache, quota, sync (generic) removed
202	duplicate MNTTAB_OPT_RO definition
203
204	* aux/macros/try_compile_anyfs.m4: include Ultrix specific
205	ufs/cdfs mount headers
206
207	* aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
208	specific mount headers
209
210	* aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
211	mount types in mount headers (Ultrix)
212
213	* aux/configure.in: Ultrix/Digital UNIX specific checks: new
214	headers, mount structures and fields, filesystem and mount types,
215	mount flags
216
217	* aux/acconfig.h: placeholders for new mount options: quota
218	(generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
219	cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
220	structures
221
222	* amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
223	ufs_args.ufs_flags and has ufs specific pgthresh option
224
225	* amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
226	CDFS mount flags and options
227
228	* amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
229	hlfsd/hlfsd.c (main): store generic mount flags in
230	nfs_args.gfs_flags, handle separate NFS ro flag
231
232	* aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
233	struct_ufs_specific}.m4: new files; check for Ultrix specific
234	mount structures
235
236	* conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
237
238	* aux/macros/type_auth_create_gidlist.m4 (ultrix*):
239	AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
240	comment in <rpc/auth.h>
241
242	* include/am_defs.h: #define KERNEL to avoid definition of
243	gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
244	<config.h> to force single definition here
245
246	* libamu/mount_fs.c (compute_nfs_args): Ultrix support for
247	nfs_args.gfs_flags moved to callers store mount options in
248	nap->optstr
249
250	* include/am_defs.h: fix _am_mntent mnt_{type, opts} field
251	descriptions
252
253	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
254	include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
255	definition in prototypes
256
257	* aux/macros/mount_headers.m4: include <sys/errno.h> before
258	AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
259	definitions
260
261	* aux/aclocal: adapt for local perl path and $prefix
262
263	* conf/nfs_prot/nfs_prot_ultrix.h: new file
264
265 	* aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
266
267	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
268	aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
269	inclusion of <rpc/xdr.h>
270
271Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
272
273	* aux/configure.in: save state of config.cache and confdefs.h
274	(as dbgcf.h) at various points of the configure.
275
276	* aux/macros/save_state.m4: new macro to save state of configure,
277	esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
278	cache variables that are known so far.
279
280	* released snapshot am-utils-6.0a16s8
281
2821998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
283
284	* fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
285	it, but only for flex.
286
287Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
288
289	* hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
290	to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
291	to write the dump file.
292
293	* doc/am-utils.texi,amd/opts.c: rename all references to nomadic
294	functions to boolean functions, which is what they really are.
295
296	* aux/configure.in: don't look for strcasecmp in libucb at all,
297	but rather complete it from libamu/strcasecmp.c as needed.
298
299Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
300
301	* conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
302
303	* libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
304	which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
305	Schmidt <tschmidt@micron.com>.
306
307	* released snapshot am-utils-6.0a16s7
308
309	* conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
310	hppa1.0-hp-hpux11.00.tgz.
311
312Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
313
314	* converted all sources to use mntent field names, and map mnttab
315	field names to mntent's.
316
317	* include/am_defs.h (mnt_special): map struct mnttab field names
318	to struct mntent field names.
319
320	* aux/macros/check_mount_trap.m4: hpux11's mount trap style is
321	identical to svr4/solaris2.
322
323	* aux/macros/check_mount_style.m4: hpux11's mount style is
324	identical to svr4/solaris2.
325
326	* aux/macros/check_network_transport_type.m4: hpux11 is a TLI
327	system!
328
329	* aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
330	dereferencing style is same as svr4.
331
332	* aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
333	dereferencing style is same as svr4.
334
335	* conf/transp/transp_tli.c (create_nfs_service): if failed to
336	getnetconfigent() of ticlts, then try udp (hpux11).
337
338	* conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
339	struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
340	2.5.1 (HP used them).
341
342	* amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
343	because hpux11 doesn't like it. if t_open failed, print error
344	based on t_errlist, not sys_errlist.
345
346Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
347
348	* doc/am-utils.texi: lots of documentation fixes from Rainer Orth
349	<ro@TechFak.Uni-Bielefeld.DE>.
350
351Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
352
353	* fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
354	later.
355
356	* include/am_defs.h: defined the extern for ualarm() if it isn't
357	found, regardless if the function isn't found in standard
358	libraries, because otherwise libamu will include it.
359
3601998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
361
362	* initial port to hpux-11 completed.  Compiles cleanly, but
363	probably does not work, because of missing NFS V.2/3 headers.
364
365	* amd/conf_tok.l: cast yytext to char* when passed to strlen and
366	strdup, for hpux-11's ansi-cc compiler.
367
368	* include/am_utils.h: renamed all xfree() to XFREE() to avoid
369	conflict with hpux-11's system headers.  Also move (voidp) cast
370	from sources to inside the macro itself.
371
372Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
373
374	* released snapshot am-utils-6.0a16s6
375
376	* amd/info_nis.c (nis_isup): new function to test if NIS is up
377	without hanging amd.  Used to ensure that amd does not clear the
378	maps when the expiration period arrived, if the service is down.
379	Otherwise it would be left with empty maps.  It is better to stay
380	with possibly old information than none at all.
381
382	* amd/mapc.c (mapc_sync): check to see if map service is up.
383
384Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
385
386	* aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
387	includes auxiliary library only if needed.
388
3891998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
390
391	* amd/conf_tok.l: undefine ECHO again, so it doesn't get used
392	later.
393
394Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
395
396	* conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
397	completed.
398
399	* conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
400
401Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
402
403	* doc/am-utils.texi (Network Host Filesystem): correct example for
404	type:=host map.
405
406	* aux/macros/os_cflags.m4: only osf4 should compile with
407	-D_SOCKADDR_LEN.
408
409	* aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
410	and OSF4.
411
412	* BUGS: include a new file listing known bugs.
413
414Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
415
416	* conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
417	versions.
418
419	* aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
420	size_t for recvfrom fromlen arg.
421
422Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
423
424	* scripts/ctl-hlfsd.in: turn -D fork so primary process never
425	hangs.
426
427Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
428
429	* include/am_defs.h: don't include <sys/stat.h> and
430	<linux/stat.h>, just remaining definitions in <statbuf.h>
431
432Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
433
434	* released snapshot am-utils-6.0a16s5
435
436	* conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
437	mount(2).
438
439	* check for <sys/fs/xfs_clnt.h> and include it when needed.
440
441	* conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
442	efs and xfs separately from "ufs".
443
444	* amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
445
446	* aux/configure.in: look for irix efs and xfs file systems.
447
448	* scripts/amd.conf.5: new unmount_on_exit option documented.
449
450	* doc/am-utils.texi (unmount_on_exit): new option documented.
451
452	* amd/conf.c (gopt_unmount_on_exit): new function to handle new
453	amd.conf option.
454
455	* amd/map.c (umount_exported): if global amd.conf flag
456	unmount_on_exit is on, then try to unmount all mounted (or
457	restartable) file systems.
458
459	* amd/amd.c: if print_pid option is on, then normally print it to
460	stdout.  If also pid_file is specified, then print the process ID
461	into that file.
462
463	* amd/get_args.c (get_args): print correct -l option depending if
464	system supports syslog and/or syslog facilities.  Patch from 
465	Tom Schmidt <tschmidt@micron.com>.
466
467	* doc/am-utils.texi (opts Option): updates for documentation for
468	new cdfs options defperm, nodefperm, noversion, rrip.
469
470	* amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
471	nodefperm, noversion, rrip.
472
473	* conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
474	on osf.
475
476	* aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
477	expand_cpp_string.m4}: use #error to make failed compilations
478	fail faster, rather than have the program fail during a run.
479
480	* include/am_compat.h: added a few new cdfs options: rrip,
481	noversion, defperm, and nodefperm (used in OSF).
482
483Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
484
485	* released snapshot am-utils-6.0a16s4
486
487	* doc/am-utils.texi (Global Parameters): update manual for new
488	amd.conf global variable hesiod_base.
489
490	* scripts/amd.conf.5: update man page for new amd.conf global
491	variable hesiod_base.
492
493	* amd/get_args.c (get_args): use /etc/amd.conf file if exists by
494	default, else try command line options.  Patch from Randall
495	S. Winchester <rsw@Glue.umd.edu>.
496
497Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
498
499	* amd/info_hesiod.c (hesiod_search), amd/conf.c
500	(gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
501	included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
502	support a hesiod base name in the amd.conf file.
503
504	* doc/am-utils.texi (pid_file Parameter): document new global
505	amd.conf parameter.
506
507	* scripts/amd.conf.5: document new global option pid_file.
508
509	* amd/amd.c (daemon_mode): if cannot open pid_file, continue to
510	run, but print error message.
511
512	* amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
513	init_global_options): Included patch from Randall S. Winchester
514	<rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
515
516	* amd/get_args.c (get_args): correct usage info on amd -t.
517
518	* amd/*.c: massive file name and symbol name changes.  All amd
519	file systems files and symbols are prefix with amfs_*.  Now using
520	real name of file system: amfs_auto instead of afs, amfs_inherit
521	instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
522	clear distinction between amd file system and generic ones like
523	nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
524	f/s) and DFS (Distributed f/s).
525
526	* amd/amfs_union.c: unionfs for amd is always defined, no need to
527	#ifdef it.
528
529Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
530
531	* libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
532	or off, based on the particular quirks of the OS in question.
533
534	* aux/macros/check_nfs_socket_connection.m4: new macro to set the
535	correct wait of handling un/connected NFS sockets.
536
537	* scripts/wait4amd.in: use rlogin instead of rsh.
538
539	* amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
540	-v, always show "nfs3" for NFS V.3.
541
5421998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
543
544	* lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
545	more picky than 2.7.2.3 did.
546
5471998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
548
549	* include/am_utils.h (dlog): amuDebug macros reduced to shorter
550	forms.
551
552Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
553
554	* released snapshot am-utils-6.0a16s3
555
556	* include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
557	in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
558	must not, fake a definition for varargs.
559
560Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
561
562	* README: show how to configure in additional support such as
563	hesiod using various --enable-* flags.
564
565Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
566
567	* aux/configure.in: look for strcasecmp(), and replace it if not
568	available.
569
570	* amd/ops_nfsl.c (nfsl_match): host names should be compared using
571	case insensitive.
572
573	* amd/opts.c: for each map variable, define if the comparison
574	needs to be done case insensitive.
575
576	* include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
577	Patch from Thomas Richter <richter@chemie.fu-berlin.de>
578
5791998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
580
581	* aux/configure.in: look for "isofs" as a possible mount type for
582	cdfs (RedHat Linux).
583
584Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
585
586	* conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
587	type if not defined.
588
589	* conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
590	already defined.
591
592	* aux/configure.in: look for ext2fs before ufs, b/c some linux
593	have both.
594
595Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
596
597	* Makefile.am (snapshot): allow me to install snapshots into the
598	ftp directory.
599
600	* scripts/ctl-hlfsd.in: don't turn on -D mem by default.
601
602	* amd/get_args.c (get_args): minor bug in output of amd -H.
603
604Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
605
606	*******************************************************************
607	*** Released am-utils-6.0a15					***
608	*******************************************************************
609
610Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
611
612	* amd/conf.c (*_browsable_dirs): allow specifying
613	browsable_dirs=full, which will print *all* entries (other than
614	/default), including  those with '*' and '/' characters.
615
616	* amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
617	to 1500.
618
619	* doc/am-utils.texi: fixed reversed documentation for NFS mount
620	options vers and proto.
621
622	* doc/Makefile.am (install-html): separate target just for
623	installing html files.  Another new target "alldocs" is just for
624	installing all files needed for the am-utils home page.
625
626	* scripts/amd.conf-sample: updated example for log_file.
627
628	* scripts/amd.conf.5: updated for new way to declare new syslog
629	facility in the log_file option.
630
631	* amd/amd.8: updated for new way to declare new syslog facility in
632	the -l option.
633
634	* libamu/xutil.c (get_syslog_facility): allow users to specify the
635	syslog facility as an appended string to the log device.  Ex. amd
636	-l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
637	will use the default LOG_DAEMON facility.
638
639	* amd/get_args.c (get_args): updated new syntax for amd -l
640	syslog:facility.
641
642Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
643
644	* aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
645	(intel).
646
647	* libamu/wire.c (print_wires): bug fix.  Nullify output buffer
648	before appending to it, on systems with two or more network
649	interfaces.
650
651	* conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
652	the mntent for cachefs.
653
654	* include/am_defs.h: external definition for strstr() should use
655	const for both arguments.
656
657	* aux/configure.in: add extern definitions for getwd() if missing.
658
659	* include/am_defs.h: define the extern for strdup() even if the
660	function does not exist, for it will be filled in by
661	libamu/strdup.c
662
663	* amq/pawd.c (cluster_server): don't use getccent() if the extern
664	for it isn't there.  On hpux 10.20, the function is in libc, but
665	<cluster.h> and struct cct_entry do not exist.
666
667	* aux/configure.in: check for an extern for getccent() b/c some
668	hpux systems don't have it (hpux 10.20).
669
670Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
671
672	* doc/am-utils.texi (Amq -T option): manual documentation updates
673	for new amq options -T/-U.
674
675	* amq/amq.8: updated man page for new amq options -T/-U.
676
677	* amq/amq.c: two new switches to amq. -U will contact amd using
678	UDP only.  -T will use TCP only.  Normally amq will try TCP and
679	if that failed, will try UDP.
680
681	* doc/am-utils.texi (pawd): manual documentation for pawd.
682
683	* amq/pawd.1: new man page for pawd.
684
685Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
686
687	* amq/pawd.c: a new program, Print Automounter Working Directory,
688	to print the proper pathname of the cwd or any other pathname,
689	adjusted for automounter paths, while avoiding mount points.
690
691	* aux/macros/localconfig.m4: trivial support for am-utils
692	maintainers to adjust some of the configuration of am-utils after
693	it has been auto-configured by putting whatever definitions you
694	wish in a file called localconfig.h, located in the top build
695	directory (the same one where config.h is created for you).
696
697	* doc/am-utils.texi (Caching Filesystem): updated documents for
698	cachefs file system.
699
700	* amd/ops_cachefs.c: initial cachefs support, for solaris.
701	type:=cachefs, requires cachedir:=/cache/dir/name to be defined
702	and initialized with cfsadmin -c.  $rfs is backdir to be cached
703	from, and $fs is the local mount point of the cachefs.
704
705	* conf/mount/mount_svr4.c (mount_svr4): support mounting of
706	cachefs file systems.
707
708	* amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
709	mnttab type is.
710
711Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
712
713	* amd/opts.c: added support for new variable $cachedir.
714
715	* include/am_utils.h: added opt_cachedir field to struct am_opts.
716
717Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
718
719	* amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
720	local hostname does not match $rhost, and if so, also assume
721	type:=nfs.
722
723Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
724
725	* updated all source files to add 1998 as a copyright year.
726
727	* amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
728	like type:=linkx if the pathname denoted by $fs exists, and like
729	type:=nfs if it does not.  A convenient shortcut for the most
730	popular amd map entry.
731
732	* amd/amd.c (main): amd should chdir to / before starting, to
733	avoid hanging on other NFS server if started elsewhere.
734
735	* amd/ops_TEMPLATE.c: added an empty template file for developers
736	who wish to write new amd pseudo file systems.
737
738Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
739
740	* hlfsd/homedir.c (plt_init): make function exported, to save on
741	the unnecessary init_homedir() function which was removed.
742	(table_add): don't use xmalloc() when you can use strdup()
743	instead.
744
745Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
746
747	* hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
748	because we will be making more passwd calls afterwards.  On
749	Solaris 2.5.1, making getpwent() calls after calling endpwent()
750	results in a memory leak! (and no, even Purify didn't detect
751	it...)
752
753Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
754
755	* hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
756	automatically allocated address.
757
758	* amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
759	automatically allocated address.
760
761	* ALL SOURCES: change every direct call to free() to xfree(), so
762	it can be mapped to the right debugging function as needed.
763
764	* include/am_utils.h: new free() policy.  If debugging memory,
765	call dxfree(), which will print the file name and line number
766	where the free occurred and the pointer address.  if only regular
767	debugging, then free() and reset  the pointer to NULL so it cannot
768	be used afterwards inadvertently.  If not DEBUG at all, then just
769	run free().  Three different #define macros set the right mapping.
770
771	* libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
772	be called only when debugging the memory.
773
774Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
775
776	* wire-test/wire-test.c (main): use xmalloc() not malloc().
777
778	* conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
779	calloc().
780
781	* conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
782
783	* conf/mount/mount_linux.c (parse_opts): use xmalloc() not
784	malloc().
785
786	* amd/info_ldap.c: use xmalloc() not malloc().
787
788	* libamu/xutil.c (xzalloc): new function to allocate memory and
789	zero its bytes.
790
791	* amq/amq.c: amq does not need its own definition of xfree().
792
793	* aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
794	look for function malloc_verify() in libmapmalloc.a, and function
795	mallinfo() in libmalloc.
796
797	* libamu/xutil.c (checkup_mem): do not use mallinfo field
798	uordbytes, because it does not always exist.  Rather, compute it
799	from other fields..
800
801	* include/am_utils.h: add external definition to xfree() function
802	used when debugging memory references.
803
804Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
805
806	* amd/ops_afs.c (afs_readdir_browsable): reduce the number of
807	bytes heuristically computed to be returned to the kernel.
808	Otherwise browsable_dirs fails on OpenBSD 2.2.
809
810	* amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
811	mf_private field to AFTER it gets used.
812
813Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
814
815	* amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
816	on systems that don't support it.
817
818	* include/am_defs.h: add missing extern definition for free().
819
820	* aux/configure.in: check for external definition for free().
821
822	* libamu/Makefile.am: add to comment a mention of strstr as an
823	optional function.
824
825	* libamu/xutil.c (switch_to_logfile): use openlog() options only
826	if they exist.
827
828	* conf/transp/transp_sockets.c (get_nfs_version): don't use
829	clnt_spcreateerror if it does not exist.
830
831	* aux/configure.in: check for missing functions clnt_create and
832	clnt_spcreateerror.  Check for missing strstr, and complete
833	its code.  Check for missing external definition for strstr.
834
835	* aux/macros/host_macros.m4: normalize sun3* names.
836
837	* Makefile.am: updates for new sunos3 files distributed.
838
839	* conf/nfs_prot/nfs_prot_sunos3.h: new file.
840
841	* conf/fh_dref/fh_dref_sunos3.h: new file.
842
843	* aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
844
845	* aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
846
847	* doc/am-utils.texi (wire Selector Variable): updated manual for
848	adjusted variables wire, network, and netnumber, all using the
849	in_network() function.
850
851Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
852
853	* amd/opts.c: allow options to be processed by executing arbitrary
854	functions.  Converted wire, network, and netnumber all to use the
855	nomadic function in_network.  So from now on they perform a match
856	against all networks, not just primary.
857
858	* initial port to alpha-unknown-linux-gnu, probably works, but
859	untested yet.
860
861	* conf/nfs_prot/nfs_prot_linux.h: add special definitions for
862	__FD_* macros which for som strange reason do not get included
863	from <selectbits.h> on redhat alpha linux.  Also turn off usage of
864	<rpc/des_auth.h> because it is incomplete on the same systems.
865
866	* hlfsd/homedir.c (table_add): cast uid field to int, for
867	comparison.
868
869	* include/am_defs.h: more coflicts with redhat alpha linux
870	"resolved".
871
872	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
873	There's a conflict of definitions on redhat alpha linux between
874	<netinet/in.h> and <linux/fs.h> which must be avoided.
875
876	* aux/configure.in: check for <socketbits.h>, which is in use on
877	redhat alpha linux.
878
879	* doc/am-utils.texi (Selectors): added documentation to describe
880	the new "!" (negated) nomadic functions.
881
882	* amd/opts.c (f_in_network): print debugging info that is correct,
883	rather than saying that any ARG is on a local network.
884	(eval_opts): added support for negating nomadic functions, by
885	prepending "!" to their name.  Example, !exists(/foo/bar).
886
887Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
888
889	* include/am_compat.h: ensure that all NFS3 systems have the mount
890	table entries (and amd opts switches) "proto" and "vers".
891
892	* hlfsd/homedir.c (table_add): added some debugging info to try
893	and track down a serious memory leak in hlfsd.
894
8951997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
896
897	* libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
898	you do NOT set the noconn option, and use connected sockets
899	always.  So I'm now forced not to set it at all, and have the user
900	specify it as "conn" or "noconn" in their /default entry.  Argh...
901	Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
902	buggy (TCP hangs with "short receive" kernel errors).  I'd better
903	wait until they get it working in their version of the automounter
904	first.  So I'm putting the "noconn" option back.
905
906Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
907
908	* libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
909	nfs_args field maxgrouplist accordingly.
910
911	* include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
912	for mount table entry for maxgroups based on NFS mount option
913	maxgrp.
914
915	* aux/configure.in: put back testing for NFS mount option
916	"maxgrps".  Added test for mount table entry "maxgroups".
917
918	* libamu/mount_fs.c (compute_nfs_args): perform more careful tests
919	on nfs_proto, because it could be NULL.
920
921	* doc/am-utils.texi (Selectors): added example of in_network()
922	selector.
923
924	* aux/macros/check_hide_mount_type.m4: all hpux versions,
925	including 9.x, should use "ignore" as the mount type to hide from
926	amd.
927
928Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
929
930	* include/am_utils.h (NSTREQ): use new macro instead of strncmp()
931	every where in the sources.
932
933Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
934
935	* libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
936	print as much info that is given in struct nfs_args as possible.
937	useful for detecting internal flags and options, as well as the
938	file handle used.
939
940	* scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
941	after /etc and before /etc/local.
942
943Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
944
945	* aux/configure.in, libamu/Makefile.am: added support for linking
946	with specific versions of libamu.  Upped shared library version of
947	libamu to 1 (libamu.so.1.0.0)
948
949	* include/am_defs.h: added external definition for mkstemp() as
950	needed.
951
952	* minor new port to i386-unknown-netbsd1.3 (BETA version of
953	netbsd).
954
955	* aux/config.guess: don't leave a trailing '.' on the system name
956	for NetBSD-1.3_BETA and similarly for OpenBSD.
957
958	* conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
959	differences in ypall calling conventions.
960
961	* mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
962	in preference over mktemp(), b/c it is more secure.
963
964	* aux/configure.in: check for mkstemp(), a more secure version of
965	mktemp().
966
967Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
968
969	* amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
970	table "vers" option generally do not set the mnttab entry to
971	"nfs3", but to "nfs" and then they set "vers=3".  Setting it to
972	"nfs3" works, but it may break some things like "df -t nfs" and
973	the "quota" program (esp. on Solaris and Irix).  So on those
974	systems, set it to "nfs".
975
976Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
977
978	* doc/am-utils.texi (Distrib): updates for new ports, location of
979	am-utils' home page, and URL cross references (now supported by my
980	version of texi2html).
981
982	* aux/macros/check_mtype_type.m4: also use string type for file
983	system mount types under nextstep for mount(2).
984
985	* aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
986	integer and string types for file system mount types in mount(2),
987	but it is better to use string types.
988
989	* conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
990	0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
991	(EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
992	works.
993
994	* conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
995	not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
996	(EPERM) instead of 0 (OK).
997
998	* libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
999	by -D trace (protocol trace).
1000
10011997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
1002
1003	* A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
1004	macro based on existence on others, and include <sys/stat.h>.
1005
1006Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1007
1008	* aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
1009	inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
1010	which this header is broken (it tries to include non-existing
1011	headers).
1012
1013Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1014
1015	* libamu/mount_fs.c (mnt_flags): support either nfs or generic
1016	mount option for grpid.
1017
1018	* aux/configure.in: turn back on NFS mount option grpid.
1019
1020Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1021
1022	* doc/Makefile.am (install-ps): added target to install postscript
1023	file in the am-utils' home page, as well as a few other useful
1024	files for the new am-utils Web page.
1025
1026Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1027
1028	*******************************************************************
1029	*** Released am-utils-6.0a14					***
1030	*******************************************************************
1031
1032Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1033
1034	* doc/am-utils.texi (Supported Platforms): updated table of new
1035	ports.
1036
1037Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1038
1039	* libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
1040	options so that they can be printed in logs as needed.
1041
1042	* doc/am-utils.texi (osver Parameter): updated for the correct
1043	usage of the -o/-O options.
1044
1045	* scripts/amd.conf.5: corrected info for -o/-O options.
1046
1047	* amd/amd.8: updated man page for new -O op_sys_name option, and
1048	corrected the usage of the -o op_sys_ver option
1049
1050	* amd/get_args.c (get_args): added new amd option -O to override
1051	OS name.
1052	(get_args): updated usage string.  Removed old -m option.  Added
1053	-o and -O options.
1054
1055	* conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
1056	it is not there.  Reportedly, irix 5.2 does not define it.
1057
1058	* scripts/lostaltmail.in: removed references to unused $hack
1059	variable.
1060
1061	* aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
1062	<metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
1063	for solaris2.5.
1064
1065	* doc/am-utils.texi (Distrib): typo in the subscription
1066	instructions to amd-dev.  Patch from Stefan Vogel
1067	<vogel@physik-rzu.unizh.ch>.
1068
10691997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
1070
1071	* NFS3 works on powerpc-ibm-aix4.2.1.0.
1072
1073	* libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
1074	static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
1075	stack of an automatic variable when pointer to it is passed around
1076	several times.
1077
1078Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1079
1080	* libamu/xutil.c (real_plog): syslog like behavior for normal
1081	logging.  Will not print repeated strings, only a count "last
1082	message repeated N times", but will always print something if
1083	message is repeated more than 100 times.
1084
1085	* scripts/lostaltmail.in: look for lostaltmail.conf files also in
1086	/etc/global, /etc/os, and /etc/local (in that order).
1087
1088Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1089
1090	* conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
1091	mounts.
1092
1093	* aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
1094	aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
1095
1096	* conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
1097	NFS_SA_DREF macro is a pointer to the structure that used to be
1098	passed to it before.  So now I have to dereference the pointer
1099	before accessing its values.
1100
1101	* hlfsd/hlfsd.c (main): use the new and cleaner
1102	compute_nfs_args() and compute_automounter_nfs_args() functions.
1103
1104	* amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
1105	compute_nfs_args() and compute_automounter_nfs_args() functions.
1106
1107	* amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
1108	and cleaner compute_nfs_args() and compute_automounter_nfs_args()
1109	functions.
1110
1111	* libamu/mount_fs.c (compute_nfs_args): major code cleanup that
1112	relates for struct nfs_args.  A new function sets the numerous
1113	possible flags and fields of nfs_args_t in an orderly fashion.
1114	Code cleaned up, organized, and moved from amd/hlfsd into
1115	libamu.  This saves on overall size of code.
1116	(compute_automounter_nfs_args): A variant of compute_nfs_args()
1117	which sets special options/flags that need to be used when NFS
1118	mounting an automounter's mount point.  Used by hlfsd and amd.
1119
1120	* amq/amq.c (get_secure_amd_client): don't print any more
1121	"get_secure_amd_client: using TCP, port 12345".  It's more
1122	annoying than useful a message, even when assumed to be compiled
1123	under DEBUG only.
1124
1125Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1126
1127	* aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
1128	mount table entries.  The code used to define the /etc/mnttab name
1129	for file systems based on physical media (disk, cdrom, floppy) to
1130	the generic name, rather than the OS specific name.  For example
1131	autoconf searches for all these types of mount table entries for a
1132	floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
1133	it found any, it hard-coded the mnttab name to "pcfs" rather than
1134	the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
1135	nullfs, unionfs, and umapfs.
1136
1137	* aux/configure.in: also test for xfs (for newer Irix) when
1138	looking for mount type names, numbers, etc of a disk-based ufs.
1139
1140Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
1141
1142	* amq/amq.c (main): use pmap_ping() to test if remote host is up.
1143	This works better on bsdi2 and bsdi3, because their portmapper
1144	does not appear to like forwarding operations (it is generaly
1145	insecure).
1146
1147Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1148
1149	*******************************************************************
1150	*** Released am-utils-6.0a13					***
1151	*******************************************************************
1152
1153Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1154
1155	* conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
1156	struct datum typedef.
1157
1158	* conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
1159	ypall_callback_fxn_t for netbsd.
1160
1161	* aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
1162	the 5th arg to authunix_create(), while before and after they used
1163	gid_t.
1164
1165	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
1166	clnt_create_timed() on older Solaris 2.3 systems that did not have
1167	it.
1168
1169	* conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
1170	kernel only on bsdi2, so do not include it.
1171
1172Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1173
1174	* hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
1175	messages about resolution of mailboxes based on uid/gid.
1176
1177	* scripts/ctl-hlfsd.in: check for alternate password file in
1178	${prefix}/etc/passwd and use it in hlfsd's startup.
1179
1180Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1181
1182	* hlfsd/homedir.c (hlfsd_getpwent): added support for -P
1183	passwdfile option.  If hlfsd is started with -P passwdfile, then
1184	the passwdfile is read and parsed just as a standard unix
1185	passwd(4) file.  Only the username, uid, and homedir fields are
1186	read and checked.  All the rest are ignored.  No NIS/netgroup
1187	support!
1188
1189	* hlfsd/hlfsd.c (main): check if hlfsd is run as root after
1190	parsing command line options, so that usage() can be printed when
1191	-h is invoked.
1192
1193Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1194
1195	* amd/nfs_start.c (mount_automounter): if autofs service listener
1196	fails to initialize it is OK if using a test amd.
1197
1198	* amd/opts.c (f_in_network): new nomadic function in_network(arg),
1199	which returns TRUE if 'arg' is any one of this host's networks.
1200
1201	* libamu/wire.c (getwire): rewritten parts of function, to store
1202	all networks names and numbers in the order of the interface (not
1203	in reverse).
1204
1205Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1206
1207	* aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
1208	would have worked had it not been due to AIX's buggy /bin/sh.
1209
1210	* doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
1211	am-utils.ps in the distribution sources.
1212	(html): generate html documentation for
1213	http://www.cs.columbia.edu/~ezk/am-utils/
1214
1215Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1216
1217	* conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
1218	ypall_callback_fxn_t.  The NetBSD team compiles all sources with
1219	gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
1220
1221	* amd/info_nis.c: allow for override of ypall_callback_fxn_t
1222	function typedef.
1223
1224	* libamu/xutil.c (amu_release_controlling_tty): new function to
1225	release the controlling tty in a clean and sane manner.  No longer
1226	using setpgid() b/c it may not work.  Uses setsid(),
1227	and ioctl() (in order).  This new function is used in amd/amd.c
1228	and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
1229	systems, but on others it is the same as setpgid().
1230
1231Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1232
1233	* aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
1234	it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
1235	never used, because the configure test for fsname flag wasn't
1236	used.  This fixed a bug in HPUX 10, where syncer and manual mounts
1237	left blank lines in /etc/mnttab.
1238
1239	* aux/configure.in: check for nfs mount option 'fsname'.
1240
1241Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1242
1243	* amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
1244	mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
1245	hpux-10 will mount amd's mounts points as 'ignore' (by df).
1246
1247	* aux/configure.in: check for NFS mount option 'ignore', useful in
1248	HPUX 10.
1249
1250Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1251
1252	* aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
1253	mount type and not NFS, for the amd mount points.
1254
1255	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
1256	an RPC timeout as an error, but just an info message.  From
1257	Andreas Stolcke <stolcke@speech.sri.com>
1258
1259	* If the NFS server is down or does not support the portmapper
1260	call (such as certain Novell NFS servers) we mark it as version 2
1261	and we let the nfs code deal with the case that is down.  If when
1262	the server comes back up, it can support NFS V.3 and/or TCP, it
1263	will use those.  From christos@deshaw.com (Christos Zoulas).
1264
1265	* hlfsd/homedir.c (plt_print): various compile time cleanups to
1266	printfs that take a long, but pass an int to print.  From
1267	christos@deshaw.com (Christos Zoulas).
1268
1269	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
1270	macro to determine if the OS has a bad yp_all(), based on the host
1271	OS name.  So far only irix (all versions) have a bad yp_all, so
1272	they will use am_yp_all() instead (which is slower as it
1273	enumerates manually all of the map's entries).
1274
1275Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
1276
1277	* amd/info_nis.c (am_yp_all): code for a replacement yp_all that
1278	avoids using a file-descriptor leaking yp_all() on some systems
1279	like irix.
1280
1281Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
1282
1283	* fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
1284	systems using /usr/bin/flex.
1285
1286	* amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
1287	that have a modified GNU flex which does define yywrap (DU-4.x).
1288
1289Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1290
1291	* conf/checkmount/checkmount_bsd44.c: include prototype.
1292
1293Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1294
1295	*******************************************************************
1296	*** Released am-utils-6.0a12					***
1297	*******************************************************************
1298
1299Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1300
1301	* conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
1302	code in irix6 until it can be tested correctly
1303
1304	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
1305	on clnt_create for 3 seconds, rather than wait for the much longer
1306	default.
1307
1308	* conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
1309	Includes NFS3, untested.
1310
1311Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1312
1313	* amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
1314	pcfs_args_t if they exist.
1315
1316	* amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
1317	cdfs_args_t if it exists.
1318
1319	* new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
1320	hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
1321
1322Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1323
1324	* doc/am-utils.texi (wire-test): updated documentation for the new
1325	option.
1326
1327	* wire-test/wire-test.8: updated man page for new option.
1328
1329	* wire-test/wire-test.c (main): added a test for various
1330	combinations of NFS proto/vers to a remote/local host.
1331
1332	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
1333	<isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
1334	freebsd will correctly set mount options for pcfs and cdfs.
1335
1336	* amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
1337	0777 (if field exists).
1338
1339	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
1340	<msdosfs/msdosfsmount.h> if available.
1341
1342	* minor new port: rs6000-ibm-aix4.1.4.0.
1343
1344	* libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
1345	write the "time" field in /etc/mnttab.
1346
1347	* conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
1348	detecting mnt_time field of mntent_t.
1349
1350	* libamu/mtab.c (mnt_free): fixed typo in macro names for
1351	detecting mnt_time field of mntent_t.
1352
1353Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1354
1355	* conf/mtab/mtab_file.c (lock): Use flock() in preference over
1356	fcntl() to lock the mtab file.
1357
1358Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1359
1360	* conf/transp/transp_sockets.c (get_nfs_version): define
1361	the try_again goto label only for NFS3.
1362	(pmap_ping): assume timeout failure of clnt_stat.
1363
1364	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
1365	"groups *".
1366
1367Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1368
1369	* conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
1370	<dsr@mail.lns.cornell.edu> to make sure that amd works with more
1371	secure portmappers that do not allow forwarding of RPC messages to
1372	other services.
1373
1374	* */Makefile.am: all source files should also depend on the new
1375	include/am_xdr_func.h header.
1376
1377	* include/am_xdr_func.h: new file as part of the code cleanup from
1378	Christos Zoulas <christos@deshaw.com>.
1379
1380	* Lots of fixes from Christos Zoulas <christos@deshaw.com> that
1381	involved missing prototypes, cleaned up ones, and removal of
1382	unused variables.
1383
1384	* libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
1385	statement with only one case is unclean.
1386
1387Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1388
1389	* amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
1390	0 so that all fields are initialized to zero at first.  This way
1391	SunOS 4.x and other systems don't get /etc/mtab entries with
1392	random integers for the fsck/freq fields. Patch from Andreas
1393	Stolcke <stolcke@speech.sri.com>.
1394
1395Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
1396
1397	* conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
1398	that the important definition for HOSTNAMESZ will be found.
1399
1400	* amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
1401	(inside the nfs_args structure) if the system uses that macro.
1402	Otherwise systems like SunOS refuse to NFS mount long pathnames
1403	and result in ENAMETOOLONG errno's.
1404
1405Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1406
1407	* doc/am-utils.texi (Supported Platforms): specify new support for
1408	solaris 2.6, and hlfsd running on 2.5.1 too.
1409
1410Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
1411
1412	* conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
1413	mount if it is not supported or was turned off.
1414
1415Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
1416
1417	* conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
1418	again.  Apparently at some previous release SunOS 4 supported was
1419	broken and all nfs mounts resulted in ESTALE.
1420
1421Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
1422
1423	* conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
1424	solaris 2.6.
1425
1426	* aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
1427	protocol header selection.
1428
1429Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1430
1431	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
1432	infinite loop.
1433
1434Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1435
1436	*******************************************************************
1437	*** Released am-utils-6.0a11					***
1438	*******************************************************************
1439
1440Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1441
1442	* amd/amd.c (main): if plock() succeeded, don't try to display
1443	errno message.   Patch from Chris Metcalf
1444	<metcalf@catfish.lcs.mit.edu.
1445
1446Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1447
1448	* hlfsd/homedir.c (table_add): make sure duplicate passwd entries
1449	are ignored.   Only the first entry should ever be used, because
1450	that's how lookup in passwd database works.
1451
1452	* conf/transp/transp_sockets.c (get_nfs_version): when determining
1453	if a remote host is up or down, use NFS v.2.  Fix suggested by
1454	Enami Tsugutomo <enami@cv.sony.co.jp>.
1455
1456	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
1457	function to get the best possible NFS version, but also timeout
1458	faster than normal defaults, so remote hosts which are down can be
1459	detected in a reasonable time.
1460	(get_nfs_version): use the new "best" function.
1461
1462Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1463
1464	*******************************************************************
1465	*** Released am-utils-6.0a10					***
1466	*******************************************************************
1467
1468Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1469
1470	* conf/transp/transp_tli.c (get_nfs_version): don't use
1471	clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
1472	and earlier).
1473
1474	* aux/configure.in: test for existence of clnt_tp_create_timed(),
1475	since Solaris 2.4 (and possibly earlier) do not have it.
1476
1477Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
1478
1479	* amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
1480	field if it exists (solaris 2.4's autofs does not have it).
1481
1482Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1483
1484	* aux/macros/type_auth_create_gidlist.m4: a new test to determine
1485	the correct type to the 5th argument of authunix_create().
1486
1487Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
1488
1489	* libamu/xdr_func.c (xdr_umntrequest): add test for autofs
1490	structure umntrequest, if it has the field rdevid.  Seems Solaris
1491	2.4 and earlier didn't have it.
1492
1493Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1494
1495	* hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
1496	can be done before primary process forks.
1497	(main): bug fix: wait a bit to give child a chance to initialize.
1498	Without this, hlfsd got into a busy infinite loop while, never
1499	completing the mount.
1500
1501	* amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
1502	to make amd works when talking to NIS+ servers in NIS
1503	compatibility mode.
1504
1505Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1506
1507	* amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
1508
1509Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1510
1511	* amd/conf.c (gopt_fully_qualified_hosts): a new function to
1512	process another new global variable.
1513
1514	* amd/ops_nfs.c (make_nfs_auth): if a new global variable
1515	fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
1516	Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
1517
1518	* amd/conf.c (process_last_regular_map): If the amd.conf file only
1519	has a [global] section (pretty useless IMHO), do not try to
1520	process a map that does not exist.
1521
1522	* scripts/amd.conf.5: fixed typos (repeated 'as' word).
1523
1524	* doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
1525
1526	* amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
1527	structure, so it does not carry over from map entry to another.
1528
1529Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1530
1531	* amd/amd.c (main): fixed the meaning of the plock option.  A bug
1532	caused it to be reversed.
1533
1534Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1535
1536	* hlfsd/stubs.c: don't initialize some statics here.  They are
1537	better initialized in hlfsd_init_filehandles().
1538
1539Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1540
1541	* amd/conf.c (gopt_show_statfs_entries): new function and a global
1542	amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
1543	then all maps flagged as browsable will also show a count of the
1544	number of entries (keys) in that map.
1545
1546	* amd/nfs_subr.c (count_map_entries): new function to count number
1547	of entries in a map.  Now used if browsable is turned on in a map,
1548	to return a count of available keys in a given map.
1549
1550	* hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
1551	confused the file handles for ".", "..", and the symlink, causing
1552	mess.
1553
1554	* aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
1555	but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
1556	with bad memcmp() in libc's (nextstep3).
1557
1558Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1559
1560	* aux/configure.in: check if autofs_args_t has a field named
1561	addr.  Solaris has it for specifying the address of the daemon,
1562	but Irix does not.  So how does irix tell the kernel the daemon's
1563	address?  I suspect that it is hardcoded to "localhost" using a
1564	"private well-known port" (#define AUTOFS_PORT 2048).
1565
1566	* conf/nfs_prot/nfs_prot_linux.h: added missing autofs
1567	definitions.
1568
1569	* README.autofs: new file listing autofs support notes
1570
1571	* very preliminary autofs code working.  Call it pre-alpha
1572	quality.
1573
1574Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1575
1576	* amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
1577	"autofs" if system does not support it.
1578
1579	* amd/amd.c (main): log am-utils version string (same as amd -v)
1580	at start of run.
1581
1582	* conf/transp/transp_sockets.c (get_nfs_version): in order to tell
1583	if a remote host is available, try to contact its portmapper and
1584	timeout if no answer is received in 3 seconds.
1585
1586Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1587
1588	* aux/macros/check_extern.m4 (pattern): use a simpler pattern for
1589	match for external function definitions.  The function could span
1590	multiple lines, so only match the opening parenthesis, not the
1591	closing one too.
1592
1593	* aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
1594	posix mode for nextstep3.  It is broken.
1595
1596	* amd/amd.c (init_global_options): run uname() only if
1597	<sys/utsname.h> and uname(2) exist.
1598
1599	* amd/rpc_fwd.c (fwd_packet): if remote host is down, the
1600	forwarding socket is null, so declare this an error.
1601
1602	* include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
1603	for when a remote host is down.  Try, in order, "host down", "host
1604	unreachable", "invalid argument".
1605
1606	* amd/ops_nfs.c (discard_fh): don't dereference a null pointer
1607	(happens when remote host is down, and fp->fh_fs is NULL).
1608	(prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
1609	and FSF_DOWN.
1610
1611	* amd/sched.c: nobody uses "union wait" any more, or so it
1612	appears, so clean up that code.
1613
1614	* conf/transp/transp_tli.c (get_nfs_version): if remote host is
1615	down, time it out faster than default (3 seconds).
1616	(get_mount_client): free netconfig entry when done with it.
1617
1618	* conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
1619	port to nextstep3 (m68k-next-nextstep3).
1620
1621	* fsinfo/Makefile.am (LDADD): needs to link with libamu in case
1622	system does not have strdup().
1623
1624	* include/am_defs.h: complete external definition for getlogin()
1625	if needed.
1626
1627	* conf/transp/transp_tli.c (get_nfs_version): no need to keep
1628	static versout variable.
1629
1630	* amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
1631	server is probably down.  Don't use sendto() in that case.
1632
1633	* buildall (default): run gmake if found, before trying plain
1634	make.  GNU make is always preferable.
1635
1636Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1637
1638	* aux/macros/host_macros.m4: cleanup of os_version and os
1639	overrides.  Solaris 2.5.1 for example will come up as solaris2 and
1640	2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
1641	the amd.conf file.
1642
1643Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1644
1645	*******************************************************************
1646	*** Released am-utils-6.0a9					***
1647	*******************************************************************
1648
1649Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1650
1651	* conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
1652	(i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
1653	from <ndbm.h> and <sys/resource.h>.
1654
1655	* scripts/amd.conf.5: new map page.
1656
1657	* amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
1658	does not.
1659
1660	* amd/amd.8: updated man page.
1661
1662	* amd/get_args.c (get_args): removed defunct -h option to amd.
1663
1664	* amq/amq.8: updated man page.
1665
1666	* amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
1667	SparcCompiler CC won't complain.
1668
1669	* amd/info_hesiod.c (hesiod_search): small fixes to compile with
1670	hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1671
1672	* aux/macros/opt_ldflags.m4: new option added to configure
1673	--enable-ldflags, to specify -L option for configuring/compiling.
1674	The older one --enable-libs is now to be used only for -l options.
1675
1676	* amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
1677	nc_protoname from nfs_proto if available for all TLI systems, not
1678	just those that have NFS V3.
1679
1680	* amd/info_ldap.c: ldap patches from Leif Johansson
1681	<leifj@matematik.su.se>, adding two new amd.conf ldap variables:
1682	ldap_cache_seconds and ldap_cache_maxmem.
1683
1684	* hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
1685	htons().
1686
1687Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1688
1689	* amd/nfs_start.c (mount_automounter): register amd with the rpc
1690	program number that may have been overridden by amd.conf.
1691
1692	* libamu/xutil.c (set_amd_program_number, get_amd_program_number):
1693	allow storing and retrieving alternate amd program numbers.
1694
1695	* amd/conf.c (gopt_portmap_program): new function to parse
1696	amd.conf entry portmap_program=1234.
1697
1698	* amq/amq.c (main): allow specifying an alternate rpc program
1699	number for amd via -P prognum.
1700
1701	* new amq RPC to get the process id of the running amd.  This is
1702	used in ctl-amd to quickly find the pid of the amd that is to be
1703	killed.
1704
1705	* expanded shared libraries support.  Using GNU libtool-1.0,
1706	am-utils now builds shared libraries on many platforms that have
1707	support for it and proper compilers/linkers.  See "INSTALL" file
1708	for compatibility chart.
1709
1710Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1711
1712	* fsinfo/fsi_lex.l: removed code that was in support of very old
1713	versions of flex.  No longer needed.
1714
1715Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1716
1717	* amd/amd.c (init_global_options): find the kernel architecture
1718	from uname() if possible.
1719
1720Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1721
1722	* new working port: i386-unknown-openbsd2.1
1723
1724Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
1725
1726	* working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
1727	structure to actual char[], because the structure was passed to
1728	xdr_fhandle as data and not a pointer.  Surprisingly, gcc
1729	-fpcc-struct-return did not help.
1730	
1731	* conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
1732	definitions for solaris 2.4 have to be different from 2.3, and
1733	different from 2.5.
1734
1735	* libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
1736
1737Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1738
1739	* conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
1740	types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
1741
1742	* mk-amd-map/mk-amd-map.8: man page taken from bsd44.
1743
1744Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
1745
1746	* conf/mount/mount_linux.c: made the nfs error mapping code into a
1747	small function.
1748
1749Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1750
1751	* conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
1752	error mappings from errno numbers to NFS errors.  From Debian
1753	Linux.
1754
1755	* scripts/am-eject.in (fs): new script (taken from Debian Linux
1756	folks) to auto-unmount floppy/cd devices before ejecting them.
1757
1758	* fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
1759	'5' as second arg to show_area_being_processed.  I'm not sure why.
1760
1761	* fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
1762	second arg to show_area_being_processed.  I'm not sure why.
1763
1764	* conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
1765	ensure that you have a buffer in *xopts to strcat onto.
1766	(mount_linux): fixed from Debian folks to ensure that NFS mount
1767	sockets are connected only for kernels prior to 1.3.10 (avoids
1768	hangs for multi-homed hosts).
1769
1770	* amd/mapc.c (make_entry_chain): from Debian folks: don't skip
1771	over amd map keys that have a prefix, and include the prefix in
1772	the returned readdir().
1773
1774	* amd/info_passwd.c (passwd_init, passwd_search): format
1775	enhancements from the Debian Linux folks.  They added
1776	- var0:=pw-prefix:=anydir
1777	- var1:=pw-rhost:=dom3.dom2.dom1
1778	- var2:=pw-user:=user
1779	- var3:=pw-home:=/anydir/dom1/dom2/dom3/user
1780
1781	* new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
1782
1783	* amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
1784	afs_mount timed out, then explicitly forbid further retries after
1785	the timeout.  (afs_bgmount): buf fix from Debian Linux.  Timeout
1786	values (17 and 5) were mistakenly swapped.
1787
1788Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
1789
1790	* conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
1791	support for Solaris 2.4 (the header files incorrectly define parts
1792	of the NFS V.3 protocol, but the kernel does not support it).
1793
1794Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1795
1796	* amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
1797	for determining if using old or new hesiod libraries,
1798	respectively.
1799
1800	* amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
1801	V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
1802	they cause hangs of mounts from multi-homed hosts when the return
1803	route is not the same as the outgoing route (esp. on NetBSD
1804	1.2.1).  If "conn" option was supplied, then don't turn on the
1805	"noconn" mount option.  Otherwise default to "noconn" mount
1806	option.
1807
1808	* aux/configure.in: better check for systems that need libgdbm and
1809	<ndbm.h>
1810
1811Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1812
1813	* hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
1814	mounts are hidden from df(1) on systems that keep mount tables in
1815	kernel, such as osf1.
1816
1817Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1818
1819	*******************************************************************
1820	*** Released am-utils-6.0a8					***
1821	*******************************************************************
1822
1823Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
1824
1825	* hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
1826	AF_INET when hlfsd mounts itself, thus getting an errno "protocol
1827	family not supported".
1828
1829Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1830
1831	* verified that amd on NetBSD 1.2.1 (i386) works, but the OS
1832	itself is flaky.
1833
1834	* verified that amd AIX 3 works w/ the new readdir() code.
1835
1836Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1837
1838	* amd/mapc.c (maptypes): changed the default map caching type for
1839	nis and ndbm maps to "MAPC_ALL", so that all possible entries will
1840	be available to amd for browsable_dirs=yes.
1841
1842Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1843
1844	* amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
1845	afs_readdir into a browsable version and a non-browsable one.
1846	Fixed bugs that resulted in an infinite nfs_readdir loop on the
1847	localhost for some operating systems.
1848
1849Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1850
1851	* amd/ops_afs.c (afs_readdir): fixed up the browsable code to
1852	comply with nfs_readdir specs.  It was returning all entries at
1853	once, even if there was not enough space in the RPC packet.  Now,
1854	it sends a reasonably sized chunk, and sets static state to resume
1855	it for the next continuation RPC of readdir.
1856
1857	* amd/conf.c (set_conf_kv): fixed bug that resulted in the first
1858	regular map not getting all of the [global] options defaulted from.
1859
1860Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1861
1862	* amq/amq.c (main): fixed so that portmapper "ping" will only fail
1863	upon an RPC timeout
1864
1865	* scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
1866	amd/hlfsd process to kill.
1867
1868	* amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
1869	determine how to avoid df from seeing amd's toplvl mounts.  Moved
1870	from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
1871	is hidden from df.
1872	(mount_toplvl): fixed df types for irix.
1873
1874Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
1875
1876	* amq/amq.c (main): fixed bug that caused the 5 second timeout for
1877	TLI amq using udp to be ignored.
1878	(main): if amq cannot contact remote host's portmapper within 5
1879	seconds, timeout and fail faster than the default longer timeout
1880	(this is for non-TLI systems).
1881
1882Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1883
1884	* amq/amq.c (get_secure_amd_client): if amq cannot contact
1885	remote host's portmapper within 5 seconds, timeout and fail faster
1886	than the default TLI timeout of over 4 minutes.
1887
1888	* amd/am_ops.c (ops_showfstypes): added styles for new bsd44
1889	file systems nullfs, unionfs, and umapfs.
1890	(ops_show1): cleanup code and and reuse this function.
1891	(vops): empty placeholders for nullfs, unionfs, and umapfs.
1892
1893	* amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
1894	bsd44 style file systems.
1895
1896	* fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
1897	sources.
1898
1899	* amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
1900	conflict with systems that define it in <sys/ioctl.h> and also
1901	define a conflicting one via lex.  Newer versions of f/lex are ok.
1902
1903Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1904
1905	* amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
1906	acdirmin/max and acregmin/max only if they exist.
1907
1908	* aux/configure.in: test for nfs_args fields acdirmin and
1909	acregmin.
1910
1911Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1912
1913	* aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
1914	"nondev" and commented back in checking for "nodev".  This was a
1915	typo.
1916
1917	* include/am_compat.h: more compatibility options: define "ro"
1918	mnttab option all the time.  Define "overlay" as needed.  Added
1919	more fillers of mnttab options (as per Daniel S. Riley
1920	<dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
1921	acregmin, noac, grpid, nosuid, and actimo.
1922
1923	* libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
1924	per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
1925	the same code for other options in struct opt_tab.
1926
1927Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1928
1929	* amd/get_args.c (get_args): moved amd.conf file parsing to before
1930	the switching the default log/debug options.  Suggested by
1931	dsr@mail.lns.cornell.edu (Daniel S. Riley).
1932
1933	* aux/update_build_version: new script to record the build version
1934	of amd, along with the rest of the info thet comes up with amd -v.
1935
1936Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
1937
1938	* aux/macros/os_cflags.m4: new macro, to add additional
1939	compilation options (also used during configuration), based on the
1940	OS and the compiler.  Used for solaris-2.6, osf, and irix6.
1941
1942Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1943
1944	* amd/conf_tok.l, conf_parse.y: allow values of keys to include
1945	white spaces, if they are double-quoted (key="some value")
1946
1947	* amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
1948	of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
1949
1950Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1951
1952	*******************************************************************
1953	*** Released am-utils-6.0a7					***
1954	*******************************************************************
1955
1956Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1957
1958	* include/am_defs.h: fill in extern definition of innetgr() in
1959	case system headers don't.
1960
1961	* aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
1962	will show the full pathname to yacc/bison and f/lex.  Some systems
1963	have older or bad versions of those and this way the user will
1964	know for sure what is being invoked.
1965
1966	* tasks: file populated with todo items.
1967
1968	* scripts/amd2ldif.in: Script to convert amd maps to plain text
1969	LDAP object files.  Contributed by Leif Johansson
1970	<leifj@matematik.su.se>.
1971
1972	* aux/config.guess: added recognition for sun3's running 4.2bsd,
1973	from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
1974
1975	* amd/conf.c: several variables that were local to a map, were
1976	also added to [global], where they apply to all maps.  Each map
1977	can then individually override those defaults.  Flags
1978	affected: browsable_dirs and mount_type.  Options affected:
1979	map_type, map_options, and search_path.
1980
1981	* amd/amd.h: eliminated several global flags each of which took an
1982	int, in favor of one global flags variable used as a bit field.
1983
1984	* amd/amd.c (init_global_options): moved all global variables into
1985	a single struct amu_global_options, so it is easier to add new
1986	ones and/or identify existing ones.
1987
1988	* amd/get_args.c (get_args): removed unused amd -m option.
1989
1990	* amd/conf.c (gopt_cluster): added new amd.conf option for cluster
1991	name, same as amd -C.
1992
1993	* amd/info_ldap.c: LDAP info map functions from Leif Johansson
1994	<leifj@matematik.su.se>.
1995
1996	* amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
1997	amd.conf options for ldap_base and ldap_hostports.
1998
1999	* amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
2000	if the current host is in the ARG host netgroup.
2001
2002	* aux/configure.in: some systems replaced dbm in libc with GNU's
2003	libgdbm, so check for libgdbm, but only if dbm_open is not in
2004	libc already.  This was a recommendation from Tom Schmidt
2005	<tschmidt@micron.com>.
2006
2007	* conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
2008	completed.
2009
2010Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2011
2012	* port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
2013	V.3.
2014
2015Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
2016
2017	* port to i386-unknown-freebsd3.0 done and working.  Includes NFS
2018	V.3.
2019
2020	* aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
2021	file handle dereferencing style similar to freebsd22.
2022
2023	* include/am_defs.h: need to include <net/if_var.h> before
2024	<netinet/if_ether.h> on freebsd3.
2025
2026	* conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
2027	for freeBSD 3.0.
2028
2029Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
2030
2031	* amd/info_nis.c (nis_reload): cast nis' callback function so
2032	picky compilers won't complain.
2033
2034	* libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
2035	gets compiled only if the system has NFS V3 and does not have
2036	xdr_mountres3.
2037
2038Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2039
2040	* COPYING: put in some legal stuff in this file.
2041
2042Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
2043
2044	* NFS V3 now works under Irix5, thanks to patches from 
2045	Andreas Stolcke <stolcke@speech.sri.com>.
2046
2047	* conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
2048	version and an irix6 version, since irix5's NFS V3 code is broken
2049	and hacky.
2050
2051	* amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
2052	sizes for some hesiod queries.  Patch from Danny Braniss
2053	<danny@cs.huji.ac.il>.
2054
2055Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
2056
2057	* amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
2058
2059Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
2060
2061	* aux/{configure.in,acconfig.h}: added checks for struct
2062	nfs_args's fields proto and sotype (bsdi3).
2063	
2064	* amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
2065	nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
2066	to SOCK_STREAM or SOCK_DGRAM.
2067
2068	* aux/macros/check_mount_style.m4: add case for bsdi3.
2069
2070	* amd/info_hesiod.c: got hesiod support for bsdi3.
2071
2072Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2073
2074	* aux/configure.in: look for hesiod on libc (bsdi3)
2075
2076	* amd/get_args.c (get_args): reformat usage so it fits in 80
2077	columns.
2078
2079	* scripts/ctl-amd.in: changed directory name for optional tftpboot
2080	map to /tftpboot/.amd.
2081
2082Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2083
2084	*******************************************************************
2085	*** Released am-utils-6.0a6					***
2086	*******************************************************************
2087
2088Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2089
2090	* scripts/ctl-amd.in: include -T tag for tftpboot.
2091
2092	* new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
2093	is broken and needs work on the specific nfs_args that irix5 uses
2094	for V3 mounts.
2095
2096Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2097
2098	* amd/get_args.c (get_args): new options amd -T tag.  A map with
2099	tag=foo matching the -T tag will be processed.  All untagged maps
2100	get processed all the time.
2101
2102Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2103
2104	* aux/configure.in: need to check for strcasecmp in libucb (ncr2)
2105
2106	* aux/macros/check_os_libs.m4: a new macro to set the usage of
2107	libnsl and libsocket based on the OS.
2108
2109	* libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
2110	defined (problem on osf4).
2111
2112	* conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
2113
2114	* include/am_defs.h, aux/macros/try_compile_nfs.m4,
2115	aux/macros/mount_headers.m4: do include <sys/proc.h> because it
2116	failes on irix5.  Rather, put in the individual
2117	conf/nfs_prot/nfs_prot_*.h headers.
2118
2119	* amd/conf.c: AIX3 doesn't like strdup() being passed a constant
2120	char*, so cast all strdup()'s args to a non-const char*.
2121
2122	* amd/mapc.c (root_newmap): don't try to strdup only a "const
2123	char *".
2124
2125Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
2126
2127	* conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
2128	sys/errno.h.
2129
2130Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
2131
2132	* made sure am-utils compiles, links, and runs properly on Irix
2133	6.2 using "cc -32 -Wl,-woff,"
2134
2135	* aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
2136	AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
2137	them to $LIBS.
2138
2139	* aux/configure.in: some cleanup of which libraries are needed.
2140	Espectially ensure that libnsl is included only on Solaris, where
2141	so far it is the only system on which it is absolutely necessary.
2142	Also no longer need to include libc explicitly. 
2143
2144	* amd/amd.c,wire-test/wire-test.c (main): convert IP address to
2145	network-long order before printing it.
2146
2147	* wire-test/wire-test.c (main): also check and report on the IP
2148	address of the local host, since some systems have bad versions of
2149	get_myaddress, or ones that conflict with other versions in
2150	multiple libraries (SunOS 4 and Irix especially).
2151
2152Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
2153
2154	* scripts/ctl-amd.in: don't use full pathname so killproc() works
2155	better.  Also run bsd44 and irix style ps programs. 
2156
2157	* aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
2158	of library no matter if it was found or not.
2159
2160Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2161
2162	* aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
2163	for M_* macros, but ensure that <sys/stream.h> is not included at
2164	all so it won't conflict with other M_* macros.
2165
2166Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
2167
2168	* conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
2169	irix should be "spec" (host:/path), not the dir of the mnt point.
2170
2171	* amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
2172	fixed.  If on, it essentially ignored the setting in a
2173	selector-controlled /defaults if there were 2 or more entries in it.
2174
2175Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2176
2177	* scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
2178	using BSD style ps, then try SVR4 style ps.
2179
2180	* include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
2181	etc., to avoid conflicts with similar named macros in <ldap.h>.
2182
2183	* aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
2184	support needed for LDAP.  Now the code has to be written mostly in
2185	amd/info_ldap.c.
2186
2187	* Included additional patches from Andreas Stolcke
2188	<stolcke@speech.sri.com> to support using the best possible
2189	combination of NFS version (2,3) and protocol (udp,tcp) for any
2190	given host, since it appears that some Irix versions have NFS V3,
2191	but do not support TCP.
2192
2193	* scripts/ctl-amd.in: updated amd control script to look for and
2194	use amd.conf file.
2195
2196Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2197
2198	* amd/mapc.c (mapc_create): now, each map in the amd.conf can be
2199	initialized off of a different type, or default to cycling through
2200	all maps until one of them matches.
2201
2202Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2203
2204	* amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
2205	if browsable_dirs=yes is set in the map section in amd.conf, that
2206	map will return all entries back to a readdir(2).
2207
2208Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2209
2210	* rudimentary amd.conf file support included.  You may even
2211	override things like os=sos5, to get "backwards" compatibilty with
2212	upl102.
2213
2214Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2215
2216	* amd/conf.c: new file to process amd.conf file.
2217
2218	* amd/get_args.c (get_args): new options -H to print help.
2219
2220	* moved enable_default_selectors to be amd.conf controlled, and
2221	not compiler controlled.
2222
2223	* amd/get_args.c (get_args): new options -F <conf-file> to parse an
2224	amd configuration file.
2225
2226Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2227
2228	* converted all files that used strcmp() == 0 or != 0  to using
2229	the STREQ() macro.
2230
2231Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2232
2233	* aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
2234	search for any number of functions in any given library.
2235
2236Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2237
2238	* amd/mapc.c: Included patch from Leif Johansson
2239	<leifj@matematik.su.se> to ensure that systems without an RE
2240	library can compile.
2241
2242	* libamu/mount_fs.c (mount_fs): Included patch from Andreas
2243	Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
2244	table are properly delimited by a comma.
2245
2246	* amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
2247	Stolcke <stolcke@speech.sri.com>, to allow users to override the
2248	proto= and vers= mount options.
2249
2250Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
2251
2252	* conf/nfs_prot/nfs_prot_svr4.h: port completed to
2253	i486-ncr-sysv4.3.03.  Assorted source cleanups done.
2254
2255	* include/am_defs.h, aux/macros/mount_headers.m4: don't include
2256	mnttab.h if sys/mnttab.h was already included, because on ncr2,
2257	they contain conflicting entries for struct mnttab.
2258
2259Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
2260
2261	* aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
2262
2263Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
2264
2265	* amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
2266
2267	* aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
2268	on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
2269
2270Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
2271
2272	* aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
2273	nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
2274	better.
2275
2276Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2277
2278	* amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
2279	NULL, set the maxlen and len fields in netbuf to zero.
2280
2281Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2282
2283	* scripts/fix-amd-map.in (name): replace all matching patterns on
2284	line.
2285
2286Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2287
2288	*******************************************************************
2289	*** Released am-utils-6.0a5					***
2290	*******************************************************************
2291
2292Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2293
2294	* amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
2295	procedure now returns the full string that amd -v returns.
2296
2297	* amd/get_args.c (get_version_string): new function to return
2298	complete version/info string so it could be used more flexibly.
2299
2300	* amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
2301	of Fs types into a string buffer, rather than a FILE*.
2302
2303	* amd/mapc.c (mapc_showtypes): put the list of map types into a
2304	string buffer, rather than a FILE*.
2305
2306Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2307
2308	* amd/get_args.c (get_args): amd -v also prints user who built
2309	amd, hostname built on, and date of configuration.
2310
2311Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2312
2313	* scripts/lostaltmail.conf-sample: sample lostaltmail
2314	configuration file.
2315
2316	* scripts/lostaltmail.in: new script lostaltmail used to redeliver
2317	"lost" mail that hlfsd redirected to a temp location because the
2318	primary home file system of the user was full.
2319
2320	* scripts/amd2sun.in: new script amd2sun. Used to convert Sub
2321	automount maps to amd maps.
2322
2323	* scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
2324	stop, or restart hlfsd.
2325	
2326	* scripts/expn.1: man page for expn command.
2327
2328	* scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
2329	restart amd.
2330
2331	* scripts/expn.in: new script expn.  Actually taken from David
2332	Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
2333	script.
2334
2335	* scripts/wait4amd.in: new script wait4amd added.  Waits for amd
2336	to come up on a host, and then runs a command (rsh $hostname by
2337	default).
2338
2339	* scripts/Makefile.am: new directory now holds all shell/perl
2340	scripts that belong to am-utils.
2341
2342	* conf/mount/mount_linux.c (parse_opts): new parser for
2343	linux-specific mounts.  Handles fs-type specific mount-options
2344	correctly.  Currently implemented: msdos, iso9660.
2345
2346	* amd/ops_pcfs.c (pcfs_ops): don't timeout cdfs mounts by default
2347	(fix for linux).
2348
2349	* amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
2350	(fix for linux).
2351
2352	* amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
2353	core dumps upon "ls" of a mount point; an invalid pointer was
2354	being returned and dereferenced.
2355
2356	* port to Linux sparc working!
2357
2358	* hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
2359	failed to write test file, or else the fd will leak.
2360
2361Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2362
2363	* amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
2364	instead of strcmp().
2365
2366	* Port to Digital Unix 4.0 (OSF) done.
2367
2368	* hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
2369	with dirname() function in <string.h> on OSF systems.
2370
2371	* fsinfo/fsi_util.c (set_ether_if): take out extern defintion of
2372	inet_addr().  It should come from <arpa/inet.h> instead.
2373
2374	* conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
2375
2376	* include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
2377	avoid conflicts with DU 4.0 system header.
2378
2379Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
2380
2381	* libamu/mount_fs.c (mount_fs): pass along NFS version so I can
2382	determine if to include additional options in the mount table file
2383	entry (such as proto=tcp, and vers=3).
2384
2385Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2386
2387	* libamu/mount_fs.c (mount_fs): include NFS version number in the
2388	mount table options, as well as proto={tcp,udp}.
2389
2390Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2391
2392	* NFS V3 code ported to most other systems, so it compiles for V2
2393	and V3 NFS systems.
2394
2395	* NFS VERSION 3 support, first pass.  Working for Solaris and
2396	using TCP.
2397
2398Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2399
2400	* amq/amq.c: many newline characters were missing from various
2401	stderr printfs.
2402
2403Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2404
2405	* conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
2406	Solaris, which include NFS V3 support.
2407
2408	* conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
2409
2410	* conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
2411	protocol version while getting a mount client.
2412
2413	* amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
2414	file handle size, and proper file handle based on the correct NFS
2415	version number.
2416
2417	* conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
2418	Solaris and other SVR4 systems.
2419
2420	* amd/ops_nfs.c: store NFS file handle version and version
2421	specific handle in struct fh_cache.
2422	(got_nfs_fh): pick the correct RPC reply based on the NFS version
2423	of the server.
2424	(prime_nfs_fhandle_cache): figure out the right NFS file handle
2425	for a node, but now include NFS protocol version information.
2426	(call_mountd): set the correct version for the mount protocol,
2427	based on the NFS protocol version.
2428	(nfs_init): use the NFS protocol generic structure
2429	am_nfs_handle_t.
2430
2431	* include/am_utils.h: new structure am_nfs_handle_t to contain all
2432	possible versions of NFS file handles.
2433
2434	* amd/srvr_nfs.c (start_ping): ping program performs NFS version
2435	specific pings.
2436	(recompute_portmap): figure out the correct portmap version mount.
2437	(nfs_keepalive): call start_ping() with the correct NFS version.
2438	(find_nfs_srvr): if mount option "vers=" is given, use it.  Get
2439	the NFS server version and verify that it is up.
2440
2441	* conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
2442	function to find the best NFS version for a particular host.
2443
2444	* libamu/amu.h: determine what is the highest version of NFS we
2445	should try.
2446
2447	* include/am_utils.h (NFS_VERSION3): added definition for NFS V3
2448	protocol number.
2449	Added field fs_version to struct fserver, so we can now store the
2450	server protocol version.
2451
2452Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2453
2454	* aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
2455	underscores too, so I can test for sub-fields.
2456
2457	* libamu/wire.c: use test that checks for sub-fields of struct
2458	ifreq.
2459
2460Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
2461
2462	* port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
2463	into smaller files.  M4 macros fixed to test for existence of
2464	file systems using getvfsbyname().
2465
2466	* amd/sched.c (sigchld): signal handler must waitpid() for all
2467	possible children.
2468
2469	* hlfsd/homedir.c: signal handler must waitpid() for all possible
2470	children. 
2471
2472	* aux/macros/check_restartable_signals.m4: new macro to determine
2473	if need to reinstall signal handlers per OS is better than trying
2474	to figure these out based on system macros.
2475
2476Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
2477
2478	* amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
2479
2480	* amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
2481
2482	* amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
2483	(must be supplied for bsdi 3.0)
2484
2485	* libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
2486	associated new macro) for determining the right way to compute the
2487	size of the interface structure.
2488
2489Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2490
2491	* aux/configure.in: need to include libc before libnsl if
2492	get_myaddress() is available because on irix libnsl has a buggy
2493	get_myaddress().
2494
2495	* include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
2496	on Irix 6 (an SVR4 variant)
2497
2498Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2499
2500	*******************************************************************
2501	*** Released am-utils-6.0a4					***
2502	*******************************************************************
2503
2504Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2505
2506	* amd/amq_subr.c (ok_security): turned off insecure code unless
2507	user explicitly runs configure --enable-amq-mount.
2508
2509	* hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
2510
2511	* amd/nfs_start.c (mount_automounter): use code that separately
2512	creates the NFS and the amq service.  Register tcp and udp
2513	services for amd.
2514
2515	* conf/transp/transp_*.c (create_amq_service): new function to
2516	separately create the amq service for amd.  Simplified prototypes
2517	for create_nfs_service().
2518
2519Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2520
2521	*******************************************************************
2522	*** Released am-utils-6.0a3					***
2523	*******************************************************************
2524
2525Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2526
2527	* new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
2528	of small changes to support these two.
2529
2530Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
2531
2532	* conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
2533	should run if MOUNT_TABLE_ON_FILE, not otherwise.
2534
2535Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2536
2537	* hlfsd/hlfsd.c (main): fill in fhsize field if exists
2538	(freebsd-2.2).
2539
2540	* amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
2541	exists (freebsd-2.2).
2542
2543Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2544
2545	* new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
2546	changed the filehandle type in struct nfs_args from nfsv2fh_t to
2547	u_char.
2548
2549Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2550
2551	* SHARED LIBRARIES: too many change to list individually.  Now,
2552	libamu can be built as a shared library, and other programs link
2553	with it.
2554
2555Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2556
2557	* aux/macros/opt_shared.m4: new macro for setting options for
2558	building shared am-utils libraries.
2559
2560Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2561
2562	* fixmount/fixrmtab: cleaned up the script.
2563
2564	* fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
2565	fixrmtab gets distributed too.
2566
2567	* conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
2568	Added extern for xdr_mountlist().
2569
2570	* aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
2571	MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
2572	the sources.
2573
2574Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2575
2576	* fixmount/hlfsd ported to bsd44, hpux, and linux systems.
2577
2578	* aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
2579
2580	* conf/fixmount/fixmount_default.c: use lockf() if flock() is
2581	unavailable.
2582
2583	* include/am_defs.h: include <string.h> even if don't have
2584	STDC_HEADERS defined (sunos4).
2585	(seteuid): define seteuid() to be setresuid() for systems that
2586	have but not the other (hpux).
2587
2588	* aux/macros/check_extern.m4: test should include <strings.h>.
2589
2590Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2591
2592	* lib/xutil.c (debug_option): moved from amd/getargs.c to this
2593	more proper file.
2594
2595	* include/am_utils.h: put in structure for debug options, for all
2596	progams to use.
2597
2598	* amd/get_args.c: moved structure for debug options out.
2599
2600Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2601
2602	* ported fixmount.
2603
2604	* lib/ualarm.c: replacement function for systems that don't have a
2605	ualarm().
2606
2607	* ported fsinfo.
2608
2609Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2610
2611	* ported mk-amd-map.
2612
2613	* buildall: added -K option to buildall, to run mkconf.
2614
2615Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2616
2617	*******************************************************************
2618	*** Released am-utils-6.0a2					***
2619	*******************************************************************
2620
2621Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2622
2623	* all *.[hcyl] files: add copyright line.
2624
2625	* aux/macros/check_mount_type.m4: test for mount type for
2626	linux-like systems, by checking for loadable or statically linked
2627	kernel filesystem modules.
2628
2629	* aux/macros/check_mnttab_type.m4: test for mount table entry
2630	for linux-like systems, by checking for loadable or statically
2631	linked kernel filesystem modules.
2632
2633	* aux/configure.in: pcfs filesystems can use vfat type (linux)
2634
2635	* aux/macros/check_fs_mntent.m4: test for filesystem existence for
2636	linux-like systems, by checking for loadable or statically linked
2637	kernel filesystem modules.
2638
2639	* conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
2640	9.0 header files.  This should be removed when HPUX 9.0 is deemed
2641	defunct.
2642
2643	* aux/acconfig.h: set an undefined variable for having an extern
2644	to clnt_sperrno().
2645
2646	* include/am_defs.h: define extern for clnt_sperrno() if needed.
2647
2648	* aux/configure.in: test for extern clnt_sperrno().
2649
2650	* aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
2651	similar to irix.
2652
2653	* aux/macros/check_mount_style.m4: use mount helper on HPUX.
2654
2655	* aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
2656	not integer (but may be mapped to one later).
2657
2658	* conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
2659	files.  They have mount(2) and vfsmount(2) which don't take same
2660	arguments, and they have string mount types MNTTYPE_* as well as
2661	integer types MOUNT_*.  So I need this new mount function to map
2662	from string types to integer types for the vfsmount() function.
2663
2664	* conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
2665	vfsmount(), call mount_hpux().
2666
2667Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
2668
2669	* lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
2670	both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
2671
2672Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2673
2674	* conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
2675	hpux.
2676
2677	* include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
2678
2679	* aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
2680
2681	* buildall: added ability to configure using other shells than
2682	/bin/sh, on those systems where /bin/sh is buggy or limited
2683	(HPUX).
2684
2685	* aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
2686	defined am_nfs_fh, and also test for plain typedef "nfs_fh".
2687
2688	* aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
2689	reinstated macro.
2690
2691	* aux/configure.in: check for <nfs/export.h>
2692
2693	* include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
2694
2695	* aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
2696	exists.
2697
2698	* aux/macros/mount_headers.m4 (define): removed some non-working
2699	(on HPUX) code that attempts to recreate the fhandle_t rather than
2700	load it up from system headers.  Also added some NFS protocol
2701	header inclusion.  include <nfs/export.h> (HPUX) if exists.
2702
2703Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
2704
2705	* aux/macros/mount_headers.m4 (define): Use M4 changequote to
2706	ensure [] brackets are correctly used.
2707
2708	* aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
2709	multi-line M4 inclusions in [].
2710
2711Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2712
2713	* conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
2714	it exists.
2715
2716	* aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
2717	config.h macro for field f_fstypename of struct statfs.
2718
2719	* aux/configure.in: testing for field f_fstypename field of struct
2720	statfs (NetBSD).
2721
2722	* aux/acconfig.h: moved all of the "static" definitions out to a
2723	fixed file called include/am_defs.h.  Added to all */Makefile.am
2724	files a dependency on am_defs.h.  Created am_defs.h of course, and
2725	then added #include <amd_defs.h> to all of the source and header
2726	files that required it.
2727
2728Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
2729
2730	* aux/acconfig.h: two more externals for xdr functions that may be
2731	implemented by libamu.
2732
2733	* conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
2734	definitions.
2735
2736Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2737
2738	* buildall (default): added -D option for turning on even stricker
2739	developer options.
2740
2741	* */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
2742	determine dependencies on optional NFS protocol headers.
2743
2744	* aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
2745
2746	* aux/macros/check_nfs_prot_header.m4: new test to determine what
2747	NFS protocol headers to use. 
2748
2749	* conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
2750	complete missing system headers for NFS protocol definitions.
2751
2752Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
2753
2754	* amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
2755	#ifdef's as needed.
2756
2757	* amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
2758	suitable #ifdef'ed.
2759
2760	* include/am_compat.h: a couple more mnttab options
2761	(timeo/retrans) setting just in case.
2762
2763	* amd/autil.c (host_normalize): make sure hostent->h_name is
2764	passed a non-const char *.
2765
2766	* conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
2767
2768	* {lib,amq,amd}/*.c (many functions): cast xdr_entry to
2769	XDRPROC_T_TYPE.
2770
2771	* lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
2772	XDRPROC_T_TYPE.
2773
2774	* lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
2775	XDRPROC_T_TYPE.
2776
2777	* lib/wire.c (getwire): Make sure safe assignment from const to
2778	none is done.
2779
2780Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
2781
2782	* aux/macros/expand_cpp_int.m4: new macro for expanding integers.
2783
2784	* aux/configure.in: added linux/fs.h support in configure and
2785	several M4 macros.
2786
2787	* conf/mount/mount_linux.c (mount_linux): use macro instead of
2788	"ugly" fixed hex number for mount() arguments.
2789
2790Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2791
2792	* amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
2793	turned all of its code always on.  That code always seems to
2794	compile, as long as you have hesiod and libresolv.
2795
2796	* amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
2797	of its code always on.
2798
2799	* aux/configure.in: removed superfluous test for hs_zone_transfer
2800	function (will never find it because it is an amd-internal
2801	function).
2802
2803	* amd/mapc.c (maptypes): must used correct new name for am-utils'
2804	hesiod initialization function: hesiod_am_init.
2805
2806	* amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
2807	hesiod_am_init so as not to conflict with libhesiod's
2808	hesiod_init() function.
2809
2810	* aux/configure.in: added test and explicit inclusion of
2811	libresolv.a for later resolution of library references with
2812	libhesiod.
2813
2814	* aux/macros/opt_cppflags.m4: new file.  configure/compile C
2815	preprocessor flags.
2816
2817	* aux/macros/opt_libs.m4: new file.  configure/compile library
2818	flags.
2819
2820	* Makefile.am (EXTRA_DIST_AUX): include two new macros
2821	opt_cppflags.m4 and opt_libs.m4.
2822
2823	* aux/configure.in: test for libhesiod needs to additional
2824	libresolv to link completely.  Additional configuration time
2825	options added for setting initial CPPFLAGS and LIBS.
2826
2827Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2828
2829	*******************************************************************
2830	*** Released am-utils-6.0a1					***
2831	*******************************************************************
2832
2833Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2834
2835	* amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
2836	it works on freebsd, where they map dbm_pagfno a non-existing
2837	macro on purpose, to force you to port the code to Berkeley DB.
2838
2839Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2840
2841	* amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
2842	actual mount_toplvl, to avoid some possible race conditions.
2843
2844Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2845
2846	* amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
2847
2848Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2849
2850	* lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
2851
2852	* amd/amd.c (main): fix local address using htonl(). Free up
2853	buffers allocated by netdir_*() functions.
2854
2855Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2856
2857	* amd/fix-amd-map.in: new script that will convert old-style amd
2858	maps to new one.
2859
2860Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2861
2862	* FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
2863	and replies back to simple nfs/link type mount queries).
2864
2865	* conf/mtab/mtab_svr4.c: reorganized the code in this file to be
2866	easier to read, and fixed a few bugs with un/setting the lock file
2867	descriptor.
2868
2869Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2870
2871	* amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
2872	signals in Svr3 systems.  Only stellix ever used this.
2873
2874	* amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
2875	by DYNAMIC_BUFFERS, since it was not in use.
2876
2877Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2878
2879	* amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
2880	takes '=' sign as old selector.  Fix your maps.
2881	(deslashify): removed APOLLO code that treated two '//' as one.
2882
2883Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2884
2885	* amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
2886	was not used.  It made any submount error fail the whole group.
2887
2888	* amd/ops_nfs.c (make_nfs_auth): removed code dependent on
2889	HAS_NFS_QUALIFIED_NAMES.
2890	(mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
2891	is never on.  So code that was triggered by #ifndef
2892	NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
2893	be fixed later.
2894	Removed all ULTRIX_HACK code.  Ultrix is DEAD!
2895	removed all PRESET_AC code, which was only on for Linux to preset
2896	the attribute cache values (otherwise they default to zero).
2897	(nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
2898	have to fixed up later.
2899	(mount_nfs_fh): removed code that was never included, which
2900	attempted to set the port on which amd's nfs mounts on.  This
2901	isn't supported by the ping algorithm yet.  In any case, it is all
2902	done in nfs_init().
2903
2904	* amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
2905	removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
2906	specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
2907	have to be addressed later.
2908
2909	* amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
2910	on PRECISE_SYMLINKS.
2911
2912	* amd/mapc.c (mapc_meta_search): removed code that depended on
2913	HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
2914	to be rethought.
2915	(mapc_add_kv): ported code to use standard regular expression
2916	(regexp) library.
2917
2918	* amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
2919	FLUSH_KERNEL_NAME_CACHE and the macro itself.
2920
2921Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2922
2923	* amd/map.c (exported_ap_alloc): removed all code triggered by
2924	SHRINK_EXPORTED_AP and the macro itself.
2925
2926	* amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
2927	in all the time.  Assuming that there is always NIS realod
2928	available.
2929	(yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
2930	function is broken such that it does not release filedescriptors
2931	it created, then you are hosed.  Get a fix for yp_all from your
2932	vendor or switch operating systems.
2933
2934Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2935
2936	* amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
2937	HAVE_HS_ZONE_TRANSFER.
2938
2939Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2940
2941	* amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
2942	always included.  We should always try to inform the remove mount
2943	daemon of mounts we performed.  If we want an option for this, it
2944	should be a run-time option.
2945
2946	* amd/host_ops.c: removed all that optionally did not make the
2947	directory mount points for amd.
2948
2949	* HOST_EXEC code removed from everywhere.  There is no indication
2950	that it was used anywhere.  If it needs to be used, then a
2951	run-time switch should control it.
2952
2953Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2954
2955	* amd/*_ops.c: removed all references to mntent_t's fields
2956	mnt_freq and mnt_passno, since they are no longe rused (and never
2957	have been).
2958
2959	* amd/am_ops.c: removed function sunos4_match, which was off
2960	anyway.  This was one of the places where an '=' sign was allowed
2961	as an assignment operator (which is now ':=').
2962
2963	* amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
2964	was off anyway.  This was one of the places where an '=' sign was
2965	allowed as an assignment operator (which is now ':=').
2966
2967Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2968
2969	* amq/amq.c: ported to am-utils.  Working.
2970
2971	* conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
2972	to be string, as it should be (rather than a string mapped to int
2973	and back mapped to string).
2974
2975Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2976
2977	* lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
2978
2979	* lib/umount_fs.c: split this into three files: default, osf, and
2980	bsd44, that are in conf/umount/umount_*.c.
2981
2982Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
2983
2984	* aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
2985	macro to automatically figure out if an external definition for
2986	sys_errlist[] exists.
2987
2988	* lib/xutil.c (xfree): removed "#undef free" because it's not
2989	needed there.  Any system that redefines free() needs help.
2990
2991	* conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
2992	was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
2993	in active use anywhere.  If added later, it should be a run-time
2994	configuration option.
2995
2996	* conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
2997	be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
2998	in a file in /etc.
2999
3000	* lib/util.c (str3cat): removed _AIX code.  AIX should have a
3001	working realloc, or else find a cleaner solution to this.
3002	(mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
3003	after immediately making directories so that fsck will be able to
3004	fix the filesystem in the event of an immediate crash.  This was
3005	because a bug in UFS which is fixed by now.
3006
3007	* lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
3008	code.  Does not appear to be on and used anywhere.
3009	(dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
3010
3011	* lib/resvport.c: split the binding of reserved ports code to a
3012	separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
3013	from the BSD code.
3014
3015Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3016
3017	* lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
3018	in by automake and configure, for optional sources that need to be
3019	built as part of libamu.a.
3020
3021	* aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
3022	to LIBOBJS.
3023
3024	* lib/memcmp.c (memcmp): new file added to replace a possible bad
3025	implementation of memcmp.
3026
3027Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3028
3029	* converted the sources to use memset/memmove/memcmp instead of
3030	bzero/becopy/bcmp.
3031
3032	* ran all sources through gnu Indent w/ options specified in
3033	aux/amindent.
3034
3035Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3036
3037	* At this point the initial genration of config.h via autoconf and
3038	some preliminary makefiles via automake is done.  I will not begin
3039	modifying sources, so it's a good time to document from here.
3040